/* ================= HEADER / NAV ================= */
.site-header{
  position:sticky; top:0; z-index:100;
  background:rgba(8,15,30,.72);
  backdrop-filter:blur(14px) saturate(140%);
  -webkit-backdrop-filter:blur(14px) saturate(140%);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.nav-row{
  display:flex; align-items:center; justify-content:space-between;
  height:74px;
}
.brand{
  display:flex; align-items:center; gap:11px;
  font-family:var(--font-display);
  font-weight:700;
  font-size:1.05rem;
  color:var(--white);
}
.brand-mark{ width:34px; height:34px; flex-shrink:0; }
.brand small{
  display:block;
  font-family:var(--font-mono);
  font-weight:500;
  font-size:.62rem;
  letter-spacing:.1em;
  color:var(--teal-300);
  margin-top:1px;
}

.nav-links{
  display:none;
  align-items:center;
  gap:2px;
}
.nav-links a{
  padding:9px 15px;
  border-radius:999px;
  font-size:.92rem;
  font-weight:500;
  color:var(--slate-300);
  transition:color .2s, background .2s;
}
.nav-links a:hover{ color:var(--white); background:rgba(255,255,255,.06); }
.nav-links a.active{ color:var(--white); background:rgba(60,201,187,.14); }

.nav-actions{ display:flex; align-items:center; gap:10px; }
.nav-actions .btn{ padding:11px 20px; font-size:.87rem; }

@media (min-width:960px){
  .nav-links{ display:flex; }
}

.nav-toggle{
  display:flex; align-items:center; justify-content:center;
  width:42px; height:42px;
  border-radius:10px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.1);
}
.nav-toggle svg{ width:19px; height:19px; }
@media (min-width:960px){ .nav-toggle{ display:none; } }

.mobile-panel{
  display:none;
  flex-direction:column;
  gap:2px;
  padding:14px 24px 22px;
  border-top:1px solid rgba(255,255,255,.08);
}
.mobile-panel.open{ display:flex; }
.mobile-panel a{
  padding:12px 6px;
  color:var(--slate-300);
  font-weight:500;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.mobile-panel a.active{ color:var(--teal-300); }
.mobile-panel .mobile-actions{ display:flex; gap:10px; margin-top:14px; }
@media (min-width:960px){ .mobile-panel{ display:none !important; } }

/* ================= FOOTER ================= */
.site-footer{
  background:var(--navy-950);
  color:var(--text-on-dark-muted);
  padding-block:64px 28px;
  position:relative;
  overflow:hidden;
}
.footer-grid{
  display:grid;
  gap:40px;
  grid-template-columns:1fr;
}
@media (min-width:760px){
  .footer-grid{ grid-template-columns:1.3fr .8fr .8fr 1fr; gap:32px; }
}
.footer-brand p{ margin-top:14px; max-width:320px; font-size:.92rem; line-height:1.7; }
.footer-col h4{
  font-family:var(--font-mono);
  font-size:.72rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--teal-300);
  margin-bottom:16px;
}
.footer-col ul{ display:flex; flex-direction:column; gap:11px; }
.footer-col a{ font-size:.9rem; transition:color .2s; }
.footer-col a:hover{ color:var(--white); }
.footer-contact li{ display:flex; gap:10px; font-size:.88rem; align-items:flex-start; }
.footer-contact svg{ width:17px; height:17px; flex-shrink:0; margin-top:2px; color:var(--teal-400); }
.footer-bottom{
  margin-top:52px;
  padding-top:24px;
  border-top:1px solid rgba(255,255,255,.08);
  display:flex; flex-wrap:wrap; gap:14px;
  justify-content:space-between;
  font-size:.8rem;
}
.footer-social{ display:flex; gap:10px; }
.footer-social a{
  width:36px; height:36px;
  display:flex; align-items:center; justify-content:center;
  border-radius:50%;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.1);
  transition:background .2s, transform .2s;
}
.footer-social a:hover{ background:var(--teal-500); transform:translateY(-2px); }
.footer-social svg{ width:16px; height:16px; }
