.site_footer_wrap {
  padding: clamp(1.5rem, 2.5vw, 2.5rem) 0 clamp(4rem, 7vw, 7rem);
}

.site_footer_contain {
  width: var(--page-width);
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-3);
}

.site_footer_contact_row {
  display: flex;
  align-items: center;
  gap: var(--space-5);
  flex-wrap: wrap;
  justify-content: center;
}

.site_footer_contact_group {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-family: var(--font-mono);
  font-size: var(--step-0);
  color: var(--color-ink);
  text-decoration: none;
  transition: opacity var(--transition-fast);
}

.site_footer_contact_group:hover {
  opacity: 0.72;
}

.site_footer_icon {
  width: 1.25rem;
  height: 1.25rem;
  flex-shrink: 0;
  filter: brightness(0) invert(1);
}

.site_footer_legal_row {
  display: flex;
  align-items: center;
  gap: var(--space-2) var(--space-4);
  flex-wrap: wrap;
  justify-content: center;
}

.site_footer_legal_link {
  font-family: var(--font-mono);
  font-size: var(--step-0);
  color: var(--color-ink-mid);
  text-decoration: none;
  transition: color var(--transition-fast);
}

.site_footer_legal_link:hover {
  color: var(--color-ink);
}

@media (max-width: 56em) {
  .site_footer_contact_row {
    gap: var(--space-4);
  }
}

@media (max-width: 42em) {
  .site_footer_contact_row {
    gap: var(--space-3);
  }

  .site_footer_legal_row {
    gap: var(--space-2);
  }
}
