/* ─────────────────────────────
   Image cards (project tiles)
   ───────────────────────────── */

/* Base card */
#projects a.card,
.project-list a.card{
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;

  aspect-ratio: 1 / 1;
  padding: 14px;

  border-radius: 1rem;
  overflow: hidden;
  isolation: isolate;

  background: var(--card);
  color: #fff;
  text-decoration: none;

  box-shadow: var(--shadow);
  transition: transform .2s ease;
}

#projects a.card:hover,
.project-list a.card:hover{
  transform: translateY(-2px);
  text-decoration: none;
}

#projects a.card > *,
.project-list a.card > *{
  position: relative;
  z-index: 1;
}

/* image layer */
#projects a.card::before,
.project-list a.card::before{
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;

  background-image: var(--img, none);
  background-size: cover;
  background-position: center;

  filter: blur(2px) brightness(.75) saturate(1);
  transform: scale(1.08);
  transition: filter .25s ease, transform .25s ease;
}

/* gradient overlay */
#projects a.card::after,
.project-list a.card::after{
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;

  background: linear-gradient(180deg, rgba(0,0,0,.15) 30%, rgba(0,0,0,.6) 100%);
  opacity: .95;
  transition: opacity .25s ease;
}

#projects a.card:hover::before,
.project-list a.card:hover::before{
  filter: blur(2px) brightness(.85) saturate(1.05);
  transform: scale(1.12);
}

#projects a.card:hover::after,
.project-list a.card:hover::after{
  opacity: 1;
}

/* Typography inside cards */
#projects a.card h3,
.project-list a.card h3{
  margin: 0 0 4px 0;
  font-family: "Inter", system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  font-size: 20px;
  line-height: 1.15;
  font-weight: 650;
  letter-spacing: -0.015em;
  color: inherit;
}

#projects a.card p,
.project-list a.card p{
  margin: 0;
  font-size: 13px;
  opacity: .92;
  color: inherit;
}

/* Tags row */
.card-tags{
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 10px;
}