/* NovaCore Labs — shared styles for legal pages.
   Tokens copied verbatim from site/index.html so the two never drift apart. */
:root{
  --paper:#EEF1F3; --card:#FFF; --ink:#131B24; --ink-2:#4A5A68;
  --rule:#C6CFD6; --rule-soft:#DEE4E9;
  --teal:#076A6A; --amber:#9A6207; --flag:#A32B1C; --ok:#1F6B3A;
  --display:"IBM Plex Sans Condensed",system-ui,sans-serif;
  --body:"IBM Plex Sans",system-ui,-apple-system,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,monospace;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 15px/1.6 var(--body)}
a{color:var(--teal)}
.skip{position:absolute;left:-9999px}
.skip:focus{left:12px;top:12px;background:var(--card);padding:10px 14px;z-index:99;border:1px solid var(--ink)}

.topbar{border-bottom:1px solid var(--rule);background:var(--card);position:sticky;top:0;z-index:20}
.topbar-inner{max-width:1180px;margin:0 auto;padding:0 20px;display:flex;gap:24px;min-height:60px;align-items:stretch}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:inherit}
.brand-mark{width:26px;height:26px;border:1.5px solid var(--ink);border-radius:2px;display:grid;place-items:center;font:600 11px/1 var(--mono)}
.brand-name{font:700 18px/1 var(--display)}
.brand-sub{font:400 10px/1 var(--mono);color:var(--ink-2);letter-spacing:.09em;text-transform:uppercase;margin-top:3px}
nav{display:flex;margin-left:auto;align-items:center;gap:4px;flex-wrap:wrap}
nav a{font:500 13px/1 var(--body);color:var(--ink-2);text-decoration:none;padding:9px 12px;border-radius:2px}
nav a:hover{color:var(--ink);background:var(--paper)}
nav a[aria-current="page"]{color:var(--ink);background:var(--paper)}

main{max-width:860px;margin:0 auto;padding:34px 20px 90px}
.eyebrow{font:500 10px/1 var(--mono);letter-spacing:.13em;text-transform:uppercase;color:var(--ink-2)}
.mono{font-family:var(--mono);font-size:13px}
.muted{color:var(--ink-2)}

.doc-head{background:var(--card);border:1px solid var(--rule);padding:30px 32px}
.doc-head h1{font:700 clamp(26px,3.6vw,38px)/1.08 var(--display);margin:11px 0 0;letter-spacing:-.01em}
.doc-meta{margin-top:16px;padding-top:15px;border-top:1px solid var(--rule-soft);
  display:flex;gap:28px;flex-wrap:wrap;font:400 12px/1.5 var(--mono);color:var(--ink-2)}
.doc-meta b{display:block;font:500 9.5px/1 var(--mono);letter-spacing:.11em;
  text-transform:uppercase;margin-bottom:5px}

/* Section numbering encodes clause references buyers and underwriters cite. */
.toc{background:var(--card);border:1px solid var(--rule);border-top:0;padding:20px 32px 24px}
.toc h2{font:500 9.5px/1 var(--mono);letter-spacing:.11em;text-transform:uppercase;
  color:var(--ink-2);margin:0 0 13px}
.toc ol{margin:0;padding:0;list-style:none;columns:2;column-gap:34px}
.toc li{margin-bottom:7px;font-size:13.5px;break-inside:avoid}
.toc a{text-decoration:none}
.toc a:hover{text-decoration:underline}

.clause{background:var(--card);border:1px solid var(--rule);border-top:0;padding:26px 32px}
.clause:last-of-type{border-bottom:1px solid var(--rule)}
.clause h2{font:700 19px/1.25 var(--display);margin:0 0 13px;display:flex;gap:13px;align-items:baseline}
.clause h2 .n{font:500 11px/1 var(--mono);color:var(--teal);flex:0 0 auto;padding-top:3px}
.clause h3{font:600 14px/1.35 var(--body);margin:20px 0 7px}
.clause p{margin:0 0 12px;max-width:70ch}
.clause p:last-child{margin-bottom:0}
.clause ul{margin:0 0 12px;padding-left:20px;max-width:70ch}
.clause li{margin-bottom:7px}
.clause dl{margin:0 0 12px;max-width:70ch}
.clause dt{font:600 13.5px/1.4 var(--body);margin-top:11px}
.clause dd{margin:3px 0 0}

.callout{border-left:3px solid var(--flag);background:#FCF2F1;padding:14px 17px;
  font-size:13.5px;line-height:1.6;margin:0 0 14px;max-width:70ch}
.callout strong{color:var(--flag)}
.note{border-left:3px solid var(--teal);background:#F0F6F6;padding:14px 17px;
  font-size:13.5px;line-height:1.6;margin:0 0 14px;max-width:70ch}
.warn{border-left:3px solid var(--amber);background:#FBF7EE;padding:14px 17px;
  font-size:13.5px;line-height:1.6;margin:0 0 14px;max-width:70ch}

table{width:100%;border-collapse:collapse;font-size:13.5px;margin:0 0 14px}
th{text-align:left;font:500 9.5px/1 var(--mono);letter-spacing:.11em;text-transform:uppercase;
  color:var(--ink-2);padding:10px 12px;border-bottom:1px solid var(--rule);background:var(--paper)}
td{padding:10px 12px;border-bottom:1px solid var(--rule-soft);vertical-align:top}
tr:last-child td{border-bottom:0}

footer{border-top:1px solid var(--rule);padding:28px 20px 60px;background:var(--card)}
.foot-inner{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1.6fr 1fr 1fr;
  gap:34px;font-size:12.5px;color:var(--ink-2);line-height:1.65}
.foot-inner p{margin:0 0 11px}
.foot-inner strong{color:var(--ink)}
.foot-links{list-style:none;margin:0;padding:0}
.foot-links li{margin-bottom:6px}
.foot-title{font:500 9.5px/1 var(--mono);letter-spacing:.11em;text-transform:uppercase;
  color:var(--ink-2);margin-bottom:11px;display:block}

@media (max-width:820px){
  .toc ol{columns:1}
  .foot-inner{grid-template-columns:1fr;gap:24px}
  .doc-head,.clause,.toc{padding-left:20px;padding-right:20px}
}
@media print{
  .topbar,nav,.toc{display:none!important}
  body{background:#fff;font-size:11pt}
  .clause,.doc-head{border:0;padding:0 0 14px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
