.about {
  grid-column: 1 / -1;
  grid-row: 2;
  display: grid;
  grid-template-columns: var(--grid-template-columns);
  gap: calc(var(--width-gutter) * 4) calc(var(--width-gutter) * 2);
  padding: 0 var(--width-gutter);
}

.about__text {
  grid-column: var(--grid-column-about-text);
  grid-row: 1;
}

.about__image-column {
  grid-column: var(--grid-column-about-image-column);
  grid-row: var(--grid-row-about-image-column);
}

.about__image-column figure {
  display: flex;
  justify-content: end;
  flex-flow: column;
  align-items: end;
}
.about__image-column .image {
  width: 100%;
  max-width: 300px;
}

@media(max-width: 767px) {
  .about__image-column figure {
    display: block;
  }
  .about__image-column .image {
    max-width: 100% !important;
  }
}

.about__section {
  position: relative;
  grid-column: var(--grid-column-about-section);
  margin-bottom: var(--width-gutter);
}

.about__section-inner {
  position: sticky;
  top: 0;
}

.about__section-heading {
  position: sticky;
  top: 0;
  column-span: all;
  padding-top: var(--width-gutter);
  padding-bottom: var(--width-gutter);
  background-color: var(--color-background);
  z-index: 2;
}

.about__section-body {
  position: relative;
  h3 {
    line-height: var(--line-height-main);
    position: sticky;
    top: var(--top-heading-subsection);
    border-top: var(--border-top-heading-subsection);
    padding: var(--padding-heading-subsection);
    background-color: var(--color-background);
    z-index: 1;
  }
  p {
    margin: var(--margin-body-subsection);
  }
  em {
    font-style: italic;
  }
}