/* Full news library; the home page keeps a short selection. */
.news-hero h1 { max-width: 24ch; }
.news-library { padding-block: 3rem 5rem; }
.news-library__heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1rem; margin-bottom: 2rem; }
.news-library__heading h2 { margin: 0; font-size: clamp(1.75rem, 3vw, 2.25rem); letter-spacing: -.025em; }
.news-library__heading .article-category { color: var(--navy-800); margin-bottom: .65rem; }
.news-follow { display: inline-flex; align-items: center; min-height: 2.75rem; padding: .6rem 1rem; border: 1px solid var(--line); border-radius: var(--radius-sm); font-size: .8125rem; font-weight: 600; }
.news-follow:hover { background: var(--cyan-100); }
.news-library__grid { display: grid; gap: 1.5rem; }
.news-card { display: flex; flex-direction: column; min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--white); }
.news-card .post__image { display: block; background: var(--surface-soft); }
.news-card .post__image img { width: 100%; height: auto; aspect-ratio: 1672 / 941; }
.news-card .post__cover { display: grid; place-items: center; aspect-ratio: 1672 / 941; color: var(--navy-800); background: linear-gradient(135deg, #e7f3fc, #cfe6f9); }
.news-card .post__cover--b { background: linear-gradient(135deg, #edf1fb, #d8e1f5); }
.news-card .post__cover--c { background: linear-gradient(135deg, #fbf3e4, #f2e4c6); color: #8e6414; }
.news-card .post__cover svg { width: 4rem; height: 4rem; }
.news-card .post__body { display: flex; flex-direction: column; align-items: start; flex: 1; gap: 1rem; padding: clamp(1.25rem, 3vw, 2rem); }
.news-card .post__meta { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; }
.news-card .tag { display: inline-block; padding: .35rem .65rem; border-radius: .3rem; background: var(--cyan-100); color: var(--navy-800); font-size: .6875rem; font-weight: 600; }
.news-card .post__date { color: var(--muted); font: .6875rem var(--font-label); }
.news-card h2 { margin: 0; font-size: clamp(1.25rem, 2.1vw, 1.625rem); line-height: 1.45; letter-spacing: -.02em; text-wrap: pretty; }
.news-card h2 a:hover { color: var(--cyan-600); text-decoration: underline; text-underline-offset: .15em; }
.news-card p { margin: 0; color: var(--muted); font-size: .9375rem; line-height: 1.8; }
.news-card .post__more { display: inline-flex; align-items: center; gap: .5rem; min-height: 2.75rem; margin-top: auto; font-size: .875rem; font-weight: 700; color: var(--navy-800); }
.news-card .post__more:hover { text-decoration: underline; text-underline-offset: .2em; }
@media(min-width: 48rem) { .news-library__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
