/* =====================================================================
   SITE-FOOTER.CSS — Footer (desktop grid version + compact mobile version)
   Depends on :root variables defined in homepage.css — load that first.
   ===================================================================== */

/* ---------- Footer (desktop) ---------- */
footer{margin-top:70px;border-top:1px solid var(--border);padding:48px 0 24px;}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr 1fr;gap:32px;}
.footer-brand p{font-size:12.5px;color:var(--muted);margin-top:14px;line-height:1.65;max-width:230px;font-weight:500;}
.footer-social{display:flex;gap:10px;margin-top:18px;}
.footer-social a{width:32px;height:32px;border-radius:10px;background:var(--bg-tint);display:flex;align-items:center;justify-content:center;color:var(--ink-soft);transition:background .15s,color .15s;}
.footer-social a:hover{background:var(--blue);color:#fff;}
.footer-social svg{width:15px;height:15px;}
.footer-col h4{font-size:12.5px;font-weight:800;color:var(--ink);margin-bottom:15px;letter-spacing:0.2px;}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:11px;}
.footer-col a{font-size:12.5px;color:var(--muted);font-weight:500;}
.footer-col a:hover{color:var(--blue);}
.footer-bottom{margin-top:40px;padding-top:20px;border-top:1px solid var(--border);display:flex;justify-content:space-between;font-size:11.5px;color:var(--faint);flex-wrap:wrap;gap:8px;font-weight:600;}
.footer-bottom svg{width:12px;height:12px;color:#ef4444;display:inline;vertical-align:-2px;}

/* ---------- Footer (mobile compact) ---------- */
.footer-mobile{display:none;}

@media (max-width:1024px){
  .footer-grid{grid-template-columns:1fr 1fr;}
}

@media (max-width:860px){
  /* ---- Desktop footer hidden, compact mobile footer shown ---- */
  .footer-desktop{display:none;}
  .footer-mobile{
    display:block;padding:28px 16px 14px;text-align:center;margin-top:44px;
    border-top:1px solid var(--border);
  }
  .fm-brand{display:flex;align-items:center;justify-content:center;gap:8px;}
  .fm-brand .brand-mark{width:28px;height:28px;}
  .fm-brand .brand-name{font-size:16px;font-weight:800;color:var(--ink);}
  .fm-social{display:flex;justify-content:center;gap:10px;margin-top:14px;}
  .fm-social a{width:30px;height:30px;border-radius:9px;background:var(--bg-tint);display:flex;align-items:center;justify-content:center;color:var(--ink-soft);}
  .fm-social svg{width:14px;height:14px;}
  .fm-tagline{font-size:11.5px;color:var(--muted);font-weight:600;margin-top:14px;}
  .fm-copy{font-size:10.5px;color:var(--faint);font-weight:600;margin-top:6px;}
}

@media (max-width:480px){
  .footer-grid{grid-template-columns:1fr 1fr;}
  .footer-bottom{flex-direction:column;text-align:center;}
}