
  :root{
    --ha-accent:#0b67a3;
    --ha-dark:#0b1220;
    --ha-muted:#6b7280;
    --ha-border:#e6eef8;
    --ha-bg:#ffffff;
  }

  .ha-nav-wrap{position:sticky;top:0;z-index:9999;background:var(--ha-bg);border-bottom:1px solid var(--ha-border)}
  .ha-nav{max-width:1100px;margin:0 auto;padding:10px 14px;display:flex;align-items:center;gap:12px}
  .ha-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ha-dark);font-weight:900}
  .ha-brand .ha-mark{width:34px;height:34px;border-radius:8px;background:#e0f2fe;border:1px solid var(--ha-border);display:grid;place-items:center;color:var(--ha-accent);font-weight:900}
  .ha-brand .ha-name{line-height:1.1}
  .ha-brand .ha-sub{display:block;font-size:.78rem;color:var(--ha-muted);font-weight:800}

  .ha-spacer{flex:1}

  /* Desktop primary actions */
  .ha-cta{display:flex;gap:10px;align-items:center}
  .ha-phone{font-weight:900;color:var(--ha-dark);text-decoration:none;white-space:nowrap}
  .ha-btn{height:40px;padding:0 12px;border-radius:10px;border:2px solid var(--ha-accent);display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-weight:900;white-space:nowrap}
  .ha-btn.primary{background:var(--ha-accent);color:#fff}
  .ha-btn.secondary{background:#fff;color:var(--ha-accent)}
  .ha-btn.secondary:hover{background:#e6f0fa}
  .ha-btn.primary:hover{opacity:.92}

  /* Hamburger (mobile) */
  .ha-toggle{display:none;align-items:center;justify-content:center;width:44px;height:40px;border-radius:10px;border:1px solid var(--ha-border);background:#fff}
  .ha-toggle svg{width:22px;height:22px}
  .ha-toggle:focus{outline:3px solid rgba(11,103,163,.25);outline-offset:2px}

  /* Top-level menu (desktop) */
  .ha-menu{display:flex;gap:8px;align-items:center}
  .ha-menu a{color:var(--ha-dark);text-decoration:none;font-weight:900;padding:10px 10px;border-radius:10px;display:inline-flex;align-items:center;gap:8px}
  .ha-menu a:hover{background:#f1f5f9}

  /* Dropdowns */
  .ha-dd{position:relative}
  /* Hover bridge prevents flicker between trigger and panel */
  .ha-dd::after{content:"";position:absolute;left:0;right:0;top:44px;height:14px;background:transparent;}

  .ha-dd > button{
    appearance:none;background:transparent;border:0;margin:0;
    cursor:pointer;font-weight:900;padding:10px 10px;border-radius:10px;color:var(--ha-dark);
    display:inline-flex;align-items:center;gap:8px;
  }
  .ha-dd > button:hover{background:#f1f5f9}
  .ha-dd > button:focus{outline:3px solid rgba(11,103,163,.25);outline-offset:2px;background:#f1f5f9}
  .ha-caret{font-size:.85rem;color:var(--ha-muted);line-height:1;transform:translateY(-1px)}

  .ha-panel{
    position:absolute;left:0;top:48px;min-width:300px;background:#fff;border:1px solid var(--ha-border);
    border-radius:12px;box-shadow:0 12px 32px rgba(11,18,32,0.10);padding:10px;display:none;gap:6px
  }
  .ha-panel a{display:flex;justify-content:space-between;gap:10px;padding:10px;border-radius:10px}
  .ha-panel a small{color:var(--ha-muted);font-weight:800}
  .ha-panel a:hover{background:#f8fbff}
  .ha-divider{height:1px;background:var(--ha-border);margin:4px 2px}

  /* Desktop: open on hover / focus-within */
  @media (min-width: 981px){
    .ha-dd:hover > .ha-panel,
    .ha-dd:focus-within > .ha-panel{display:grid}
  }

  /* Mobile: overlay menu + tap-expand dropdowns */
  @media (max-width: 980px){
    .ha-toggle{display:flex}
    .ha-cta{display:none}

    .ha-menu{
      display:none;
      position:fixed;left:0;right:0;top:0;
      background:#fff;flex-direction:column;align-items:stretch;gap:0;
      padding:12px;border-bottom:1px solid var(--ha-border);box-shadow:0 18px 40px rgba(11,18,32,0.12);
      max-height:88vh;overflow:auto;
    }
    .ha-menu.ha-open{display:flex}

    .ha-menu a{padding:12px}

    .ha-dd{width:100%}
    .ha-dd::after{display:none} /* not needed on mobile */
    .ha-dd > button{width:100%;padding:12px;justify-content:space-between}

    .ha-panel{
      position:static;min-width:unset;box-shadow:none;border-radius:10px;
      margin:0 0 10px 0;
      display:none;
    }
    .ha-dd.ha-open > .ha-panel{display:grid}
  }

  /* Resource links remain reachable in short desktop and mobile viewports. */
  .ha-nav-wrap,.ha-nav-wrap *{box-sizing:border-box;}
  .ha-panel-label{padding:7px 10px 3px;font-size:12px;line-height:1.35;font-weight:800;color:var(--ha-muted);text-transform:uppercase;letter-spacing:.04em;}
  .ha-panel a span{min-width:0;overflow-wrap:break-word;}
  .ha-panel a small{max-width:110px;text-align:right;white-space:normal;line-height:1.3;}
  .ha-panel a{min-height:44px;align-items:center;line-height:1.35;}
  @media(min-width:981px){
    .ha-nav{flex-wrap:wrap;}
    .ha-menu{flex-wrap:wrap;min-width:0;}
    .ha-panel{max-height:calc(100vh - 180px);max-height:calc(100dvh - 180px);overflow-y:auto;overscroll-behavior:contain;max-width:calc(100vw - 24px);}
    .ha-dd[data-dd="resources"]>.ha-panel{width:370px;}
    .ha-dd[data-dd="services"]>.ha-panel,.ha-dd[data-dd="careers"]>.ha-panel{left:auto;right:0;}
  }
  @media(max-width:980px){
    .ha-nav{justify-content:space-between;}
    .ha-brand{min-width:0;}
    .ha-toggle{flex:0 0 44px;height:44px;}
    .ha-menu{position:absolute;top:100%;max-height:calc(100vh - 130px);max-height:calc(100dvh - 130px);z-index:10000;}
    .ha-panel{width:100%;max-width:100%;}
  }

