/* ============================================================
   Shared professional site nav (.pnav) — unifies every page.
   Self-contained tokens (--sn-*) so it never depends on a page's
   other CSS. Dark default + [data-theme="light"] override.
   ============================================================ */
:root{
  --sn-ink:#F1F5F9; --sn-soft:#C3CEDD; --sn-dim:#8A99AD; --sn-mute:#5F6E82;
  --sn-line2:#2A3A4E; --sn-surf2:#1A2331;
  --sn-brand:#A3E635; --sn-brand-ink:#0A0E16; --sn-brand-txt:#A3E635; --sn-brand-strong:#BEF264;
  --sn-nav:rgba(10,14,22,.82); --sn-shadow:rgba(0,0,0,.55);
  --sn-sans:ui-sans-serif,"Segoe UI Variable","Segoe UI",system-ui,-apple-system,Roboto,Helvetica,Arial,sans-serif;
}
[data-theme="light"]{
  --sn-ink:#141922; --sn-soft:#3B4553; --sn-dim:#5B6674; --sn-mute:#8994A2;
  --sn-line2:#D3D9E2; --sn-surf2:#F4F7FB;
  --sn-brand-ink:#14240A; --sn-brand-txt:#4D7C0F; --sn-brand-strong:#B4E85A;
  --sn-nav:rgba(248,250,252,.85); --sn-shadow:rgba(20,30,45,.13);
}
.pnav{ position:sticky; top:0; z-index:200; background:var(--sn-nav); backdrop-filter:saturate(140%) blur(14px); border-bottom:1px solid transparent; transition:border-color .25s, box-shadow .25s; font-family:var(--sn-sans); }
.pnav.scrolled{ border-bottom-color:var(--sn-line2); box-shadow:0 6px 26px -20px var(--sn-shadow); }
.pnav-in{ width:100%; max-width:1180px; margin:0 auto; padding:0 26px; display:flex; align-items:center; gap:30px; height:66px; }
.pnav .pbrand{ display:flex; align-items:center; gap:11px; text-decoration:none; }
.pnav .pmark{ width:32px; height:32px; flex:none; }
.pnav .pword{ display:flex; flex-direction:column; line-height:1; }
.pnav .pword b{ font-size:16.5px; font-weight:750; letter-spacing:-.02em; color:var(--sn-ink); }
.pnav .pword span{ font-size:9.5px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--sn-mute); margin-top:3px; }
.pnav .plinks{ display:none; gap:28px; margin-left:6px; font-size:14.5px; font-weight:500; }
.pnav .plinks a{ position:relative; color:var(--sn-dim); text-decoration:none; padding:6px 0; transition:color .2s; }
.pnav .plinks a.active{ color:var(--sn-ink); } .pnav .plinks a.active::after{ content:""; position:absolute; left:0; right:0; bottom:-1px; height:2px; background:var(--sn-brand-txt); border-radius:2px; }
.pnav .plinks a:hover{ color:var(--sn-ink); }
.pnav .pright{ margin-left:auto; display:flex; align-items:center; gap:15px; }
.pnav .pdiv{ width:1px; height:22px; background:var(--sn-line2); }
.pnav .psignin{ font-size:14.5px; font-weight:600; color:var(--sn-soft); text-decoration:none; } .pnav .psignin:hover{ color:var(--sn-ink); }
.pnav .picon{ width:36px; height:36px; display:grid; place-items:center; border:1px solid var(--sn-line2); border-radius:9px; background:transparent; color:var(--sn-dim); cursor:pointer; }
.pnav .picon:hover{ color:var(--sn-ink); background:var(--sn-surf2); } .pnav .picon svg{ width:17px; height:17px; }
.pnav .sn-sun{ display:block; } .pnav .sn-moon{ display:none; }
[data-theme="light"] .pnav .sn-sun{ display:none; } [data-theme="light"] .pnav .sn-moon{ display:block; }
.pnav .pbtn{ display:inline-flex; align-items:center; padding:10px 18px; font-size:14.5px; font-weight:700; border-radius:10px; background:var(--sn-brand); color:var(--sn-brand-ink); text-decoration:none; transition:background .2s, transform .16s; }
.pnav .pbtn:hover{ background:var(--sn-brand-strong); transform:translateY(-1px); }
@media (min-width:900px){ .pnav .plinks{ display:flex; } }
