/* ==========================================================================
   Nexavorix Intel — design system
   Reference points are survey sheets and case dossiers, not software marketing:
   paper ground, editorial serif, hairline rules, one signal colour used sparingly,
   square corners. No gradients, no drop shadows, no card-lift hovers.
   ========================================================================== */

:root{
  --paper:#f4f1ea;
  --paper2:#eae5da;
  --paper3:#e0d9cb;
  --ink:#15171b;
  --ink2:#454b55;
  --ink3:#7c8391;
  --rule:#d2cbbd;
  --rule2:#b7af9e;
  --signal:#b23a20;          /* survey marker — used sparingly, never decoratively */
  --marine:#1d4a58;

  --serif:"Newsreader",Georgia,"Times New Roman",serif;
  --sans:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,"Cascadia Mono",Consolas,monospace;

  --maxw:1180px;
  --gut:clamp(20px,5vw,60px);
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:var(--sans);font-size:16.5px;line-height:1.65;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
img,svg{max-width:100%}
.shell{max-width:var(--maxw);margin:0 auto;padding:0 var(--gut)}

/* ---------- shared type ---------- */
.eyebrow{
  font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--ink3);margin:0 0 18px;font-weight:500;
}
.eyebrow .n{color:var(--signal)}
h1,h2,h3{margin:0;font-weight:500;letter-spacing:-.015em}
h1{font-family:var(--serif);font-size:clamp(40px,6.6vw,78px);line-height:1.0;text-wrap:balance}
h1 em{font-style:italic;color:var(--ink2)}
h2{font-family:var(--serif);font-size:clamp(27px,3.9vw,42px);line-height:1.12;text-wrap:balance;max-width:22ch}
h3{font-family:var(--serif);font-size:21px;line-height:1.25}
p{margin:0 0 1em}
.lede{font-size:clamp(17px,1.85vw,20px);line-height:1.55;color:var(--ink2);max-width:62ch;margin:22px 0 0}
.body-copy{color:var(--ink2);max-width:66ch}
.body-copy a{color:var(--ink)}
a{color:var(--marine);text-decoration:underline;text-underline-offset:3px;
  text-decoration-thickness:1px;text-decoration-color:var(--rule2)}
a:hover{color:var(--signal);text-decoration-color:currentColor}

/* ---------- top bar ---------- */
.top{position:sticky;top:0;z-index:60;background:rgba(244,241,234,.93);
  backdrop-filter:saturate(1.4) blur(8px);border-bottom:1px solid var(--rule)}
.topin{max-width:var(--maxw);margin:0 auto;padding:0 var(--gut);
  display:flex;align-items:center;gap:26px;min-height:62px}
.wordmark{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink);flex:0 0 auto}
.wordmark:hover{color:var(--ink)}
.wordmark .mk{width:19px;height:19px;flex:0 0 auto;color:var(--signal)}
.wordmark .wm{font-family:var(--mono);font-size:13px;letter-spacing:.19em;font-weight:600;text-transform:uppercase}
.wordmark .sub{font-family:var(--mono);font-size:13px;letter-spacing:.19em;color:var(--ink3);text-transform:uppercase}
.nav{margin-left:auto;display:flex;align-items:center;gap:clamp(14px,2.4vw,30px)}
.nav a{font-family:var(--mono);font-size:11.5px;letter-spacing:.13em;text-transform:uppercase;
  color:var(--ink2);text-decoration:none;padding:21px 0;border-bottom:2px solid transparent;white-space:nowrap}
.nav a:hover{color:var(--ink)}
.nav a[aria-current="page"]{color:var(--ink);border-bottom-color:var(--signal)}
.nav .navcta{border:1px solid var(--ink);color:var(--ink);padding:8px 15px;border-bottom-width:1px}
.nav .navcta:hover{background:var(--ink);color:var(--paper)}
.nav .navcta[aria-current="page"]{background:var(--ink);color:var(--paper);border-bottom-color:var(--ink)}
@media(max-width:820px){
  .nav a:not(.navcta){display:none}
  .topin{min-height:56px}
}

/* ---------- sheet grid: metadata rail + content ---------- */
section{border-top:1px solid var(--rule);padding:clamp(46px,6.6vw,88px) 0}
section.plain{border-top:0}
.sheet{display:grid;grid-template-columns:minmax(0,150px) minmax(0,1fr);gap:0 clamp(22px,4.6vw,64px)}
.rail{font-family:var(--mono);font-size:11px;letter-spacing:.17em;text-transform:uppercase;
  color:var(--ink3);line-height:1.6}
.rail .num{color:var(--signal);display:block;margin-bottom:4px}
@media(max-width:860px){
  .sheet{grid-template-columns:1fr;gap:0}
  .rail{margin-bottom:20px}
}

/* ---------- active-case alert bar ---------- */
.alertbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  background:var(--signal);color:#fff;text-decoration:none;
  padding:12px clamp(18px,4vw,60px);border-bottom:1px solid rgba(0,0,0,.2)}
.alertbar:hover{background:#9c3019;color:#fff}
.alertbar .ab-tag{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;
  font-weight:700;border:1px solid rgba(255,255,255,.6);padding:3px 9px;border-radius:2px;flex:0 0 auto}
.alertbar .ab-txt{font-size:14.5px;line-height:1.4;flex:1 1 340px}
.alertbar .ab-txt b{font-weight:700}
.alertbar .ab-go{font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;
  font-weight:700;white-space:nowrap;border-bottom:1px solid rgba(255,255,255,.7)}
@media(max-width:620px){.alertbar .ab-go{display:none}}

/* ---------- hero ---------- */
.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--rule)}
.hero .shell{position:relative;z-index:2;
  padding-top:clamp(56px,8vw,104px);padding-bottom:clamp(52px,7.5vw,98px)}
.hero .lede{max-width:56ch}
.contours{position:absolute;top:50%;right:-14%;transform:translateY(-50%);
  width:min(760px,72vw);height:auto;z-index:1;color:var(--rule2);pointer-events:none}
@media(max-width:900px){.contours{opacity:.5;right:-32%}}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:36px}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:9px;font-family:var(--sans);
  font-size:15px;font-weight:600;line-height:1;padding:14px 22px;border-radius:2px;
  border:1px solid var(--ink);background:var(--ink);color:var(--paper);
  text-decoration:none;cursor:pointer;transition:background .15s,color .15s}
.btn:hover{background:var(--signal);border-color:var(--signal);color:#fff}
.btn.line{background:transparent;color:var(--ink)}
.btn.line:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.btn .ar{font-family:var(--mono);font-size:14px}
.textlink{font-family:var(--mono);font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--ink);text-decoration:none;border-bottom:1px solid var(--rule2);padding-bottom:3px}
.textlink:hover{color:var(--signal);border-color:var(--signal)}

/* ---------- indexed rows (replaces the card grid) ---------- */
.rows{margin-top:34px;border-top:1px solid var(--rule)}
.row{display:grid;grid-template-columns:46px minmax(0,278px) minmax(0,1fr);
  gap:0 clamp(18px,3vw,38px);padding:24px 0;border-bottom:1px solid var(--rule);align-items:start}
.row .idx{font-family:var(--mono);font-size:11.5px;color:var(--ink3);padding-top:7px;letter-spacing:.08em}
.row h3{margin:0}
.row p{margin:2px 0 0;color:var(--ink2);font-size:15.5px;line-height:1.6}
.row.link{cursor:pointer;transition:background .15s}
.row.link:hover{background:var(--paper2)}
.row.link:hover .idx{color:var(--signal)}
a.rowlink{display:block;text-decoration:none;color:inherit}
a.rowlink:hover{color:inherit}
@media(max-width:760px){
  .row{grid-template-columns:34px minmax(0,1fr);gap:0 14px;padding:20px 0}
  .row h3{grid-column:2}
  .row p{grid-column:2}
}

/* ---------- numbered steps ---------- */
.steps{margin-top:34px;border-top:1px solid var(--rule)}
.stepitem{display:grid;grid-template-columns:minmax(0,150px) minmax(0,1fr);
  gap:0 clamp(22px,4.6vw,64px);padding:28px 0;border-bottom:1px solid var(--rule)}
.stepitem .sn{font-family:var(--mono);font-size:11px;letter-spacing:.17em;text-transform:uppercase;color:var(--ink3)}
.stepitem .sn b{display:block;font-family:var(--serif);font-size:34px;font-weight:400;
  letter-spacing:0;color:var(--signal);line-height:1;margin-bottom:6px}
.stepitem h3{margin:0 0 8px}
.stepitem p{margin:0;color:var(--ink2);max-width:60ch}
@media(max-width:860px){.stepitem{grid-template-columns:1fr}.stepitem .sn{margin-bottom:12px}
  .stepitem .sn b{display:inline-block;margin:0 10px 0 0;font-size:26px;vertical-align:-2px}}

/* ---------- pull quote ---------- */
.pull{font-family:var(--serif);font-style:italic;font-size:clamp(23px,3.3vw,36px);
  line-height:1.28;color:var(--ink);max-width:26ch;margin:0}
.pull-attr{font-family:var(--mono);font-size:11px;letter-spacing:.17em;text-transform:uppercase;
  color:var(--ink3);margin-top:22px}

/* ---------- standards: permitted / never ---------- */
.ledger{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:34px;border:1px solid var(--rule)}
@media(max-width:780px){.ledger{grid-template-columns:1fr}}
.lcol{padding:26px clamp(20px,2.6vw,30px)}
.lcol+.lcol{border-left:1px solid var(--rule)}
@media(max-width:780px){.lcol+.lcol{border-left:0;border-top:1px solid var(--rule)}}
.lcol h3{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;
  font-weight:600;margin:0 0 18px;padding-bottom:12px;border-bottom:1px solid var(--rule)}
.lcol.yes h3{color:var(--marine)}
.lcol.no h3{color:var(--signal)}
.lcol ul{margin:0;padding:0;list-style:none}
.lcol li{position:relative;padding-left:26px;margin-bottom:15px;color:var(--ink2);font-size:15.5px;line-height:1.55}
.lcol li:last-child{margin-bottom:0}
.lcol li::before{position:absolute;left:0;top:0;font-family:var(--mono);font-size:13px;font-weight:700}
.lcol.yes li::before{content:"+";color:var(--marine)}
.lcol.no li::before{content:"×";color:var(--signal)}

/* ---------- source table ---------- */
.srct{width:100%;border-collapse:collapse;margin-top:28px;font-size:14.5px}
.srct th{text-align:left;font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--ink3);font-weight:600;padding:0 16px 10px 0;
  border-bottom:1px solid var(--rule2)}
.srct td{padding:13px 16px 13px 0;border-bottom:1px solid var(--rule);vertical-align:top;color:var(--ink2)}
.srct td:first-child{color:var(--ink);font-weight:600}
.srct .yr{font-family:var(--mono);font-size:12.5px;color:var(--ink3);white-space:nowrap}
@media(max-width:660px){
  .srct thead{display:none}
  .srct,.srct tbody,.srct td{display:block;width:100%}
  .srct tr{display:block;border-bottom:1px solid var(--rule);padding:14px 0}
  .srct td{padding:1px 0;border:0}
  .srct td:first-child{margin-bottom:4px}
}

/* ---------- tool entry ---------- */
.tool{border-top:1px solid var(--rule);padding:24px 0}
.tool:first-of-type{border-top:0;padding-top:6px}
.tool h3{margin:0 0 10px}
.tool p{margin:0 0 12px;color:var(--ink2);font-size:15.5px;max-width:64ch}
.tool .qa{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin-top:12px;
  font-size:14px;max-width:64ch}
.tool .qa dt{font-family:var(--mono);font-size:10px;letter-spacing:.13em;text-transform:uppercase;
  color:var(--ink3);padding-top:4px;white-space:nowrap}
.tool .qa dd{margin:0;color:var(--ink2)}
.tool .qa dd.no{color:var(--ink3)}
@media(max-width:620px){.tool .qa{grid-template-columns:1fr;gap:2px}
  .tool .qa dd{margin-bottom:10px}}

/* ---------- callout ---------- */
.callout{border:1px solid var(--signal);border-left-width:3px;background:rgba(178,58,32,.045);
  padding:20px 22px;margin:30px 0 0;max-width:72ch}
.callout p{margin:0;font-size:15.5px;line-height:1.55;color:var(--ink)}
.callout p+p{margin-top:10px}
.callout .ct{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--signal);font-weight:600;display:block;margin-bottom:8px}

/* ---------- forms ---------- */
.form{margin-top:32px;max-width:760px}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}
@media(max-width:620px){.fgrid{grid-template-columns:1fr}}
.fld{display:block;margin-bottom:20px}
.fld .lab{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ink2);display:flex;gap:8px;align-items:baseline}
.fld .req{color:var(--signal)}
.fld .opt{color:var(--ink3)}
.fld input,.fld textarea{width:100%;margin-top:7px;padding:11px 13px;border:1px solid var(--rule2);
  border-radius:2px;background:#fbfaf6;color:var(--ink);font-family:var(--sans);font-size:15.5px;line-height:1.5}
.fld input:focus,.fld textarea:focus{outline:2px solid var(--marine);outline-offset:-1px;border-color:var(--marine)}
.fld textarea{resize:vertical;min-height:150px}
.chk{display:flex;gap:11px;align-items:flex-start;font-size:15px;color:var(--ink2);
  margin:2px 0 24px;cursor:pointer;line-height:1.5;max-width:64ch}
.chk input{margin-top:4px;width:16px;height:16px;accent-color:var(--marine);flex:0 0 auto}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.factions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.fstatus{font-size:14.5px;font-weight:600}
.fstatus.ok{color:var(--marine)}
.fstatus.err{color:var(--signal)}
.btn[disabled]{opacity:.55;cursor:default}
.fnote{font-size:13px;color:var(--ink3);margin-top:22px;line-height:1.6;max-width:66ch}
.fnote a{color:var(--ink2)}
.received{border:1px solid var(--marine);border-left-width:3px;background:rgba(29,74,88,.05);padding:26px 24px}
.received h3{color:var(--marine);margin:0 0 8px}
.received p{margin:0;color:var(--ink2);max-width:58ch}

/* ---------- CTA band ---------- */
.cta{background:var(--paper3);border-top:1px solid var(--rule)}
.cta .shell{padding:clamp(44px,6vw,74px) var(--gut);
  display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap}
.cta h2{max-width:18ch}
.cta p{margin:12px 0 0;color:var(--ink2);max-width:46ch}

/* ---------- footer ---------- */
footer{border-top:1px solid var(--rule);background:var(--paper);padding:44px 0 34px}
.fgrid2{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);
  gap:34px clamp(22px,4vw,60px)}
@media(max-width:760px){.fgrid2{grid-template-columns:1fr 1fr}.fbrand{grid-column:1/-1}}
.fbrand .wordmark{margin-bottom:14px}
.fbrand p{font-size:13.5px;color:var(--ink3);max-width:46ch;line-height:1.6;margin:0}
.fcol h4{font-family:var(--mono);font-size:10.5px;letter-spacing:.19em;text-transform:uppercase;
  color:var(--ink3);margin:0 0 14px;font-weight:600}
.fcol ul{list-style:none;margin:0;padding:0}
.fcol li{margin-bottom:9px}
.fcol a{font-size:14.5px;color:var(--ink2);text-decoration:none}
.fcol a:hover{color:var(--signal)}
.legal{margin-top:38px;padding-top:22px;border-top:1px solid var(--rule);
  font-size:12.5px;color:var(--ink3);line-height:1.6;max-width:88ch}

/* ---------- page header ---------- */
.phead{border-bottom:1px solid var(--rule);padding:clamp(44px,6vw,76px) 0 clamp(34px,4.6vw,54px)}
.phead .lede{margin-top:20px}

@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
