/* ==========================================================================
   Zybki — AI for Quality and Laboratories
   Design system: light "lab notebook / instrument panel" aesthetic.
   Paper background, ink navy, brass accents, IBM Plex type.
   ========================================================================== */

:root{
  --paper:#F2F1EC;
  --paper-raised:#EAE8E0;
  --ink:#12233D;
  --ink-soft:#3E4E63;
  --brass:#B8863A;
  --brass-dim:#DCC397;
  --slate:#3F5C63;
  --verify:#2F4A33;
  --line:#CFCCC0;
  --alert:#9A3B35;
  --alert-dark:#E58A7E;
  --max:1120px;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth; scroll-padding-top:84px; -webkit-text-size-adjust:100%;}
body{
  background:var(--paper);
  color:var(--ink);
  font-family:'IBM Plex Sans', system-ui, sans-serif;
  font-size:17px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *{animation-duration:0.001ms !important; transition-duration:0.001ms !important;}
}
a{color:inherit;}
.wrap{max-width:var(--max); margin:0 auto; padding:0 32px;}
h1,h2,h3,h4{font-family:'Source Serif 4', Georgia, serif; font-weight:600; color:var(--ink); letter-spacing:-0.01em;}
p{max-width:64ch;}
:focus-visible{outline:2px solid var(--ink); outline-offset:3px;}
.skip{position:absolute; left:-999px; top:0; background:var(--ink); color:var(--paper); padding:10px 16px; z-index:100;}
.skip:focus{left:8px; top:8px;}
.mono{font-family:'IBM Plex Mono', monospace;}
.small{font-size:14px;}
.muted{color:var(--ink-soft);}

/* ---------- Nav ---------- */
header{
  position:sticky; top:0; z-index:40;
  background:rgba(242,241,236,0.94);
  backdrop-filter:blur(6px);
  border-bottom:1px solid var(--line);
}
nav.wrap{display:flex; align-items:center; justify-content:space-between; height:76px;}
.logo{font-family:'Source Serif 4', serif; font-size:22px; font-weight:600; letter-spacing:0.01em; text-decoration:none;}
.logo span{color:var(--brass);}
.nav-links{display:flex; gap:32px; font-size:15px; color:var(--ink-soft);}
.nav-links a{text-decoration:none; border-bottom:1px solid transparent; padding-bottom:2px; transition:border-color .15s;}
.nav-links a:hover{border-color:var(--brass);}
.nav-cta{
  background:var(--ink); color:var(--paper); font-size:14.5px;
  padding:11px 22px; border-radius:2px; text-decoration:none; border:1px solid var(--ink);
}
.nav-cta:hover{background:transparent; color:var(--ink);}

/* ---------- Buttons ---------- */
.btn-primary{
  display:inline-block; background:var(--brass); color:var(--ink); font-weight:600; font-size:15.5px; font-family:inherit; line-height:1.2;
  padding:15px 28px; border-radius:2px; text-decoration:none; border:1px solid var(--brass); cursor:pointer;
  transition:background .15s, color .15s;
}
.btn-primary:hover{background:transparent; color:var(--ink); border-color:var(--ink);}
.btn-secondary{
  display:inline-block; background:transparent; color:var(--ink); font-weight:500; font-size:15.5px; font-family:inherit; line-height:1.2;
  padding:15px 28px; border-radius:2px; text-decoration:none; border:1px solid var(--ink); cursor:pointer;
  transition:background .15s, color .15s;
}
.btn-secondary:hover{background:var(--ink); color:var(--paper);}
.btn-sm{padding:11px 18px; font-size:14.5px;}
button[disabled]{opacity:.55; cursor:not-allowed;}
.cta-row{display:flex; align-items:center; gap:18px; flex-wrap:wrap;}
.cta-note{font-size:14px; color:var(--ink-soft);}

/* ---------- Hero ---------- */
.hero{padding:80px 0 88px;}
.hero-grid{display:grid; grid-template-columns:1fr 1.05fr; gap:56px; align-items:center;}
.kicker{font-family:'IBM Plex Mono', monospace; font-size:13px; color:var(--slate); margin-bottom:18px;}
.hero h1{font-size:clamp(36px,5vw,52px); line-height:1.08; max-width:17ch; margin-bottom:22px;}
.hero p.lede{font-size:19px; color:var(--ink-soft); max-width:46ch; margin-bottom:30px;}
.hero .cta-row{margin-bottom:26px;}
.proof{font-size:14.5px; color:var(--ink-soft); border-left:2px solid var(--brass); padding-left:14px; max-width:48ch;}

/* ---------- Instrument panel ---------- */
.panel{background:var(--ink); border-radius:3px; padding:30px 28px 24px; position:relative; overflow:hidden; color:#EDE9DD;}
.panel :focus-visible{outline-color:var(--brass-dim);}
.panel-label{
  font-family:'IBM Plex Mono', monospace; font-size:12px; color:var(--brass-dim);
  display:flex; justify-content:space-between; gap:12px; margin-bottom:18px;
  border-bottom:1px solid rgba(255,255,255,0.12); padding-bottom:14px;
}
.seg-row{display:flex; flex-wrap:wrap; gap:8px; margin-bottom:12px;}
.seg{
  font:500 12px/1.2 'IBM Plex Mono', monospace; padding:9px 12px; border:1px solid rgba(255,255,255,.35);
  background:transparent; color:#EDE9DD; cursor:pointer; border-radius:2px;
}
.seg:hover{border-color:var(--brass-dim);}
.seg[aria-pressed="true"]{background:var(--brass); border-color:var(--brass); color:var(--ink);}
.panel svg.cc{display:block; width:100%; height:auto;}
.cc-grid{stroke:rgba(255,255,255,.06); stroke-width:1;}
.cc-line{fill:none; stroke:#EDE9DD; stroke-width:1.2; opacity:.4;}
.cc-pt{fill:#8FB3BA; stroke:var(--ink); stroke-width:1.5;}
.cc-pt.out{fill:var(--alert-dark);}
.cc-limit{stroke:var(--brass-dim); stroke-width:1.2; stroke-dasharray:6 5;}
.cc-mean{stroke:#EDE9DD; stroke-width:1; opacity:.35;}
.cc-lbl{font:400 10.5px 'IBM Plex Mono', monospace; fill:#8FA2AE;}
.readout{
  border-top:1px solid rgba(255,255,255,0.12); padding-top:14px; margin-top:12px;
  font-size:14px; color:#DCE3E8; min-height:4.6em;
}

/* ---------- Section shell ---------- */
section{padding:92px 0;}
.section-head{max-width:680px; margin-bottom:48px;}
.section-head h2{font-size:clamp(28px,3.6vw,34px); line-height:1.15; margin-bottom:16px;}
.section-head p{color:var(--ink-soft); font-size:17px;}
.divider{border-top:1px solid var(--line);}
.raised{background:var(--paper-raised);}

/* ---------- Statement ---------- */
.statement{font-family:'Source Serif 4', serif; font-size:clamp(22px,2.8vw,28px); line-height:1.45; color:var(--ink); max-width:820px; margin-bottom:44px;}
.statement em{font-style:italic; color:var(--slate);}
.stall{display:grid; grid-template-columns:repeat(3,1fr); gap:32px;}
.stall div{border-top:1px solid var(--line); padding-top:16px;}
.stall h3{font-size:18px; margin-bottom:6px;}
.stall p{font-size:15.5px; color:var(--ink-soft);}

/* ---------- Scope table ---------- */
.scope{width:100%; border-collapse:collapse; border-top:2px solid var(--ink); font-size:15.5px;}
.scope caption{text-align:left; font-size:14px; color:var(--ink-soft); padding:0 0 14px; caption-side:top;}
.scope th,.scope td{text-align:left; vertical-align:top; padding:18px 18px 18px 0; border-bottom:1px solid var(--line);}
.scope thead th{font-family:'IBM Plex Mono', monospace; font-weight:400; font-size:12.5px; color:var(--slate); padding-bottom:10px;}
.scope tbody th{font-family:'Source Serif 4', serif; font-weight:600; font-size:18px; width:19%;}
.scope td{width:27%; color:var(--ink-soft);}
.scope td:last-child{width:27%;}

/* ---------- Framework ---------- */
.framework-row{display:grid; grid-template-columns:38px 1fr; gap:0; border-top:1px solid var(--line);}
.framework-row:last-child{border-bottom:1px solid var(--line);}
.framework-mark{display:flex; align-items:flex-start; padding-top:30px;}
.framework-mark span{width:10px; height:10px; border-radius:50%; background:var(--brass); margin-top:6px;}
.framework-row.ai .framework-mark span{background:transparent; border:2px solid var(--brass); width:12px; height:12px; margin-top:5px;}
.framework-body{display:grid; grid-template-columns:280px 1fr; gap:40px; padding:30px 0;}
.framework-body h3{font-size:22px; margin-bottom:2px;}
.framework-body .abbr{font-family:'IBM Plex Mono', monospace; font-size:12.5px; color:var(--slate); margin-bottom:12px; display:block;}
.framework-body p{color:var(--ink-soft); font-size:15.5px; max-width:58ch; margin-bottom:10px;}
.framework-body p.lab{color:var(--ink); font-size:15px; margin-bottom:0;}
.framework-body p.lab b{font-weight:600;}

/* ---------- Shared form bits (gates, footer) ---------- */
.locked{border:1px solid var(--line); background:var(--paper); padding:22px; margin-top:24px; border-radius:2px;}
.locked h4{font-size:19px; margin-bottom:4px;}
.skel{display:grid; gap:10px; margin:16px 0 18px;}
.skel span{display:block; height:10px; background:var(--line); border-radius:2px;}
.skel span:nth-child(1){width:78%}.skel span:nth-child(2){width:46%}.skel span:nth-child(3){width:62%}.skel span:nth-child(4){width:35%}.skel span:nth-child(5){width:55%}
.field{display:flex; flex-wrap:wrap; gap:10px; align-items:flex-start;}
.field input[type=email]{flex:1 1 240px; min-width:0; font:400 16px 'IBM Plex Sans', system-ui, sans-serif; padding:14px 14px; border:1px solid var(--ink); border-radius:2px; background:#fff; color:var(--ink);}
.field input[type=text]{flex:1 1 240px; min-width:0; font:400 16px 'IBM Plex Sans', system-ui, sans-serif; padding:14px 14px; border:1px solid var(--ink); border-radius:2px; background:#fff; color:var(--ink);}
.label{display:block; font-size:14px; font-weight:600; margin-bottom:6px;}
.check{display:flex; gap:10px; align-items:flex-start; font-size:14px; color:var(--ink-soft); margin:12px 0 4px;}
.check input{margin-top:4px; accent-color:var(--ink);}
.hp{position:absolute; left:-9999px; width:1px; height:1px; opacity:0;}
.fine{font-size:13.5px; color:var(--ink-soft); margin-top:14px;}
.error{color:var(--alert); font-weight:500; margin-top:12px; font-size:15px;}
.ok{color:var(--verify); font-weight:600;}
.res-actions{display:flex; flex-wrap:wrap; gap:12px; margin-top:26px;}

/* ---------- Services ---------- */
.svc{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2fr); gap:6px clamp(20px,4vw,48px); padding:26px 0; border-top:1px solid var(--line);}
.svc:last-of-type{border-bottom:1px solid var(--line);}
.svc h3{font-size:20px; margin:0;}
.svc .when{font-family:'IBM Plex Mono', monospace; font-size:12.5px; color:var(--slate); margin-top:6px;}
.svc p{color:var(--ink-soft); font-size:15.5px;}
.svc.entry h3::after{content:"Start here"; display:inline-block; margin-left:10px; font:500 11.5px 'IBM Plex Mono', monospace; color:var(--ink); background:var(--brass-dim); padding:2px 8px; border-radius:2px; vertical-align:middle;}

/* ---------- Steps ---------- */
.steps{list-style:none; display:grid; grid-template-columns:repeat(3,1fr); gap:32px; counter-reset:s;}
.steps li{border-top:2px solid var(--ink); padding-top:14px; counter-increment:s;}
.steps li::before{content:"Week " counter(s); display:block; font-family:'IBM Plex Mono', monospace; font-size:12.5px; color:var(--slate); margin-bottom:6px;}
.steps h3{font-size:20px; margin-bottom:6px;}
.steps p{font-size:15.5px; color:var(--ink-soft);}

/* ---------- Built on Nexus ---------- */
.vault{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line);}
.vault-item{background:var(--paper); padding:26px 22px; min-height:150px; display:flex; flex-direction:column; justify-content:space-between;}
.vault-tag{font-family:'IBM Plex Mono', monospace; font-size:11.5px; color:var(--slate);}
.vault-item h4{font-size:16.5px; font-weight:600; margin-top:14px; line-height:1.3;}
.vault-item a{text-decoration:none; border-bottom:1px solid var(--brass);}

/* ---------- Founder ---------- */
.founder{display:grid; grid-template-columns:200px 1fr; gap:48px; align-items:start;}
.founder-mark{width:100%; aspect-ratio:1; background:var(--paper-raised); border:1px solid var(--line); display:flex; align-items:center; justify-content:center; font-family:'Source Serif 4', serif; font-size:44px; color:var(--slate);}
.founder h3{font-size:20px; margin-bottom:4px;}
.founder .role{font-size:14px; color:var(--slate); font-family:'IBM Plex Mono', monospace; margin-bottom:16px;}
.founder p{color:var(--ink-soft); font-size:15.5px; max-width:62ch; margin-bottom:12px;}

/* ---------- FAQ ---------- */
details{border-top:1px solid var(--line); padding:18px 0;}
details:last-of-type{border-bottom:1px solid var(--line);}
summary{cursor:pointer; font-weight:600; list-style:none; display:flex; justify-content:space-between; gap:16px;}
summary::-webkit-details-marker{display:none;}
summary::after{content:"+"; font-size:22px; line-height:1; color:var(--brass);}
details[open] summary::after{content:"\2212";}
details p{margin-top:10px; color:var(--ink-soft); font-size:15.5px;}

/* ---------- CTA band / booking ---------- */
.cta-band{background:var(--ink); color:var(--paper); border-radius:3px; padding:64px 56px; display:grid; grid-template-columns:1.2fr 0.8fr; gap:40px; align-items:center;}
.cta-band h2{color:var(--paper); font-size:clamp(26px,3.4vw,32px); line-height:1.2; margin-bottom:14px;}
.cta-band p{color:#C9D3DB; font-size:16px;}
.cta-band-right{display:flex; flex-direction:column; align-items:flex-start; gap:14px;}
.cta-fine{font-size:13.5px; color:#9FB0BD; font-family:'IBM Plex Mono', monospace;}
.cta-band .btn-primary:hover{color:var(--paper); border-color:var(--paper);}
.cta-band :focus-visible{outline-color:var(--brass-dim);}
.book-embed{
  grid-column:1 / -1; margin-top:10px; background:#fff; border-radius:3px;
  min-height:160px; overflow:hidden;
}
.book-embed iframe{border:0; width:100%;}
.book-fallback{font-size:15px; color:#C9D3DB; margin:0;}
.book-fallback a{color:var(--brass-dim); border-bottom:1px solid var(--brass-dim); text-decoration:none;}

/* ---------- Footer ---------- */
footer{border-top:1px solid var(--line); padding:48px 0 40px;}
.sub-grid{display:grid; grid-template-columns:1fr 1fr; gap:40px; padding-bottom:34px; margin-bottom:30px; border-bottom:1px solid var(--line);}
.sub-grid h2{font-size:22px; margin-bottom:6px;}
.sub-grid p{font-size:15px; color:var(--ink-soft); margin-bottom:12px;}
.foot-row{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px;}
.foot-row .logo{font-size:18px;}
.foot-links{display:flex; gap:28px; font-size:14px; color:var(--ink-soft); flex-wrap:wrap;}
.foot-links a{text-decoration:none;}
.foot-links a:hover{color:var(--ink);}
.foot-note{font-size:12.5px; color:var(--slate); margin-top:24px; font-family:'IBM Plex Mono', monospace;}
.legal{font-size:13px; color:var(--ink-soft); margin-top:14px; max-width:80ch;}

/* ==========================================================================
   Scorecard — Nexus AI Readiness (light instrument theme)
   ========================================================================== */

.sc{max-width:880px; margin:0 auto;}
.sc-intro-note{border-left:2px solid var(--brass); padding-left:14px; font-size:14.5px; color:var(--ink-soft); max-width:60ch;}

/* Sticky progress */
.sc-progress{
  position:sticky; top:76px; z-index:30;
  background:rgba(242,241,236,0.96); backdrop-filter:blur(6px);
  border:1px solid var(--line); border-radius:2px;
  display:flex; align-items:center; gap:16px;
  padding:12px 16px; margin:34px 0 8px;
}
.sc-progress-label{font-family:'IBM Plex Mono', monospace; font-size:11.5px; color:var(--slate); white-space:nowrap;}
.sc-progress-track{flex:1; height:4px; background:var(--line); border-radius:2px; overflow:hidden;}
.sc-progress-fill{height:100%; width:0%; background:var(--brass); border-radius:2px; transition:width .35s ease;}
.sc-progress-count{font-family:'IBM Plex Mono', monospace; font-size:12.5px; color:var(--ink); font-variant-numeric:tabular-nums; white-space:nowrap;}

/* Pillar headers */
.sc-pillar{display:grid; grid-template-columns:56px 1fr; gap:0 22px; border-top:2px solid var(--ink); padding-top:26px; margin-top:56px;}
.sc-pillar:first-of-type{margin-top:28px;}
.sc-pillar-num{
  font-family:'Source Serif 4', serif; font-size:30px; color:var(--brass); line-height:1.1;
  border-right:1px solid var(--line); padding-right:16px;
}
.sc-pillar-tag{font-family:'IBM Plex Mono', monospace; font-size:12px; color:var(--slate); margin-bottom:6px;}
.sc-pillar-name{font-family:'Source Serif 4', serif; font-size:26px; font-weight:600; margin-bottom:8px;}
.sc-pillar-desc{font-size:15px; color:var(--ink-soft); max-width:62ch;}
.sc-subhead{
  font-family:'IBM Plex Mono', monospace; font-size:12.5px; color:var(--ink); letter-spacing:.04em;
  margin:34px 0 4px; padding-top:22px; border-top:1px solid var(--line);
}
.sc-subhead span{color:var(--slate); font-weight:400;}

/* Question cards — instrument readout style */
.sc-q{
  background:#fff; border:1px solid var(--line); border-radius:3px;
  padding:20px 22px 16px; margin-top:14px;
}
.sc-q.done{border-color:var(--slate);}
.sc-q-index{
  font-family:'IBM Plex Mono', monospace; font-size:11.5px; color:var(--slate);
  display:flex; justify-content:space-between; gap:12px; margin-bottom:8px;
  font-variant-numeric:tabular-nums;
}
.sc-q-index .sc-q-state{color:var(--brass); visibility:hidden;}
.sc-q.done .sc-q-index .sc-q-state{visibility:visible;}
.sc-q-text{font-size:16px; font-weight:500; line-height:1.5; margin-bottom:14px; max-width:none;}
.sc-scale{display:grid; grid-template-columns:repeat(10,1fr); gap:5px;}
.sc-scale-btn{
  appearance:none; font:500 13px 'IBM Plex Mono', monospace; font-variant-numeric:tabular-nums;
  height:40px; padding:0; text-align:center; cursor:pointer;
  background:var(--paper); color:var(--ink-soft);
  border:1px solid var(--line); border-bottom-width:3px; border-radius:2px;
  transition:border-color .12s, background .12s, color .12s;
}
.sc-scale-btn:hover{border-color:var(--slate); color:var(--ink);}
.sc-scale-btn.sel{background:var(--ink); color:var(--paper); border-color:var(--ink);}
.sc-scale-btn.sel.sel-lo{border-bottom-color:var(--alert);}
.sc-scale-btn.sel.sel-mid{border-bottom-color:var(--brass);}
.sc-scale-btn.sel.sel-hi{border-bottom-color:var(--verify);}
.sc-scale-ends{display:flex; justify-content:space-between; margin-top:8px;}
.sc-scale-end{font-family:'IBM Plex Mono', monospace; font-size:11px; color:var(--slate);}

/* Process (QTM) entry rows */
.sc-proc{
  display:grid; grid-template-columns:1fr 1fr; gap:0 28px;
  background:#fff; border:1px solid var(--line); border-radius:3px;
  padding:20px 22px; margin-top:14px;
}
.sc-proc-name-row{grid-column:1 / -1; margin-bottom:4px;}
.sc-proc-label{font-family:'IBM Plex Mono', monospace; font-size:11.5px; color:var(--slate); display:block; margin-bottom:8px;}
.sc-proc-name{
  width:100%; font:400 15.5px 'IBM Plex Sans', sans-serif; color:var(--ink);
  background:var(--paper); border:1px solid var(--line); border-radius:2px; padding:11px 12px;
}
.sc-proc-name:focus{border-color:var(--ink); outline:none;}
.sc-proc-hint{font-size:13px; color:var(--ink-soft); margin-bottom:10px;}
.sc-proc-guide{font-size:12px; color:var(--slate); font-family:'IBM Plex Mono', monospace; margin-top:8px; line-height:1.7;}
.sc-addproc{
  display:inline-block; margin-top:16px; background:transparent; cursor:pointer;
  border:1px dashed var(--slate); color:var(--slate); border-radius:2px;
  font:500 12.5px 'IBM Plex Mono', monospace; padding:10px 18px;
}
.sc-addproc:hover{border-color:var(--ink); color:var(--ink);}
.sc-guidebox{
  background:var(--paper-raised); border:1px solid var(--line); border-radius:3px;
  padding:16px 20px; margin-top:22px; font-size:13.5px; color:var(--ink-soft); line-height:1.7;
}
.sc-guidebox .mono{font-size:11px; color:var(--slate); display:block; margin-bottom:8px;}
.sc-guidebox b{color:var(--ink);}

/* Submit */
.sc-submit{text-align:center; margin-top:44px; padding-top:34px; border-top:2px solid var(--ink);}
.sc-submit-note{font-size:14px; color:var(--ink-soft); margin-top:12px;}
.sc-submit-note.ready{color:var(--verify); font-weight:500;}

/* ---------- Results (lab-report style) ---------- */
.sc-results-head{margin-bottom:26px;}
.sc-results-kicker{font-family:'IBM Plex Mono', monospace; font-size:12px; color:var(--slate); margin-bottom:10px;}
.sc-overall{
  background:#fff; border:1px solid var(--line); border-top:3px solid var(--ink); border-radius:3px;
  padding:34px clamp(20px,4vw,44px); display:grid; grid-template-columns:auto 1fr; gap:8px 44px; align-items:center;
}
.sc-overall-num{
  font-family:'Source Serif 4', serif; font-size:clamp(56px,9vw,84px); line-height:1; font-weight:600;
  font-variant-numeric:tabular-nums;
}
.sc-overall-num small{font-size:22px; color:var(--ink-soft); font-family:'IBM Plex Sans', sans-serif; font-weight:400;}
.sc-band-pill{
  display:inline-block; font:500 12.5px 'IBM Plex Mono', monospace; padding:6px 14px; border-radius:2px; border:1px solid;
  margin-bottom:10px;
}
.sc-overall-desc{font-size:15.5px; color:var(--ink-soft); max-width:52ch;}
.t-red{color:var(--alert);} .t-amber{color:#8A6414;} .t-blue{color:var(--slate);} .t-green{color:var(--verify);}
.pill-red{color:var(--alert); background:rgba(154,59,53,0.07); border-color:rgba(154,59,53,0.35);}
.pill-amber{color:#8A6414; background:rgba(184,134,58,0.10); border-color:rgba(184,134,58,0.45);}
.pill-blue{color:var(--slate); background:rgba(63,92,99,0.08); border-color:rgba(63,92,99,0.35);}
.pill-green{color:var(--verify); background:rgba(47,74,51,0.08); border-color:rgba(47,74,51,0.35);}

.sc-pillars{display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:14px;}
.sc-pillar-card{background:#fff; border:1px solid var(--line); border-radius:3px; padding:20px 18px 16px; position:relative;}
.sc-pillar-card::before{content:''; position:absolute; top:0; left:0; right:0; height:3px; background:var(--slate);}
.sc-pillar-card.pc-brass::before{background:var(--brass);}
.sc-pillar-card.pc-verify::before{background:var(--verify);}
.sc-pr-label{font-family:'IBM Plex Mono', monospace; font-size:10.5px; color:var(--slate); margin-bottom:4px;}
.sc-pr-name{font-family:'Source Serif 4', serif; font-size:17px; font-weight:600; margin-bottom:12px; line-height:1.25;}
.sc-pr-score{font-family:'Source Serif 4', serif; font-size:42px; font-weight:600; line-height:1; font-variant-numeric:tabular-nums; margin-bottom:10px;}
.sc-pr-track{height:4px; background:var(--paper-raised); border-radius:2px; margin-bottom:8px; overflow:hidden;}
.sc-pr-bar{height:100%; border-radius:2px; transition:width .8s ease;}
.fill-red{background:var(--alert);} .fill-amber{background:var(--brass);} .fill-blue{background:var(--slate);} .fill-green{background:var(--verify);}
.sc-pr-band{font-family:'IBM Plex Mono', monospace; font-size:11.5px;}

/* Culture formula as an equation */
.sc-formula{
  background:var(--paper-raised); border:1px solid var(--line); border-left:3px solid var(--brass); border-radius:3px;
  padding:26px clamp(18px,3vw,30px); margin-top:14px;
}
.sc-formula-label{font-family:'IBM Plex Mono', monospace; font-size:11.5px; color:#8A6414; margin-bottom:18px;}
.sc-formula-row{display:flex; align-items:center; flex-wrap:wrap; gap:12px 10px; margin-bottom:16px;}
.sc-fe{display:flex; flex-direction:column; align-items:center; gap:4px; min-width:64px;}
.sc-fe-val{font-family:'Source Serif 4', serif; font-size:32px; font-weight:600; line-height:1; font-variant-numeric:tabular-nums;}
.sc-fe-lbl{font-family:'IBM Plex Mono', monospace; font-size:10px; color:var(--slate); text-transform:uppercase; letter-spacing:.08em;}
.sc-fop{font-family:'Source Serif 4', serif; font-size:24px; color:var(--brass); padding-bottom:16px;}
.sc-feq{font-family:'Source Serif 4', serif; font-size:24px; color:var(--brass); padding-bottom:16px;}
.sc-fe-result .sc-fe-val{font-size:42px;}
.sc-formula-note{font-size:13.5px; color:var(--ink-soft); line-height:1.65; padding-top:14px; border-top:1px solid var(--line); max-width:none;}

/* Sub-score grid */
.sc-subs{display:grid; grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); gap:12px; margin-top:14px;}
.sc-sub{background:#fff; border:1px solid var(--line); border-radius:3px; padding:14px 14px 12px;}
.sc-sub-label{font-family:'IBM Plex Mono', monospace; font-size:10px; color:var(--slate); text-transform:uppercase; letter-spacing:.08em; margin-bottom:8px;}
.sc-sub-val{font-family:'Source Serif 4', serif; font-size:30px; font-weight:600; line-height:1; font-variant-numeric:tabular-nums; margin-bottom:8px;}
.sc-sub-val span{font-size:13px; color:var(--slate); font-family:'IBM Plex Sans', sans-serif; font-weight:400;}
.sc-sub-track{height:3px; background:var(--paper-raised); border-radius:2px; margin-bottom:6px; overflow:hidden;}
.sc-sub-bar{height:100%; border-radius:2px;}
.sc-sub-band{font-family:'IBM Plex Mono', monospace; font-size:10.5px;}

/* QTM quadrant plot */
.sc-quadrant{background:#fff; border:1px solid var(--line); border-radius:3px; padding:22px; margin-top:14px;}
.sc-quadrant svg{display:block; width:100%; height:auto;}
.qp-grid{stroke:#E4E1D6; stroke-width:1;}
.qp-axis{stroke:var(--ink); stroke-width:1.2;}
.qp-mid{stroke:var(--ink-soft); stroke-width:1; stroke-dasharray:5 5;}
.qp-lbl{font:400 10.5px 'IBM Plex Mono', monospace; fill:var(--slate);}
.qp-axis-lbl{font:500 11.5px 'IBM Plex Mono', monospace; fill:var(--ink);}
.qp-zone{font:600 10px 'IBM Plex Mono', monospace; opacity:.75;}
.qp-pt{fill:var(--ink); stroke:var(--brass); stroke-width:2;}
.qp-pt-lbl{font:600 10px 'IBM Plex Mono', monospace; fill:var(--paper);}
.sc-proc-legend{margin-top:16px; display:grid; gap:0; border-top:1px solid var(--line);}
.sc-proc-legend-item{
  display:grid; grid-template-columns:34px 1fr auto; gap:14px; align-items:baseline;
  padding:11px 0; border-bottom:1px solid var(--line); font-size:14px;
}
.sc-proc-legend-item .n{font-family:'IBM Plex Mono', monospace; font-size:11.5px; color:var(--slate);}
.sc-proc-legend-item .nm{font-weight:500;}
.sc-proc-legend-item .q{font-family:'IBM Plex Mono', monospace; font-size:11px;}

/* Insights */
.sc-block-title{font-family:'Source Serif 4', serif; font-size:21px; font-weight:600; margin:38px 0 14px;}
.sc-insight{
  border-left:3px solid; padding:14px 18px; margin-bottom:10px;
  background:#fff; border-top:1px solid var(--line); border-right:1px solid var(--line); border-bottom:1px solid var(--line);
  border-radius:0 3px 3px 0;
}
.sc-insight-type{font-family:'IBM Plex Mono', monospace; font-size:11px; margin-bottom:6px;}
.sc-insight-text{font-size:14px; color:var(--ink-soft); line-height:1.6; max-width:none;}
.bl-red{border-left-color:var(--alert);} .bl-green{border-left-color:var(--verify);}

/* Next steps */
.sc-next{background:#fff; border:1px solid var(--line); border-top:3px solid var(--brass); border-radius:3px; padding:28px clamp(18px,3vw,30px); margin-top:14px;}
.sc-next-title{font-family:'Source Serif 4', serif; font-size:21px; font-weight:600; margin-bottom:4px;}
.sc-next-sub{font-family:'IBM Plex Mono', monospace; font-size:11.5px; color:var(--slate); margin-bottom:22px;}
.sc-next-item{display:flex; gap:16px; margin-bottom:16px; align-items:flex-start;}
.sc-next-item:last-child{margin-bottom:0;}
.sc-next-num{
  width:26px; height:26px; border-radius:50%; background:rgba(184,134,58,0.12); border:1px solid rgba(184,134,58,0.4);
  display:flex; align-items:center; justify-content:center;
  font:500 11px 'IBM Plex Mono', monospace; color:#8A6414; flex-shrink:0; margin-top:2px;
}
.sc-next-step-title{font-size:14.5px; font-weight:600; margin-bottom:3px;}
.sc-next-desc{font-size:13.5px; color:var(--ink-soft); line-height:1.6; max-width:none;}

/* Result CTA */
.sc-cta{background:var(--ink); color:var(--paper); border-radius:3px; padding:38px 32px; margin-top:26px; text-align:center;}
.sc-cta h3{color:var(--paper); font-size:24px; margin-bottom:8px;}
.sc-cta p{color:#C9D3DB; font-size:14.5px; max-width:56ch; margin:0 auto 22px; line-height:1.65;}
.sc-cta .btn-primary:hover{color:var(--paper); border-color:var(--paper);}
.sc-cta .sc-retake{display:inline-block; margin-left:14px; background:none; border:none; cursor:pointer; color:#9FB0BD; font:400 13px 'IBM Plex Sans', sans-serif; text-decoration:underline;}
.sc-cta .sc-retake:hover{color:var(--paper);}
.sc-cta :focus-visible{outline-color:var(--brass-dim);}

/* Gate (email unlock) inside results */
.sc-gate{max-width:640px; margin:24px auto 0;}

/* Privacy page */
.prose{max-width:760px;}
.prose h2{font-size:26px; margin:34px 0 10px;}
.prose h3{font-size:19px; margin:26px 0 8px;}
.prose p, .prose li{font-size:15.5px; color:var(--ink-soft); margin-bottom:10px;}
.prose ul{padding-left:20px; margin-bottom:14px;}

/* ---------- Responsive ---------- */
@media (max-width: 980px){
  .hero-grid{grid-template-columns:1fr; gap:44px;}
}
@media (max-width: 880px){
  .nav-links{display:none;}
  .wrap{padding:0 22px;}
  section{padding:64px 0;}
  .hero{padding:48px 0 56px;}
  .stall{grid-template-columns:1fr; gap:22px;}
  .framework-body{grid-template-columns:1fr; gap:10px;}
  .vault{grid-template-columns:repeat(2,1fr);}
  .founder{grid-template-columns:1fr; gap:24px;}
  .founder-mark{width:100px;}
  .cta-band{grid-template-columns:1fr; padding:44px 28px;}
  .svc{grid-template-columns:1fr;}
  .steps{grid-template-columns:1fr;}
  .sub-grid{grid-template-columns:1fr;}
  .scope thead{position:absolute; left:-9999px;}
  .scope,.scope tbody,.scope tr,.scope th,.scope td{display:block; width:100% !important;}
  .scope tr{border-bottom:1px solid var(--line); padding:18px 0;}
  .scope th,.scope td{border:0; padding:3px 0;}
  .scope td::before{content:attr(data-label); display:block; font-family:'IBM Plex Mono', monospace; font-size:12px; color:var(--slate);}
  .scope td{margin-top:6px;}
  .sc-pillars{grid-template-columns:1fr;}
  .sc-overall{grid-template-columns:1fr; gap:18px;}
  .sc-proc{grid-template-columns:1fr; gap:0;}
  .sc-proc > div + div{margin-top:18px;}
  .sc-pillar{grid-template-columns:1fr; gap:6px;}
  .sc-pillar-num{border-right:0; padding-right:0; font-size:22px;}
  .sc-progress{top:0;}
}
@media (max-width: 560px){
  .sc-q{padding:16px 14px 12px;}
  .sc-scale{gap:4px;}
  .sc-scale-btn{height:34px; font-size:11px;}
  .sc-scale-ends{display:none;}
  .sc-fe-val{font-size:26px;}
  .sc-fe-result .sc-fe-val{font-size:34px;}
  .sc-fop,.sc-feq{font-size:18px; padding-bottom:12px;}
  .sc-proc-legend-item{grid-template-columns:26px 1fr; }
  .sc-proc-legend-item .q{grid-column:2;}
}

/* ---------- Print: results as a lab report ---------- */
@media print{
  body.print-results header, body.print-results .hero, body.print-results main > section:not(#diagnostic),
  body.print-results footer, body.print-results #scForm, body.print-results .no-print, body.print-results .skip,
  body.print-results .sc-progress, body.print-results .divider, body.print-results #scGate,
  body.print-results .section-head, body.print-results .sc-intro-note{display:none !important;}
  body.print-results section{padding:0;}
  body.print-results .sc-cta{background:var(--paper) !important; color:var(--ink) !important; border:1px solid var(--line);}
  body.print-results .sc-cta h3, body.print-results .sc-cta p{color:var(--ink) !important;}
  body.print-results .panel{background:var(--ink) !important; -webkit-print-color-adjust:exact; print-color-adjust:exact;}
}
