/* ---------- HEADER ---------- */
  /* --header-h drives the top-clearance of every hero/first section on every
     page (see assets/css/base.css and assets/css/pages/*.css). The values
     below are static fallbacks matching the header's real rendered height at
     each breakpoint (only used for the very first paint / no-JS case);
     site.js overwrites this variable at runtime with the header's exact
     measured height, so clearance is always pixel-accurate and can never
     drift out of sync with the header's actual size. */
  :root{
    --header-h: 89px;
  }
  @media (max-width:991px){ :root{ --header-h: 81px; } }
  @media (max-width:576px){ :root{ --header-h: 75px; } }

  /* Keeps in-page anchor jumps (e.g. #capabilities, #demo-form, #book-demo)
     from landing underneath the fixed header. */
  html{
    scroll-padding-top: calc(var(--header-h) + 16px);
  }

  .site-header{
    position:fixed; top:0; left:0; right:0; z-index:1000;
    background:rgba(255,255,255,0.92); backdrop-filter:blur(10px);
    border-bottom:1px solid var(--border);
  }
  .nav-row{display:flex; align-items:center; justify-content:space-between; padding:16px 32px; max-width:1240px; margin:0 auto;}
  
.logo{
    display:flex;
    align-items:center;
    gap:12px;
    text-decoration:none;
}

.logo-mark{
    width: 56px;
    height:56px;
    background:#fff;
    border-radius:10px;
    padding:4px;
    display:flex;
    align-items:center;
    justify-content:center;
    box-shadow:0 2px 8px rgba(31,43,108,.12);
    flex-shrink:0;
}

.logo-mark img{
    width:100%;
    height:100%;
    object-fit:contain;
}

.logo-text{
    height:56px;          /* single branding element in the navbar now */
    width:auto;
    display:block;
    object-fit:contain;
}

/* Tablet */
@media (max-width:991px){
    .logo-text{
        height:30px;
    }
}

/* Mobile */
@media (max-width:576px){
    .logo-text{
        height:26px;
    }
}

  nav.primary{display:flex; gap:6px; align-items:center;}
  .nav-item{position:relative;}
  .nav-item > span{
    padding:10px 14px; display:flex; align-items:center; gap:6px; cursor:pointer;
    font-weight:500; font-size:14.5px; color:var(--text); border-radius:8px;
  }
  .nav-item:hover > span{color:var(--blue); background:rgba(48,79,162,0.06);}
  .mega{
    position:absolute; top:calc(100% + 10px); left:50%; transform:translateX(-50%) translateY(8px);
    background:var(--white); border:1px solid var(--border); border-radius:var(--radius);
    box-shadow:0 20px 50px rgba(20,29,77,0.14);
    min-width:560px; padding:26px; display:grid; grid-template-columns:1.1fr 1fr; gap:20px;
    opacity:0; visibility:hidden; transition:all .22s ease;
  }
  .nav-item:hover .mega{opacity:1; visibility:visible; transform:translateX(-50%) translateY(0);}
  .mega h5{font-family:'JetBrains Mono'; font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--text-soft); margin-bottom:12px; font-weight:600;}
  .mega ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:2px;}
  .mega li a{display:block; padding:9px 10px; border-radius:8px; font-size:14px; color:var(--text);}
  .mega li a:hover{background:var(--bg); color:var(--blue);}
  .mega-feature{background:var(--bg); border-radius:10px; padding:18px; display:flex; flex-direction:column; justify-content:space-between;}
  .mega-feature p{font-size:13px; color:var(--text-soft); margin:6px 0 12px;}
  .mega-feature .tag{font-family:'JetBrains Mono'; font-size:11px; color:var(--green); font-weight:600;}
  .nav-cta{display:flex; align-items:center; gap:14px;}
  .nav-cta .btn{padding:11px 20px; font-size:14px;}
  .hamburger{display:none;}

  /* ---------- MOBILE MENU (additive — only active below 991px) ---------- */
  .mobile-menu-toggle{
    display:none; background:none; border:1px solid var(--border); border-radius:8px;
    padding:8px 12px; font-size:18px; line-height:1; cursor:pointer; color:var(--text);
  }
  @media (max-width:991px){
    .mobile-menu-toggle{display:inline-block;}
    .nav-cta{display:none;}
    nav.primary{
      display:none; position:absolute; top:100%; left:0; right:0;
      background:var(--white); border-bottom:1px solid var(--border);
      flex-direction:column; align-items:stretch; padding:8px 20px 20px; gap:2px;
      box-shadow:0 20px 40px rgba(20,29,77,0.12); max-height:calc(100vh - 100%); overflow-y:auto;
    }
    nav.primary.open{display:flex;}
    .nav-item > span{justify-content:space-between;}
    .mega{
      position:static; opacity:1; visibility:visible; transform:none; box-shadow:none;
      border:none; min-width:0; padding:4px 0 10px 14px; display:none;
      grid-template-columns:1fr; gap:14px;
    }
    .nav-item.open .mega{display:grid;}
    .mega-feature{display:none;}
  }
