/* Keep category cards within the newsroom visual language. */
.category-stream-card { position: relative; overflow: hidden; min-height: 230px; background: #101725; color: #fff; }
.category-stream-card .category-stream-image { position: absolute; inset: 0; width: 100%; height: 100%; aspect-ratio: auto; }
.category-stream-card .category-stream-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(4, 8, 16, .92), rgba(4, 8, 16, .06) 74%); }
.category-stream-card > div { position: absolute; z-index: 2; inset: auto 0 0; padding: 16px; }
.category-stream-card .eyebrow { color: #ffabb1; }
.category-stream-card h3 { font: 700 19px/1.12 Georgia, serif; margin: 0 0 9px; }
.category-stream-card h3 a { color: #fff; text-decoration: none; }
.category-stream-card h3 a:hover { color: #ffccd0; }
.category-stream-card small { color: #c8d0dc; }
.category-stream-card--lead { min-height: 486px; }
.category-stream-card--lead > div { padding: 24px; }
.category-stream-card--lead h3 { font-size: 30px; }

/* One editorial lead plus a balanced 2 × 2 news grid: no dead space. */
@media (min-width: 961px) {
  .category-stream-grid {
    grid-template-columns: 1.45fr repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(2, 236px);
  }

  .category-stream-card { min-height: 0; }
  .category-stream-card--lead { grid-row: span 2; min-height: 486px; }
}

@media (max-width: 960px) {
  .category-stream-card { min-height: 210px; }
  .category-stream-card--lead { min-height: 390px; }
}

@media (max-width: 620px) {
  .category-stream-card { min-height: 250px; }
  .category-stream-card--lead { min-height: 330px; }
  .category-stream-card--lead h3 { font-size: 26px; }
}
