/* g3d-article.css - the guide under the viewer. SHELL track. ASCII only.
 * Light paper page (#f4f1ec, the site's paper), ink text (#16161a), Spectral body 18px/1.7,
 * Oswald headings, 720px measure. Contrast on #f4f1ec: text #16161a about 16:1, muted #46464d
 * about 8.5:1, link #b91320 about 5.9:1 (hover #8f0e18 higher). The paper runs edge to edge through a box-shadow
 * bleed, so the 720px column needs no wrapper element and no horizontal scroll is created. */

.g3d-article {
	--g3d-a-ink: #16161a;
	--g3d-a-muted: #46464d;
	--g3d-a-paper: #f4f1ec;
	--g3d-a-link: #b91320;
	--g3d-a-rule: #d9d3c8;
	box-sizing: border-box;
	position: relative;
	max-width: 720px;
	margin: 0 auto;
	padding: 48px 20px 56px;
	background: var(--g3d-a-paper);
	box-shadow: 0 0 0 100vmax var(--g3d-a-paper);
	clip-path: inset(0 -100vmax);
	color: var(--g3d-a-ink);
	font-family: Spectral, Georgia, "Times New Roman", serif;
	font-size: 18px;
	line-height: 1.7;
	overflow-wrap: break-word;
}

.g3d-article *,
.g3d-article *::before,
.g3d-article *::after {
	box-sizing: border-box;
}

.g3d-article > :first-child {
	margin-top: 0;
}

.g3d-article p,
.g3d-article ul,
.g3d-article ol,
.g3d-article figure,
.g3d-article blockquote {
	margin: 0 0 1.2em;
}

.g3d-article h2,
.g3d-article h3,
.g3d-article h4 {
	font-family: Oswald, "Arial Narrow", Arial, sans-serif;
	color: var(--g3d-a-ink);
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: 0.005em;
	scroll-margin-top: calc(var(--g3d-mast-h, 85px) + 12px);
}

.g3d-article h2 {
	margin: 2.1em 0 0.6em;
	padding-top: 0.5em;
	border-top: 3px solid #e11d2a;
	font-size: 30px;
}

.g3d-article h3 {
	margin: 1.7em 0 0.4em;
	font-size: 22px;
	font-weight: 500;
}

.g3d-article h4 {
	margin: 1.4em 0 0.3em;
	font-size: 18px;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

.g3d-article ul,
.g3d-article ol {
	padding-left: 1.4em;
}

.g3d-article li {
	margin: 0 0 0.4em;
}

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

.g3d-article a:hover {
	color: #8f0e18;
	text-decoration-thickness: 2px;
}

.g3d-article a:focus-visible {
	outline: 3px solid #e11d2a;
	outline-offset: 2px;
}

.g3d-article strong {
	font-weight: 600;
}

.g3d-article img {
	display: block;
	max-width: 100%;
	height: auto;
	margin: 0 auto;
}

.g3d-article figcaption {
	margin-top: 0.5em;
	font-size: 15px;
	line-height: 1.5;
	color: var(--g3d-a-muted);
}

.g3d-article blockquote {
	padding: 0.2em 0 0.2em 1.1em;
	border-left: 3px solid #e11d2a;
	color: var(--g3d-a-muted);
}

/* Tables sit in a scroll wrapper added at render time (includes/article.php). */
.g3d-table-wrap {
	max-width: 100%;
	margin: 0 0 1.4em;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.g3d-article table {
	width: 100%;
	min-width: 420px;
	border-collapse: collapse;
	font-family: Oswald, "Arial Narrow", Arial, sans-serif;
	font-size: 16px;
	line-height: 1.4;
}

.g3d-article th,
.g3d-article td {
	padding: 10px 12px;
	text-align: left;
	vertical-align: top;
	border-bottom: 1px solid var(--g3d-a-rule);
}

.g3d-article th {
	font-weight: 600;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	font-size: 14px;
	color: var(--g3d-a-ink);
	border-bottom: 2px solid #e11d2a;
}

.g3d-article td {
	font-weight: 400;
}

.g3d-article hr {
	margin: 2em 0;
	border: 0;
	border-top: 1px solid var(--g3d-a-rule);
}

@media (max-width: 600px) {
	.g3d-article {
		padding: 36px 16px 44px;
		font-size: 17px;
	}

	.g3d-article h2 {
		font-size: 26px;
	}

	.g3d-article h3 {
		font-size: 20px;
	}
}
