/* ------------------------------------------------------------------
   home.css — styles scoped to the homepage
   ------------------------------------------------------------------ */

.projects {
  padding-block: var(--space-7);
}

.projects__grid {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: var(--space-4);
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}

.project-card {
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  min-height: 220px;
  color: var(--color-text);
}

.project-card__kicker,
.project-card__title {
  position: relative;
  z-index: 1;
}

.project-card__kicker {
  display: inline-block;
  align-self: flex-start;
  font-size: var(--fs-xs);
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--color-text-subtle);
}

.project-card__title {
  font-size: var(--fs-xl);
  letter-spacing: -0.02em;
}

.project-card__motif {
  position: absolute;
  pointer-events: none;
}

/* ------------------------------------------------------------------
   Per-card identity. Structure stays consistent; palette and motif
   differ to give each topic its own feel.
   ------------------------------------------------------------------ */

/* F1 — full-bleed branded image fills the card. */
.project-card--f1 {
  padding: 0;
  border-color: transparent;
  background: #1a0000;
}
.project-card--f1 .project-card__image {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 220px;
  object-fit: cover;
  object-position: center;
}
a.project-card--f1:hover {
  border-color: transparent;
}

/* Economics — dark terminal: mirrors the /econ/ palette so clicking through feels continuous. */
.project-card--econ {
  background-color: #0b0f17;
  background-image:
    linear-gradient(to right, rgba(255,255,255,0.025) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255,255,255,0.025) 1px, transparent 1px);
  background-size: 22px 22px;
  border-color: #1f2633;
  color: #e8dfd3;
}
a.project-card--econ:hover {
  border-color: rgba(217, 164, 65, 0.4);
  box-shadow: 0 0 0 1px rgba(217, 164, 65, 0.08), 0 8px 24px rgba(0,0,0,0.6);
}
.project-card--econ .project-card__title {
  color: #d9a441;
  font-family: "JetBrains Mono", "Fira Code", ui-monospace, monospace;
  font-weight: 700;
  letter-spacing: -0.02em;
}
.project-card--econ .project-card__kicker {
  color: #8c8579;
}
.project-card--econ .project-card__motif {
  color: #d9a441;
  right: var(--space-4);
  bottom: var(--space-4);
  width: 55%;
  height: auto;
  opacity: 0.55;
}

/* Machine Learning — indigo→violet gradient with a small neural-net motif. */
.project-card--ml {
  background: linear-gradient(135deg, #1e1b4b 0%, #312e81 55%, #4c1d95 100%);
  border-color: transparent;
  color: #e9d5ff;
}
.project-card--ml .project-card__title {
  color: #fff;
}
.project-card--ml .project-card__kicker {
  color: rgba(233, 213, 255, 0.7);
}
.project-card--ml .project-card__motif {
  color: #c4b5fd;
  right: var(--space-4);
  top: var(--space-5);
  width: 52%;
  height: auto;
}

/* Finance — deep green-black with an upward line chart anchored to the bottom. */
.project-card--finance {
  background: radial-gradient(120% 80% at 20% 0%, #12301f 0%, #081a10 70%);
  border-color: transparent;
  color: #86efac;
}
.project-card--finance .project-card__title {
  color: #fff;
}
.project-card--finance .project-card__kicker {
  color: rgba(134, 239, 172, 0.75);
}
.project-card--finance .project-card__motif {
  color: #22c55e;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 55%;
}
