.news-hub {
  padding: 120px clamp(22px, 7vw, 110px);
  background: linear-gradient(145deg, #03162f, #082d51);
  color: white;
}
.news-hub-head {
  display: grid;
  grid-template-columns: 1.3fr .7fr;
  gap: 7vw;
  align-items: end;
}
.news-hub h2 {
  font-family: Oswald, sans-serif;
  text-transform: uppercase;
  font-size: clamp(2.35rem, 4.7vw, 4.8rem);
  line-height: 1.05;
  margin: .2em 0;
}
.news-hub-head > p { color: #b9cedd; margin: 0 0 .65rem; }
.news-filters { display: flex; flex-wrap: wrap; gap: 10px; margin: 42px 0 28px; }
.news-filters button {
  border: 1px solid rgba(255,255,255,.22);
  background: transparent;
  color: #c9dbe8;
  padding: 10px 16px;
  font-weight: 800;
  font-size: .76rem;
  text-transform: uppercase;
  letter-spacing: .06em;
  cursor: pointer;
  transition: .2s;
}
.news-filters button:hover,
.news-filters button.active { background: #19a9df; border-color: #19a9df; color: #03162f; }
.news-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 15px; }
.news-card {
  position: relative;
  min-height: 300px;
  padding: 28px;
  display: flex;
  flex-direction: column;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.055);
  transition: transform .25s, border-color .25s, background .25s;
}
.news-card:hover,
.news-card:focus-visible { transform: translateY(-6px); border-color: #47c3ef; background: rgba(24,167,224,.12); outline: none; }
.news-card[hidden] { display: none; }
.news-card.featured { background: linear-gradient(145deg, rgba(18,122,180,.35), rgba(255,255,255,.055)); border-color: rgba(71,195,239,.45); }
.news-icon { width: 46px; height: 46px; display: grid; place-items: center; background: #19a9df; color: #03162f; font-size: 1.35rem; margin-bottom: 28px; }
.news-card small { color: #54c8f1; font-weight: 800; letter-spacing: .13em; }
.news-card h3 { font: 600 1.55rem/1.12 Oswald, sans-serif; text-transform: uppercase; margin: .45rem 0; }
.news-card p { color: #aec4d4; font-size: .9rem; margin: .35rem 0 1.5rem; }
.news-card strong { margin-top: auto; color: white; font-size: .8rem; text-transform: uppercase; letter-spacing: .06em; }
.news-card strong i { font-style: normal; color: #54c8f1; margin-left: 5px; }
.news-disclaimer { margin: 24px 0 0; color: #8da8bb; font-size: .75rem; }
@media (max-width: 1100px) { .news-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 700px) {
  .news-hub { padding: 80px 22px; }
  .news-hub-head { grid-template-columns: 1fr; gap: 14px; }
  .news-grid { grid-template-columns: 1fr; }
  .news-card { min-height: 265px; }
  .news-filters { display: grid; grid-template-columns: 1fr 1fr; }
  .news-filters button { padding: 11px 8px; }
}
