/* ==========================================================================
   News list: featured post, grid, empty state.
   ========================================================================== */

/* Featured post: image | text. */
.news-featured {
	position: relative;
	display: grid;
	gap: var(--s-4);
	margin-block-end: clamp(3rem, 2rem + 3vw, 5rem);
	padding-block-end: clamp(3rem, 2rem + 3vw, 5rem);
	border-block-end: 1px solid var(--line-light);
}
.news-featured__media { aspect-ratio: 16 / 10; }
.news-featured__body { display: grid; gap: var(--s-3); align-content: center; }
.news-featured__title { font-size: clamp(2rem, 1.5rem + 2vw, 3.25rem); line-height: 1.1; }
.news-featured__title a { text-decoration: none; }
.news-featured__title a::after { content: ""; position: absolute; inset: 0; }
.news-featured__title a:hover { text-decoration: underline; text-decoration-color: var(--c-gold-deep); text-decoration-thickness: 1px; }
.news-featured:focus-within { outline: 2px solid var(--focus); outline-offset: 6px; }
.news-featured__title a:focus-visible { outline: none; }
.news-featured__lead { max-width: 52ch; color: var(--c-slate); font-size: var(--fs-lead); line-height: 1.5; }
.news-featured__more { justify-self: start; pointer-events: none; }
@media (min-width: 1024px) {
	.news-featured { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(2rem, 4vw, 5rem); }
}

.news-empty {
	display: grid;
	gap: var(--s-2);
	justify-items: start;
	padding: var(--s-5) 0;
	color: var(--c-slate);
	font-size: var(--fs-lead);
}
