.news-page-intro { display: grid; grid-template-columns: minmax(0, 1fr) minmax(18rem, .65fr); gap: var(--space-12); align-items: end; }
.news-page-intro > p { margin-bottom: .45rem; }
.news-filter-note { margin-block: var(--space-8); }
.news-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); }

.news-card { min-width: 0; overflow: hidden; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-surface); }
.news-card-link { height: 100%; display: flex; flex-direction: column; color: inherit; text-decoration: none; }
.news-card-art { position: relative; min-height: 11rem; overflow: hidden; border-bottom: 1px solid var(--color-border); background: linear-gradient(145deg, #21182c, #0e0c13); }
.news-card-art::before, .news-card-art::after { position: absolute; top: 50%; left: 50%; aspect-ratio: 1; border: 1px solid rgba(213, 172, 88, .22); content: ""; transform: translate(-50%, -50%) rotate(45deg); }
.news-card-art::before { width: 7rem; }
.news-card-art::after { width: 3rem; border-color: rgba(155, 93, 229, .62); box-shadow: 0 0 2rem rgba(155, 93, 229, .2); }
.news-card-content { flex: 1; display: flex; flex-direction: column; padding: var(--space-6); }
.news-card h2, .news-card h3 { margin-block: var(--space-3); font-family: var(--font-display); }
.news-card h2 { font-size: var(--step-2); }
.news-card h3 { font-size: var(--step-1); }
.news-card p { flex: 1; }
.news-card-link:hover { background: var(--color-surface-hover); }
.news-card-link:hover .card-link { color: var(--color-text-primary); }

.news-meta { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-4); align-items: center; color: var(--color-text-subtle); font-size: .72rem; }
.news-badge { padding: .18rem .48rem; border: 1px solid #6c5427; border-radius: 999px; color: var(--color-warning); font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.news-empty { grid-column: 1 / -1; }

.home-news-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); }
.home-news-grid .news-card:first-child { grid-column: span 2; }
.home-news-grid .news-card:first-child .news-card-art { min-height: 15rem; }

.news-article { padding-block: var(--space-12) var(--space-16); }
.news-back { display: inline-flex; margin-bottom: var(--space-8); color: var(--color-text-secondary); font-size: var(--step--1); text-decoration: none; }
.news-back:hover { color: var(--color-text-primary); }
.news-article-header { max-width: 55rem; }
.news-article-header h1 { max-width: 17ch; margin-block: var(--space-4); }
.news-article-header > p { max-width: 47rem; font-size: var(--step-1); }
.news-artwork { position: relative; min-height: 22rem; margin-block: var(--space-8) var(--space-12); overflow: hidden; border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: radial-gradient(circle at 50% 50%, rgba(114, 54, 173, .17), transparent 16rem), linear-gradient(145deg, #1b1424, #0b0910); }
.news-artwork::before, .news-artwork::after, .news-artwork span { position: absolute; top: 50%; left: 50%; aspect-ratio: 1; content: ""; transform: translate(-50%, -50%) rotate(45deg); }
.news-artwork::before { width: 17rem; border: 1px solid rgba(213, 172, 88, .24); }
.news-artwork::after { width: 8rem; border: 1px solid rgba(155, 93, 229, .52); }
.news-artwork span { width: 2rem; border-radius: 100% 0; background: linear-gradient(var(--color-purple-secondary), var(--color-purple-action)); box-shadow: 0 0 3rem rgba(209, 91, 181, .35); transform: translate(-50%, -50%); }
.news-body { max-width: var(--content-reading); margin-inline: auto; }
.news-body h2 { margin-block: var(--space-12) var(--space-4); }
.news-body h3 { margin-block: var(--space-8) var(--space-3); }
.news-body p, .news-body li { color: var(--color-text-secondary); }
.news-body ul { display: grid; gap: var(--space-2); padding-left: 1.3rem; }
.news-body code { color: var(--color-gold); font-family: var(--font-mono); }
.news-next { padding-block: var(--space-12); }
.news-next h2 { margin-bottom: var(--space-8); }

@media (max-width: 58rem) {
  .news-grid, .home-news-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-news-grid .news-card:first-child { grid-column: 1 / -1; }
}

@media (max-width: 44rem) {
  .news-page-intro { grid-template-columns: 1fr; gap: var(--space-4); }
  .news-grid, .home-news-grid { grid-template-columns: 1fr; }
  .home-news-grid .news-card:first-child { grid-column: auto; }
  .news-card-art, .home-news-grid .news-card:first-child .news-card-art { min-height: 9rem; }
  .news-artwork { min-height: 14rem; }
}
