/* Shared original navigation: independent of each page's typography and native button colors. */
.nx-header, #nx-menu { font:400 16px/normal Jost,'Helvetica Neue',sans-serif; color:#2b2e2f; color-scheme:light; }
.nx-header *, #nx-menu, #nx-menu * { box-sizing:border-box; }
.nx-header .nx-brand { color:#54585a; flex-shrink:0; }
.nx-header nav a { color:#2b2e2f; font:inherit; letter-spacing:inherit; padding:0; border:0; }
.nx-header .nx-toggle, #nx-menu .nx-toggle { appearance:none; -webkit-appearance:none; border:0; border-radius:0; background:transparent; color:#54585a; -webkit-text-fill-color:currentColor; font:400 12.5px/normal Jost,'Helvetica Neue',sans-serif; letter-spacing:1.8px; display:flex; align-items:center; justify-content:center; gap:14px; padding:10px 0; min-height:44px; min-width:44px; cursor:pointer; flex-shrink:0; -webkit-tap-highlight-color:transparent; }
.nx-bars { display:block; width:26px; height:8px; border-top:1.5px solid #2b2e2f; border-bottom:1.5px solid #2b2e2f; }
.nx-cross { position:relative; display:block; width:26px; height:26px; }
.nx-cross:before, .nx-cross:after { content:""; position:absolute; top:12px; left:0; width:26px; height:1.5px; background:#2b2e2f; transform:rotate(45deg); }
.nx-cross:after { transform:rotate(-45deg); }
#nx-menu { position:fixed; inset:0; z-index:100; width:100%; height:100%; height:100dvh; max-width:none; max-height:none; margin:0; border:0; padding:clamp(20px,3vw,34px) var(--gr) max(44px,env(safe-area-inset-bottom)) var(--gx); background:#f3f1ec; overflow-y:auto; overscroll-behavior:contain; }
#nx-menu:not([open]) { display:none; }
#nx-menu[open] { display:flex; flex-direction:column; }
#nx-menu::backdrop { background:#f3f1ec; }
#nx-menu .nx-menu-top { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; }
#nx-menu .nx-menu-top svg { display:block; }
#nx-menu nav { display:flex; flex-direction:column; flex-shrink:0; margin:clamp(30px,6vh,68px) 0 0; border-top:1px solid rgba(43,46,47,.14); }
#nx-menu nav a { display:flex; align-items:baseline; gap:20px; padding:clamp(15px,2.4vh,24px) 0; border-bottom:1px solid rgba(43,46,47,.14); font:300 clamp(23px,4.6vw,38px)/normal Jost,'Helvetica Neue',sans-serif; letter-spacing:1.4px; }
#nx-menu a { color:#2b2e2f; text-decoration:none; -webkit-tap-highlight-color:transparent; }
#nx-menu .nx-number { font-size:11px; letter-spacing:2px; color:#8a8781; }
#nx-menu .nx-menu-bottom { display:flex; flex-wrap:wrap; gap:12px 32px; margin-top:auto; padding-top:38px; font-size:12px; letter-spacing:1.8px; color:#6b6e6c; }
#nx-menu .nx-menu-bottom a { color:#b49b7e; }
html.nx-menu-open, html.nx-menu-open body { overflow:hidden; }
.nx-header :focus-visible, #nx-menu :focus-visible { outline:2px solid #b49b7e; outline-offset:5px; }
@media (hover:hover) and (pointer:fine) { .nx-header nav a:hover, #nx-menu nav a:hover { color:#b49b7e; } }
@media(max-width:1280px) { .nx-header [data-nav] { display:none!important; } }
@media(max-width:620px) { .nx-word { display:none; } }
@media(max-width:420px) { .nx-header [data-tag] { font-size:8.5px!important; letter-spacing:1.6px!important; } }
