/* ═══════════════════════════════════════
   FOOTER — PREMIUM
═══════════════════════════════════════ */
.site-footer{
  position:relative;
  background:var(--s1);
  border-top:1px solid var(--border);
  overflow:hidden;
}

/* background glow */
.site-footer::before{
  content:'';
  position:absolute;
  bottom:-120px;left:50%;transform:translateX(-50%);
  width:700px;height:300px;
  background:radial-gradient(ellipse,rgba(0,255,160,.05),transparent 70%);
  pointer-events:none;
}

/* top accent line */
.footer-accent-line{
  height:1px;
  background:linear-gradient(90deg,transparent 0%,rgba(0,255,160,.4) 30%,rgba(0,200,255,.4) 70%,transparent 100%);
}

/* ── NEWSLETTER BAND ── */
.footer-newsletter{
  border-bottom:1px solid var(--border);
  padding:44px 0;
}
.fn-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:32px;
  flex-wrap:wrap;
}
.fn-left{}
.fn-tag{
  font-size:9px;letter-spacing:.22em;text-transform:uppercase;
  color:#ffb347;margin-bottom:8px;
  display:flex;align-items:center;gap:8px;
}
.fn-tag::before{content:'◈';}
.fn-title{
  font-family:'Syne',sans-serif;font-size:20px;font-weight:800;
  line-height:1.2;
}
.fn-title em{
  font-family:'Instrument Serif',serif;font-style:italic;
  font-weight:400;color:#ffb347;
}
.fn-sub{font-size:11px;color:var(--muted2);margin-top:6px;line-height:1.7;}

.fn-form{
  display:flex;gap:8px;flex-wrap:wrap;
  min-width:360px;
}
.fn-input{
  flex:1;min-width:200px;
  background:var(--bg);
  border:1px solid var(--border);
  border-radius:3px;
  padding:12px 16px;
  font-family:'DM Mono',monospace;
  font-size:12px;color:var(--text);
  outline:none;
  transition:border-color .3s,box-shadow .3s;
}
.fn-input::placeholder{color:var(--muted);}
.fn-input:focus{border-color:rgba(0,255,160,.3);box-shadow:0 0 0 1px rgba(0, 234, 255, 0.479);}
.fn-btn{
  background:#ffb347;color:#030a06;
  font-family:'Syne',sans-serif;font-weight:700;font-size:11px;
  letter-spacing:.08em;text-transform:uppercase;
  padding:12px 24px;border-radius:3px;border:none;
  cursor:pointer;white-space:nowrap;
  transition:all .25s;box-shadow:0 0 20px rgba(0,255,160,.15);
}
.fn-btn:hover{transform:translateY(-1px);box-shadow:0 0 36px rgb(255, 106, 0);}

/* ── MAIN FOOTER GRID ── */
.footer-main{
  display:grid;
  grid-template-columns:1.6fr 1fr 1fr 1fr;
  gap:60px;
  padding:60px 0 52px;
  border-bottom:1px solid var(--border);
}

/* brand col */
.footer-brand{}
.fb-logo{
  display:flex;align-items:center;gap:10px;
  font-family:'Syne',sans-serif;font-weight:800;font-size:22px;
  color:var(--text);text-decoration:none;letter-spacing:-.02em;
  margin-bottom:18px;
}
.fb-logo span{color:var(--accent);}
.fb-logo-mark{
  width:34px;height:34px;border-radius:7px;
  background:var(--accent);
  display:flex;align-items:center;justify-content:center;
  font-size:16px;color:#030a06;font-weight:900;
}
.fb-desc{
  font-size:12px;color:var(--muted2);line-height:1.85;
  max-width:280px;margin-bottom:28px;
}

/* social icons */
.fb-socials{display:flex;gap:8px;margin-bottom:28px;}
.social-btn{
  width:38px;height:38px;border-radius:10px;
  background:var(--bg);border:1px solid var(--border);
  display:flex;align-items:center;justify-content:center;
  color:var(--muted2);
  text-decoration:none;
  transition:all .25s;
}
.social-btn:hover{
  border-color:var(--hover-border, rgba(0,255,160,.25));
  background:var(--hover-color, rgba(0,255,160,.06));
  color:var(--text);
  transform:translateY(-3px);
  box-shadow:0 8px 20px rgba(0,0,0,.3);
}
.social-btn svg{flex-shrink:0;}

/* cert badges */
.fb-certs{display:flex;flex-wrap:wrap;gap:6px;}
.cert-badge{
  font-size:8px;letter-spacing:.12em;text-transform:uppercase;
  padding:4px 10px;border-radius:2px;
  border:1px solid var(--border);
  background:var(--bg);color:var(--muted2);
  transition:all .25s;
}
.cert-badge:hover{border-color:rgba(0,255,160,.2);color:var(--accent);}

/* nav cols */
.footer-col{}
.fc-title{
  font-family:'Syne',sans-serif;font-size:11px;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;color:var(--text);
  margin-bottom:20px;
  display:flex;align-items:center;gap:8px;
}
.fc-title::after{content:'';flex:1;height:1px;background:var(--border);}

.fc-links{display:flex;flex-direction:column;gap:11px;list-style:none;}
.fc-links li{}
.fc-links a{
  font-size:12px;color:var(--muted2);text-decoration:none;
  display:flex;align-items:center;gap:8px;
  transition:color .2s,gap .2s;
  line-height:1;
}
.fc-links a:hover{color:var(--accent);gap:12px;}
.fc-links a::before{
  content:'→';font-size:10px;color:var(--muted);
  transition:color .2s;
}
.fc-links a:hover::before{color:var(--accent);}

/* track badges inside footer */
.fc-track{
  display:flex;align-items:center;gap:8px;
  font-size:11px;color:var(--muted2);text-decoration:none;
  padding:7px 0;border-bottom:1px solid var(--border);
  transition:color .2s;
}
.fc-track:last-child{border-bottom:none;}
.fc-track:hover{color:var(--text);}
.fc-track-dot{
  width:7px;height:7px;border-radius:50%;flex-shrink:0;
}
.fc-track-arrow{margin-left:auto;font-size:10px;color:var(--muted);transition:color .2s,transform .2s;}
.fc-track:hover .fc-track-arrow{color:var(--accent);transform:translate(2px,-2px);}

/* contact items */
.fc-contact-item{
  display:flex;align-items:flex-start;gap:10px;
  font-size:11px;color:var(--muted2);
  padding:8px 0;border-bottom:1px solid var(--border);
  line-height:1.6;
}
.fc-contact-item:last-child{border-bottom:none;}
.fc-contact-icon{
  font-size:13px;flex-shrink:0;margin-top:1px;
}
.fc-contact-item a{color:var(--muted2);text-decoration:none;transition:color .2s;}
.fc-contact-item a:hover{color:#25D366;}

/* ── BOTTOM BAR ── */
.footer-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:24px 0;
  flex-wrap:wrap;
}
.fb-copy{
  font-size:10px;color:var(--muted);letter-spacing:.06em;
  display:flex;align-items:center;gap:16px;flex-wrap:wrap;
}
.fb-copy strong{color:var(--accent);}
.fb-copy-sep{color:var(--muted);opacity:.4;}

.fb-legal{
  display:flex;gap:20px;flex-wrap:wrap;
}
.fb-legal a{
  font-size:10px;color:var(--muted);text-decoration:none;
  letter-spacing:.06em;transition:color .2s;
}
.fb-legal a:hover{color:var(--muted2);}

.fb-made{
  font-size:10px;color:var(--muted);letter-spacing:.06em;
  display:flex;align-items:center;gap:6px;
}
.fb-made-heart{color:var(--red);animation:heartbeat 1.4s ease-in-out infinite;}
@keyframes heartbeat{0%,100%{transform:scale(1);}50%{transform:scale(1.25);}}

/* ── FOOTER COHORT STRIP ── */
.footer-cohorts{
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
  padding:36px 0;
  background:linear-gradient(90deg,rgba(0,255,160,.02),rgba(0,200,255,.02),rgba(181,123,255,.02));
}
.fc-cohort-inner{
  display:flex;
  align-items:center;
  gap:0;
  overflow-x:auto;
  scrollbar-width:none;
}
.fc-cohort-inner::-webkit-scrollbar{display:none;}
.fc-cohort-label{
  font-size:9px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--muted);white-space:nowrap;padding-right:24px;
  border-right:1px solid var(--border);margin-right:0;flex-shrink:0;
}
.footer-cohort-item{
  display:flex;align-items:center;gap:14px;
  padding:0 24px;
  border-right:1px solid var(--border);
  flex-shrink:0;
  text-decoration:none;
  color:inherit;
  transition:background .2s;
  border-radius:4px;
}
.footer-cohort-item:hover{background:rgba(255,255,255,.03);}
.fci-dot{
  width:8px;height:8px;border-radius:50%;flex-shrink:0;
}
.fci-info{}
.fci-track{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted2);margin-bottom:3px;}
.fci-name{font-family:'Syne',sans-serif;font-size:12px;font-weight:700;color:var(--text);margin-bottom:2px;white-space:nowrap;}
.fci-date{font-size:10px;color:var(--muted2);}
.fci-seats{
  margin-left:auto;
  font-size:9px;color:var(--red);
  background:rgba(255,77,106,.08);
  border:1px solid rgba(255,77,106,.15);
  padding:3px 8px;border-radius:2px;
  white-space:nowrap;
}

/* ── RESPONSIVE ── */
@media(max-width:1000px){
  .footer-main{grid-template-columns:1fr 1fr;gap:40px;}
  .footer-brand{grid-column:1/-1;}
}
@media(max-width:600px){
  .footer-main{grid-template-columns:1fr;gap:32px;}
  .footer-brand{grid-column:auto;}
  .fn-inner{flex-direction:column;align-items:flex-start;}
  .fn-form{min-width:100%;width:100%;}
  .footer-bottom{flex-direction:column;align-items:flex-start;gap:14px;}
}

/* ANIMATIONS */
@keyframes fadeUp{
  from{opacity:0;transform:translateY(24px);}
  to{opacity:1;transform:translateY(0);}
}
