.footer-wrap {
  background-color: var(--color-primary);
  color: var(--color-text-invert);
  border-radius: clamp(3.125rem, 2.5rem + 3.125vw, 6.25rem)
    clamp(3.125rem, 2.5rem + 3.125vw, 6.25rem) 0 0;
}

.footer__inner {
  overflow: hidden;
  padding: clamp(1.875rem, 1rem + 4.375vw, 6.25rem)
    clamp(0rem, -2.375rem + 11.875vw, 11.875rem)
    clamp(3rem, 2.725rem + 1.375vw, 4.375rem)
    clamp(0rem, -2.375rem + 11.875vw, 11.875rem);
}

.footer__nav,
.footer__social,
.footer__bottom {
  margin-left: var(--space-2xs);
}

.footer__nav ul {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1rem;
  flex-wrap: wrap;
  font-family: var(--font-body-semibold);
  font-size: clamp(1.1875rem, 0.9875rem + 1vw, 2.1875rem);
  line-height: clamp(1.625rem, 1.35rem + 1.375vw, 3rem);
}

.footer__social {
  display: flex;
  justify-content: flex-start;
  gap: var(--space-s);
  padding-block: clamp(0.75rem, 0.625rem + 0.625vw, 1.875rem);
  margin-right: 1.7rem;
}

.footer__social a {
  width: clamp(2.5rem, 2.35rem + 0.75vw, 3.25rem);
  height: auto;
}

.footer__bottom {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.footer__bottom p {
  font-family: var(--font-body-semibold);
  font-size: clamp(0.75rem, 0.625rem + 0.625vw, 1.375rem);
  line-height: clamp(1rem, 0.825rem + 0.875vw, 2rem);
}

.footer__credits-wrap {
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  gap: 1rem;
  margin-top: var(--space-s);
  width: 100%;
  border-top: 1px solid rgba(var(--color-text-invert-rgb), 0.25);
  padding-block: 1rem;
}

.footer__rights {
  display: block;
}

.footer__credits {
  text-align: end;
}

.footer__credits span {
  font-family: var(--font-body-semibold);
  font-size: clamp(0.625rem, 0.525rem + 0.5vw, 1.125rem);
  line-height: clamp(0.875rem, 0.7375rem + 0.6875vw, 1.563rem);
}

.footer__bottom strong {
  font-family: var(--font-body-extrabolt);
  font-size: clamp(0.9375rem, 0.85rem + 0.4375vw, 1.375rem);
  line-height: clamp(1.25rem, 1.125rem + 0.625vw, 2rem);
}

.footer__wordmark {
  height: clamp(3rem, -0.15rem + 15.75vw, 18.75rem);
  text-align: center;
  width: 100%;
  overflow: hidden;
}

.footer__wordmark img {
  display: block;
  height: auto;
  margin-bottom: -50px;
}

@media (min-width: 721px) {
  .footer__nav,
  .footer__social,
  .footer__bottom {
    margin-left: 0;
  }
  .footer__nav ul,
  .footer__bottom {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }

  .footer__bottom {
    align-items: flex-end;
  }

  .footer__social {
    justify-content: flex-end;
    margin-right: 1.7rem;
  }

  .footer__credits-wrap {
    border-top: none;
    padding-block: 0;
    width: auto;
  }
}
