.project-page main {
  max-width: 1080px;
  margin-inline: auto;
  padding-inline: var(--page-pad);
}

.project-intro {
  padding: clamp(42px, 7vw, 88px) 0 clamp(46px, 7vw, 78px);
  border-bottom: 1px solid var(--line);
}

.project-kicker,
.project-status-label,
.project-next span {
  color: var(--accent);
  font: 500 10px/1.5 var(--mono);
  letter-spacing: 0.12em;
}

.project-intro h1 {
  max-width: 900px;
  margin: 20px 0 24px;
  font: 500 clamp(48px, 7vw, 84px)/1 var(--display);
  letter-spacing: -0.07em;
  overflow-wrap: anywhere;
}

.project-intro h1 em {
  color: var(--accent);
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 400;
}

.project-intro > p:not(.project-kicker) {
  max-width: 58ch;
  color: #c0cbb8;
  font-size: clamp(17px, 2vw, 22px);
  line-height: 1.55;
}

.project-intro > a,
.project-next a {
  color: #ddf5af;
  font-size: 13px;
  font-weight: 600;
  text-decoration: underline;
  text-decoration-color: #6e805a;
  text-underline-offset: 5px;
}

.project-details {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
  gap: clamp(28px, 6vw, 80px);
  padding: clamp(48px, 8vw, 90px) 0;
}

.project-details > div,
.project-details > aside {
  min-width: 0;
}

.project-details h2 {
  margin: 0 0 20px;
  font: 500 clamp(28px, 3.5vw, 42px)/1.1 var(--display);
  letter-spacing: -0.05em;
}

.project-details p:not(.project-status-label) {
  margin: 0;
  color: #b8c5af;
  font-size: 15px;
  line-height: 1.75;
}

.project-details aside {
  padding: 28px;
  border: 1px solid #43503b;
  border-radius: 14px;
  background: #1b2418;
}

.project-status-label {
  margin: 0 0 18px;
}

.project-next {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 25px 0 80px;
  border-top: 1px solid var(--line);
}

@media (max-width: 760px) {
  .project-page main {
    padding-inline: 22px;
  }

  .project-intro h1 {
    font-size: clamp(41px, 11vw, 62px);
  }

  .project-details {
    grid-template-columns: minmax(0, 1fr);
    gap: 30px;
  }

  .project-details aside {
    padding: 21px;
  }

  .project-next {
    display: grid;
    padding-bottom: 55px;
  }
}

