:root{
  --brand-red:#E00010;
  --brand-blue:#0080D0;
  --brand-gold:#F0B000;

  --ink:#0B1220;
  --muted:#5B6677;
  --bg:#F6F8FB;
  --card:#FFFFFF;
  --line:rgba(11,18,32,.10);

  --shadow-sm:0 8px 20px rgba(11,18,32,.10);
  --shadow-md:0 14px 40px rgba(11,18,32,.14);
  --shadow-lg:0 24px 70px rgba(11,18,32,.18);

  --radius-sm:12px;
  --radius-md:18px;
  --radius-lg:26px;

  --container:1200px;
}

 Container 
.vs-container{ max-width:var(--container); margin:0 auto; padding:0 18px; }

 Header wrapper 
.vs-header{ position:sticky; top:0; z-index:9999; }

 Topbar 
.vs-topbar{
  background: linear-gradient(90deg, rgba(224,0,16,.10), rgba(0,128,208,.10));
  border-bottom:1px solid rgba(11,18,32,.08);
}
.vs-topbar-inner{
  height:40px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  font-size:13px;
  color:var(--muted);
}
.vs-topbar-left, .vs-topbar-right{ display:flex; align-items:center; gap:10px; }
.vs-topitem{ font-weight:700; }
.vs-toplink{ color:var(--muted); text-decoration:none; font-weight:700; }
.vs-toplink:hover{ color:var(--brand-blue); }
.vs-dot{ width:4px; height:4px; border-radius:99px; background:rgba(11,18,32,.25); }

 Nav row 
.vs-nav{
  background: rgba(255,255,255,.72);
  backdrop-filter: blur(12px);
  border-bottom:1px solid rgba(11,18,32,.08);
  transition: box-shadow .25s ease, background .25s ease;
}
.vs-nav-inner{
  height:78px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}

 Brand 
.vs-brand{
  display:flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
  color:var(--ink);
}
.vs-logo{
  width:48px;
  height:48px;
  object-fit:contain;
}
.vs-brand-text{ line-height:1.1; }
.vs-brand-name{ font-weight:900; font-size:18px; letter-spacing:.3px; }
.vs-brand-sub{ font-size:12px; color:var(--muted); font-weight:700; margin-top:2px; }

 Desktop menu 
.vs-menu{ display:flex; align-items:center; gap:8px; }
.vs-link{
  position:relative;
  text-decoration:none;
  color:var(--ink);
  font-weight:800;
  font-size:14px;
  padding:10px 12px;
  border-radius:999px;
  transition: background .2s ease, color .2s ease, transform .2s ease;
}
.vs-link:hover{
  background: rgba(0,128,208,.10);
  color: var(--brand-blue);
  transform: translateY(-1px);
}
.vs-link.active{
  background: rgba(224,0,16,.10);
  color: var(--brand-red);
}

 Actions 
.vs-actions{ display:flex; align-items:center; gap:10px; }

 Buttons 
.vs-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 16px;
  border-radius:999px;
  font-weight:900;
  font-size:13px;
  text-decoration:none;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease, border-color .2s ease;
  will-change: transform;
}
.vs-btn:hover{ transform: translateY(-2px); box-shadow: var(--shadow-md); }

.vs-btn-primary{ background:var(--brand-red); color:#fff; }
.vs-btn-primary:hover{ background:#c6000e; }

.vs-btn-outline{
  background: rgba(255,255,255,.75);
  color: var(--brand-blue);
  border:1px solid rgba(0,128,208,.35);
  backdrop-filter: blur(10px);
}
.vs-btn-outline:hover{ border-color: rgba(0,128,208,.65); }

 Burger (mobile) 
.vs-burger{
  width:44px; height:44px;
  border-radius:14px;
  border:1px solid rgba(11,18,32,.10);
  background: rgba(255,255,255,.75);
  display:none;
  align-items:center;
  justify-content:center;
  gap:5px;
  padding:10px;
  cursor:pointer;
  transition: transform .2s ease, box-shadow .2s ease;
}
.vs-burger:hover{ transform: translateY(-2px); box-shadow: var(--shadow-sm); }
.vs-burger span{
  display:block;
  height:2px;
  width:18px;
  background: var(--ink);
  border-radius:99px;
}

 Sticky shadow when scrolled 
.vs-header.is-scrolled .vs-nav{
  background: rgba(255,255,255,.90);
  box-shadow: var(--shadow-sm);
}

 Drawer 
.vs-drawer{ position:fixed; inset:0; display:none; z-index:99999; }
.vs-drawer.is-open{ display:block; }

.vs-drawer-overlay{
  position:absolute; inset:0;
  background: rgba(11,18,32,.55);
  backdrop-filter: blur(3px);
  opacity:0; transition: opacity .25s ease;
}
.vs-drawer.is-open .vs-drawer-overlay{ opacity:1; }

.vs-drawer-panel{
  position:absolute;
  top:0; right:0;
  width:min(420px, 92vw);
  height:100%;
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(14px);
  border-left:1px solid rgba(255,255,255,.35);
  box-shadow: var(--shadow-lg);
  transform: translateX(100%);
  transition: transform .25s ease;
  display:flex;
  flex-direction:column;
}
.vs-drawer.is-open .vs-drawer-panel{ transform: translateX(0); }

.vs-drawer-head{
  padding:16px 16px 10px;
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  border-bottom:1px solid rgba(11,18,32,.08);
}
.vs-drawer-brand{ display:flex; align-items:center; gap:10px; }
.vs-drawer-close{
  width:44px; height:44px;
  border-radius:14px;
  border:1px solid rgba(11,18,32,.10);
  background: rgba(255,255,255,.9);
  font-size:26px; line-height:1;
  cursor:pointer;
}

.vs-drawer-links{
  padding:12px 14px;
  display:flex; flex-direction:column;
  gap:6px;
}
.vs-dlink{
  text-decoration:none;
  color: var(--ink);
  font-weight:900;
  padding:12px 12px;
  border-radius:16px;
  border:1px solid rgba(11,18,32,.06);
  background: rgba(255,255,255,.65);
  transition: transform .2s ease, border-color .2s ease;
}
.vs-dlink:hover{
  transform: translateX(2px);
  border-color: rgba(0,128,208,.25);
}

.vs-drawer-cta{
  margin-top:auto;
  padding:14px;
  border-top:1px solid rgba(11,18,32,.08);
  display:flex;
  flex-direction:column;
  gap:10px;
}
.w100{ width:100%; }

.vs-mini-contact{
  display:flex; flex-direction:column; gap:8px;
  font-weight:800;
}
.vs-mini-contact a{
  text-decoration:none;
  color: var(--muted);
}
.vs-mini-contact a:hover{ color: var(--brand-blue); }

 Responsive 
@media (max-width: 1024px){
  .vs-menu{ display:none; }
  .vs-burger{ display:flex; }
}
@media (max-width: 560px){
  .vs-topbar{ display:none; } /* optional 
  .vs-nav-inner{ height:72px; }
  .vs-logo{ width:44px; height:44px; }
  .vs-btn-outline{ display:none; } /* keep only Apply Now 
}
