/* ═══════════════════════════════════════════════════════════════════════
   AphixLabs — FOOTER: single source of truth, loaded on every page.
   The footer markup is identical everywhere, so its styling must be too.
   Every property is declared explicitly — nothing inherited from whichever
   sheet happens to be present on a given page.
   ═══════════════════════════════════════════════════════════════════════ */

footer{
  border-top:1px solid var(--l1);
  background:var(--bg2);
  padding:56px 64px 34px;
  margin:0;
  font-family:'Bricolage Grotesque',sans-serif;
  font-size:16px;
  line-height:1.65;
}

footer .fgrid{
  max-width:1240px; margin:0 auto; padding:0;
  display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:36px;
  align-items:start;
}
footer .fgrid > div{margin:0;padding:0;}

footer .fgrid img{
  height:46px; width:auto; max-width:none; display:block;
  margin:0 0 16px; padding:0;
}
footer .fgrid p{
  font-size:.84rem; line-height:1.6; color:var(--so);
  max-width:270px; margin:0; padding:0;
}

footer .fh{
  font-family:'DM Mono',monospace; font-size:.58rem; font-weight:400;
  letter-spacing:.18em; text-transform:uppercase; color:var(--ac);
  margin:0 0 14px; padding:0;
}
footer .fl{display:flex;flex-direction:column;gap:9px;margin:0;padding:0;}
footer .fl a{
  font-family:'Bricolage Grotesque',sans-serif; font-size:.86rem; font-weight:400;
  letter-spacing:normal; text-transform:none; text-decoration:none;
  color:var(--so); transition:color .2s;
}
footer .fl a:hover{color:var(--br);}
footer .fl span{font-size:.82rem;line-height:1.6;color:var(--mu);}

footer .fbot{
  max-width:1240px; margin:40px auto 0; padding:22px 0 0;
  border-top:1px solid var(--l1);
  display:flex; justify-content:space-between; align-items:center;
  gap:16px; flex-wrap:wrap;
  font-family:'DM Mono',monospace; font-size:.58rem; font-weight:400;
  letter-spacing:.08em; text-transform:none; color:var(--mu);
}
footer .sysc{display:inline-flex;align-items:center;gap:7px;color:var(--mu);}
footer .sysc i{
  width:6px;height:6px;border-radius:50%;background:var(--gn);
  display:block;animation:fpulse 1.8s infinite;
}
@keyframes fpulse{50%{opacity:.35;}}

footer .bstamp{
  font-family:'DM Mono',monospace; font-size:.55rem; letter-spacing:.08em;
  color:var(--mu); opacity:.55; order:99; width:100%;
  text-align:center; margin-top:8px; display:block;
}

html[data-theme="light"] footer{background:#f2f2f8;border-top-color:rgba(80,70,140,.14);}
html[data-theme="light"] footer .fgrid img{filter:none;}

@media(min-width:1800px){footer .fgrid,footer .fbot{max-width:1400px;}}
@media(min-width:2400px){footer .fgrid,footer .fbot{max-width:1560px;}}
@media(max-width:1400px){footer{padding:52px 40px 30px;}}
@media(max-width:900px){
  footer{padding:44px 20px 28px;}
  footer .fgrid{grid-template-columns:1fr 1fr;gap:28px;}
}
@media(max-width:640px){
  footer{padding:38px 18px 24px;}
  footer .fgrid{grid-template-columns:1fr;gap:26px;}
  footer .fbot{font-size:.6rem;justify-content:center;text-align:center;}
}
@media print{footer .sysc,footer .bstamp{display:none!important;}}
