.site-footer{background:var(--color-dark);border-top:1px solid var(--color-border-dark);color:var(--color-text-dim);margin-top:0;padding:var(--space-10) 0 var(--space-5)}.site-footer a{color:var(--color-link-on-dark);text-decoration:none}.site-footer a:hover,.site-footer a:focus-visible{color:var(--color-text-white);text-decoration:underline}.footer-widgets{display:grid;gap:var(--space-6);grid-template-columns:1fr;margin-bottom:var(--space-8)}.footer-widget{min-width:0}.widget-title{border-bottom:1px solid var(--color-border-dark);color:var(--color-text-white);font-family:var(--font-body);font-size:.6875rem;font-weight:var(--weight-semi);letter-spacing:var(--tracking-wider);margin-bottom:var(--space-4);padding-bottom:var(--space-3);text-transform:uppercase}.footer-about p{color:var(--color-text-dim);font-size:.9375rem;line-height:1.6;margin-bottom:var(--space-4);max-width:60ch}.footer-social{display:flex;flex-wrap:wrap;gap:var(--space-2)}.footer-social a{align-items:center;border:1px solid var(--color-border-dark);color:var(--color-link-on-dark);display:inline-flex;height:44px;justify-content:center;min-width:44px}.footer-menu,.footer-services ul,.footer-legal ul{display:grid;gap:var(--space-2);list-style:none;margin:0;padding:0}.footer-menu li a,.footer-services li a{display:inline-flex;min-height:44px;align-items:center;font-size:.875rem}.footer-contact .contact-item{align-items:flex-start;color:var(--color-text-dim);display:grid;gap:var(--space-2);grid-template-columns:18px 1fr;margin-bottom:var(--space-3)}.footer-contact .contact-item i{color:var(--color-link-on-dark);margin-top:2px}.footer-bottom{border-top:1px solid var(--color-border-dark);display:grid;gap:var(--space-4);grid-template-columns:1fr;padding-top:var(--space-5)}.footer-copyright p{color:var(--color-text-dim);font-size:.8125rem;margin:0}.footer-legal ul{gap:var(--space-1)}.footer-legal li a{align-items:center;display:inline-flex;font-size:.8125rem;min-height:44px}@media (min-width:768px){.footer-widgets{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-bottom{align-items:center;grid-template-columns:1fr auto}.footer-legal ul{display:flex;gap:var(--space-4)}}@media (min-width:1200px){.footer-widgets{grid-template-columns:minmax(0,1.25fr) repeat(3,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){.site-footer a,.footer-social a{transition:none}}