/* The navigation system (docs/31 section 3): one bar, mega menus, phone drawer, search and footer for every page of the
   network. Rendered by nav.js from data/nav.json; the theme ships this file unchanged (tools/gen-nav.mjs copies it).
   Tokens only (kit.css and the theme define the same names). Logical properties throughout, so Arabic mirrors. */

/* ---------- the bar ---------- */
[data-nxo-nav]{position:relative;z-index:30;background:var(--bg);border-bottom:1px solid var(--hair)}
/* the pinned bar stays above the sub-header (29) and everything it opens (language menu, mega menus, drawer) with it:
   kit.css gives .nav z-index 20, so this rule names both to win (2026-11-02: the sub-header hid the language menu) */
.nav[data-nxo-nav]{position:fixed;inset:0 0 auto 0;z-index:30}
/* the wordmark rules name the bar twice: kit.css keeps the old bar's .nav .logo rules (font-size 0 under 480 px), and the
   bundle scopes both files under .nxo-view with equal specificity, so load order decided (2026-11-02: the wordmark showed
   as its dot alone on most views at 390). Doubling wins in either order and gives what source order gives. */
/* the wordmark and plain buttons the bar and footer use, so they look the same where kit.css is absent (the theme) */
[data-nxo-nav][data-nxo-nav] .logo,.nxf .logo{display:flex;align-items:center;gap:10px;color:var(--t1);font:600 15px/1 var(--sans);letter-spacing:.04em;text-transform:uppercase;text-decoration:none}
[data-nxo-nav][data-nxo-nav] .logo i,.nxf .logo i{display:block;width:8px;height:8px;border-radius:50%;background:var(--accent);flex:none}
:is(.nx-drawer__f,.nxf-brand,.nx-feat) .btn{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;height:36px;padding:0 14px;border:1px solid transparent;border-radius:5px;font:500 14px/1 var(--sans);text-decoration:none;white-space:nowrap}
:is(.nx-drawer__f,.nxf-brand,.nx-feat) .btn[data-variant=primary]{background:var(--accent);color:var(--on-accent)}
:is(.nx-drawer__f,.nxf-brand,.nx-feat) .btn[data-variant=primary]:hover{background:var(--btn-primary-hover,var(--accent))}
:is(.nx-drawer__f,.nxf-brand,.nx-feat) .btn[data-variant=secondary]{border-color:var(--hair2);color:var(--t1)}
:is(.nx-drawer__f,.nxf-brand,.nx-feat) .btn[data-variant=secondary]:hover{border-color:var(--t3)}
:is(.nx-drawer__f,.nxf-brand,.nx-feat) .btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
/* links inside the bar never take the page's underline-on-hover */
[data-nxo-nav] a,[data-nxo-nav] a:hover,.nxs a,.nxs a:hover{text-decoration:none}
[data-nxo-nav] .w{display:flex;align-items:center;gap:32px;height:64px;max-width:1440px;margin:0 auto;padding:0 48px;box-sizing:border-box}
[data-nxo-nav][data-nxo-nav] .logo{flex:none;white-space:nowrap}
[data-nxo-nav] .navr{display:flex;align-items:center;gap:8px;flex:none}
[data-nxo-nav] .sp{flex:1;min-width:0}
[hidden]{display:none!important}

/* centre: one row at 1440 */
.nx-main{min-width:0}
.nx-list{display:flex;align-items:stretch;gap:2px;margin:0;padding:0;list-style:none;height:64px}
.nx-i{display:flex;align-items:stretch}
.nx-t{position:relative;display:inline-flex;align-items:center;gap:6px;height:100%;padding:0 12px;border:0;background:transparent;color:var(--t2);font:500 14px/1 var(--sans);letter-spacing:0;text-transform:none;white-space:nowrap;cursor:pointer;text-decoration:none}
.nx-t::after{content:"";position:absolute;inset-inline:12px;bottom:-1px;height:2px;background:transparent}
.nx-t:hover,.nx-t[aria-expanded=true],.nx-t[data-current=true]{color:var(--t1)}
.nx-t:hover::after,.nx-t[aria-expanded=true]::after,.nx-t[data-current=true]::after{background:var(--accent)}
.nx-t:focus-visible,.nx-btn:focus-visible,.nx-card:focus-visible,.nx-mm__foot a:focus-visible,.nxf a:focus-visible,.nx-drawer a:focus-visible,.nx-drawer summary:focus-visible,.nxs-o:focus-visible,.nxs input:focus-visible,.nxs-x:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:5px}
.nx-btn:focus-visible,.nxf a:focus-visible{outline-offset:2px}
.nx-chev{width:9px;height:6px;fill:none;stroke:var(--t3);stroke-width:1.5;transition:transform .15s}
.nx-t[aria-expanded=true] .nx-chev{transform:rotate(180deg)}

/* icon controls: search, account, drawer. Same 32px as the language and theme controls beside them. */
.nx-btn{display:inline-grid;place-items:center;flex:none;box-sizing:border-box;width:32px;height:32px;padding:0;border:1px solid var(--hair2);border-radius:5px;background:transparent;color:var(--t2);cursor:pointer;text-decoration:none}
.nx-btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.nx-btn:hover{color:var(--t1);border-color:var(--t3)}
.nx-burger{display:none}
.nx-burger .nx-i-x{display:none}
.nx-drawer-open .nx-burger .nx-i-menu{display:none}.nx-drawer-open .nx-burger .nx-i-x{display:block}
[data-nxo-nav] .thm,[data-nxo-nav] .nxo-thm,.sx .thm{box-sizing:border-box;height:32px;margin:0;padding:2px}
[data-nxo-nav] .thm button,[data-nxo-nav] .nxo-thm button,.sx .thm button{width:26px;height:26px}
[data-nxo-nav] .lng-b,.sx .lng-b{height:32px}
/* the connect plugin swaps the account link for its menu button: same box, icon only */
[data-nxo-nav] .nxo-um,.sx .nxo-um{margin:0}
[data-nxo-nav] .nxo-um__btn,.sx .nxo-um__btn{width:32px;height:32px}

/* ---------- contextual sub-header: one slim row of the site's or section's own pages under the bar (no menus) ---------- */
.nx-sub{position:fixed;inset-inline:0;top:var(--nx-bar-end,var(--nx-bar,65px));z-index:29;background:var(--bg);border-bottom:1px solid var(--hair);font-family:var(--sans)}
.nx-sub .w{display:flex;align-items:stretch;gap:4px;height:38px;max-width:1440px;margin:0 auto;padding:0 48px;box-sizing:border-box;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:none}
.nx-sub .w::-webkit-scrollbar{display:none}
.nx-sub a,.nx-sub a:hover{text-decoration:none}
.nx-sub__home{display:inline-flex;align-items:center;gap:16px;flex:none;margin-inline-end:6px;color:var(--t1);font:500 13.5px/1 var(--sans);white-space:nowrap}
.nx-sub__home::after{content:"";width:1px;height:16px;background:var(--hair2)}
.nx-sub__home:hover{color:var(--accent-text)}
.nx-sub__l{display:flex;align-items:stretch;gap:2px;margin:0;padding:0;list-style:none;flex:none}
.nx-sub__l li{display:flex}
.nx-sub__a{position:relative;display:inline-flex;align-items:center;padding:0 10px;color:var(--t2);font:400 13.5px/1 var(--sans);white-space:nowrap}
.nx-sub__a::after{content:"";position:absolute;inset-inline:10px;bottom:0;height:2px;background:transparent}
.nx-sub__a:hover,.nx-sub__a[aria-current=page]{color:var(--t1)}
.nx-sub__a:hover::after,.nx-sub__a[aria-current=page]::after{background:var(--accent)}
.nx-sub__a[aria-current=page]{font-weight:500}
.nx-sub__cta{align-self:center;flex:none;display:inline-flex;align-items:center;height:26px;margin-inline-start:auto;padding:0 10px;border:1px solid var(--hair2);border-radius:5px;color:var(--t1);font:500 12.5px/1 var(--sans);white-space:nowrap}
.nx-sub__cta:hover,.nx-sub__cta[aria-current=page]{border-color:var(--accent)}
.nx-sub a:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:5px}
.nx-sub-pad{height:var(--nx-sub,39px)}
.nx-drawer-open~.nx-sub{visibility:hidden}
@media (max-width:1279px){.nx-sub .w{padding:0 24px}}
/* Phones: only the top bar stays pinned; the sub-header scrolls away with the page (it keeps its place at the top). */
@media (max-width:700px){.nx-sub{position:absolute}}
/* phones: the section name stays pinned at the row's start as the Contact button does at its end (audit L14: the row
   scrolled to the current link and cut the name at the left edge) */
@media (max-width:900px){.nx-sub__home{position:sticky;inset-inline-start:0;z-index:1;background:var(--bg);box-shadow:-16px 0 0 var(--bg)}html[dir=rtl] .nx-sub__home{box-shadow:16px 0 0 var(--bg)}}
@media (max-width:900px){.nx-sub__cta{position:sticky;inset-inline-end:0;z-index:1;margin-inline-start:auto;background:var(--bg);box-shadow:-12px 0 0 var(--bg)}html[dir=rtl] .nx-sub__cta{box-shadow:12px 0 0 var(--bg)}}/* phones: the row scrolls, the Contact button stays pinned at its end and the links pass under it */
@media (max-width:700px){.nx-sub .w{gap:0;padding:0 16px}.nx-sub__home{gap:12px;margin-inline-end:4px}.nx-sub__a{padding:0 9px}.nx-sub__a::after{inset-inline:9px}.nx-sub__cta{margin-inline-start:12px;box-shadow:-12px 0 0 var(--bg),16px 0 0 var(--bg)}html[dir=rtl] .nx-sub__cta{box-shadow:12px 0 0 var(--bg),-16px 0 0 var(--bg)}}/* the button's ground also covers the row's 16 px end gutter, so no link shows beside it */

/* ---------- mega menus ---------- */
.nx-mm{position:absolute;inset-inline:0;top:100%;background:var(--bg);border-top:1px solid var(--hair);border-bottom:1px solid var(--hair2);max-height:calc(100vh - var(--nx-bar,64px) - var(--wp-admin--admin-bar--height,0px));overflow:auto;overscroll-behavior:contain}
.nx-mm .w,.nav .nx-mm .w,[data-nxo-nav] .nx-mm .w{display:block;height:auto;padding-top:32px;padding-bottom:0}
.nx-mm__body{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:48px;align-items:start;padding-bottom:28px}
.nx-mm__cols{display:grid;gap:36px 40px}
.nx-mm--platforms .nx-mm__cols{grid-template-columns:minmax(0,4fr) minmax(0,8fr);grid-template-rows:min-content min-content 1fr;align-items:start}
.nx-mm--platforms .nx-g{grid-column:1}.nx-mm--platforms .nx-g[data-g=technology]{grid-column:2;grid-row:1/span 3}
.nx-mm--platforms .nx-g[data-g=technology] .nx-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px}
.nx-mm--industries .nx-mm__cols{grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 12px}
.nx-mm--solutions .nx-mm__cols,.nx-mm--products .nx-mm__cols,.nx-mm--resources .nx-mm__cols,.nx-mm--company .nx-mm__cols{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.nx-mm--company .nx-mm__cols{grid-template-columns:repeat(2,minmax(0,1fr))}
.nx-mm--industries .nx-mm__body{grid-template-columns:minmax(0,1fr) 280px}
.nx-g .eyebrow{display:block;margin:0 0 12px;padding-inline:12px}
.nx-cards{list-style:none;margin:0;padding:0}
.nx-card{display:grid;grid-template-columns:36px minmax(0,1fr);gap:14px;align-items:start;padding:10px 12px;border-radius:5px;color:var(--t1);text-decoration:none}
.nx-card--plain{grid-template-columns:minmax(0,1fr)}
.nx-card:hover{background:var(--surface)}
.nx-ic{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--hair);border-radius:5px;color:var(--t2)}
.nx-ic svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.nx-card:hover .nx-ic{color:var(--accent-text);border-color:var(--hair2)}
.nx-card__t{display:flex;flex-direction:column;gap:3px;min-width:0}
.nx-card strong{font:500 14px/1.3 var(--sans);color:var(--t1)}
.nx-card__t span{font:400 12.5px/1.45 var(--sans);color:var(--t3);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.nx-card:hover strong{color:var(--accent-text)}
.nx-mm__foot{display:flex;flex-wrap:wrap;gap:8px 28px;padding:16px 12px 20px;border-top:1px solid var(--hair);font-size:13px}
.nx-mm__foot a{color:var(--t2);text-decoration:none}.nx-mm__foot a:hover{color:var(--t1);text-decoration:underline;text-decoration-color:var(--accent)}
/* without scripts the panel opens on hover and focus; with them, the aria-expanded trigger decides */
.nx-mm{display:none}
[data-nxo-nav]:not(.nx-js) .nx-i--menu:hover>.nx-mm,[data-nxo-nav]:not(.nx-js) .nx-i--menu:focus-within>.nx-mm,.nx-js .nx-mm:not([hidden]){display:block}

/* ---------- phone drawer: the same tree, as accordions ---------- */
.nx-drawer{display:none;position:fixed;inset-inline:0;top:var(--nx-bar-end,calc(var(--nx-bar,64px) + var(--wp-admin--admin-bar--height,0px)));bottom:0;z-index:31;background:var(--bg);border-top:1px solid var(--hair);overflow:auto;overscroll-behavior:contain}
.nx-drawer:target,.nx-drawer-open .nx-drawer{display:block}
.nx-drawer .w{display:block;height:auto;padding-top:8px;padding-bottom:0}
.nx-drawer ul{list-style:none;margin:0;padding:0}
.nx-dl>li{border-bottom:1px solid var(--hair)}
.nx-dl__t,.nx-acc summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;padding:0;color:var(--t1);font:500 18px/1.2 var(--sans);text-decoration:none;cursor:pointer;list-style:none}
.nx-acc summary::-webkit-details-marker{display:none}
.nx-acc[open] .nx-chev{transform:rotate(180deg)}
.nx-acc__b{padding:0 0 16px}
.nx-acc__b .eyebrow{margin:16px 0 4px}
.nx-acc__b li a{display:block;padding:10px 0;color:var(--t2);font-size:15px;text-decoration:none}
.nx-acc__b li a:hover,.nx-dl__t:hover{color:var(--t1)}
.nx-acc__f{display:flex;flex-wrap:wrap;gap:6px 20px;margin:12px 0 0;padding-top:12px;border-top:1px solid var(--hair);font-size:13px}.nx-acc__f a{color:var(--t3);text-decoration:none}
.nx-dl__own{padding:12px 0 8px}.nx-dl__own .eyebrow{margin:0 0 4px}.nx-dl__own li a{display:block;padding:9px 0;color:var(--t1);font-size:16px;text-decoration:none}
.nx-drawer__f{position:sticky;bottom:0;display:flex;gap:10px;padding:16px 0 calc(16px + env(safe-area-inset-bottom,0px));background:var(--bg);border-top:1px solid var(--hair)}
.nx-drawer__f .btn{flex:1 1 0}

/* ---------- wide screens: inline; below 1180px the drawer ---------- */
@media (max-width:1279px){[data-nxo-nav] .w{padding:0 24px;gap:24px}.nx-t{padding:0 9px}.nx-t::after{inset-inline:9px}.nx-mm .w{padding-inline:24px}}
@media (max-width:1179px){.nx-main{display:none}.nx-burger{display:inline-grid}[data-nxo-nav] .sp{flex:1}}
@media (min-width:1180px){.nx-drawer,.nx-drawer:target{display:none}}
@media (max-width:700px){[data-nxo-nav] .w{gap:12px;padding:0 16px}[data-nxo-nav] .navr{gap:6px}.nx-drawer .w{padding-inline:16px}.nx-drawer__f{flex-direction:column}.nx-drawer__f .btn{flex:none;width:100%}}
.nx-drawer__f .btn{min-height:44px}.nx-drawer__f{gap:10px}
@media (max-width:480px){[data-nxo-nav][data-nxo-nav] .logo{flex:0 1 auto;min-width:0;gap:7px!important;font-size:10.5px!important;line-height:1.15;letter-spacing:.03em;white-space:normal;max-width:96px}[data-nxo-nav][data-nxo-nav] .logo i{width:8px!important;height:8px!important}[data-nxo-nav] .navr{gap:4px}[data-nxo-nav] .w{gap:8px}}
.nx-drawer-open .nx-mm{display:none}

/* ---------- footer: one structure on every site ---------- */
footer.nxf,div.nxf{padding:0;margin:0;font-size:13.5px;line-height:1.5}
footer.nxf .w,div.nxf .w{display:block;justify-content:normal}
.nxf a,.nxf a:hover{text-decoration:none}
.nxf .nxf-c .nxf-h{margin:0 0 12px;padding:0;font:500 11px/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--t3)}
.nxf .nxf-legal nav,.nxf .nxf-cols{display:flex}
.nxf .nxf-legal nav a{display:inline}
.nxf{border-top:1px solid var(--hair);background:var(--bg);color:var(--t3);padding:0;font-size:13.5px}
.nxf .w{display:block;max-width:1440px;margin:0 auto;padding:0 48px;box-sizing:border-box}
.nxf-top{display:grid;grid-template-columns:200px minmax(0,1fr);gap:40px;padding:56px 0 40px}
.nxf-brand p{max-width:34ch;margin:16px 0 20px;color:var(--t2);font-size:13.5px;line-height:1.55}.nxf-brand p b{color:var(--t1);font-weight:500}
.nxf-cols{display:flex;flex-wrap:wrap;gap:32px 28px}
.nxf-c{flex:1 1 120px;min-width:0}.nxf-c--wide{flex:2 1 250px}
.nxf-c ul{list-style:none;margin:0;padding:0}
.nxf-c--wide ul{columns:2;column-gap:20px}
.nxf-c li{break-inside:avoid}
.nxf-c a{display:block;padding:5px 0;color:var(--t3);text-decoration:none}.nxf .nxf-c a:hover,.nxf .nxf-legal nav a:hover{color:var(--t1);text-decoration:underline;text-decoration-color:var(--accent)}
.nxf-legal{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 32px;padding:20px 0 40px;border-top:1px solid var(--hair);font-size:12.5px}
.nxf-legal p{margin:0}
.nxf-legal nav{display:flex;flex-wrap:wrap;gap:6px 20px}.nxf-legal nav a{color:var(--t3);text-decoration:none}.nxf-legal nav a:hover{color:var(--t1);text-decoration:underline;text-decoration-color:var(--accent)}
.nxf-ctl{display:flex;align-items:center;gap:8px}
.nxf .lng-m{top:auto;bottom:calc(100% + 6px)}
.nxf .thm,.nxf .nxo-thm{box-sizing:border-box;height:32px;margin:0;padding:2px}.nxf .lng-b{height:32px}
@media (max-width:1100px){.nxf-top{grid-template-columns:1fr;gap:32px}}
@media (max-width:700px){.nxf .w{padding:0 16px}.nxf-top{padding:40px 0 28px}.nxf-c{flex:1 1 calc(50% - 20px)}.nxf-c--wide{flex:1 1 100%}.nxf-legal{flex-direction:column;align-items:flex-start}}

/* ---------- search ---------- */
.nxs-bg{position:fixed;inset:0;z-index:1000;background:rgba(var(--paper),.6)}
.nxs{position:fixed;inset-inline:0;top:10vh;z-index:1001;box-sizing:border-box;width:min(680px,calc(100vw - 32px));max-height:min(620px,80vh);margin-inline:auto;display:flex;flex-direction:column;background:var(--bg);color:var(--t1);border:1px solid var(--hair2);border-radius:5px;overflow:hidden;font-family:var(--sans)}
.nxs-in{display:flex;align-items:center;gap:12px;padding:0 12px 0 16px;border-bottom:1px solid var(--hair)}
.nxs-ico{width:16px;height:16px;flex:none;fill:none;stroke:var(--t3);stroke-width:1.4;stroke-linecap:round}
.nxs input{flex:1;min-width:0;height:56px;padding:0;border:0;background:transparent;color:var(--t1);font:400 16px var(--sans)}
.nxs input::placeholder{color:var(--t3)}
.nxs input:focus-visible{outline:0}
.nxs-in:focus-within{box-shadow:inset 0 -2px 0 var(--accent)}
.nxs-x{display:grid;place-items:center;width:32px;height:32px;border:0;border-radius:5px;background:transparent;color:var(--t3);cursor:pointer}.nxs-x:hover{color:var(--t1);background:var(--hover)}
.nxs-x svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round}
.nxs-list{flex:1;overflow:auto;padding:8px;overscroll-behavior:contain}
.nxs-gh{padding:12px 10px 6px;font:500 11px/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--t3)}
.nxs-o{display:flex;align-items:flex-start;gap:12px;padding:9px 10px;border-radius:5px;color:var(--t1);text-decoration:none}
.nxs-o b{font:500 14px/1.3 var(--sans)}.nxs-o__t span{font-size:12.5px;line-height:1.4;color:var(--t3);display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.nxs-o[aria-selected=true]{background:var(--surface);box-shadow:inset 2px 0 0 var(--accent)}
.nxs-o[aria-selected=true]:dir(rtl){box-shadow:inset -2px 0 0 var(--accent)}
.nxs-none{margin:0;padding:28px 12px;color:var(--t3);font-size:14px}
.nxs-ft{display:flex;gap:18px;padding:10px 16px;border-top:1px solid var(--hair);color:var(--t3);font-size:12px}
.nxs kbd{padding:1px 5px;border:1px solid var(--hair2);border-radius:4px;font:400 11px var(--mono);color:var(--t2)}
.nxs-live{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media (max-width:700px){.nxs{top:0;width:100vw;max-height:100dvh;height:100dvh;border-radius:0;border-inline:0}.nxs-ft{display:none}}
@media (prefers-reduced-motion:no-preference){.nx-mm:not([hidden]){animation:nx-in .12s ease-out}@keyframes nx-in{from{opacity:0}}}

/* featured column: a CAD still on the panel ground (no frame), a value line, one call to action, quiet proof points */
.nx-feat{display:flex;flex-direction:column;gap:10px;padding-inline-start:40px;border-inline-start:1px solid var(--hair);min-width:0}
.nx-still{display:block;margin:0}
.nx-still img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;object-position:center;border:0}
.nx-still .nx-still__l{display:none}
:root[data-theme=light] .nx-still .nx-still__d{display:none}:root[data-theme=light] .nx-still .nx-still__l{display:block}
@media (prefers-color-scheme:light){:root:not([data-theme]) .nx-still .nx-still__d{display:none}:root:not([data-theme]) .nx-still .nx-still__l{display:block}}
.nx-feat__t{margin:0;font:500 17px/1.3 var(--sans);color:var(--t1)}
.nx-feat__x{margin:0;font-size:13px;line-height:1.5;color:var(--t3)}
.nx-feat .btn{align-self:flex-start;margin-top:4px}
.nx-chips{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 0;padding:0;list-style:none}
.nx-chips a{display:inline-flex;align-items:center;height:28px;padding:0 10px;border:1px solid var(--hair2);border-radius:4px;color:var(--t2);font-size:13px}
.nx-chips a:hover{color:var(--t1);border-color:var(--accent)}
.nx-proof{display:flex;flex-wrap:wrap;gap:6px 22px;margin:8px 0 0;padding-top:12px;border-top:1px solid var(--hair)}
.nx-proof div{display:flex;flex-direction:column;gap:2px}
.nx-proof dt{font:500 10px/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--t3)}
.nx-proof dd{margin:0;font:500 15px/1.2 var(--mono);color:var(--t1);font-variant-numeric:tabular-nums slashed-zero}
.nx-ic--s{width:24px;height:24px;border:0;flex:none}.nx-ic--s svg{width:18px;height:18px}
.nx-acc__b li a{display:flex;align-items:center;gap:10px}
@media (max-width:1279px){.nx-mm__body{grid-template-columns:minmax(0,1fr) 240px;gap:32px}.nx-feat{padding-inline-start:28px}}
.nxs-o__t{display:flex;flex-direction:column;gap:2px;min-width:0}
.nxs-ic{display:grid;place-items:center;flex:none;width:28px;height:28px;border:1px solid var(--hair);border-radius:5px;color:var(--t3)}.nxs-ic svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.nxs-o[aria-selected=true] .nxs-ic{color:var(--accent-text)}
/* signed-in users: the header sits below the WordPress toolbar instead of under it (the toolbar is fixed above 600 px and
   scrolls away below it, as WordPress lays it out) */
@media (min-width:601px){body.admin-bar :is(.nav,[data-nxo-nav]){top:var(--wp-admin--admin-bar--height,32px)}}

/* A network's own bar and footer (data/nav.json sites.<id>; nexusobservatory.com is obp, brand protocol): its wordmark
   is the protocol mark (three nodes on a ring, green nodes on blue links, from the brand tokens) and the name in sentence
   case; the bar and footer otherwise share every rule above. */
[data-nxo-nav][data-nxo-nav] .logo--obp,.nxf .logo--obp{text-transform:none;letter-spacing:-.01em;font:600 16px/1 var(--sans);gap:10px}
.logo--obp .nx-mark{width:24px;height:24px;flex:none;fill:none;stroke-width:1.4}
.logo--obp .nx-mark__ring{stroke:var(--hair2)}
.logo--obp .nx-mark__links{stroke:var(--accent-2,var(--accent));stroke-linejoin:round}
.logo--obp .nx-mark__n{fill:var(--accent);stroke:var(--bg);stroke-width:1.2}
.nav--obp .nx-sub__home,.nxf--obp .nxf-h{font-family:var(--eyebrow-font,var(--mono))}
@media (max-width:480px){[data-nxo-nav][data-nxo-nav] .logo--obp{font-size:12.5px!important;line-height:1.1;max-width:118px;white-space:normal;gap:8px!important}[data-nxo-nav] .logo--obp .nx-mark{width:22px;height:22px}}

/* ---------- skip link (WCAG 2.4.1, audit L10): the first Tab stop; drawn over the bar and every overlay when focused ---------- */
.nx-skip{position:fixed;top:8px;inset-inline-start:8px;z-index:var(--z-skip,60);box-sizing:border-box;padding:10px 14px;border-radius:5px;background:var(--t1);color:var(--bg);font:600 14px/1.2 var(--sans);text-decoration:none;transform:translateY(calc(-100% - 16px))}
.nx-skip:focus,.nx-skip:focus-visible{transform:none;outline:2px solid var(--accent);outline-offset:2px}
@media (prefers-reduced-motion:no-preference){.nx-skip{transition:transform var(--dur-fast,150ms) var(--ease-standard,ease)}}
