/* ============================================================
   81-blog-index — text-card grid listing every post.
   Scoped under .sec-81-blog-index
   ============================================================ */

.sec-81-blog-index {
  background: var(--bone);
}

.sec-81-blog-index__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(17rem, 1fr));
  gap: var(--sp-gap);
}

.sec-81-blog-index__card {
  display: flex;
  flex-direction: column;
  background: var(--white);
  border-radius: var(--radius-lg);
  padding: 1.6rem;
  box-shadow: var(--shadow-soft);
  transition: box-shadow 300ms var(--ease-out), transform 300ms var(--ease-out);
}

.sec-81-blog-index__card:hover,
.sec-81-blog-index__card:focus-within {
  box-shadow: var(--shadow-lift);
  transform: translateY(-4px);
}

.sec-81-blog-index__date {
  font-size: 0.85rem;
  color: var(--text-on-bone-dim);
  margin-bottom: 0.5rem;
}

.sec-81-blog-index__title {
  font-size: 1.15rem;
  margin-bottom: 0.6rem;
}

.sec-81-blog-index__title a {
  color: var(--text-on-bone);
}
.sec-81-blog-index__title a:hover {
  color: var(--accent-strong);
}

.sec-81-blog-index__excerpt {
  color: var(--text-on-bone-dim);
  font-size: 0.95rem;
  line-height: 1.6;
  margin-bottom: 1rem;
  flex: 1;
}

.sec-81-blog-index__link {
  font-weight: 600;
  font-size: 0.9rem;
  color: var(--accent-strong);
}
