.site-footer {
  --site-footer-icon-size: 30px;
  --site-footer-rule-width: 234px;
  padding-block: var(--ds-space-16) var(--ds-space-12);
  background: var(--ds-footer);
  color: var(--ds-footer-text);
  font-family: var(--ds-font-workhorse);
}

.site-footer ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.site-footer__grid {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--ds-space-12);
}

.site-footer__brand {
  display: grid;
  gap: var(--ds-space-6);
  justify-items: start;
}

.site-footer__logo img {
  height: var(--ds-space-12);
  width: auto;
  filter: invert(1);
  mix-blend-mode: screen;
}

.site-footer__social {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ds-space-4);
}

.site-footer__social-link {
  width: var(--site-footer-icon-size);
  height: var(--site-footer-icon-size);
  border-radius: var(--ds-radius-2xs);
  display: grid;
  place-items: center;
  color: var(--ds-white);
  transition:
    color 0.2s,
    transform 0.2s var(--ds-ease-out);
}

.site-footer__social-link svg {
  width: var(--site-footer-icon-size);
  height: var(--site-footer-icon-size);
}

.site-footer__social-link:hover {
  color: var(--ds-ochre-light-1);
  transform: translateY(-2px);
}

.site-footer__columns {
  display: flex;
  gap: var(--ds-space-24);
}

.site-footer__columns ul {
  display: grid;
  gap: var(--ds-space-3);
  align-content: start;
}

.site-footer__link {
  font-size: var(--ds-text-md);
  font-weight: var(--ds-weight-medium);
  text-transform: uppercase;
  text-decoration: none;
  white-space: nowrap;
  color: var(--ds-footer-text);
  background-image: linear-gradient(currentColor, currentColor);
  background-size: 0 1px;
  background-repeat: no-repeat;
  background-position: 0 100%;
  transition:
    color 0.2s,
    background-size 0.25s var(--ds-ease-out);
}

.site-footer__link:hover {
  color: var(--ds-ochre-light-1);
  background-size: 100% 1px;
}

.site-footer a:focus-visible {
  outline: 2px solid var(--ds-white);
  outline-offset: 3px;
  border-radius: var(--ds-space-1);
}

.site-footer__sign {
  margin-top: var(--ds-space-12);
  display: grid;
  justify-items: center;
  gap: var(--ds-space-3);
  text-align: center;
}

.site-footer__rule {
  display: block;
  width: var(--site-footer-rule-width);
  height: 1px;
  background: var(--ds-footer-text);
  opacity: 0.9;
}

.site-footer__mark {
  display: block;
  color: var(--ds-white);
  line-height: var(--ds-leading-none);
}

.site-footer__sign p {
  margin: 0;
  font-size: var(--ds-text-xs);
}

@media (max-width: 960px) {
  .site-footer__grid {
    flex-direction: column-reverse;
    gap: var(--ds-space-12);
  }

  .site-footer__columns {
    flex-wrap: wrap;
    gap: var(--ds-space-12);
  }

  .site-footer__columns ul {
    gap: var(--ds-space-4);
  }

  .site-footer__link {
    font-size: var(--ds-text-md);
    line-height: 28px;
  }

  .site-footer__sign p {
    font-size: var(--ds-text-2xs);
    font-weight: var(--ds-weight-medium);
    letter-spacing: 0.05px;
  }
}
