.about-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(180px, 230px);
  gap: clamp(1.25rem, 4vw, 3rem);
  align-items: center;
  margin-bottom: clamp(2rem, 5vw, 4rem);
  padding: clamp(1.6rem, 5vw, 4.5rem);
  border: 1px solid var(--line);
  border-radius: var(--radius-editorial);
  background:
    radial-gradient(circle at 90% 12%, rgba(236, 170, 99, .28), transparent 34%),
    linear-gradient(145deg, #fff 0%, #f3f7f1 100%);
  overflow: hidden;
}

.about-hero h1 {
  max-width: 12ch;
  margin: .2rem 0 1rem;
  font-size: var(--font-size-display-title);
  line-height: var(--line-height-display);
  letter-spacing: var(--title-tracking);
}

.about-hero .lead {
  max-width: 62ch;
}

.about-hero figure {
  justify-self: end;
  margin: 0;
}

.about-hero .portrait {
  display: block;
  width: min(100%, 230px);
  height: auto;
  border-radius: var(--radius-card);
  box-shadow: 0 18px 45px rgba(30, 49, 40, .14);
}

.about-cta {
  margin: clamp(2rem, 5vw, 4rem) 0;
  padding: clamp(1.5rem, 5vw, 3.5rem);
  border: 1px solid var(--line);
  border-radius: var(--radius-editorial);
  background:
    radial-gradient(circle at 95% 5%, rgba(236, 170, 99, .25), transparent 36%),
    var(--surface);
}

.about-cta h2 {
  max-width: 22ch;
}

@media (max-width: 760px) {
  .about-hero {
    grid-template-columns: 1fr;
    padding: 1.35rem;
  }

  .about-hero figure {
    justify-self: center;
  }

  .about-hero .portrait {
    width: min(100%, 200px);
  }
}

@media (max-width: 520px) {
  .about-hero .portrait {
    width: min(100%, 150px);
  }

  .about-cta .button-row {
    align-items: stretch;
    flex-direction: column;
  }

  .about-cta .button {
    width: 100%;
  }
}
