.footer {
  min-height: calc(120 * var(--design-unit));
  border-top: 1px solid rgba(164, 142, 191, 0.42);
  color: var(--color-muted);
}

.footer__inner {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: start;
  padding-top: calc(45 * var(--design-unit));
  padding-bottom: calc(38 * var(--design-unit));
}

.footer__brand {
  justify-self: start;
  color: #fff;
}

.footer__brand-mark {
  display: block;
  width: calc(214 * var(--design-unit));
  height: calc(40 * var(--design-unit));
  object-fit: contain;
}

.footer__location,
.footer__address,
.footer__legal {
  font-size: calc(14 * var(--design-unit));
  line-height: 1.6;
  margin-top: calc(3 * var(--design-unit));
}

.footer__details {
  justify-self: center;
  text-align: center;
}

.footer__address {
  font-style: normal;
}

.footer__legal {
  justify-self: end;
  text-transform: uppercase;
  transition: color 0.25s ease;
}

.footer__legal:hover,
.footer__legal:focus-visible {
  color: #fff;
}

@media (max-width: 768px) {
  .footer {
    position: relative;
    min-height: 0;
    height: auto;
    border-top: 0;
    padding: 0.8rem 0 calc(0.45rem + env(safe-area-inset-bottom));
  }

  .footer::before {
    position: absolute;
    inset: 0 0 auto;
    height: 1px;
    background: linear-gradient(90deg, rgba(16,14,25,0), #242034 50%, rgba(16,14,25,0));
    content: "";
    pointer-events: none;
  }

  .footer__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.18rem;
    padding-block: 0;
    text-align: center;
  }

  .footer__brand-mark {
    width: 2.14rem;
    height: 0.4rem;
  }

  .footer__location,
  .footer__address,
  .footer__legal {
    justify-self: auto;
    font-size: 0.14rem;
    margin-top: 0;
  }

  .footer__details { max-width: 2.9rem; }
  .footer__location,
  .footer__address { line-height: 1.5; }
  .footer__address { margin-top: 0.08rem; }
}
