.projects-main {
  width: min(1160px, 100%);
  margin: auto;
  padding: clamp(54px, 9vw, 112px) clamp(20px, 5vw, 70px) 0;
}

.projects-intro {
  max-width: 800px;
}

.projects-intro h1 {
  margin: 0;
  color: var(--poseidon);
  font-size: clamp(48px, 8vw, 84px);
  line-height: .95;
  letter-spacing: -.05em;
}

.projects-intro p {
  margin: 25px 0 0;
  color: var(--ink);
  font-size: clamp(19px, 2.5vw, 28px);
  line-height: 1.3;
}

.projects-grid {
  display: grid;
  gap: 28px;
  margin-top: 58px;
}

.project-card {
  display: grid;
  grid-template-columns: minmax(260px, 1.1fr) minmax(0, 1fr);
  overflow: hidden;
  color: var(--ink);
  background: #ebe6dc;
  border: 1px solid var(--line);
  text-decoration: none;
  transition: transform .18s, border-color .18s, background .18s;
}

.project-card:hover {
  background: #e4ddd0;
  border-color: var(--pumpkin);
  transform: translateY(-3px);
}

.project-card:nth-child(even) {
  grid-template-columns: minmax(0, 1fr) minmax(260px, 1.1fr);
}

.project-card:nth-child(even) .project-image {
  order: 2;
}

.project-image {
  aspect-ratio: 16 / 9;
  min-height: 0;
  background: var(--poseidon);
}

.project-image picture {
  display: block;
  width: 100%;
  height: 100%;
}

.project-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.project-card:first-child .project-image img {
  object-fit: contain;
}

.project-info {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(24px, 4vw, 54px);
}

.project-number,
.role {
  color: var(--pumpkin-accessible);
  font-weight: 700;
}

.project-number {
  margin: 0 0 18px;
  font-size: 13px;
  letter-spacing: .1em;
}

.project-info h2 {
  margin: 0;
  color: var(--poseidon);
  font-size: clamp(24px, 3vw, 37px);
  line-height: 1.08;
}

.role {
  margin: 15px 0 0;
  font-size: 15px;
  line-height: 1.4;
}

.summary {
  margin: 20px 0 0;
  color: var(--ink);
  font-size: 18px;
  line-height: 1.48;
}

.highlights {
  margin: 20px 0 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.45;
}

.case-link {
  margin: 28px 0 0;
  color: var(--poseidon);
  font-size: 15px;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: .3em;
}

@media (max-width: 700px) {
  .project-card,
  .project-card:nth-child(even) {
    grid-template-columns: 1fr;
  }

  .project-card:nth-child(even) .project-image {
    order: 0;
  }

  .projects-grid {
    gap: 20px;
  }
}