.site-footer {
    padding: 61px max(40px, calc((100vw - 1320px) / 2 + 40px)) 0;
    color: #dbe1dc;
    background: #20212a;
}

.footer-main {
    display: grid;
    grid-template-columns: 1.3fr .7fr 1.2fr 40px;
    gap: 40px;
    padding-bottom: 49px;
}

.site-footer .footer-brand { display: inline-flex; align-items: center; }
.site-footer .footer-brand img { display: block; width: auto; height: 48px; padding: 3px; background: #fff; filter: none; }
.footer-brand-block p { max-width: 280px; margin: 16px 0 0; color: #666a73; font-size: 11px; line-height: 1.8; }
.footer-column { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.footer-column h2 { margin: 3px 0 6px; color: #545454; font-family: 'DM Sans', sans-serif; font-size: 9px; font-weight: 700; letter-spacing: .7px; text-transform: uppercase; }
.footer-column a, .footer-column > span { color: #dbe1dc; font-size: 10px; }
.site-footer .footer-column a:hover, .site-footer .footer-bottom a:hover { color: #38b6ff; }
.footer-contact-link { display: grid; width: 38px; height: 38px; place-items: center; justify-self: end; color: #38b6ff; border: 1px solid rgba(32, 33, 42, .14); font-size: 13px; }
.site-footer .footer-bottom { display: flex; justify-content: space-between; gap: 18px; margin: 0; padding: 16px 0 18px; border-top: 1px solid rgba(32, 33, 42, .14); background: transparent; color: #545454; font-size: 8px; }
.site-footer .footer-bottom > span:nth-child(2) { color: #c0c9c2; font-weight: 700; letter-spacing: .7px; }
.site-footer .footer-bottom b { margin: 0 4px; color: #5e17eb; }
.site-footer .footer-bottom a { white-space: nowrap; }
.site-footer .footer-bottom a i { font-size: 8px; }

@media (max-width: 1020px) {
    .site-footer { padding-right: 34px; padding-left: 34px; }
}

@media (max-width: 680px) {
    .site-footer { padding: 47px 22px 0; }
    .footer-main { grid-template-columns: 1fr 1fr; gap: 31px 17px; padding-bottom: 35px; }
    .footer-brand-block { grid-column: 1 / -1; }
    .footer-column { gap: 9px; }
    .footer-column a, .footer-column > span { font-size: 9px; overflow-wrap: anywhere; }
    .footer-contact-link { grid-column: 2; grid-row: 2; align-self: end; }
    .site-footer .footer-bottom { flex-wrap: wrap; font-size: 7px; }
    .site-footer .footer-bottom > span:nth-child(2) { order: 3; width: 100%; }
}