.hm-about {
  padding-top: var(--spacing-section-padding);
  padding-bottom: var(--spacing-section-padding);
  background-color: var(--color-background-surface);
}

.hm-about__container {
  max-width: var(--spacing-container-max);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--spacing-gutter);
  padding-right: var(--spacing-gutter);
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 6rem;
  align-items: center;
}

@media (min-width: 1024px) {
  .hm-about__container {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.hm-about__visual {
  order: 2;
}

@media (min-width: 1024px) {
  .hm-about__visual {
    order: 1;
  }
}

.hm-about__image {
  width: 100%;
  border-radius: 1.5rem;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}

.hm-about__content {
  order: 1;
  display: flex;
  flex-direction: column;
  gap: 3rem;
}

@media (min-width: 1024px) {
  .hm-about__content {
    order: 2;
  }
}

.hm-about__header {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.hm-about__eyebrow {
  font-family: var(--font-label-caps);
  font-size: var(--text-label-caps-size);
  line-height: var(--text-label-caps-height);
  letter-spacing: var(--text-label-caps-spacing);
  font-weight: var(--text-label-caps-weight);
  color: #316bf3;
  text-transform: uppercase;
}

.hm-about__heading {
  font-family: var(--font-display-lg);
  font-size: 40px;
  line-height: 1.25;
  color: var(--color-primary);
  margin: 0;
}

@media (min-width: 768px) {
  .hm-about__heading {
    font-size: 56px;
  }
}

.hm-about__grid {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 2rem;
}

@media (min-width: 768px) {
  .hm-about__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.hm-about__card {
  padding: 2rem;
  border-left-width: 4px;
  border-left-style: solid;
  background-color: var(--color-surface-container-low);
  border-top-right-radius: 1rem;
  border-bottom-right-radius: 1rem;
}

.hm-about__card--mission {
  border-left-color: var(--color-secondary);
}

.hm-about__card--vision {
  border-left-color: var(--color-primary);
}

.hm-about__card-heading {
  font-family: var(--font-headline-md);
  font-size: 20px;
  margin-bottom: 0.5rem;
  margin-top: 0;
}

.hm-about__card-text {
  color: var(--color-on-surface-variant);
  font-family: var(--font-body-md);
  font-size: var(--text-body-md-size);
  line-height: var(--text-body-md-height);
  margin: 0;
}

.hm-about__body {
  font-family: var(--font-body-lg);
  font-size: var(--text-body-lg-size);
  line-height: 1.625;
  color: var(--color-on-surface-variant);
  margin: 0;
}