/* Shared footer: markup is maintained in components/site-footer.html. */
body .site-footer { padding:56px 0 72px; background:#f6f5f0; color:#555b57; border-top:1px solid #c8cbc4; font-family:'IBM Plex Sans',sans-serif; }
.site-footer__shell { width:calc(100% - 48px); max-width:1320px; margin-inline:auto; }
.site-footer__grid { display:grid; grid-template-columns:1fr 1.2fr 1.1fr 1fr; gap:32px; }
.site-footer__heading { margin:0 0 16px; color:#171919; font-size:14px; line-height:1.5; font-weight:600; }
body .site-footer a { display:block; width:fit-content; max-width:100%; min-height:44px; padding:9px 0; color:#555b57; font-size:16px; line-height:1.5; text-decoration:none; overflow-wrap:anywhere; }
body .site-footer a:hover { color:#171919; text-decoration:underline; text-underline-offset:4px; }
body .site-footer a:focus-visible { outline:2px solid #825905; outline-offset:4px; }
body .site-footer .site-footer__all { display:inline-flex; align-items:center; gap:20px; margin-top:12px; padding:10px 18px; min-height:48px; border:1px solid #c8cbc4; border-radius:2px; color:#171919; font-weight:500; }
.site-footer__bottom { display:flex; justify-content:space-between; align-items:flex-start; gap:24px; margin-top:36px; padding-top:24px; border-top:1px solid #c8cbc4; font-size:14px; line-height:1.6; }
.site-footer__bottom span { display:block; }
.site-footer__legal { text-align:right; }
body .site-footer__legal a { margin-left:auto; font-size:14px; text-decoration:underline; text-underline-offset:3px; }
@media(max-width:1023px) { .site-footer__grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .site-footer__grid { grid-template-columns:1fr; } .site-footer__bottom { flex-direction:column; } .site-footer__legal { text-align:left; } body .site-footer__legal a { margin-left:0; } }
