/* Shared footer: edit footer.html for links and this file for presentation. */
.site-footer .footer-content { display:grid; grid-template-columns:minmax(200px,1.15fr) minmax(300px,2fr) minmax(150px,.8fr); align-items:start; gap:36px; padding-top:40px; padding-bottom:28px; }
.site-footer .footer-brand img { height:50px; max-width:100%; object-fit:contain; }
.site-footer .footer-brand p { max-width:240px; margin:12px 0 0; color:#bdbdbd; font:500 14px/1.5 var(--ui); }
.site-footer h2 { margin:0 0 15px; color:white; font:400 22px/1 var(--head); text-transform:uppercase; }
.site-footer .footer-links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px 18px; }
.site-footer .footer-about .footer-links { grid-template-columns:1fr; }
.site-footer .footer-links a { color:#ddd; font:600 14px/1.35 var(--ui); text-decoration:none; }
.site-footer .footer-links a:hover { color:var(--red-hot); text-decoration:underline; }
.site-footer a:focus-visible { outline:3px solid var(--red-hot); outline-offset:4px; }
.site-footer .footer-bottom { display:block; border-top:1px solid #333; padding-top:16px; padding-bottom:20px; }
@media(max-width:800px) { .site-footer .footer-content { grid-template-columns:1fr 1fr; gap:28px; } .footer-brand { grid-column:1/-1; } .site-footer .footer-links { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:480px) { .site-footer .footer-content { grid-template-columns:1fr; gap:24px; } .footer-brand { grid-column:auto; } }
