.card {
  background: white;
  border-radius: var(--radius-lg);
  overflow: hidden;
  transition: var(--transition-base);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.card:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
}

.card__image {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.card__content {
  padding: var(--spacing-md);
}

.card__title {
  font-size: 1.25rem;
  margin-bottom: var(--spacing-sm);
}

.card__meta {
  font-size: 0.875rem;
  color: var(--color-gray-500);
  margin-bottom: var(--spacing-sm);
}

.card__excerpt {
  color: var(--color-gray-700);
  line-height: 1.6;
}

.card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: var(--spacing-lg);
}

@media (min-width: 768px) {
  .card-grid--two {
    grid-template-columns: repeat(2, 1fr);
  }

  .card-grid--three {
    grid-template-columns: repeat(3, 1fr);
  }

  .card-grid--four {
    grid-template-columns: repeat(4, 1fr);
  }
}
