/* =========================
   ROOT + BASICS (Needed by header/footer)
========================= */
:root{
  --bg:#f7f9fc;
  --ink:#0f172a;
  --muted:#64748b;
  --blue:#2563eb;
  --blue2:#3b82f6;
}

*{ box-sizing:border-box; }

body{
  margin:0;
  background:var(--bg);
  font-family:'Poppins', system-ui, -apple-system, Segoe UI, Roboto, Arial;
  color:var(--ink);
}

a{ text-decoration:none; }
a:focus, button:focus{ outline:none; }

/* =========================
   HEADER
========================= */
.topbar{
  position:sticky;
  top:0;
  z-index:999;
  background:rgba(255,255,255,0.9);
  backdrop-filter: blur(10px);
  border-bottom:1px solid rgba(148,163,184,0.25);
}

.topbar-inner{
  max-width:1100px;
  margin:0 auto;
  padding:14px 18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}

.brand{
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:800;
  color:var(--ink);
}

.brand .logo{
  width:34px;
  height:34px;
  border-radius:12px;
  background:linear-gradient(135deg, #f97316, #f59e0b);
  box-shadow:0 10px 25px rgba(249,115,22,0.20);
}

.brand span{ font-size:18px; }

.navlinks{
  display:flex;
  gap:14px;
}

.navlinks a{
  font-weight:600;
  font-size:14px;
  padding:10px;
  border-radius:10px;
  color:var(--ink);
}

.navlinks a:hover{
  background:rgba(37,99,235,0.08);
  color:var(--blue);
}

.nav-actions{
  display:flex;
  gap:10px;
}

/* Buttons used in header */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 14px;
  border-radius:10px;
  font-weight:700;
  font-size:14px;
  background:#fff;
  border:1px solid rgba(148,163,184,0.35);
}

.btn-primary{
  background:#070707;
  border:0;
  color:#fff;
}

/* =========================
   MOBILE MENU
========================= */
.hamburger{
  display:none;                /* ✅ hidden by default (desktop) */
  width:42px;
  height:42px;
  border-radius:12px;
  border:1px solid rgba(148,163,184,0.35);
  background:#fff;
  cursor:pointer;
  align-items:center;
  justify-content:center;
}


.hamburger span{
  display:block;
  width:18px;
  height:2px;
  background:#0f172a;
  position:relative;
}

.hamburger span:before,
.hamburger span:after{
  content:"";
  position:absolute;
  width:18px;
  height:2px;
  background:#0f172a;
  left:0;
}

.hamburger span:before{ top:-6px; }
.hamburger span:after{ top:6px; }

.mobile-panel{
  display:none;
  background:#fff;
  border-top:1px solid rgba(148,163,184,0.25);
}

.mobile-panel .wrap{
  max-width:1100px;
  margin:0 auto;
  padding:10px 18px 16px;
  display:grid;
  gap:8px;
}

.mobile-panel a{
  padding:12px;
  border-radius:12px;
  font-weight:700;
  background:#f8fafc;
  border:1px solid rgba(148,163,184,0.22);
  color:var(--ink);
}

/* =========================
   FOOTER
========================= */
.site-footer{
  background:#0b1220;
  color:rgba(255,255,255,0.82);
  padding:50px 20px 20px;
  margin-top:40px;
}

.footer-inner{
  max-width:1100px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr 1fr;
  gap:18px;
}

.footer-brand h4,
.footer-col h5{
  color:#fff;
  font-weight:800;
}

.footer-col a{
  display:block;
  font-size:13px;
  margin:8px 0;
  color:rgba(255,255,255,0.78);
}

.footer-col a:hover{ color:#fff; }

.footer-bottom{
  max-width:1100px;
  margin:20px auto 0;
  padding-top:16px;
  border-top:1px solid rgba(255,255,255,0.12);
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  font-size:12px;
  color:rgba(255,255,255,0.65);
}

/* =========================
   RESPONSIVE
========================= */
@media (max-width:720px){
  .navlinks, .nav-actions{ display:none; }
  .hamburger{ display:inline-flex; }
}

@media (max-width:900px){
  .footer-inner{ grid-template-columns:1fr 1fr; }
}

@media (max-width:520px){
  .footer-inner{ grid-template-columns:1fr; }
}
