/* ── BANNER ── */
#news-banner {
  background: var(--bg-secondary);
  padding: 80px var(--container-pad) 60px;
  text-align: center;
  border-bottom: 1px solid var(--border-subtle);
}
#news-banner h1 { font-family:var(--font-serif); font-size:clamp(24px,4vw,40px); font-weight:400; color:var(--text-primary); margin:0 0 12px; }
#news-banner p  { color:var(--text-muted); font-size: 15px; margin:0; letter-spacing:.1em; }

/* ── FILTER ── */
.news-filter { padding: var(--space-lg) 0 0; }

/* ── POSTS GRID ── */
.news-section { padding: var(--space-xl) 0; }
.posts-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-md); }
@media (max-width: 900px) { .posts-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .posts-grid { grid-template-columns: 1fr; } }

/* ── POST CARD ── */
.post-card {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md);
  padding: var(--space-md);
  display: flex; flex-direction: column; gap: 10px;
  transition: var(--transition);
}
.post-card:hover { border-color: var(--border-gold); transform: translateY(-2px); }
.post-card .post-meta { display:flex; align-items:center; gap:8px; }
.post-card .post-date { font-size: 14px; color:var(--text-muted); }
.post-card .post-title { font-size: 16px; color:var(--text-primary); font-weight:500; line-height:1.4; margin:0; }
.post-card .post-summary { font-size: 14px; color:var(--text-muted); line-height:1.6; margin:0; flex:1; }
.post-card .post-link { font-size: 14px; color:var(--accent-gold); text-decoration:none; align-self:flex-start; transition:var(--transition); }
.post-card .post-link:hover { color:var(--accent-gold-lt); }

/* ── XHS FOLLOW ── */
.xhs-follow { padding: var(--space-xl) 0; background: var(--bg-secondary); text-align:center; }
.xhs-follow h2 { font-family:var(--font-serif); font-size:clamp(20px,3vw,28px); margin:0 0 var(--space-sm); color:var(--text-primary); font-weight:400; }
.xhs-follow p  { color:var(--text-muted); margin:0 0 var(--space-md); font-size: 15px; }
.xhs-info { display:inline-flex; gap:32px; align-items:center; justify-content:center; flex-wrap:wrap; margin-top:var(--space-md); }
.xhs-info span { font-size: 14px; color:var(--text-secondary); }
.xhs-info .val { color:var(--accent-gold); font-weight:600; }
