.site-footer { margin-top: 0; }
.site-footer-main { display: grid; grid-template-columns: minmax(220px, .8fr) minmax(240px, .7fr) minmax(320px, 1.5fr); align-items: start; gap: 48px; padding: 52px 0 42px; }
.site-footer-identity strong { font-size: 20px; }
.site-footer-identity p { max-width: 260px; margin: 8px 0 16px; }
.site-footer-identity > a { display: inline-flex; gap: 7px; color: #8fb4ff; text-decoration: none; font-weight: 600; }
.site-footer-identity > a i { font-style: normal; }
.site-footer-links { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 20px; }
.site-footer-links a { color: inherit; text-decoration: none; }
.site-footer-links a:hover { color: var(--site-primary); }
.site-footer-dark .site-footer-links a:hover { color: #fff; }
.site-footer-contact { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 24px; }
.site-footer-contact span, .site-footer-contact small { display: block; }
.site-footer-contact small { margin-bottom: 3px; color: #718096; font-size: 11px; }
.site-footer-bottom { padding: 20px 0; }
@media (max-width: 980px) {
  .site-footer-main { grid-template-columns: 1fr 1fr; }
  .site-footer-contact { grid-column: 1 / -1; }
}
@media (max-width: 800px) {
  .site-footer-main { grid-template-columns: 1fr; gap: 30px; padding: 40px 0 30px; }
  .site-footer-contact { grid-column: auto; grid-template-columns: 1fr; }
  .site-footer-links { max-width: 320px; }
  .site-footer-bottom { gap: 8px; }
}
