.site-footer {
  background: var(--color-footer-bg);
  color: var(--color-text-inverse);
}

.site-footer__inner {
  padding-block: var(--space-16);
}

.site-footer__layout {
  display: grid;
  gap: var(--space-10);
  padding-bottom: var(--space-10);
  border-bottom: 1px solid var(--color-inverse-border-subtle);
}

.site-footer__brand {
  display: grid;
  gap: var(--space-5);
  align-content: start;
  justify-items: start;
  text-align: left;
}

.site-footer__title,
.site-footer__heading {
  margin: 0;
  color: var(--color-text-inverse);
}

.site-footer__title {
  font-size: clamp(2rem, 1.7rem + 1vw, 2.5rem);
  font-weight: 600;
  line-height: 0.95;
}

.site-footer__description {
  margin: 0;
  max-width: 20rem;
  line-height: 1.8;
  color: var(--color-inverse-text-soft);
}

.site-footer__column {
  display: grid;
  gap: var(--space-4);
  align-content: start;
}

.site-footer__heading {
  font-family: var(--font-family-accent);
  font-size: var(--font-size-xs);
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.site-footer__list {
  display: grid;
  gap: 0.9rem;
}

.site-footer__list a {
  color: var(--color-inverse-text-soft);
  font-family: var(--font-family-accent);
  font-size: var(--font-size-sm);
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.site-footer__list a:hover {
  color: var(--color-text-inverse);
}

.site-footer__bottom {
  padding-block: var(--space-4);
}

.site-footer__copyright {
  margin: 0;
  color: rgba(255, 255, 255, 0.64);
  font-size: var(--font-size-sm);
}

@media (min-width: 900px) {
  .site-footer__layout {
    grid-template-columns: minmax(0, 1.3fr) minmax(0, 0.7fr) minmax(0, 0.7fr) minmax(0, 0.7fr);
    align-items: start;
  }
}
