.site-footer {
  --footer-orange: #f68a4e;
  --footer-ink: #111317;
  --footer-muted: #626871;
  padding: 0 clamp(20px, 5vw, 80px) 2rem;
  background: #f7f8f9;
  color: var(--footer-ink);
  font-family: var(--font-sans, Arial, sans-serif);
}

.site-footer__shell { width: min(100%, 1200px); margin: 0 auto; }
.site-footer__main { display: grid; grid-template-columns: minmax(170px, .82fr) minmax(0, 3fr); align-items: start; gap: clamp(2.2rem, 6vw, 5.125rem); padding: clamp(2.75rem, 6vw, 4.375rem) 0 2.8125rem; }
.site-footer__wordmark { display: inline-flex; width: 3rem; height: 3rem; align-items: center; justify-content: center; color: var(--footer-ink); line-height: 1; text-decoration: none; }
.site-footer__logo { display: block; width: 100%; height: 100%; object-fit: contain; }
.site-footer__brand p { max-width: 12rem; margin: .875rem 0 0; color: var(--footer-muted); font-size: .9rem; line-height: 1.55; }
.site-footer__contact { display: grid; gap: .75rem; margin: 0; font-style: normal; }
.site-footer__contact p { display: grid; gap: .15rem; max-width: none; margin: 0; }
.site-footer__contact strong { color: var(--footer-ink); font-size: .78rem; font-weight: 700; letter-spacing: .02em; }
.site-footer__contact span,
.site-footer__contact a { color: var(--footer-muted); font-size: .84rem; line-height: 1.5; text-decoration: none; }
.site-footer__contact a:hover { color: var(--footer-orange); }
.site-footer__navigation { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)) minmax(0, 1.45fr); align-items: start; gap: clamp(1.125rem, 3vw, 2.375rem); }
.site-footer__group h2 { margin: 0 0 1.125rem; font-size: .88rem; font-weight: 700; line-height: 1.3; }
.site-footer__group ul { display: grid; gap: .8125rem; margin: 0; padding: 0; list-style: none; }
.site-footer__group a { color: #676c74; font-size: .86rem; line-height: 1.45; text-decoration: none; transition: color .16s ease; }
.site-footer__group a:hover { color: var(--footer-orange); }
.site-footer__bottom { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding-top: 1.25rem; border-top: 1px solid rgba(17,19,23,.13); }
.site-footer__bottom p { margin: 0; color: #777b83; font-size: .8rem; line-height: 1.5; }
.site-footer__socials { display: flex; align-items: center; gap: 1.0625rem; }
.site-footer__socials a { display: inline-grid; width: 1.875rem; height: 1.875rem; place-items: center; border-radius: 50%; color: #777b83; font-size: .9rem; text-decoration: none; transition: background-color .16s ease, color .16s ease; }
.site-footer__socials a:hover { background: rgba(246,138,78,.1); color: var(--footer-orange); }

body.about-site .about-page-footer,
body.pay-site .pay-page-footer,
body.support-site .support-page-footer,
body.source-send > .bg-white {
  display: none;
}

@media (max-width: 900px) {
  .site-footer__main { grid-template-columns: 1fr; gap: 2.125rem; }
  .site-footer__brand p { max-width: none; }
  .site-footer__navigation { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .site-footer__group--contact { grid-column: span 2; }
  .site-footer__contact p { max-width: 32rem; }
}
@media (max-width: 560px) {
  .site-footer { padding-inline: 20px; }
  .site-footer__main { gap: 2.125rem; padding: 2.4375rem 0 1.9375rem; }
  .site-footer__navigation { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.875rem 1.25rem; }
  .site-footer__group--contact { grid-column: 1 / -1; }
  .site-footer__group h2 { margin-bottom: .8125rem; }
  .site-footer__group ul { gap: .6875rem; }
  .site-footer__bottom { align-items: flex-start; flex-direction: column; gap: .9375rem; }
}
