/* Shared homepage footer on every page. Scoped to prevent page-style differences. */
footer.apx-footer { box-sizing:border-box; width:100%; max-width:none; background:#0f172a; color:#cbd5e1; padding:48px 0 24px; border:0; border-radius:24px 24px 0 0; margin:40px 0 0; font-family:'Segoe UI',Roboto,sans-serif; text-align:left; }
footer.apx-footer *,footer.apx-footer *::before,footer.apx-footer *::after { box-sizing:border-box; }
footer.apx-footer > .container { width:100%; max-width:1200px; margin:0 auto; padding:0 20px; }
footer.apx-footer .footer-grid { display:grid; grid-template-columns:1.7fr 1fr 1.15fr 1.25fr; gap:34px; margin:0 0 32px; padding:0; }
footer.apx-footer .footer-col { min-width:0; padding:0; margin:0; }
footer.apx-footer .footer-col h4 { color:#fff; font-size:18px; font-weight:700; line-height:1.4; margin:0 0 16px; padding:0; }
footer.apx-footer .footer-col p { color:#cbd5e1; line-height:1.7; font-size:14px; font-weight:400; margin:0; padding:0; }
footer.apx-footer .footer-col ul { list-style:none; margin:0; padding:0; }
footer.apx-footer .footer-col ul li { list-style:none; margin:0 0 10px; padding:0; line-height:1.5; }
footer.apx-footer .footer-col ul li a { color:#94a3b8; text-decoration:none; font-size:14px; font-weight:400; transition:color .2s; }
footer.apx-footer .footer-col ul li a:hover { color:#fff; }
footer.apx-footer .footer-col ul li a:focus-visible { outline:3px solid #f59e0b; outline-offset:3px; }
footer.apx-footer .footer-bottom { border-top:1px solid #1e293b; padding:20px 0 0; margin:0; text-align:center; font-size:14px; line-height:1.5; color:#64748b; }
@media(max-width:768px) { footer.apx-footer .footer-grid { grid-template-columns:1fr; } }
