.card-project {
  display: flex;
  flex-direction: column;
  gap: var(--padding-medium);
}

.card-project[hidden] {
  display: none;
}

.card-project-frame {
  display: block;
  aspect-ratio: 4 / 3;
  overflow: hidden;
}

.card-project-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: var(--focus, center);
  transition: scale var(--duration-reveal) var(--ease-glide);
}

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .card-project:hover .card-project-image {
    scale: 1.03;
  }
}

.card-project-meta {
  display: block;
  margin-top: auto;
}

.card-project-title {
  font: var(--text-caption-1-medium);
  letter-spacing: var(--text-caption-1-medium-tracking);
  color: var(--content-primary);
}
