/* Self-contained unified nav for preserved article/about/press pages.
   Loads on pages that already have their own body styles; scoped to the header
   only. Overrides the legacy generic header{} rule. */
@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=Source+Serif+4:opsz,wght@8..60,400;8..60,600&display=swap');

.bi-uninav {
  --gold:#c8a84e; --gold-lt:#ddc278; --bg:#0d0d0d; --bg-2:#141210;
  --text:#ece5d8; --text-soft:#9a9080; --text-faint:#6f675b; --cream:#faf5eb;
  --green:#4db84d; --garnet:#b6513f; --rule:rgba(200,168,78,.20); --rule-soft:rgba(236,229,216,.10);
  --shadow:0 16px 50px rgba(0,0,0,.55);
  --f-mono:'IBM Plex Mono',ui-monospace,monospace;
  --f-body:'Source Serif 4','Source Serif Pro',Georgia,serif;
}
/* override legacy generic header{} so our markup lays out correctly */
header.site.bi-uninav {
  display:block !important; position:sticky; top:0; z-index:200;
  background:rgba(13,13,13,.92); backdrop-filter:blur(12px) saturate(1.1);
  border-bottom:1px solid var(--rule); padding:0 !important; margin:0;
}
header.site.bi-uninav * { box-sizing:border-box; }
header.site.bi-uninav .nav { display:flex; align-items:center; gap:.4rem; padding:.7rem clamp(1.1rem,4vw,2.4rem); max-width:1180px; margin:0 auto; }
header.site.bi-uninav .brand { display:flex; align-items:center; gap:.6rem; text-decoration:none; }
header.site.bi-uninav .brand .emblem { width:1.25rem; height:1.25rem; border:2px solid var(--gold); transform:rotate(45deg); position:relative; flex:0 0 auto; }
header.site.bi-uninav .brand .emblem::after { content:""; position:absolute; inset:3px; background:var(--gold); }
header.site.bi-uninav .brand .mark { font-family:var(--f-mono); font-weight:600; font-size:.9rem; letter-spacing:.2em; color:var(--cream); text-transform:uppercase; white-space:nowrap; }

header.site.bi-uninav .primary { display:flex; align-items:center; gap:.1rem; margin:0 auto 0 1.6rem; }
header.site.bi-uninav .navitem { position:relative; }
header.site.bi-uninav .navlink { display:inline-flex; align-items:center; gap:.45rem; font-family:var(--f-mono); font-size:.74rem; letter-spacing:.14em; text-transform:uppercase; color:var(--text-soft); text-decoration:none; padding:.55rem .8rem; background:none; border:none; cursor:pointer; transition:color .15s; }
header.site.bi-uninav .navlink:hover, header.site.bi-uninav .navitem:hover .navlink, header.site.bi-uninav .navitem:focus-within .navlink, header.site.bi-uninav .navlink[aria-current="page"] { color:var(--gold); }
header.site.bi-uninav .caret { width:.42rem; height:.42rem; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg) translateY(-2px); opacity:.6; transition:transform .2s; }
header.site.bi-uninav .navitem:hover .caret, header.site.bi-uninav .navitem:focus-within .caret, header.site.bi-uninav .navitem.open .caret { transform:rotate(225deg) translateY(2px); }

header.site.bi-uninav .mega { position:absolute; top:calc(100% + .45rem); left:0; min-width:460px; background:var(--bg-2); border:1px solid var(--rule); border-radius:8px; box-shadow:var(--shadow); padding:1.3rem; display:grid; grid-template-columns:repeat(2,1fr); gap:1.4rem; opacity:0; visibility:hidden; transform:translateY(6px); transition:opacity .16s,transform .16s,visibility .16s; z-index:60; }
header.site.bi-uninav .mega::before { content:""; position:absolute; top:-1px; left:1.3rem; right:1.3rem; height:2px; background:linear-gradient(90deg,var(--gold),transparent); }
header.site.bi-uninav .navitem:hover .mega, header.site.bi-uninav .navitem:focus-within .mega, header.site.bi-uninav .navitem.open .mega { opacity:1; visibility:visible; transform:translateY(0); }
header.site.bi-uninav .mega-col { display:flex; flex-direction:column; gap:.15rem; }
header.site.bi-uninav .mega-h { font-family:var(--f-mono); font-size:.6rem; letter-spacing:.16em; text-transform:uppercase; color:var(--text-faint); margin-bottom:.45rem; }
header.site.bi-uninav .mega a { font-family:var(--f-body); font-size:1rem; color:var(--text); text-decoration:none; padding:.34rem .5rem; border-radius:4px; display:flex; align-items:center; justify-content:space-between; gap:.6rem; transition:background .12s,color .12s; }
header.site.bi-uninav .mega a:hover { background:rgba(200,168,78,.1); color:var(--gold); }
header.site.bi-uninav .mega a small { font-family:var(--f-mono); font-size:.58rem; letter-spacing:.08em; text-transform:uppercase; color:var(--text-faint); }
header.site.bi-uninav .mega a .dot-new { color:var(--green); }

header.site.bi-uninav .support-cta { font-family:var(--f-mono); font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:var(--gold); border:1px solid var(--gold); border-radius:2px; padding:.5rem 1.05rem; text-decoration:none; transition:background .15s,color .15s; white-space:nowrap; }
header.site.bi-uninav .support-cta:hover { background:var(--gold); color:#1a1512; }
header.site.bi-uninav .nav-toggle { display:none; }

@media (max-width:980px){
  header.site.bi-uninav .nav-toggle { display:inline-flex; margin-left:auto; background:none; border:1px solid var(--rule); color:var(--gold); border-radius:3px; padding:.45rem .7rem; cursor:pointer; font-family:var(--f-mono); font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; }
  header.site.bi-uninav .primary { display:none; position:absolute; top:100%; left:0; right:0; flex-direction:column; align-items:stretch; gap:0; margin:0; background:var(--bg-2); border-bottom:1px solid var(--rule); padding:.5rem 1rem 1.1rem; max-height:82vh; overflow:auto; }
  header.site.bi-uninav .primary.open { display:flex; }
  header.site.bi-uninav .navitem { width:100%; border-bottom:1px solid var(--rule-soft); }
  header.site.bi-uninav .navlink { width:100%; justify-content:space-between; padding:.85rem .4rem; }
  header.site.bi-uninav .mega { position:static; min-width:0; opacity:1; visibility:visible; transform:none; display:none; grid-template-columns:1fr; box-shadow:none; border:none; background:transparent; padding:0 0 .6rem 1rem; }
  header.site.bi-uninav .navitem.open .mega { display:grid; }
  header.site.bi-uninav .support-cta { position:absolute; right:4.4rem; top:.85rem; }
}
