/* Single article — leiturabilidade serifada, hero, citações, in-content elements */

.nws-article-wrap {
	display: grid; grid-template-columns: 1fr; gap: 48px;
	padding-block: 24px 32px;
}
@media (min-width: 1024px) {
	.nws-article-wrap { grid-template-columns: minmax(0, 1fr) 320px; gap: 56px; }
}

.nws-article {
	max-width: 720px;
	margin-inline: auto;
	width: 100%;
}

.nws-article__head { padding-block: 8px 0; }
.nws-article__title {
	font-family: var(--nws-font-serif); font-weight: 800;
	font-size: var(--nws-fs-headline-h1);
	line-height: 1.04; letter-spacing: -0.025em;
	margin-block: 14px 18px;
	text-wrap: balance;
	color: var(--nws-ink-950);
}
.nws-article__lede {
	font-family: var(--nws-font-serif);
	font-size: 22px; line-height: 1.42;
	color: var(--nws-ink-700);
	margin-bottom: 22px;
	text-wrap: pretty;
}

/* ---- Hero ---- */
.nws-article__hero {
	margin: 24px 0;
}
.nws-article__hero img, .nws-article__hero picture { width: 100%; height: auto; }
.nws-article__hero figcaption {
	font-family: var(--nws-font-sans);
	font-size: 12px; color: var(--nws-ink-500); margin-top: 8px;
	line-height: 1.5;
}
.nws-article__hero figcaption strong { color: var(--nws-ink-800); }

/* ---- Body ---- */
.nws-article__body {
	font-family: var(--nws-font-serif);
	font-size: 19px; line-height: 1.62;
	color: var(--nws-ink-900);
	letter-spacing: -0.002em;
}
.nws-article__body > * + * { margin-block-start: 1.1em; }
.nws-article__body p { margin-bottom: 1em; }
.nws-article__body p:first-of-type::first-letter {
	float: left;
	font-family: var(--nws-font-serif);
	font-weight: 800;
	font-size: 3em;
	line-height: 0.85;
	margin-right: 8px;
	margin-top: 6px;
	color: var(--nws-ink-950);
}
.nws-article__body h2 {
	font-size: 32px; margin-block: 1.2em .5em; letter-spacing: -0.01em;
	font-weight: 800;
}
.nws-article__body h3 {
	font-size: 24px; margin-block: 1em .4em;
}
.nws-article__body ul, .nws-article__body ol { padding-left: 24px; }
.nws-article__body ul { list-style: disc; }
.nws-article__body ol { list-style: decimal; }
.nws-article__body li { margin-bottom: .4em; }
.nws-article__body a {
	color: var(--nws-brand-700);
	text-decoration: underline;
	text-underline-offset: 3px;
	text-decoration-thickness: 1px;
}
.nws-article__body a:hover { color: var(--nws-breaking-600); }

.nws-article__body blockquote {
	border-left: 4px solid var(--nws-breaking-600);
	padding: 4px 0 4px 20px;
	margin-block: 28px;
	font-family: var(--nws-font-serif); font-style: italic;
	font-size: 26px; line-height: 1.32;
	color: var(--nws-ink-950);
}
.nws-article__body blockquote cite,
.nws-article__body blockquote footer {
	display: block;
	font-style: normal;
	font-family: var(--nws-font-sans);
	font-size: 13px; color: var(--nws-ink-600);
	margin-top: 10px;
}

.nws-article__body figure { margin: 28px 0; }
.nws-article__body figure figcaption {
	font-family: var(--nws-font-sans);
	font-size: 12px; color: var(--nws-ink-500); margin-top: 8px; text-align: left;
}

.nws-article__body code, .nws-article__body pre {
	font-family: var(--nws-font-mono);
	background: var(--nws-paper-2);
	border-radius: var(--nws-radius-xs);
	padding: 2px 6px;
	font-size: .92em;
}
.nws-article__body pre { padding: 16px; overflow-x: auto; line-height: 1.5; }

/* ---- Foot ---- */
.nws-article__foot { margin-top: 32px; }
.nws-article__tags {
	margin-block: 24px 18px;
	padding-top: 20px;
	border-top: 1px solid var(--nws-ink-200);
	display: flex; flex-wrap: wrap; gap: 8px; align-items: center;
}
.nws-article__tags-label {
	font-family: var(--nws-font-sans); font-weight: 700;
	color: var(--nws-ink-950); font-size: 13px;
}
.nws-article__tags a {
	font-family: var(--nws-font-sans);
	display: inline-block;
	padding: 5px 10px;
	border: 1px solid var(--nws-ink-300);
	color: var(--nws-ink-700);
	font-size: 12px;
}
.nws-article__tags a:hover { border-color: var(--nws-ink-700); color: var(--nws-ink-950); }

.nws-article__correction-policy {
	margin-top: 18px;
	font-family: var(--nws-font-sans);
	font-size: 12px; color: var(--nws-ink-500); line-height: 1.5;
}
.nws-article__correction-policy a {
	color: var(--nws-ink-700);
	border-bottom: 1px solid var(--nws-ink-400);
}

/* ---- Sidebar ---- */
.nws-sidebar { display: block; }
.nws-sidebar__inner { display: grid; gap: 28px; align-content: start; }
@media (min-width: 1024px) {
	.nws-sidebar { position: sticky; top: 24px; align-self: start; }
}

/* ---- Pagination of multi-page articles ---- */
.nws-article__pagination {
	display: flex; gap: 8px; flex-wrap: wrap;
	margin-block: 24px;
	font-family: var(--nws-font-sans); font-size: 13px;
	color: var(--nws-ink-600);
}
.nws-article__pagination span:first-child { font-weight: 700; color: var(--nws-ink-950); }
