/* NexusSec vLabs — legal pages.
   Self-contained: the landing page keeps its styles inline, so these pages
   carry their own rather than depending on it. Same tokens as the portal. */
:root{
  --canvas:#070c16; --panel:#101a2b; --cream:#e6ecf5; --steel:#7ea3f3;
  --t2:#a9b7c6; --t3:#93a2b5; --hair:rgba(147,172,209,.16); --hair2:rgba(147,172,209,.30);
  --mono:"DM Mono",ui-monospace,monospace; --sans:"Manrope",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
}
*{box-sizing:border-box}
html{background:var(--canvas);-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--sans);color:var(--cream);background:var(--canvas);
  font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}
a{color:var(--steel);text-decoration:none}
a:hover{color:#c9a227}
.l-skip{position:absolute;left:-9999px;top:0;z-index:60;background:#c9a227;color:#221a02;
  padding:12px 18px;font:600 13px var(--sans)}
.l-skip:focus{left:0}
.l-head{border-bottom:1px solid var(--hair);padding:18px clamp(16px,4vw,48px);
  display:flex;align-items:center;gap:20px;flex-wrap:wrap;position:sticky;top:0;
  background:rgba(7,12,22,.9);backdrop-filter:blur(12px);z-index:20}
.l-brand{display:inline-flex;align-items:baseline;gap:9px;font-weight:800;font-size:19px;
  letter-spacing:-.04em;color:var(--cream)}
.l-brand span{color:var(--steel)}
.l-brand b{font:9px var(--mono);letter-spacing:.12em;border:1px solid var(--hair2);
  border-radius:2px;padding:3px 6px;color:var(--t2);font-weight:400;align-self:center}
.l-head nav{margin-left:auto;display:flex;gap:18px;flex-wrap:wrap}
.l-head nav a{font:10px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--t2)}
.l-head nav a:hover,.l-head nav a[aria-current]{color:var(--cream)}

.l-wrap{max-width:1100px;margin:0 auto;padding:0 clamp(16px,4vw,48px) 80px;
  display:grid;grid-template-columns:220px 1fr;gap:56px}
@media(max-width:860px){.l-wrap{grid-template-columns:1fr;gap:28px}}

.l-masthead{grid-column:1/-1;padding:56px 0 34px;border-bottom:1px solid var(--hair);margin-bottom:14px}
.l-kicker{font:10px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--t3);margin:0 0 14px}
.l-masthead h1{font-size:clamp(34px,5vw,54px);font-weight:500;letter-spacing:-.03em;
  line-height:1.05;margin:0 0 14px}
.l-masthead h1 em{font-style:normal;color:var(--steel)}
.l-masthead p{color:var(--t2);margin:0;max-width:62ch}

.l-side{position:sticky;top:96px;align-self:start}
@media(max-width:860px){.l-side{position:static}}
.l-side span{display:block;font:9px var(--mono);letter-spacing:.12em;text-transform:uppercase;
  color:var(--t3);margin-bottom:14px}
.l-side a{display:block;padding:9px 0;font-size:14px;color:var(--t2);border-bottom:1px solid var(--hair)}
.l-side a:hover{color:var(--cream)}
.l-side a.active{color:var(--steel);font-weight:600}

.l-body h2{font-size:19px;font-weight:600;letter-spacing:-.02em;margin:38px 0 12px;color:var(--cream)}
.l-body h2:first-child{margin-top:0}
.l-body p,.l-body li{color:var(--t2);font-size:15px;line-height:1.75}
.l-body ul{padding-left:20px;margin:12px 0}
.l-body li{margin-bottom:8px}
.l-body strong{color:var(--cream);font-weight:600}
.l-body code{font:13px var(--mono);background:rgba(126,163,243,.12);padding:2px 7px;
  border-radius:3px;color:var(--cream)}
.l-updated{font:10px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--t3);
  border-top:1px solid var(--hair);padding-top:18px;margin-top:44px}

.l-foot{border-top:1px solid var(--hair);padding:26px clamp(16px,4vw,48px);
  display:flex;gap:16px;flex-wrap:wrap;justify-content:space-between;
  font-size:12.5px;color:var(--t3)}
.l-foot p{margin:0}
@media (prefers-contrast:more){body{background:#04070d}}
