.site-footer { padding: 60px 32px 0; border-top: 1px solid #edf1f6; background: #f7f9fc; color: #65748a; scroll-margin-top: 24px; }
.footer-inner { max-width: 1176px; margin: auto; }
.footer-main { display: grid; grid-template-columns: 1.2fr .8fr .8fr 1fr auto; gap: 36px; padding-bottom: 44px; }
.footer-brand img { mix-blend-mode: multiply; }
.footer-byline { margin: 15px 0 0; color: #526b89; font-size: 14px; font-weight: 500; line-height: 1.6; }
.footer-description { max-width: 230px; margin: 12px 0 0; font-size: 13px; line-height: 1.9; }
.site-footer h2 { margin: 8px 0 20px; color: #344966; font-size: 15px; font-weight: 600; line-height: 1.6; }
.footer-links ul { margin: 0; padding: 0; list-style: none; }
.footer-links li + li { margin-top: 10px; }
.footer-links a, .footer-contact dl { font-size: 13px; line-height: 1.8; }
.footer-links a { display: inline-block; padding: 2px 0; }
.footer-contact dl { margin: 0; }
.footer-contact dl > div { display: flex; gap: 12px; padding: 2px 0; }
.footer-contact dl > div + div { margin-top: 10px; }
.footer-contact dt { flex: 0 0 28px; }
.footer-contact dd { margin: 0; color: #526b89; white-space: nowrap; font-variant-numeric: tabular-nums; }
.footer-qrcodes { display: flex; gap: 16px; padding-top: 5px; }
.footer-qrcodes figure { margin: 0; }
.footer-qr-frame { padding: 7px; border: 1px solid #e4eaf3; border-radius: 10px; background: #fff; }
.footer-qr-frame img { display: block; width: 112px; height: 112px; object-fit: contain; }
.footer-qrcodes figcaption { margin-top: 12px; font-size: 12px; line-height: 1.6; text-align: center; }
.footer-bottom { display: flex; justify-content: space-between; gap: 16px; padding: 23px 0 25px; border-top: 1px solid #e6ecf4; font-size: 12px; line-height: 1.8; }
.footer-bottom p { margin: 0; }
.site-footer a { transition: color .2s ease; }
.site-footer a:hover { color: #3696df; }

@media (max-width: 1100px) {
    .footer-main { grid-template-columns: 1.2fr 1fr 1fr; gap: 32px; }
    .footer-contact { grid-column: 1; }
    .footer-qrcodes { grid-column: 3; }
    .footer-qr-frame img { width: 100px; height: 100px; }
}
@media (max-width: 700px) {
    .site-footer { padding: 40px 24px 0; }
    .footer-main { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 24px; padding-bottom: 32px; }
    .footer-about { grid-column: 1 / -1; }
    .footer-description { max-width: 340px; }
    .site-footer h2 { margin: 0 0 14px; }
    .footer-contact, .footer-qrcodes { grid-column: 1 / -1; }
    .footer-qrcodes { gap: 16px; padding-top: 0; }
    .footer-qr-frame img { width: 112px; height: 112px; }
    .footer-bottom { flex-direction: column; gap: 5px; padding: 20px 0 24px; font-size: 11px; }
}
