/* ============ LATEST NEWS — sits right under Register, prominent ============ */
.news-section{
  background: var(--merit-gold-100);
  border-top: 1px solid var(--merit-gold-500);
  border-bottom: 1px solid var(--slate-200);
  padding-block: var(--sp-5);
}
.news-head{ display:flex; align-items:center; justify-content:space-between; gap: var(--sp-3); margin-bottom: var(--sp-4); }
.news-head h2{ font-size: var(--step-2); display:flex; align-items:center; gap:0.6em; }
.news-head .dot{ width:10px; height:10px; border-radius:50%; background: var(--ember-500); box-shadow: 0 0 0 4px var(--ember-100); animation: pulse 1.8s infinite; }
@keyframes pulse{ 0%,100%{ box-shadow:0 0 0 4px var(--ember-100);} 50%{ box-shadow:0 0 0 8px transparent;} }

.news-grid{
  display:grid; gap: var(--sp-3);
  grid-template-columns: 1fr;
}
@media (min-width: 720px){ .news-grid{ grid-template-columns: repeat(3, 1fr); } }

.news-card{
  background: var(--paper-50); border-radius: var(--radius-md); padding: var(--sp-4);
  box-shadow: var(--shadow-card); border: 1px solid rgba(11,27,46,0.05);
  display:flex; flex-direction:column; gap: var(--sp-2);
}
.news-card .news-date{
  font-family: var(--font-mono); font-size: 0.72rem; letter-spacing:0.05em; color: var(--ember-600); font-weight:700; text-transform:uppercase;
}
.news-card h3{ font-size: var(--step-0); line-height:1.3; }
.news-card p{ color: var(--slate-600); font-size: var(--step--1); }
.news-card a.read-more{ font-size: var(--step--1); font-weight:700; color: var(--ridge-900); margin-top:auto; }
.news-empty{ color: var(--slate-600); font-size: var(--step--1); }
