.site-footer {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 32px 48px;
  border-top: 1px solid var(--line);
  padding: 36px max(40px, calc((100% - 1248px) / 2));
  font-size: 13px;
  line-height: 1.9;
}
.site-footer .footer-info { min-width: 0; }
.site-footer .footer-info p { margin: 0 0 8px; }
.site-footer .footer-info p:last-child { margin-bottom: 0; }
.site-footer .footer-credit {
  color: var(--ink);
  font-size: 14px;
  margin-bottom: 14px;
}
.footer-website, .footer-source-link { display: inline-block; }
.site-footer a {
  text-decoration: underline;
  text-decoration-color: #a5b0a5;
  text-underline-offset: 4px;
  text-decoration-thickness: 1px;
}
.site-footer a:hover { color: var(--ink); text-decoration-color: currentColor; }
.footer-contact { font-style: normal; }
.footer-contact span { display: block; margin-bottom: 8px; color: var(--ink); }
.footer-contact a { display: inline-block; overflow-wrap: anywhere; }
@media (max-width: 960px) {
  .site-footer { grid-template-columns: 1fr; gap: 24px; padding: 32px 28px; }
}
@media (max-width: 680px) {
  .site-footer { padding: 28px 21px; }
  .footer-website { display: block; }
  .footer-source-link { display: block; }
}
