/* Compact category headers and a consistent Nova Card list variant. */
.hub-shell {
  --foreground: var(--color-ink);
  --muted-foreground: var(--color-muted);
  --border: var(--color-rule);
}
.hub-shell .hub-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: baseline;
  gap: 16px 24px;
  padding-block: 32px;
}
.hub-shell .hub-heading > .eyebrow {
  grid-column: 1 / -1;
  margin: 0;
  font: 600 .75rem/1.5 var(--font-display);
  letter-spacing: .08em;
}
.hub-shell .hub-heading h1 {
  grid-column: 1;
  grid-row: 2;
  margin: 0;
  font: 600 clamp(2rem, 3.5vw, 3rem)/1.12 var(--font-display);
  letter-spacing: -.035em;
  text-wrap: balance;
  overflow-wrap: normal;
}
.hub-shell .hub-intro {
  grid-column: 1 / -1;
  grid-row: 3;
  max-width: 88ch;
  color: var(--muted-foreground);
  font: 400 1rem/1.6 var(--font-display);
}
.hub-shell .hub-intro > :first-child { margin-top: 0; }
.hub-shell .hub-intro > :last-child { margin-bottom: 0; }
.hub-shell .hub-count {
  grid-column: 2;
  grid-row: 2;
  margin: 0;
  color: var(--muted-foreground);
  font: 400 .875rem/1.5 var(--font-display);
  text-transform: none;
  letter-spacing: normal;
  white-space: nowrap;
}
.hub-shell .hub-group { padding-block: 24px; }
.hub-shell .hub-group > h2 {
  margin: 0 0 12px;
  font: 600 1.5rem/1.3 var(--font-display);
  letter-spacing: -.02em;
}
.hub-shell .hub-group > p { max-width: 88ch; margin-block: 0 16px; font-size: 1rem; line-height: 1.6; }
.hub-shell .hub-feed { gap: 24px; padding-block: 24px; }
.hub-shell .hub-group .hub-feed { padding-block: 16px; }
.hub-shell .article-card {
  grid-template-columns: 240px minmax(0, 1fr);
  gap: 24px;
  align-items: start;
}
.hub-shell .article-card:nth-child(even) .article-card-visual { order: 0; }
.hub-shell .article-card-visual {
  min-height: 0;
  aspect-ratio: 16 / 10;
}
.hub-shell .article-card-visual img { min-height: 0; height: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.hub-shell .article-card-visual > b { top: 12px; right: 12px; padding: 4px 8px; font: 600 .625rem/1.5 var(--font-display); }
.hub-shell .article-card-meta { gap: 8px 16px; font: 400 .75rem/1.5 var(--font-display); letter-spacing: normal; text-transform: none; }
.hub-shell .article-card-copy h3 { margin: 8px 0; font: 600 1.25rem/1.3 var(--font-display); letter-spacing: -.02em; }
.hub-shell .article-card-copy > p { max-width: 88ch; margin: 0 0 12px; color: var(--muted-foreground); font: 400 .875rem/1.6 var(--font-display); }
.hub-shell .article-card-copy .text-link { font-size: .875rem; }
.hub-shell .hub-neighbors { margin-top: 40px; }
@media (max-width: 767px) {
  .hub-shell .hub-heading { grid-template-columns: minmax(0, 1fr); padding-block: 24px; gap: 12px; }
  .hub-shell .hub-count { grid-column: 1; grid-row: 4; }
  .hub-shell .article-card { grid-template-columns: 160px minmax(0, 1fr); gap: 16px; }
}
@media (max-width: 639px) {
  .hub-shell .article-card { grid-template-columns: minmax(0, 1fr); }
  .hub-shell .article-card-visual { width: 100%; }
}
