.demo-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 1.25rem;
  margin: 2rem 0;
}

.demo-card {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  padding: 1.25rem 1.4rem;
  border: 1px solid #dcdcdc;
  border-radius: 10px;
  text-decoration: none;
  color: inherit;
  background: #fff;
  transition: box-shadow 0.15s ease, transform 0.15s ease, border-color 0.15s ease;
}

.demo-card:hover,
.demo-card:focus-visible {
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08);
  border-color: #b9b9b9;
  transform: translateY(-2px);
}

.demo-card-tag {
  font-size: 0.72rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #6b6b6b;
}

.demo-card h2 {
  margin: 0;
  font-size: 1.25rem;
}

.demo-card p {
  margin: 0;
  color: #3d3d3d;
  font-size: 0.95rem;
  line-height: 1.45;
}

.demo-card-cta {
  margin-top: auto;
  font-weight: 600;
  color: #2f5fd6;
}
