/* Portfolio page refinements: keeps the inner page close to the homepage mood */

.portfolio-page {
  max-width: 900px;
  padding-top: clamp(34px, 6vw, 76px);
  padding-bottom: clamp(56px, 8vw, 96px);
}

.portfolio-page h1 {
  margin-bottom: var(--space-2);
}

.portfolio-page > hr:first-of-type {
  display: none;
}

.portfolio-page > .muted:first-of-type {
  max-width: 52ch;
  margin-bottom: clamp(30px, 5vw, 54px);
  font-size: clamp(18px, 0.6vw + 16px, 22px);
  line-height: 1.55;
}

.portfolio-page > hr:nth-of-type(2) {
  display: none;
}

.portfolio-page section {
  margin-top: 0;
}

.portfolio-page section > h2 {
  margin-top: 0;
  margin-bottom: var(--space-3);
}

.portfolio-page section > p {
  max-width: 62ch;
}

.portfolio-page article {
  max-width: none;
  margin: clamp(28px, 5vw, 52px) 0;
  padding: clamp(22px, 4vw, 34px);
  border: 1px solid color-mix(in srgb, var(--color-text-main) 10%, transparent);
  border-radius: 22px;
  background: color-mix(in srgb, var(--panel) 74%, transparent);
  box-shadow: 0 18px 45px color-mix(in srgb, var(--color-text-main) 8%, transparent);
}

.portfolio-page article h3 {
  margin-top: 0;
  color: var(--color-text-heading);
}

.portfolio-page article p {
  max-width: 68ch;
}

.portfolio-page article .muted {
  font-size: var(--fs-small);
  line-height: 1.55;
  margin-bottom: var(--space-2);
}

.portfolio-page figure {
  width: min(100%, 720px);
  margin: clamp(22px, 4vw, 36px) auto 0;
}

.portfolio-page figure img {
  border-radius: 16px;
  border: 1px solid color-mix(in srgb, var(--color-text-main) 9%, transparent);
  background: color-mix(in srgb, var(--panel) 86%, transparent);
}

.portfolio-page figcaption {
  max-width: 64ch;
  margin: var(--space-2) auto 0;
  color: var(--color-text-muted);
  font-size: var(--fs-small);
  line-height: 1.55;
}

@media (max-width: 640px) {
  .portfolio-page article {
    padding: 20px;
    border-radius: 18px;
  }
}
