#contact {
  background: linear-gradient(
    hsl(var(--hue) 30% 99% / 95%),
    hsl(var(--hue) 30% 94% / 95%)
  );
}
.page-inner {
  padding: 1rem 0.875rem 3rem;
}
.page-inner section {
  padding: 0.875rem 0.875rem 0.125rem;
  max-width: 40rem;
  margin: auto;
  background-color: hsl(0 0 99%);
  overflow: hidden;
  border-radius: 0.5rem;
  box-shadow: var(--box-shadow);
}
@media (width > 31rem) {
  .page-inner {
    padding: 1rem 1rem 3rem;
  }
  .page-inner section {
    padding: 1.375rem 1.375rem 0.125rem;
    border-radius: 1rem;
  }
}

#contact .separator {
  max-width: 40rem;
  margin: 1.5rem auto 1.75rem;
}
.office {
  padding: 2rem 0;
}
.office h4 {
  font-size: 1.25rem;
  font-weight: 700;
  margin: 0;
  color: hsl(var(--hue) 36% 18%);
  line-height: 1.4;
}
.office .lead {
  font-size: 1.125rem;
  font-weight: 300;
  text-align: center;
  line-height: 1.25;
  max-width: 40rem;
  margin: auto;
  padding: 2rem 0.5rem;
  border-radius: 0.5rem;
  color: #000;
  border-color: hsl(var(--hue) 50% 30% / 20%);
  border-style: solid;
  border-left-width: 0.25rem;
  border-right-width: 0.25rem;
  border-top-width: 0;
  border-bottom-width: 0;
  overflow: hidden;
  background: linear-gradient(
    160deg,
    hsl(var(--hue) 80% 50% / 5%),
    hsl(var(--hue) 80% 30% / 10%)
  );
}
.map-link {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0.5rem 0;
  margin: 1.25rem auto 0;
  border: none;
  border-radius: 3px;
  max-width: 16rem;
  line-height: 1.25;
}
.office address {
  font-style: normal;
  margin: 0 0 0 5px;
}
@media (width >= 23.5rem) {
  .map-link {
    max-width: 25rem;
  }
  #address-br {
    display: none;
  }
  .unit-num {
    display: none;
  }
}
@media (width < 23.5rem) {
  .unit-txt,
  .comma {
    display: none;
  }
  .map-link svg {
    width: 2.125rem;
    height: 2.125rem;
  }
}
@media (width > 29.5rem) {
  .office .lead {
    line-height: 1.5;
  }
  .office .show-sm {
    display: none;
  }
}
