.site-footer{background:var(--bg-dark);color:var(--text-on-dark);padding:var(--sp-xl) 0 var(--sp-lg);border-top:4px solid var(--accent)}.footer__grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:var(--sp-lg) var(--sp-md)}.footer__brand{padding-right:var(--sp-md)}.footer__logo{display:inline-block;margin-bottom:var(--sp-sm)}.footer__logo-img{height:48px;width:auto;max-width:220px;display:block;filter:brightness(0) invert(1)}.footer__desc{font-size:var(--fs-sm);color:var(--text-dim-on-dark);line-height:var(--lh-relaxed);margin-bottom:var(--sp-sm);max-width:32ch}.footer__social{display:flex;gap:var(--sp-xs)}.footer__social-link{display:flex;align-items:center;justify-content:center;width:38px;height:38px;background:rgb(255 255 255 / .06);border:1px solid var(--border-dark);color:var(--text-dim-on-dark);transition:all var(--duration-sm) var(--ease-out)}.footer__social-link:hover{color:var(--accent-on-dark);border-color:var(--accent);background:rgb(59 90 192 / .1)}.footer__social-link svg{width:18px;height:18px}.footer__heading{font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--text-muted-on-dark);margin-bottom:var(--sp-sm)}.footer__links{display:flex;flex-direction:column;gap:var(--sp-2xs)}.footer__links a{font-size:var(--fs-sm);color:var(--text-dim-on-dark);transition:color var(--duration-sm) var(--ease-out)}.footer__links a:hover{color:var(--accent-on-dark)}.footer__contact{margin-top:var(--sp-sm);display:flex;flex-direction:column;gap:var(--sp-2xs)}.footer__contact a{font-size:var(--fs-sm);color:var(--text-dim-on-dark);transition:color var(--duration-sm)}.footer__contact a:hover{color:var(--accent-on-dark)}.footer__bottom{margin-top:var(--sp-lg);padding-top:var(--sp-sm);border-top:1px solid var(--border-dark);text-align:center}.footer__bottom p{font-size:var(--fs-xs);color:var(--text-muted-on-dark)}@media (max-width:900px){.footer__grid{grid-template-columns:1fr 1fr}.footer__brand{grid-column:1 / -1}}@media (max-width:540px){.footer__grid{grid-template-columns:1fr;gap:var(--sp-md)}}