.classes-section {
  padding: var(--sp-10) 0;
  background: var(--c-cream);
}
.class-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: var(--sp-5);
}
.class-card {
  background: var(--c-surface);
  border-radius: var(--r-lg);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  transition: transform var(--t-base), box-shadow var(--t-base);
  display: flex;
  flex-direction: column;
}
.class-card:hover {
  transform: translateY(-6px);
  box-shadow: var(--shadow-lg);
}
.class-image {
  aspect-ratio: 4/3;
  overflow: hidden;
}
.class-image img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform var(--t-slow);
}
.class-card:hover .class-image img {
  transform: scale(1.05);
}
.class-body {
  padding: var(--sp-5);
  display: flex;
  flex-direction: column;
  flex: 1;
}
.class-body h3 {
  font-family: var(--f-display);
  margin-bottom: var(--sp-2);
}
.class-body p {
  font-size: 0.95rem;
  margin-bottom: var(--sp-4);
  flex: 1;
}
.class-meta {
  display: flex;
  gap: 8px;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--c-purple);
  margin-bottom: var(--sp-4);
}
.class-meta span:nth-child(2) { color: var(--c-text-faint); }
