/* ==========================================================================
   MBH — insights.css
   Idea: the newest piece takes a wide featured row, the rest run as a
   filterable grid. Chips filter both.
   ========================================================================== */

.feat-article[hidden] { display: none; }

.feat-article {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(24px, 3vw, 48px);
  align-items: center;
  padding-bottom: clamp(40px, 4.6vw, 64px);
  margin-bottom: clamp(40px, 4.6vw, 64px);
  border-bottom: 1px solid var(--line);
}

@media (min-width: 900px) { .feat-article { grid-template-columns: 1.15fr 1fr; } }

.feat-article__media { position: relative; overflow: hidden; aspect-ratio: 16 / 10; }
.feat-article__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--ease); }
.feat-article:hover .feat-article__media img { transform: scale(1.04); }

.feat-article__title {
  margin-block: 14px 14px;
  font-size: clamp(1.4rem, 2.6vw, 2.05rem);
  letter-spacing: -0.03em;
  line-height: 1.15;
  transition: color 0.45s var(--ease);
}

.feat-article:hover .feat-article__title { color: var(--accent); }

.feat-article__text { max-width: 46ch; font-size: var(--fs-body); }

/* --------------------------------------------------------- article grid */
.articles {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(30px, 3.2vw, 44px) clamp(20px, 2.2vw, 30px);
}

@media (min-width: 640px) { .articles { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1000px) { .articles { grid-template-columns: repeat(3, 1fr); } }

.article { display: block; }
.article[hidden] { display: none; }

.article__media { position: relative; overflow: hidden; aspect-ratio: 16 / 10; }
.article__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--ease); }
.article:hover .article__media img { transform: scale(1.045); }

.article__body { margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--line); }

.artmeta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 14px;
  margin-bottom: 10px;
  font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.artmeta__cat { color: var(--accent); }
.artmeta__time { color: var(--muted); opacity: 0.6; }

.article__title {
  margin-bottom: 12px;
  color: var(--green-900);
  font-size: clamp(1rem, 1.4vw, 1.15rem);
  font-weight: 600;
  letter-spacing: -0.018em;
  line-height: 1.35;
  transition: color 0.45s var(--ease);
}

.article:hover .article__title { color: var(--accent); }

/* Desktop: every category chip fits on the row (wraps rather than clips if it can't) */
@media (min-width: 1024px) {
  .filterbar__inner { flex-wrap: wrap; gap: 6px; overflow-x: visible; }
  .filterbar__inner .chip { padding-inline: 12px; }
}
