footer.site-footer { position: relative; overflow: hidden; margin-top: 40px; padding-top: 40px; background: #0f172a; color: #cbd5f5; font: 14px/1.7 Inter, Arial, sans-serif; }
footer.site-footer--flush { margin-top: 0; }
.site-footer .container { width: min(100% - 48px, 1180px); margin: 0 auto; }
.site-footer .footer-inner { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 40px; padding-bottom: 32px; }
.site-footer .footer-brand strong { display: block; margin-bottom: 12px; color: #fff; font-size: 22px; font-weight: 700; letter-spacing: -.01em; }
.site-footer .footer-brand p { margin: 0; max-width: 340px; color: #cbd5f5; font-size: 14px; line-height: 1.7; }
.site-footer .footer-links, .site-footer .footer-links__menu { display: flex; flex-direction: column; gap: 10px; }
.site-footer .footer-links__menu { margin: 0; padding: 0; list-style: none; }
.site-footer .footer-links a { color: #cbd5f5; text-decoration: none; font-size: 14px; line-height: 1.6; letter-spacing: .01em; }
.site-footer .footer-links a:hover { color: #fff; }
.site-footer .footer-contact { display: flex; flex-direction: column; gap: 12px; }
.site-footer .footer-contact span { display: block; font-size: 13px; margin-bottom: 8px; opacity: .7; }
.site-footer .footer-contact a { color: #fff; text-decoration: none; font-size: 14px; font-weight: 500; letter-spacing: .01em; width: fit-content; }
.site-footer .footer-bottom { border-top: 1px solid rgba(255,255,255,.08); padding: 16px 0; font-size: 13px; opacity: .7; }
@media (max-width: 900px) { .site-footer .footer-inner { grid-template-columns: 1fr; gap: 28px; } }
@media (max-width: 640px) { .site-footer .container { width: min(100% - 24px, 1180px); } }
