/* ============================================================
   90 — Blog index grid
   Card grid for /blog/. Mirrors the team grid's card treatment
   (radius, shadow, hover lift) so it reads as part of the same system.
   ============================================================ */

.sec-90-blog__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.75rem;
  list-style: none;
  padding: 0;
  margin: 0;
}

@media (max-width: 900px) {
  .sec-90-blog__grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 640px) {
  .sec-90-blog__grid { grid-template-columns: 1fr; max-width: 26rem; margin-inline: auto; }
}

.sec-90-blog__card { list-style: none; }

.sec-90-blog__card-link {
  display: block;
  border-radius: var(--radius-card);
  overflow: hidden;
  box-shadow: var(--shadow-soft);
  background: var(--bone);
  transition: box-shadow 400ms var(--ease-out), transform 400ms var(--ease-out);
  text-decoration: none;
  color: inherit;
  height: 100%;
}

.sec-90-blog__card-link:hover,
.sec-90-blog__card-link:focus-visible {
  box-shadow: var(--shadow-lift);
  transform: translateY(-3px);
}

.sec-90-blog__card-img {
  width: 100%;
  height: 12rem;
  object-fit: cover;
  display: block;
}

.sec-90-blog__card-date {
  margin: 1rem 1.25rem 0;
  font-size: 0.82rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--text-on-bone-dim);
}

.sec-90-blog__card-title {
  margin: 0.4rem 1.25rem 1.25rem;
  font-family: var(--font-display);
  font-size: 1.1rem;
  line-height: 1.35;
  letter-spacing: -0.01em;
}
