:root{
  --nw-bg:#ffffff;
  --nw-ink:#0f172a;
  --nw-muted:rgba(15,23,42,.72);
  --nw-border:rgba(15,23,42,.10);
  --nw-shadow:0 18px 55px rgba(2,6,23,.10);
  --nw-radius:18px;
  --nw-accent:#2563eb;
}

.news{ background:var(--nw-bg); color:var(--nw-ink); padding:clamp(56px,7vw,96px) 0; }
.news__container{ width:min(1120px, calc(100% - 40px)); margin:0 auto; }

.news__intro{ max-width:820px; margin-bottom:18px; }
.news__eyebrow{ display:inline-block; padding:8px 12px; border-radius:999px; background:rgba(15,23,42,.04); border:1px solid rgba(15,23,42,.08); font-size:13px; letter-spacing:.08em; text-transform:uppercase; margin-bottom:14px; }
.news__title{ font-size:clamp(28px,3.6vw,42px); margin:0 0 10px; letter-spacing:-0.02em; }
.news__lead{ margin:0; color:var(--nw-muted); font-size:clamp(15px,1.55vw,18px); line-height:1.6; }

.news__filters{ display:flex; flex-wrap:wrap; gap:8px; margin:16px 0; }
.news__chip{ border:1px solid var(--nw-border); background:transparent; padding:9px 12px; border-radius:999px; font-size:13px; font-weight:700; cursor:pointer; }
.news__chip.is-active{ background:rgba(37,99,235,.1); border-color:rgba(37,99,235,.25); color:var(--nw-accent); }

.news__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
@media(max-width:980px){ .news__grid{ grid-template-columns:1fr; } }

.news-card{ border:1px solid var(--nw-border); border-radius:var(--nw-radius); overflow:hidden; background:#fff; box-shadow:var(--nw-shadow); display:flex; flex-direction:column; }
.news-card__media{ position:relative; height:180px; }
.news-card__media img{ width:100%; height:100%; object-fit:cover; }
.news-card__badge{ position:absolute; top:12px; left:12px; background:rgba(37,99,235,.95); color:#fff; font-size:12px; font-weight:800; padding:6px 10px; border-radius:999px; }

.news-card__body{ padding:14px; display:flex; flex-direction:column; gap:8px; }
.news-card__date{ font-size:12px; color:rgba(15,23,42,.58); }
.news-card__title{ margin:0; font-size:16px; letter-spacing:-0.01em; }
.news-card__excerpt{ margin:0; color:var(--nw-muted); line-height:1.55; }

.news-card__cta{ margin-top:auto; align-self:flex-start; text-decoration:none; font-weight:800; color:var(--nw-accent); }
.news-card__cta:hover{ text-decoration:underline; }

.news__footer{ margin-top:18px; display:flex; justify-content:center; }
.news__more{ font-weight:800; text-decoration:none; color:var(--nw-accent); }
.news__more:hover{ text-decoration:underline; }
