/* navbar.css — sticky glass header + mega menu + mobile drawer */
header#header{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  padding:20px 0;transition:padding var(--dur) var(--ease), background var(--dur) var(--ease), border-color var(--dur) var(--ease);
  border-bottom:1px solid transparent;
}
header#header.scrolled{
  padding:12px 0;border-bottom-color:var(--glass-border);
}
/* The frosted-glass background lives on a pseudo-element, NOT on the header itself.
   backdrop-filter on the header made it the containing block for the position:fixed
   mobile drawer, so after scrolling the drawer shrank to the header's height. */
header#header::before{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:0;
  background:rgba(0,19,45,.75);backdrop-filter:blur(16px) saturate(140%);
  -webkit-backdrop-filter:blur(16px) saturate(140%);transition:opacity var(--dur) var(--ease);
}
header#header.scrolled::before{opacity:1;}
html{scroll-padding-top:var(--header-h,82px);}
.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;}
.logo{font-family:var(--font-display);font-weight:700;font-size:18px;}

nav.navbar > ul{display:flex;align-items:center;gap:4px;}
nav.navbar > ul > li{position:relative;}
nav.navbar > ul > li > a{
  display:flex;align-items:center;gap:5px;padding:10px 16px;font-family:var(--font-label);
  font-size:13px;font-weight:700;letter-spacing:.03em;color:var(--text);border-radius:8px;
  transition:background var(--dur-fast),color var(--dur-fast);
}
nav.navbar > ul > li > a:hover, nav.navbar > ul > li > a.active{background:rgba(220,230,242,.06);color:var(--yellow);}
nav.navbar li.dropdown{position:relative;}
.dropdown-panel{
  position:absolute;top:calc(100% + 12px);left:0;min-width:220px;background:var(--glass-bg-strong);
  backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:14px;padding:10px;
  opacity:0;pointer-events:none;visibility:hidden;transform:translateY(8px);
  transition:opacity var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease), visibility var(--dur-fast);
  box-shadow:0 30px 60px -20px rgba(0,0,0,.6);
}
li.dropdown.open .dropdown-panel, li.dropdown:hover .dropdown-panel, li.dropdown:focus-within .dropdown-panel{opacity:1;pointer-events:auto;visibility:visible;transform:translateY(0);}
.dropdown-panel::before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px;} /* hover bridge: stops the panel closing while the pointer crosses the gap */
.dropdown-panel a{display:block;min-height:40px;padding:9px 12px;border-radius:8px;font-size:13.5px;color:var(--text-dim);}
.dropdown-panel a:hover{background:rgba(220,230,242,.06);color:var(--white);}

.nav-actions{display:flex;align-items:center;gap:10px;}
.getstarted{background:var(--yellow);color:var(--navy-950)!important;padding:10px 20px;border-radius:9px;font-weight:700;}

.nav-social{display:none;}
@media (max-width:991px){
  .nav-social{
    display:flex;gap:10px;margin-top:24px;padding-top:20px;border-top:1px solid var(--glass-border);
  }
  .nav-social a{
    width:36px;height:36px;border-radius:9px;background:rgba(220,230,242,.06);border:1px solid var(--glass-border);
    display:flex;align-items:center;justify-content:center;color:var(--text-dim);transition:background .2s,color .2s;
  }
  .nav-social a:hover{background:var(--yellow);color:var(--navy-950);}
}

.mobile-nav-toggle{display:none;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0;margin:0 -6px 0 0;background:none;border:0;font-size:26px;line-height:1;color:var(--white);cursor:pointer;-webkit-tap-highlight-color:transparent;}
html.nav-lock{overflow:hidden;padding-right:var(--sbw,0px);}
html.nav-lock body{overflow:hidden;}

@media (max-width:991px){
  nav.navbar{
    position:fixed;top:0;right:0;bottom:0;width:min(320px,86vw);background:var(--glass-bg-strong);
    backdrop-filter:blur(20px);padding:100px 26px 26px;transform:translateX(100%);
    transition:transform var(--dur) var(--ease),visibility 0s linear var(--dur);border-left:1px solid var(--glass-border);z-index:1050;
    visibility:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
    padding:88px 22px 28px;
  }
  nav.navbar.mobile-open{transform:translateX(0);visibility:visible;transition-delay:0s;}
  nav.navbar > ul{flex-direction:column;align-items:stretch;gap:2px;}
  nav.navbar > ul > li > a{padding:13px 4px;min-height:48px;justify-content:space-between;}
  nav.navbar > ul > li > a.getstarted{justify-content:center;margin-top:10px;}
  .dropdown-panel a{min-height:44px;display:flex;align-items:center;}
  li.dropdown.open > a svg{transform:rotate(180deg);}
  .dropdown-panel{position:static;transform:none;opacity:1;visibility:visible;pointer-events:auto;display:none;box-shadow:none;background:none;backdrop-filter:none;border:none;padding-left:12px;}
  li.dropdown.open .dropdown-panel{display:block;}
  .mobile-nav-toggle{display:inline-flex;}
  /* keep search / theme / hamburger(X) above the open drawer so the X is always visible and tappable */
  .nav-actions{position:relative;z-index:1060;}
  .mobile-nav-overlay{
    position:fixed;inset:0;background:rgba(0,10,25,.6);z-index:990;opacity:0;pointer-events:none;transition:opacity var(--dur);
  }
  .mobile-nav-overlay.show{opacity:1;pointer-events:auto;}
}

/* search overlay */
.search-panel{
  position:fixed;inset:0;background:rgba(0,19,45,.9);backdrop-filter:blur(10px);z-index:1100;
  display:flex;align-items:flex-start;justify-content:center;padding-top:14vh;
  opacity:0;pointer-events:none;visibility:hidden;transition:opacity var(--dur),visibility 0s linear var(--dur);
}
.search-panel.open{opacity:1;pointer-events:auto;visibility:visible;transition-delay:0s;}
.search-box{width:min(640px,88vw);display:flex;align-items:center;gap:14px;border-bottom:2px solid var(--yellow);padding-bottom:14px;}
.search-box input{flex:1;background:none;border:none;color:var(--white);font-family:var(--font-display);font-size:22px;outline:none;}
.search-box input::placeholder{color:var(--text-dim);}
.search-close{color:var(--text-dim);font-size:13px;font-family:var(--font-label);letter-spacing:.1em;background:none;border:none;}
.search-results{list-style:none;margin-top:18px;max-height:50vh;overflow-y:auto;}
.search-results li a{display:block;padding:10px 4px;font-size:15px;color:var(--text);border-bottom:1px solid var(--glass-border);transition:color .2s,padding-left .2s;}
.search-results li a:hover{color:var(--yellow);padding-left:6px;}
