.blog-grid-section {
  width: 100%;
  overflow: hidden;
  background: #0b0b0b;
  color: #f5f2ea;
}

.blog-grid-section__inner {
  display: flex;
  width: min(1290px, calc(100% - (var(--section-padding-x, 24px) * 2)));
  margin: 0 auto;
  padding: clamp(72px, 5.56vw, 96px) 0 clamp(96px, 8vw, 144px);
  flex-direction: column;
  align-items: flex-start;
  gap: 48px;
}

.blog-grid-section__header {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
}

.blog-grid-section__eyebrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin: 0;
  padding: 8px 24px;
  border: 1px solid #8b6f3e;
  border-radius: 50px;
  background: rgba(230, 214, 184, 0.2);
  color: #fff;
  font-family: var(--font-body);
  font-size: var(--fs-body-small);
  font-weight: var(--fw-medium);
  line-height: 1.1;
}

.blog-grid-section__eyebrow-dot {
  width: 7px;
  height: 7px;
  flex: 0 0 auto;
  border-radius: var(--radius-full);
  background: #8b6f3e;
}

.blog-grid-section__title {
  width: min(630px, 100%);
  margin: 0;
  color: #f5f2ea;
  font-family: var(--font-display);
  font-size: var(--fs-h1);
  font-weight: var(--fw-medium);
  line-height: 1;
  letter-spacing: 0;
  text-wrap: balance;
}

.blog-grid-section__grid {
  display: grid;
  width: 100%;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 32px 30px;
}

.blog-grid-card {
  position: relative;
  min-height: clamp(390px, 27.78vw, 480px);
  overflow: hidden;
  border-radius: 8px;
  background: #202020;
  outline: 1px solid rgba(255, 255, 255, 0.08);
  outline-offset: -1px;
}

.blog-grid-card__link {
  position: absolute;
  inset: 0;
  display: block;
  color: inherit;
  text-decoration: none;
}

.blog-grid-card__media,
.blog-grid-card__media picture,
.blog-grid-card__image,
.blog-grid-card__overlay {
  position: absolute;
  inset: 0;
}

.blog-grid-card__media {
  background: #202020;
}

.blog-grid-card__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: saturate(0.9);
  transform: scale(1.02);
  transition: transform var(--duration-slow) var(--ease-out);
}

.blog-grid-card__media--fallback {
  background:
    radial-gradient(circle at 72% 18%, rgba(214, 182, 106, 0.18), transparent 26%),
    linear-gradient(135deg, #202020 0%, #111 100%);
}

.blog-grid-card__overlay {
  background: rgba(11, 11, 11, 0.66);
  transition: background-color var(--duration-normal) var(--ease-out);
}

.blog-grid-card__link:hover .blog-grid-card__overlay,
.blog-grid-card__link:focus-visible .blog-grid-card__overlay {
  background: rgba(169, 48, 37, 0.72);
}

.blog-grid-card__content {
  position: relative;
  z-index: 1;
  display: flex;
  width: min(308px, calc(100% - 64px));
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  padding: 32px;
}

.blog-grid-card__meta {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  color: #f5f2ea;
  font-family: var(--font-body);
  font-size: var(--fs-body-small);
  font-weight: var(--fw-medium);
  line-height: 1.3;
}

.blog-grid-card__meta-separator {
  width: 4px;
  height: 4px;
  flex: 0 0 auto;
  border-radius: var(--radius-full);
  background: currentColor;
}

.blog-grid-card__title {
  color: #f5f2ea;
  font-family: var(--font-display);
  font-size: clamp(27.65px, 1.92vw, 33.18px);
  font-weight: var(--fw-medium);
  line-height: 1.1;
  letter-spacing: 0;
}

.blog-grid-card__excerpt {
  display: -webkit-box;
  overflow: hidden;
  color: #f5f2ea;
  font-family: var(--font-body);
  font-size: clamp(16px, 1.11vw, 19.2px);
  font-weight: var(--fw-regular);
  line-height: 1.6;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.blog-grid-card__link:hover .blog-grid-card__image,
.blog-grid-card__link:focus-visible .blog-grid-card__image {
  transform: scale(1.07);
}

.blog-grid-card__link:focus-visible {
  outline: 2px solid #d6b66a;
  outline-offset: -6px;
}

.blog-grid-section__pagination {
  width: 100%;
  color: #f5f2ea;
}

.blog-grid-section__pagination ul {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
  margin: 16px 0 0;
  padding: 0;
  list-style: none;
}

.blog-grid-section__pagination a,
.blog-grid-section__pagination span {
  display: inline-flex;
  min-width: 40px;
  min-height: 40px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(245, 242, 234, 0.28);
  border-radius: var(--radius-md);
  color: #f5f2ea;
  font-family: var(--font-body);
  font-size: var(--fs-body-small);
  text-decoration: none;
}

.blog-grid-section__pagination .current {
  border-color: #d6b66a;
  background: rgba(214, 182, 106, 0.16);
}

.blog-grid-section__empty {
  margin: 0;
  color: #f5f2ea;
  font-family: var(--font-body);
  font-size: var(--fs-body);
}

@media (max-width: 1060px) {
  .blog-grid-section__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .blog-grid-section__inner {
    padding: 64px 0 88px;
  }

  .blog-grid-section__grid {
    grid-template-columns: 1fr;
  }

  .blog-grid-card {
    min-height: 420px;
  }
}
