/* Always-expanded footer directory: desktop 5 columns, tablet 4, mobile 2. */
footer .footer-sitemap { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:32px 24px; padding:56px 0 44px; border-bottom:1px solid #dedede; }
footer .footer-sitemap-group { min-width:0; }
footer .footer-sitemap h2 { margin:0 0 17px; font-size:16px; line-height:1.5; font-weight:750; letter-spacing:-.3px; color:#171717; }
footer .footer-sitemap ul { padding:0; margin:0; list-style:none; }
footer .footer-sitemap li { margin:0; }
footer .footer-sitemap a { display:inline-flex; align-items:center; min-height:36px; padding:5px 0; color:#555; font-size:14px; font-weight:450; line-height:1.6; text-decoration:none; overflow-wrap:anywhere; }
footer .footer-sitemap a:hover { color:#2563ed; }
footer .footer-sitemap a:focus-visible { outline:2px solid #2563ed; outline-offset:4px; border-radius:2px; }
@media(max-width:1100px) { footer .footer-sitemap { grid-template-columns:repeat(4,minmax(0,1fr)); gap:30px 24px; padding:40px 0; } }
@media(max-width:600px) { footer .footer-sitemap { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 20px; padding:32px 0; } footer .footer-sitemap h2 { font-size:15px; margin-bottom:10px; } footer .footer-sitemap a { min-height:44px; font-size:13px; } }
