/* ============================================================
   Virescent — Palantir-esque skin (scoped to body.sch)
   Austere, monochrome, engineering-drawing register.
   Re-themes the editorial/paper site without touching markup:
   redefine the design tokens under body.sch, then push toward
   the Palantir look: near-black surfaces, large tight SANS
   headlines, IBM Plex Mono labels, one restrained green accent
   (signatures only), sharp 0px corners, fine hairlines,
   auto-numbered sections, flat (no shadows). The triangle-sweep
   hero background is left intact (defined inline on the page).
   ============================================================ */

body.sch{
  /* token remap: warm editorial -> monochrome schematic */
  --paper:#08090A;          /* base, near-black */
  --paper-2:#101113;        /* panel (neutral, not green) */
  --ink:#F2F1EC;            /* primary text, near-white bone */
  --ink-2:rgba(242,241,236,.60);
  --ink-3:rgba(242,241,236,.38);
  --green-deep:#0D0E10;     /* neutralized: bands / mock = near-black */
  --green-deep-2:#141518;
  --green:#9FC6BB;          /* restrained accent (signatures only) */
  --green-bright:#CFEEDD;   /* sweep leading edge / rare highlight */
  --green-wash:#101113;     /* tinted -> neutral panel */
  --line:rgba(242,241,236,.13);
  --line-2:rgba(242,241,236,.07);
  --amber:#D8B777;
  --amber-wash:rgba(216,183,119,.10);
  --violet:#AEA2D8;
  --violet-wash:rgba(174,162,216,.10);
  --serif:"Inter", system-ui, -apple-system, sans-serif;
  --sans:"Inter", system-ui, -apple-system, sans-serif;
  --mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  background-color:var(--paper);
  color:var(--ink);
}

/* faint blueprint grid behind the page */
body.sch{
  background-image:
    linear-gradient(rgba(242,241,236,.030) 1px, transparent 1px),
    linear-gradient(90deg, rgba(242,241,236,.030) 1px, transparent 1px);
  background-size:48px 48px;
}

/* ---- typography: large, tight, sans ---- */
body.sch h1, body.sch h2, body.sch h3, body.sch h4{
  font-family:var(--sans);
  font-weight:600;
  letter-spacing:-.022em;
  color:var(--ink);
}
body.sch .hero-cine h1{ font-weight:600; letter-spacing:-.025em; }
body.sch .lead{ color:var(--ink-2); }
body.sch p{ color:var(--ink-2); }
body.sch strong{ color:var(--ink); }

/* full-bleed hairline between major sections */
body.sch section{ border-top:1px solid var(--line-2); }
body.sch .hero-cine.on-dark{ border-top:0; }

/* ---- monospace labels (the engineering-drawing tell) ---- */
body.sch .eyebrow,
body.sch .cred-in .lbl,
body.sch .badge,
body.sch .knum,
body.sch .no,
body.sch .sysnote,
body.sch .qdpd,
body.sch .qtag,
body.sch .sb-tag,
body.sch .sb-caption,
body.sch .sb-live,
body.sch .when,
body.sch .meta,
body.sch .sub,
body.sch .sw-status,
body.sch .sw-timer,
body.sch .sw-verdict,
body.sch .pl-chip,
body.sch .vs-num,
body.sch .vs-sub,
body.sch .hero-fine,
body.sch .nav a,
body.sch .login,
body.sch .foot-col h4{
  font-family:var(--mono);
  letter-spacing:.04em;
}
body.sch .eyebrow{
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:11px;
  color:var(--ink-3);
}
body.sch .nav a{ font-size:12px; text-transform:uppercase; letter-spacing:.08em; color:var(--ink-2); }
body.sch .nav a:hover, body.sch .nav a.active{ color:var(--ink); }
body.sch .foot-col h4{ text-transform:uppercase; letter-spacing:.14em; font-size:11px; color:var(--ink-3); }

/* ---- auto-numbered sections (Palantir-style index) ---- */
body.sch{ counter-reset:secn; }
body.sch .sec-head{ counter-increment:secn; }
body.sch .sec-head .eyebrow::before{
  content:counter(secn, decimal-leading-zero);
  width:auto; height:auto; background:none;
  margin-right:12px; color:var(--green);
  font-family:var(--mono); font-size:11px; letter-spacing:.1em;
}

/* ---- sharp corners + flat ---- */
body.sch .tile, body.sch .cred, body.sch .band, body.sch .btn, body.sch .badge,
body.sch .mockshell, body.sch .qrow, body.sch .pane, body.sch .pane-h,
body.sch .sb-panel, body.sch .vs-pane, body.sch .sw-screen, body.sch .sw-tab,
body.sch .sw-tabs, body.sch .pl-node, body.sch .mockbar, body.sch .qtag,
body.sch .badge-live, body.sch .badge-build, body.sch .badge-road,
body.sch .sb-bar.standalone, body.sch .lay, body.sch .gt-node,
body.sch .approve, body.sch .sw-note, body.sch .guard{
  border-radius:0 !important;
}
body.sch .tile, body.sch .mockshell, body.sch .pane, body.sch .lay,
body.sch .gt-node, body.sch .vs-pane, body.sch .sw-screen, body.sch .qrow,
body.sch .cred, body.sch .pl-node{ box-shadow:none !important; }

/* ---- cards / panels: hairline on near-black ---- */
body.sch .tile{ background:var(--paper-2); border:1px solid var(--line); }
body.sch .tile.tinted{ background:var(--paper-2); border-color:var(--line); }
body.sch .cred{ background:var(--paper-2); border-color:var(--line); }

/* ---- buttons: monochrome, squared, mono ---- */
body.sch .btn{
  font-family:var(--mono); text-transform:uppercase; letter-spacing:.08em;
  font-size:11.5px; font-weight:500;
}
body.sch .btn-primary{ background:var(--ink); color:#08090A; border:1px solid var(--ink); }
body.sch .btn-primary:hover{ background:#fff; border-color:#fff; }
body.sch .btn-light{ background:var(--ink); color:#08090A; }
body.sch .btn-outline,
body.sch .hero-ghost{ border:1px solid var(--line); color:var(--ink); background:transparent; }
body.sch .btn-outline:hover,
body.sch .hero-ghost:hover{ border-color:var(--ink); color:var(--ink); background:transparent; }

/* ---- header ---- */
body.sch .site-head{ background:rgba(8,9,10,.86); border-bottom:1px solid var(--line); backdrop-filter:blur(12px); }
body.sch .mobile-menu{ background:#08090A; border-top:1px solid var(--line); }
body.sch .nav-toggle span{ background:var(--ink); }
body.sch .brand .word{ color:var(--ink); }

/* ---- band (neutral deep panel) ---- */
body.sch .band{ background:var(--green-deep); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }

/* ---- storyboard mock: wireframe hairlines ---- */
body.sch .mockshell{ background:#0B0C0E; border:1px solid var(--line); }
body.sch .mockbar{ background:#0B0C0E; border-bottom:1px solid var(--line); }
body.sch .mockbar i{ background:rgba(242,241,236,.30); }
body.sch .pane{ background:#0B0C0E; border-color:var(--line); }
body.sch .pane-h{ background:#101113; border-bottom-color:var(--line); }
body.sch .guard{ background:rgba(242,241,236,.04); border-bottom-color:var(--line); }
body.sch .qrow{ background:var(--paper-2); border:1px solid var(--line); }
body.sch .qrow.sel{ border-color:var(--green); }
body.sch .qtag{ background:rgba(242,241,236,.05); color:var(--ink-2); border:1px solid var(--line); }
body.sch .qtag.cad{ color:var(--green); }
body.sch .approve{ background:rgba(242,241,236,.04); border-color:var(--line); }
body.sch .approve p{ color:var(--ink-2); }
body.sch .approve.sb-done{ background:rgba(159,198,187,.10); border-color:rgba(159,198,187,.35); }
body.sch .approve .ok{ background:var(--ink); color:#08090A; }

/* ---- comparison / swivel widget ---- */
body.sch .sw-screen, body.sch .sb-panel, body.sch .vs-pane{ background:#0B0C0E; border:1px solid var(--line); }
body.sch .sw-tabs{ background:#0B0C0E; border-bottom-color:var(--line); }
body.sch .sw-tab{ background:var(--paper-2); color:var(--ink-3); border:1px solid var(--line); }
body.sch .sw-tab.sb-on,
body.sch .sw-tab[aria-selected="true"],
body.sch .sw-tab.active{ background:var(--ink); color:#08090A; border-color:var(--ink); }
body.sch .sw-note{ background:#101113; border-color:var(--line); color:var(--ink-2); }

/* ---- four-layer platform nodes (base #FFFFFF -> dark) ---- */
body.sch .lay{ background:var(--paper-2); border-color:var(--line); }
body.sch .lay.sb-on{ background:var(--paper-2); border-color:var(--ink); }
body.sch .lay.sb-warm{ background:var(--paper-2); border-color:var(--amber); }
body.sch .lay .ln{ color:var(--ink); }

/* ---- pipeline / decision-tree nodes ---- */
body.sch .pl-node{ background:var(--paper-2); border:1px solid var(--line); }
body.sch .pl-chip{ color:var(--ink-2); }
body.sch .gt-node{ background:var(--paper-2); border-color:var(--line); }
body.sch .gt-node.sb-on{ background:var(--paper-2); border-color:var(--ink); }
body.sch .gt-node.sb-warm{ background:var(--paper-2); border-color:var(--amber); }

/* ---- links: monochrome, underlined ---- */
body.sch .tlink, body.sch .exportrow a, body.sch .xsell .go{
  color:var(--ink); border-bottom:1px solid var(--line);
}
body.sch .tlink:hover, body.sch .exportrow a:hover, body.sch .xsell .go:hover{ border-bottom-color:var(--ink); }
body.sch .btn-light:hover{ background:#fff; }

/* ---- footer ---- */
body.sch .site-foot, body.sch footer{ background:#08090A; border-top:1px solid var(--line); }
body.sch .foot-bottom{ border-top:1px solid var(--line-2); }

/* ---- badges: monochrome, one green for "live" ---- */
body.sch .badge-live{ background:transparent; color:var(--green); border:1px solid var(--green); }
body.sch .badge-build{ background:transparent; color:var(--amber); border:1px solid rgba(216,183,119,.5); }
body.sch .badge-road{ background:transparent; color:var(--ink-3); border:1px solid var(--line); }

/* selection */
body.sch ::selection{ background:rgba(242,241,236,.22); color:var(--ink); }

/* ---- remaining hard-coded surfaces (cover every page via shared style.css) ---- */
body.sch .lane-h{ background:#101113; border-bottom-color:var(--line); color:var(--ink-3); }
body.sch .controlbar{ background:rgba(242,241,236,.04); border-color:var(--line); }
body.sch .controlbar small{ color:var(--ink-2); }
body.sch .sw-verdict{ background:rgba(8,9,10,.92); }
body.sch .sw-verdict b{ color:var(--ink); }
body.sch .sb-bar.dark{ background:rgba(242,241,236,.04); border-top-color:var(--line); }
body.sch .sb-bar.dark .sb-dots i{ background:rgba(242,241,236,.25); }
body.sch .sb-bar.dark .sb-dots i.on{ background:var(--green); }

/* ---- customer + integration logos: muted monochrome silhouettes (any source color -> white) ---- */
body.sch img[src*="/logos/"]{ filter:brightness(0) invert(1); opacity:.55; transition:opacity .2s ease; }
body.sch img[src*="/logos/"]:hover{ opacity:.9; }

/* ---- ONLY the Virescent wordmark is serif; everything else is sans/mono ---- */
body.sch .brand, body.sch .brand .word, body.sch .brand .mark{
  font-family:"Cormorant Garamond", Georgia, "Times New Roman", serif !important;
}

/* ---- kill stray white pills / bars (hard-coded #fff on light theme) ---- */
body.sch .guard span{ background:rgba(242,241,236,.05); border:1px solid var(--line); color:var(--ink-2); border-radius:2px; }
body.sch .guard span::before{ color:var(--green); }
body.sch .sb-bar{ background:#0B0C0E; border-top-color:var(--line); }
body.sch .sb-bar.standalone{ border-color:var(--line); }

/* ---- FINAL pass: remaining hard-coded light surfaces (cmp table, truth column, panel headers, dots) ---- */
body.sch .exportrow{ background:#0B0C0E; border-top-color:var(--line); }
body.sch .cmp thead th, body.sch .cmp tbody th{ background:#101113; color:var(--ink); }
body.sch .cmp td.win{ background:rgba(159,198,187,.08); }
body.sch .truth-col.lit{ background:var(--paper-2); border-color:var(--green); color:var(--ink); }
body.sch .truth-col h3{ color:var(--ink); }
body.sch .fp-h{ background:#101113; border-bottom-color:var(--line); }
body.sch .sw-status{ background:#0B0C0E; border-top-color:var(--line); }
body.sch .pl-node .nd{ background:var(--paper-2); border-color:var(--line); }
body.sch .qrow.sel{ background:var(--paper-2); }
