.news-section {
  margin: 2.5rem 0 3rem;
}

.news-section-header h2 {
  margin: 0 0 1rem 0;
  border-bottom: 1px solid rgba(255,255,255,.12);
  padding-bottom: .4rem;
}

.news-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill,minmax(280px,1fr));
  gap: 1.1rem;
}

.news-card {
  background: #1f2937;
  border-radius: 14px;
  padding: 1.1rem;
  border: 1px solid rgba(255,255,255,.08);
  transition: all .15s ease;
}

.news-card:hover {
  transform: translateY(-3px);
  border-color: rgba(255,255,255,.18);
}

.news-title {
  margin: 0 0 .6rem;
  font-size: 1.05rem;
  line-height: 1.45;
}

.news-title a {
  color: #f3f4f6;
  text-decoration: none;
}

.news-title a:hover {
  color: #7dd3fc;
}

.news-meta {
  font-size: .9rem;
  color: #cbd5e1;
}

.news-source {
  font-weight: 600;
  color: #e5e7eb;
}

.news-date {
  color: #94a3b8;
}

.news-separator {
  margin: 0 .35rem;
}
