:root{
  --bit-menu-bg:#F2F2F2;
  --bit-menu-card:#fff;
  --bit-menu-ink:#111827;
  --bit-menu-muted:#6B7280;
  --bit-menu-line:#E5E7EB;
  --bit-menu-accent:#0B5CAB;
  --bit-menu-radius:14px;
  --bit-menu-shadow:0 8px 22px rgba(0,0,0,.08);
  --bit-menu-tap:48px;
  --bit-mobile-bar-h:75px;
}

/* Base */
.bit-menu-topbar,
.bit-menu-topbar *,
.bit-menu-topbar *::before,
.bit-menu-topbar *::after,
.bit-mobile-bar,
.bit-mobile-bar *,
.bit-mobile-bar *::before,
.bit-mobile-bar *::after,
.bit-mobile-menu,
.bit-mobile-menu *,
.bit-mobile-menu *::before,
.bit-mobile-menu *::after{
  box-sizing:border-box;
}

.bit-menu-topbar,
.bit-mobile-bar,
.bit-mobile-menu{
  font-family:'Roboto', Arial, sans-serif !important;
  color:var(--bit-menu-ink);
}

.bit-menu-topbar *,
.bit-mobile-bar *,
.bit-mobile-menu *{
  font-family:inherit !important;
}

.bit-menu-topbar a,
.bit-mobile-bar a,
.bit-mobile-menu a{
  color:inherit;
  text-decoration:none;
}

/* Desktop top bar */
.bit-menu-topbar{
  position:sticky;
  top:0;
  z-index:999997;
  background:#d1d5db;
  border-bottom:1px solid #d1d5db;
}

.bit-menu-row{
  max-width:1100px;
  margin:0 auto;
  padding:10px 12px;
  display:flex;
  align-items:center;
  gap:12px;
}

.bit-menu-brand{
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:900;
  letter-spacing:.3px;
  min-width:0;
}

.bit-menu-brand img{
  height:54px;
  width:auto;
  display:block;
}

.bit-menu-badge{
  font-size:12px;
  font-weight:800;
  color:var(--bit-menu-accent);
  background:#E8F1FF;
  padding:4px 8px;
  border-radius:999px;
  border:1px solid #D6E6FF;
  white-space:nowrap;
}

.bit-menu-nav{
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:10px;
}

.bit-menu-nav > a,
.bit-menu-nav .bit-menu-drop > button{
  height:40px;
  padding:0 12px;
  border-radius:10px;
  border:1px solid transparent;
  background:transparent;
  font-weight:800;
  color:var(--bit-menu-ink);
  cursor:pointer;
  display:flex;
  align-items:center;
  gap:8px;
  font-size:14px;
  line-height:1;
  appearance:none;
  -webkit-appearance:none;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}

.bit-menu-nav > a:hover,
.bit-menu-nav .bit-menu-drop > button:hover{
  background:#fff;
  border-color:var(--bit-menu-line);
  box-shadow:0 2px 10px rgba(0,0,0,.05);
}

.bit-menu-drop{
  position:relative;
}

.bit-menu-dropdown{
  position:absolute;
  right:0;
  top:calc(100% + 2px);
  width:280px;
  background:#fff;
  border:1px solid var(--bit-menu-line);
  border-radius:14px;
  box-shadow:var(--bit-menu-shadow);
  padding:8px;
  display:none;
  z-index:999995;
}

.bit-menu-drop:hover .bit-menu-dropdown{
  display:block;
}

.bit-menu-drop.open .bit-menu-dropdown{
  display:block;
}

.bit-menu-dropdown a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:10px;
  border-radius:10px;
  font-weight:800;
  font-size:14px;
}

.bit-menu-dropdown a:hover{
  background:#F3F4F6;
}

.bit-menu-dropdown .bit-menu-sub{
  font-size:12px;
  font-weight:700;
  color:var(--bit-menu-muted);
  padding:6px 10px 4px;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.bit-menu-caret{
  width:10px;
  height:10px;
  display:inline-block;
  border-right:2px solid #111827;
  border-bottom:2px solid #111827;
  transform:rotate(45deg);
  margin-top:-2px;
  flex:0 0 auto;
}

.bit-menu-chev{
  width:10px;
  height:10px;
  display:inline-block;
  border-right:2px solid #9CA3AF;
  border-bottom:2px solid #9CA3AF;
  transform:rotate(-45deg);
  flex:0 0 auto;
}

.bit-menu-drop::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:100%;
  height:10px;
}

/* Mobile launcher bar */
.bit-mobile-bar{
  display:none;
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:999999;
  background:#9ca3af;
  border-bottom:1px solid #d1d5db;
  box-shadow:0 2px 10px rgba(0,0,0,.06);
}

.bit-mobile-bar-row{
  max-width:1100px;
  margin:0 auto;
  height:75px;
  padding:0 12px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.bit-mobile-brand{
  display:flex;
  align-items:center;
  min-width:0;
  flex:1 1 auto;
  max-width:calc(100% - 110px);
}

.bit-mobile-brand img{
  display:block;
  height:54px;
  width:auto;
  max-width:100%;
}

.bit-mobile-toggle{
  min-height:42px;
  padding:0 14px;
  border-radius:10px;
  border:1px solid var(--bit-menu-line);
  background:#fff;
  color:var(--bit-menu-accent);
  font-weight:900;
  font-size:14px;
  display:inline-flex;
  align-items:center;
  gap:10px;
  cursor:pointer;
  appearance:none;
  -webkit-appearance:none;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
  box-shadow:0 2px 10px rgba(0,0,0,.05);
  transition:background-color .15s ease, transform .15s ease, box-shadow .15s ease;
  flex:0 0 auto;
  position:relative;
  z-index:2;
}

.bit-mobile-toggle:active{
  transform:translateY(1px);
}

.bit-hamburger{
  width:16px;
  height:12px;
  position:relative;
  display:inline-block;
  flex:0 0 auto;
}

.bit-hamburger span{
  position:absolute;
  left:0;
  width:100%;
  height:2px;
  background:#111827;
  border-radius:2px;
  transition:transform .18s ease, opacity .18s ease, top .18s ease;
}

.bit-hamburger span:nth-child(1){ top:0; }
.bit-hamburger span:nth-child(2){ top:5px; }
.bit-hamburger span:nth-child(3){ top:10px; }

.bit-mobile-toggle[aria-expanded="true"] .bit-hamburger span:nth-child(1){
  top:5px;
  transform:rotate(45deg);
}

.bit-mobile-toggle[aria-expanded="true"] .bit-hamburger span:nth-child(2){
  opacity:0;
}

.bit-mobile-toggle[aria-expanded="true"] .bit-hamburger span:nth-child(3){
  top:5px;
  transform:rotate(-45deg);
}

/* Mobile dropdown panel */
.bit-mobile-menu{
  display:none;
  position:fixed;
  top:calc(var(--bit-mobile-bar-h) + env(safe-area-inset-top, 0px));
  left:0;
  right:0;
  margin:0;
  background:var(--bit-menu-card);
  border-top:1px solid var(--bit-menu-line);
  box-shadow:var(--bit-menu-shadow);
  overflow:auto;
  -webkit-overflow-scrolling:touch;
  z-index:999998;
  max-height:calc(100dvh - var(--bit-mobile-bar-h) - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px));
  padding-bottom:env(safe-area-inset-bottom, 0px);
}

.bit-mobile-menu.is-open{
  display:block;
}

.bit-mobile-menu-inner{
  padding:8px 10px 10px;
}

.bit-mobile-header{
  padding:14px 14px 10px;
  border-bottom:1px solid var(--bit-menu-line);
}

.bit-mobile-header .t{
  font-weight:900;
  font-size:16px;
  line-height:1.2;
}

.bit-mobile-header .s{
  color:var(--bit-menu-muted);
  font-size:13px;
  margin-top:2px;
  line-height:1.2;
}

.bit-mobile-btn{
  width:100%;
  min-height:var(--bit-menu-tap);
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 14px;
  border:0;
  background:#d1d5db;
  border-top:1px solid var(--bit-menu-line);
  font-weight:900;
  cursor:pointer;
  text-align:left;
  color:var(--bit-menu-ink);
  font-size:15px;
  line-height:1.2;
  appearance:none;
  -webkit-appearance:none;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
  transition:background-color .15s ease, transform .15s ease, box-shadow .15s ease;
}

.bit-mobile-link{
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
  min-height:40px;
  padding:0 12px;
  background:#d1d5db;
  border-top:1px solid var(--bit-menu-line);
  font-weight:800;
  font-size:15px;
  line-height:1.2;
  text-decoration:none;
}

.bit-mobile-link.bit-mobile-btn{
  display:flex;
  align-items:center;
  justify-content:space-between;
}

.bit-mobile-btn:active{
  transform:translateY(1px);
}

.bit-mobile-btn .left{
  display:flex;
  align-items:center;
  gap:0;
  min-width:0;
}

.bit-mobile-icon{
  display:none;
}

.bit-mobile-btn[aria-expanded="true"]{
  background:#d1d5db;
}

.bit-mobile-item{
  margin-bottom:4px;
}

.bit-mobile-section{
  display:none;
  border-top:1px solid var(--bit-menu-line);
  background:#FBFBFB;
  padding:4px 6px 6px;
}

.bit-mobile-section.is-open{
  display:block;
}

.bit-mobile-section a{
  min-height:40px;
  border-radius:0;
  background:#d1d5db;
  border-top:1px solid var(--bit-menu-line);
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 14px;
  padding-left:28px;
  font-weight:800;
  min-width:0;
  font-size:14px;
  color:var(--bit-menu-ink);
  margin-top:0;
}

.bit-mobile-section a:first-child{
  margin-top:0;
}

.bit-mobile-section a:active{
  transform:translateY(1px);
}

.bit-mobile-section a span{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

body.bit-menu-open{
  overflow:hidden;
}

.bit-mobile-btn:hover,
.bit-mobile-section a:hover{
  background:#d1d5db;
}

/* Responsive */
@media (max-width:820px){
  body{
    padding-top:calc(var(--bit-mobile-bar-h) + env(safe-area-inset-top, 0px));
  }

  .bit-menu-topbar{
    display:none;
  }

  .bit-menu-nav{
    display:none;
  }

  .bit-mobile-bar{
    display:block;
  }

  .bit-menu-drop:hover .bit-menu-dropdown{
    display:none;
  }

  .bit-menu-drop.open .bit-menu-dropdown{
    display:block;
  }
}

@media (min-width:821px){
  .bit-mobile-bar,
  .bit-mobile-menu{
    display:none !important;
  }
}