/* ─── FOOTER ───────────────────────────────────────────────── */
footer{
  background:var(--bg2);
  border-top:1px solid var(--border);
}
 
/* Top section: 4 columns */
.footer-top{
  max-width:1440px;margin:0 auto;
  padding:56px 48px 48px;
  display:grid;
  grid-template-columns:1.6fr 1fr 1fr 1fr;
  gap:48px;
}
 
/* Column 1: Brand */
.footer-brand-col{}
.footer-logo{
  font-family:'Bebas Neue',sans-serif;font-size:28px;
  letter-spacing:5px;color:var(--accent);
  display:flex;align-items:center;gap:10px;
  margin-bottom:4px;
}
.footer-logo-sub{
  font-family:'JetBrains Mono',monospace;font-size:9px;
  letter-spacing:3px;color:var(--text-dim);text-transform:uppercase;
  margin-bottom:16px;
}
.footer-tagline{
  color:var(--text-muted);font-size:13px;line-height:1.7;font-weight:300;
  max-width:260px;margin-bottom:24px;
}
.footer-contact-mini{display:flex;flex-direction:column;gap:8px;}
.fcm-row{display:flex;align-items:center;gap:9px;font-size:12.5px;color:var(--text-muted);}
.fcm-icon{
  width:26px;height:26px;border-radius:3px;flex-shrink:0;
  background:rgba(0,221,180,.08);border:1px solid rgba(0,221,180,.15);
  display:flex;align-items:center;justify-content:center;font-size:11px;
}
.fcm-row a{color:var(--accent);text-decoration:none;font-size:12.5px;}
.fcm-row a:hover{text-decoration:underline;}
 
/* Column headers */
.footer-col-title{
  font-family:'Bebas Neue',sans-serif;font-size:16px;letter-spacing:3px;
  color:var(--text);margin-bottom:18px;
  display:flex;align-items:center;gap:8px;
}
.footer-col-title::after{
  content:'';flex:1;height:1px;background:var(--border);
}
 
/* Nav columns */
.footer-nav{display:flex;flex-direction:column;gap:2px;}
.footer-nav a{
  display:flex;align-items:center;gap:8px;
  padding:7px 0;
  color:var(--text-muted);font-size:13px;
  text-decoration:none;
  border-bottom:1px solid transparent;
  transition:color .18s,padding-left .18s;
}
.footer-nav a:hover{color:var(--accent);padding-left:4px;}
.footer-nav a .fn-dot{
  width:4px;height:4px;border-radius:50%;
  background:var(--text-dim);flex-shrink:0;
  transition:background .18s;
}
.footer-nav a:hover .fn-dot{background:var(--accent);}
 
/* Category badges in footer */
.footer-cat-list{display:flex;flex-direction:column;gap:8px;}
.fcat-item{
  display:flex;align-items:center;gap:10px;
  padding:9px 12px;border-radius:4px;
  background:var(--surface);border:1px solid var(--border);
  text-decoration:none;transition:border-color .18s,background .18s;
}
.fcat-item:hover{border-color:var(--border2);background:var(--surface2);}
.fcat-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
.fcat-name{font-size:12px;color:var(--text-muted);font-weight:400;}
.fcat-count{
  margin-left:auto;
  font-family:'JetBrains Mono',monospace;font-size:9px;
  color:var(--text-dim);letter-spacing:1px;
}
 
/* Certifications mini */
.footer-certs{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px;}
.footer-cert{
  font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:1px;
  color:var(--text-dim);background:rgba(255,255,255,.03);
  border:1px solid var(--border);padding:3px 8px;border-radius:2px;
}
 
/* Divider */
.footer-divider{
  border:none;border-top:1px solid var(--border);margin:0;
}
 
/* Bottom bar */
.footer-bottom{
  max-width:1440px;margin:0 auto;
  padding:18px 48px;
  display:flex;align-items:center;justify-content:space-between;
  gap:20px;flex-wrap:wrap;
}
.footer-copy{
  font-family:'JetBrains Mono',monospace;font-size:10.5px;
  color:var(--text-dim);letter-spacing:.5px;
}
.footer-bottom-links{display:flex;gap:20px;list-style:none;}
.footer-bottom-links a{
  font-family:'JetBrains Mono',monospace;font-size:10px;
  color:var(--text-dim);text-decoration:none;letter-spacing:1px;
  text-transform:uppercase;transition:color .18s;
}
.footer-bottom-links a:hover{color:var(--text-muted);}
.footer-bst-credit{
  font-family:'JetBrains Mono',monospace;font-size:10px;
  color:var(--text-dim);letter-spacing:.5px;
  display:flex;align-items:center;gap:6px;
}
.footer-bst-credit span{color:var(--text-muted);}
 
@media(max-width:1024px){
  .footer-top{grid-template-columns:1fr 1fr;gap:36px;padding:40px 24px 32px;}
  .footer-bottom{padding:16px 24px;flex-direction:column;align-items:flex-start;gap:12px;}
}
@media(max-width:600px){
  .footer-top{grid-template-columns:1fr;gap:28px;padding:32px 20px;}
  .footer-bottom{padding:14px 20px;}
}