/* ============================================================================
   benchmarks.css — /benchmarks in the lit system, layered on home.css
   primitives. Dark opening band: hero + the two proof cards as lit slabs
   (Customer.io's verified numbers carry the green rim; the anonymized card
   rides the paper rim). Paper below on a centered 900px column: the stand
   line, the model rows, the rubric tables, the score bands, the impact math,
   the typical-results table, the pilot close (tiles back at full width).
   Green law: only copy that declares "verified on their own systems" wears
   it — the rubric's best/worst answers are weight and tone, never hue.
   NOT yet in build.py CACHE_BUST_ASSETS — register it, then run
   python3 build.py after edits.
   ========================================================================== */

/* ── the dark opening band ── */
#bhero{background:#0A0A0A;color:var(--p);padding:96px 0 120px;}
#bhero .eyebrow{color:var(--pl62);}
#bhero h1{font-family:var(--serif);font-optical-sizing:auto;font-weight:400;font-size:clamp(37px,4vw,56px);line-height:1.06;letter-spacing:-.013em;margin:0;max-width:24ch;color:var(--p);}
#bhero h1 em{font-style:italic;}
#bhero .sub{color:var(--pl62);font-size:15.5px;line-height:1.65;max-width:62ch;margin:18px 0 0;}
#bhero .hero-ctas{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px;}

/* the proof as slabs — anatomy from cases.css .ncard */
.ncards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:64px;max-width:920px;}
.ncard{background:#0A0A0A;border:1px solid rgba(252,252,251,.3);border-radius:6px;padding:28px 32px;box-shadow:0 0 18px rgba(252,252,251,.09),0 0 48px rgba(252,252,251,.04);}
.ncard.verified{border-color:rgba(130,233,170,.6);box-shadow:0 0 18px rgba(69,208,126,.2),0 0 52px rgba(69,208,126,.09);}
.ncard .who{font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--pl62);}
.ncard.verified .who{color:#82E9AA;}
.ncard p{margin:14px 0 0;font-size:14px;line-height:1.6;color:var(--pl62);}
.ncard p b{color:var(--p);font-weight:600;}
.ncard .note{font-variant-numeric:tabular-nums;font-size:11.5px;letter-spacing:.02em;color:var(--pl62);margin-top:12px;}
.ncard.verified .note{color:#45D07E;}

/* ── back to paper ── */
#stand{padding:110px 0 0;}
#stand p{font-family:var(--serif);font-optical-sizing:auto;font-weight:400;font-size:clamp(24px,2.6vw,34px);line-height:1.35;letter-spacing:-.006em;margin:0;max-width:34ch;color:var(--q);}
#stand p span{color:var(--i);}

.bsec{padding:130px 0 0;}
.bsec h2{font-family:var(--serif);font-optical-sizing:auto;font-weight:400;font-size:clamp(29px,3vw,40px);line-height:1.14;letter-spacing:-.008em;margin:0;max-width:26ch;}
.bsec .sub{color:var(--q);font-size:15.5px;line-height:1.65;max-width:62ch;margin:18px 0 0;}
.bsec .sub b,.bsec .sub strong{color:var(--i);font-weight:600;}
.bsec .sub.after{margin-top:28px;}

/* the page reads as a centered article column; the pilot tiles stay wide */
#bhero .shell,.bsec .shell,#stand .shell{max-width:900px;}
#pilot .shell{max-width:1160px;}

/* numbered / weighted rows — cases.css .crows */
.crows{margin-top:40px;border-top:1px solid rgba(20,20,20,.14);}
.crows .row{display:grid;grid-template-columns:56px minmax(0,1fr);gap:24px;padding:20px 0;border-bottom:1px solid rgba(20,20,20,.14);align-items:baseline;}
.crows .k{font-variant-numeric:tabular-nums;font-size:13px;font-weight:600;color:var(--q);letter-spacing:.02em;}
.crows p{margin:0;font-size:15px;line-height:1.65;color:var(--q);}
.crows p b{color:var(--i);font-weight:600;}

/* the rubric and band tables — receipt rules, weight instead of hue */
.twrap{margin-top:40px;overflow-x:auto;}
.twrap+.twrap{margin-top:26px;}
.btab{width:100%;border-collapse:collapse;font-size:14.5px;line-height:1.55;}
.btab th{text-align:left;font-size:11.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--q);padding:0 18px 12px 0;border-bottom:1px solid rgba(20,20,20,.35);white-space:nowrap;}
.btab th:last-child{padding-right:0;}
.btab td{padding:12px 18px 12px 0;border-top:1px dashed rgba(20,20,20,.22);color:var(--q);vertical-align:baseline;}
.btab td:last-child{padding-right:0;}
.btab tbody tr:first-child td{border-top:0;}
.btab tr.grp td{border-top:1px solid rgba(20,20,20,.35);}
.btab tbody tr.grp:first-child td{border-top:0;}
.btab td:first-child{color:var(--i);font-variant-numeric:tabular-nums;}
.btab td b{color:var(--i);font-weight:600;}
.btab .yes{color:var(--i);font-weight:600;}
.btab .no{color:var(--q);}
/* points ride the right edge, tabular */
.btab.pts th:last-child,.btab.pts td:last-child{text-align:right;font-variant-numeric:tabular-nums;}
.btab.pts{min-width:520px;}
.btab.pts td:first-child{width:52%;}

/* pilot close tiles + CTAs — pricing.css #pclose */
#pilot{padding-bottom:0;}
.ptiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:44px;}
.ptiles .pt{border:1px solid rgba(20,20,20,.18);border-radius:6px;padding:22px 24px;font-size:13.5px;line-height:1.6;color:var(--q);}
.ptiles .pt strong{display:block;color:var(--i);font-weight:600;margin-bottom:8px;font-size:14.5px;}
#pilot .hero-ctas{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px;align-items:center;}
#pilot .tel{font-variant-numeric:tabular-nums;margin-left:6px;}

@media (max-width:960px){
  #bhero{padding:56px 0 80px;}
  .ncards{grid-template-columns:minmax(0,1fr);margin-top:44px;}
  .bsec{padding-top:96px;}
  #stand{padding-top:84px;}
  .crows .row{grid-template-columns:40px minmax(0,1fr);gap:14px;}
  .ptiles{grid-template-columns:minmax(0,1fr);}
  .twrap{-webkit-overflow-scrolling:touch;}
  /* the rubric compresses to keep answer → points on screen together */
  .btab{font-size:13px;}
  .btab th{white-space:normal;}
  .btab th,.btab td{padding-right:12px;}
  .btab.pts{min-width:0;}
  .btab.pts td:first-child{width:44%;}
}
