@font-face {
  font-family: 'Neue Montreal';
  src: url('/fonts/neuemontreal.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap
}

#about {
  --font-about-heading: min(1.9375rem + 1vw, 2.75rem);
  --font-about-subheading: min(1.625rem + 1vw, 2.375rem);
  --about-heading-margin: .625rem;
  --about-subheading-margin: 1.0625rem;
  --about-paragraph-margin: 1.0625rem;
  grid-row-gap: var(--about-paragraph-margin);
  flex-direction: column;
  justify-content: center;
  align-items: stretch;
  height: 100%;
  line-height: 1.5;
  display: flex;
  position: relative;
  padding: 11.375rem 1vw min(4rem + 2vw, 6rem) 0;
  max-width: 48rem
}

#about h2 {
  margin-block: 0 var(--about-heading-margin);
  transform-origin: 50%;
  letter-spacing: -.02em;
  text-transform: none;
  font-size: var(--font-about-heading);
  font-weight: 450;
  line-height: 1.15;
  transform: none;
  transition: var(--ease-dark-light)
}

#about h3 {
  margin-block: var(--about-subheading-margin) 0;
  font-size: var(--font-about-subheading);
  font-weight: 450;
  line-height: 1.15;
  letter-spacing: -.014em;
  transition: var(--ease-dark-light)
}

#about p,
#about ul,
#about ol,
footer {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-family: 'Neue Montreal', sans-serif;
  font-size: var(--font-p);
  transition: var(--ease-dark-light)
}

#about p {
  margin-block: unset
}

#about ul,
#about ol {
  margin: unset;
  padding-inline-start: 0;
  list-style: none
}

#about ul li,
#about ol li {
  position: relative;
  padding-inline-start: 1.25em
}

#about ol {
  counter-reset: about-ol
}

#about ol li {
  counter-increment: about-ol
}

#about ol li::before {
  content: counter(about-ol) '.';
  position: absolute;
  left: 0;
  font-size: .90625em;
  top: .0625em
}

#about ul li::before {
  content: '•';
  position: absolute;
  left: 0;
  font-size: 1.25em;
  top: -.1875em
}

footer {
  display: grid;
  grid-template-columns: minmax(max-content, 1fr) 1fr;
  align-items: start;
  padding: 2rem 0 4rem;
  font-size: 1rem;
  color: var(--color-tp-light);
  grid-row-gap: 1.875rem;
  border-top: 1px solid var(--color-tp);
  transition:
    var(--ease-dark-light),
    opacity .3s var(--ease-standard),
    border-color .3s var(--ease-standard)
}

footer address {
  font-style: normal
}

footer ul {
  margin: 0;
  padding: 0;
  list-style: none;
  grid-column: 2;
  grid-row: 1 / -1;
  display: flex;
  flex-direction: column;
  row-gap: .5rem
}

footer a {
  color: inherit;
  text-decoration: none
}

footer a:hover {
  text-decoration: underline
}

footer a svg {
  display: inline-block;
  vertical-align: bottom;
  margin-right: .21875rem;
  color: var(--color-text);
  transition: var(--ease-dark-light)
}

footer small {
  font-size: inherit
}

@media (max-width: 543px) {
  footer {
    grid-template-columns: 1fr
  }

  footer ul {
    grid-column: 1;
    grid-row: auto
  }
}