.site-footer {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto auto;
  grid-template-areas: "brand pages social copyright";
  align-items: center;
  column-gap: clamp(20px, 3vw, 64px);
}
.site-footer .footer-wordmark { grid-area: brand; display: block; width: 100px; }
.footer-wordmark img { display: block; width: 100%; height: auto; }
html[data-theme="dark"] .footer-wordmark img { filter: invert(1); }
.site-footer nav.footer-pages { grid-area: pages; }
.site-footer nav.footer-social { grid-area: social; }
.site-footer nav { align-items: center; gap: 8px 16px; }
.site-footer .footer-copyright { grid-area: copyright; justify-self: end; white-space: nowrap; }
.contact-page .site-footer { display: grid; }
.contact-page .site-footer .footer-social { display: flex; }
.contact-page .site-footer .footer-wordmark { width: 78px; }
.atelier-shell-page .site-footer { display: none; }
@media (max-width: 1000px) {
  .site-footer {
    grid-template-columns: auto minmax(0, 1fr) auto;
    grid-template-areas: "brand pages copyright" "brand social copyright";
    row-gap: 12px;
  }
  .contact-page .site-footer { grid-template-areas: "brand social copyright"; }
}
@media (max-width: 600px) {
  .site-footer {
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas: "brand copyright" "pages pages" "social social";
    gap: 15px 8px;
  }
  .site-footer .footer-wordmark { width: 82px; }
  .site-footer nav.footer-social, .site-footer nav.footer-pages { justify-content: start; gap: 8px 14px; }
  .contact-page .site-footer {
    height: auto; min-height: 48px; padding-block: 6px;
    grid-template-areas: "brand copyright" "social social"; row-gap: 3px;
  }
  .contact-page .site-footer .footer-wordmark { width: 65px; }
  .contact-page .page-main { min-height: calc(100svh - 48px); }
}
