/* ============================================================
   THE BOARDROOM, by dAILogix — design system
   A sealed parliamentary record, rebuilt as a research instrument.
   ============================================================ */

:root{
  --paper:#f2ecdc;
  --paper-2:#eae3d1;
  --paper-3:#dcd4be;
  --cream:#f4ecd8;
  --ink:#182119;
  --ink-soft:#3d443c;
  --dark:#211c14;
  --dark-2:#2b251b;
  --dark-3:#37301f;
  --brass:#b8923a;
  --brass-bright:#d4ae54;
  --brass-deep:#8f6f24;
  --moss:#4a7a4e;
  --brick:#a03b2a;
  --amber:#b07d1e;
  --line:rgba(24,33,25,.14);
  --line-strong:rgba(24,33,25,.28);
  --line-cream:rgba(244,236,216,.16);
  --serif:'Instrument Serif',Georgia,'Times New Roman',serif;
  --sans:'Geist','Inter',-apple-system,'Helvetica Neue',sans-serif;
  --mono:'Geist Mono','JetBrains Mono',ui-monospace,Menlo,monospace;
  --ease:cubic-bezier(.22,.8,.28,1);
  --wrap:1180px;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:var(--sans);
  background:var(--paper);
  color:var(--ink);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
/* grain overlay — the paper's tooth */
body::after{
  content:"";position:fixed;inset:0;z-index:9000;pointer-events:none;
  opacity:.055;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='240' height='240' filter='url(%23n)'/%3E%3C/svg%3E");
}
::selection{background:var(--brass);color:var(--dark)}

.wrap{max-width:var(--wrap);margin:0 auto;padding:0 clamp(20px,4vw,48px)}
.mono{font-family:var(--mono)}
a{color:inherit}

/* ---------- type ---------- */
.eyebrow{
  font-family:var(--mono);font-size:11px;letter-spacing:.22em;
  text-transform:uppercase;color:var(--brass-deep);
  display:inline-flex;align-items:center;gap:10px;font-weight:500;
}
.eyebrow::before{content:"";width:26px;height:1px;background:var(--brass)}
.dark-zone .eyebrow{color:var(--brass-bright)}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.06;letter-spacing:-.01em}
h1 em,h2 em,h3 em{font-style:italic;color:var(--brass-deep)}
.dark-zone h1 em,.dark-zone h2 em,.dark-zone h3 em{color:var(--brass-bright)}
.display{font-size:clamp(40px,6vw,74px)}
.section-title{font-size:clamp(30px,3.6vw,46px);margin-bottom:18px}
.lede{font-size:clamp(17px,1.6vw,20px);line-height:1.55;color:var(--ink-soft);max-width:56ch}
.dark-zone .lede{color:rgba(244,236,216,.72)}
.small{font-size:13.5px;color:var(--ink-soft)}
.dark-zone .small{color:rgba(244,236,216,.6)}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--mono);font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;
  padding:15px 28px;text-decoration:none;cursor:pointer;border:1px solid transparent;
  transition:transform .18s var(--ease),box-shadow .18s var(--ease),background .18s var(--ease),color .18s var(--ease);
}
.btn.solid{background:var(--brass);color:#171307;border-color:var(--brass-deep)}
.btn.solid:hover{transform:translateY(-2px);box-shadow:0 12px 26px -12px rgba(143,111,36,.7);background:var(--brass-bright)}
.btn.ghost{border-color:var(--line-strong);color:var(--ink)}
.btn.ghost:hover{border-color:var(--ink);transform:translateY(-2px)}
.dark-zone .btn.ghost{border-color:var(--line-cream);color:var(--cream)}
.dark-zone .btn.ghost:hover{border-color:var(--brass-bright);color:var(--brass-bright)}
.btn:disabled{opacity:.38;pointer-events:none}

/* ---------- header ---------- */
.site-head{
  position:sticky;top:0;z-index:900;background:rgba(33,28,20,.92);
  backdrop-filter:blur(10px);color:var(--cream);
  border-bottom:1px solid var(--line-cream);
}
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;height:64px}
.brand{display:flex;align-items:baseline;gap:10px;text-decoration:none}
.brand .mark{
  font-family:var(--serif);font-size:21px;letter-spacing:.02em;color:var(--cream);
}
.brand .mark b{font-weight:400;color:var(--brass-bright)}
.brand .by{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:rgba(244,236,216,.5)}
.site-nav{display:flex;align-items:center;gap:26px}
.site-nav a{
  font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  text-decoration:none;color:rgba(244,236,216,.68);transition:color .18s var(--ease);
}
.site-nav a:hover{color:var(--brass-bright)}
.site-nav a.cta{
  color:#171307;background:var(--brass);padding:9px 16px;border:1px solid var(--brass-deep);
}
.site-nav a.cta:hover{background:var(--brass-bright)}
.site-nav a.acct{color:var(--brass-bright)}
@media(max-width:820px){.site-nav a:not(.cta):not(.acct){display:none}}

/* ---------- hero (dark) ---------- */
.dark-zone{background:var(--dark);color:var(--cream)}
.hero{position:relative;padding:clamp(90px,12vh,150px) 0 clamp(80px,10vh,120px);overflow:hidden}
.hero::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(900px 480px at 78% -10%,rgba(184,146,58,.16),transparent 60%),
    radial-gradient(700px 420px at 8% 110%,rgba(74,122,78,.10),transparent 60%);
}
.hero .wrap{position:relative}
.hero h1{max-width:15ch;margin:26px 0 28px}
.hero-rule{width:72px;height:2px;background:var(--brass);margin-top:30px}
.hero-ctas{display:flex;gap:16px;flex-wrap:wrap;margin:40px 0 60px}
.hero-foot{
  display:flex;gap:clamp(24px,4vw,56px);flex-wrap:wrap;
  border-top:1px solid var(--line-cream);padding-top:26px;
}
.hero-foot span{font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:rgba(244,236,216,.55)}
.hero-foot b{display:block;font-size:22px;font-weight:500;color:var(--brass-bright);letter-spacing:0;margin-bottom:2px}

/* rotating seal */
.seal{
  position:absolute;right:clamp(20px,6vw,90px);top:clamp(80px,12vh,130px);
  width:150px;height:150px;opacity:.9;
}
.seal svg{width:100%;height:100%;animation:spin 26s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:900px){.seal{display:none}}

/* ---------- deckle divider ---------- */
.deckle{display:block;width:100%;height:34px;margin-bottom:-1px}

/* ---------- sections ---------- */
.section{padding:clamp(72px,9vh,120px) 0}
.section-grid{display:grid;grid-template-columns:200px 1fr;gap:clamp(28px,5vw,80px)}
.section-label{
  font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--brass-deep);padding-top:8px;border-top:2px solid var(--brass);
}
.dark-zone .section-label{color:var(--brass-bright)}
@media(max-width:820px){.section-grid{grid-template-columns:1fr}.section-label{border-top:none}}

/* process steps — numbered parliamentary items */
.steps{margin-top:46px;border-top:1px solid var(--line)}
.step{
  display:grid;grid-template-columns:84px 1fr;gap:24px;
  padding:30px 0;border-bottom:1px solid var(--line);
}
.step .num{
  font-family:var(--serif);font-size:34px;font-style:italic;color:var(--brass-deep);
  line-height:1;padding-top:2px;
}
.step h3{font-size:22px;margin-bottom:8px}
.step p{color:var(--ink-soft);max-width:64ch}
.step .form-note{
  margin-top:12px;font-family:var(--serif);font-style:italic;font-size:16.5px;
  color:var(--brass-deep);border-left:2px solid var(--brass);padding-left:14px;line-height:1.5;
}

/* jury framing */
.jury-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:44px}
.jury-cell{background:var(--paper);padding:30px 26px}
.jury-cell .tag{
  font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;
  display:inline-flex;align-items:center;gap:8px;margin-bottom:14px;
}
.jury-cell .tag::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.jury-cell h3{font-size:21px;margin-bottom:8px}
.jury-cell p{font-size:14.5px;color:var(--ink-soft)}
.tag.for{color:var(--moss)}.tag.against{color:var(--brick)}.tag.middle{color:var(--amber)}
@media(max-width:760px){.jury-grid{grid-template-columns:1fr}}

/* ---------- tier table ---------- */
.tiers{width:100%;border-collapse:collapse;margin-top:44px;font-size:14px}
.tiers th,.tiers td{padding:16px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.tiers thead th{border-bottom:2px solid var(--ink);border-top:2px solid var(--ink)}
.tiers .t-name{font-family:var(--serif);font-size:20px}
.tiers .t-price{font-family:var(--mono);font-size:13px;color:var(--brass-deep);letter-spacing:.04em;white-space:nowrap}
.tiers .t-meta{font-family:var(--mono);font-size:11px;color:var(--ink-soft);letter-spacing:.06em;text-transform:uppercase}
.tiers td:first-child{font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);width:34%}
.tiers .yes{color:var(--moss);font-family:var(--mono)}
.tiers .no{color:rgba(24,33,25,.3);font-family:var(--mono)}
.tiers tbody tr{transition:background .18s var(--ease)}
.tiers tbody tr:hover{background:rgba(184,146,58,.07)}
.tiers-scroll{overflow-x:auto}
@media(max-width:760px){.tiers{min-width:720px}}

/* ---------- evidence (dark record) ---------- */
.evidence{position:relative}
.ev-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line-cream);border:1px solid var(--line-cream);margin:46px 0}
.ev-stat{background:var(--dark);padding:28px 24px}
.ev-stat .v{font-family:var(--serif);font-size:clamp(34px,3.6vw,52px);color:var(--brass-bright);line-height:1}
.ev-stat .k{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:rgba(244,236,216,.55);margin-top:12px;line-height:1.6}
@media(max-width:820px){.ev-stats{grid-template-columns:repeat(2,1fr)}}
.ev-note{font-family:var(--serif);font-style:italic;font-size:clamp(19px,2vw,24px);color:var(--cream);max-width:44ch;line-height:1.45}
.ev-table{width:100%;border-collapse:collapse;margin-top:40px;font-size:13.5px}
.ev-table th,.ev-table td{padding:12px 10px;border-bottom:1px solid var(--line-cream);text-align:left}
.ev-table th{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:rgba(244,236,216,.5)}
.verdict{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;padding:3px 9px;border:1px solid}
.verdict.solid{color:#9fd6a4;border-color:rgba(159,214,164,.4)}
.verdict.robust{color:var(--brass-bright);border-color:rgba(212,174,84,.4)}
.verdict.edge{color:#e0a08e;border-color:rgba(224,160,142,.4)}

/* ---------- footer ---------- */
.site-foot{background:var(--dark);color:var(--cream);padding:70px 0 46px;border-top:2px solid var(--brass)}
.foot-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:60px}
@media(max-width:760px){.foot-grid{grid-template-columns:1fr}}
.foot-brand{font-family:var(--serif);font-size:28px;margin-bottom:6px}
.foot-brand b{font-weight:400;color:var(--brass-bright)}
.foot-links{display:flex;flex-direction:column;gap:10px}
.foot-links a{font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:rgba(244,236,216,.6);text-decoration:none}
.foot-links a:hover{color:var(--brass-bright)}
.disclosure{
  margin-top:48px;padding-top:26px;border-top:1px solid var(--line-cream);
  font-size:12.5px;line-height:1.7;color:rgba(244,236,216,.5);max-width:90ch;
}
.disclosure b{color:rgba(244,236,216,.75);font-weight:500}

/* ---------- forms ---------- */
.form-shell{max-width:520px;margin:0 auto;padding:clamp(60px,9vh,110px) 0}
.form-card{background:var(--paper-2);border:1px solid var(--line-strong);padding:clamp(28px,4vw,44px);position:relative}
.form-card::before{content:"";position:absolute;inset:6px;border:1px solid var(--line);pointer-events:none}
.field{margin-bottom:20px}
.field label{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:8px}
.field input,.field textarea,.field select{
  width:100%;padding:13px 14px;background:var(--paper);border:1px solid var(--line-strong);
  font-family:var(--sans);font-size:15px;color:var(--ink);outline:none;
  transition:border-color .18s var(--ease),box-shadow .18s var(--ease);
}
.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--brass-deep);box-shadow:0 0 0 3px rgba(184,146,58,.22)}
.test-flag{
  display:inline-flex;align-items:center;gap:9px;font-family:var(--mono);font-size:11px;
  letter-spacing:.12em;text-transform:uppercase;color:var(--amber);
  border:1px dashed var(--amber);padding:7px 12px;margin-bottom:26px;
}
.test-flag::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--amber);animation:pulse 1.8s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(176,125,30,.5)}70%{box-shadow:0 0 0 8px rgba(176,125,30,0)}100%{box-shadow:0 0 0 0 rgba(176,125,30,0)}}
.form-msg{font-family:var(--mono);font-size:12px;margin-top:14px;min-height:18px}
.form-msg.err{color:var(--brick)}
.form-msg.ok{color:var(--moss)}

/* ---------- checkout ---------- */
.tier-pick{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin:30px 0}
@media(max-width:700px){.tier-pick{grid-template-columns:1fr}}
.tier-opt{border:1px solid var(--line-strong);background:var(--paper);padding:22px;cursor:pointer;position:relative;transition:border-color .18s var(--ease),transform .18s var(--ease)}
.tier-opt:hover{transform:translateY(-2px)}
.tier-opt.sel{border-color:var(--brass-deep);box-shadow:0 0 0 3px rgba(184,146,58,.22);background:var(--paper-2)}
.tier-opt .lv{font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--brass-deep)}
.tier-opt .nm{font-family:var(--serif);font-size:24px;margin:6px 0 2px}
.tier-opt .pr{font-family:var(--mono);font-size:14px;color:var(--ink-soft);margin-bottom:10px}
.tier-opt ul{list-style:none;font-size:13px;color:var(--ink-soft)}
.tier-opt li{padding:3px 0 3px 16px;position:relative}
.tier-opt li::before{content:"§";position:absolute;left:0;color:var(--brass-deep);font-size:11px}
.coupon-box{margin:26px 0;padding:22px;border:1px dashed var(--brass-deep);background:rgba(184,146,58,.06)}
.coupon-box label{font-family:var(--serif);font-size:22px;display:block;margin-bottom:10px}

/* ---------- wizard ---------- */
.wiz-shell{max-width:860px;margin:0 auto;padding:clamp(50px,8vh,90px) 0}
.wiz-track{display:flex;gap:0;margin:34px 0 44px;border:1px solid var(--line-strong)}
.wiz-node{flex:1;padding:13px 8px;text-align:center;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);border-right:1px solid var(--line-strong);background:var(--paper-2);transition:all .2s var(--ease)}
.wiz-node:last-child{border-right:none}
.wiz-node.on{background:var(--dark);color:var(--brass-bright)}
.wiz-node.done{background:var(--paper-3);color:var(--ink)}
.wiz-step{display:none}
.wiz-step.on{display:block;animation:fadeUp .35s var(--ease)}
@keyframes fadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.preset-btn{margin-left:12px}
.panel-list{border:1px solid var(--line-strong);margin-top:26px}
.panel-row{display:grid;grid-template-columns:44px 1fr auto;gap:16px;padding:13px 18px;border-bottom:1px solid var(--line);align-items:center;font-size:14px}
.panel-row:last-child{border-bottom:none}
.panel-row:nth-child(odd){background:rgba(234,227,209,.5)}
.panel-row .idx{font-family:var(--mono);font-size:11px;color:var(--brass-deep)}
.panel-row .role{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft)}
.panel-row.officer{background:var(--dark);color:var(--cream)}
.panel-row.officer .role{color:var(--brass-bright)}
.q-list .field{display:flex;gap:12px;align-items:flex-start}
.q-list .qnum{font-family:var(--serif);font-style:italic;font-size:22px;color:var(--brass-deep);padding-top:8px;width:30px}
.level-pick{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:24px}
@media(max-width:680px){.level-pick{grid-template-columns:1fr}}
.level-opt{border:1px solid var(--line-strong);padding:20px;cursor:pointer;background:var(--paper);transition:all .18s var(--ease)}
.level-opt.sel{border-color:var(--brass-deep);box-shadow:0 0 0 3px rgba(184,146,58,.22);background:var(--paper-2)}
.level-opt.locked{opacity:.45;cursor:not-allowed}
.level-opt .lv{font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--brass-deep)}
.level-opt .nm{font-family:var(--serif);font-size:22px;margin:4px 0}
.wiz-nav{display:flex;justify-content:space-between;margin-top:44px}
.preview-toggle{display:flex;align-items:center;gap:10px;font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--amber);margin-top:18px;cursor:pointer;user-select:none}
.preview-toggle input{accent-color:var(--amber)}

/* ---------- results ---------- */
.res-head{padding:clamp(60px,9vh,100px) 0 40px}
.cert-strip{
  display:flex;flex-wrap:wrap;gap:26px;margin-top:30px;padding:16px 0;
  border-top:1px solid var(--line-cream);border-bottom:1px solid var(--line-cream);
  font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:rgba(244,236,216,.55);
}
.cert-strip b{color:var(--brass-bright);font-weight:500}
.level-bar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:26px 0 0}
.level-bar .lab{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:rgba(244,236,216,.55)}
.level-chip{
  font-family:var(--mono);font-size:11px;letter-spacing:.12em;padding:7px 14px;cursor:pointer;
  border:1px solid var(--line-cream);color:rgba(244,236,216,.6);background:transparent;transition:all .18s var(--ease);
}
.level-chip:hover{border-color:var(--brass-bright);color:var(--brass-bright)}
.level-chip.on{background:var(--brass);color:#171307;border-color:var(--brass-deep)}
.level-chip.locked{opacity:.35;cursor:not-allowed;text-decoration:line-through}

.res-section{padding:clamp(46px,7vh,80px) 0;border-top:1px solid var(--line)}
.res-section.dark-zone{border-top:1px solid var(--line-cream)}
.res-kicker{display:flex;align-items:baseline;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:30px}
.res-kicker h2{font-size:clamp(26px,3vw,38px)}
.tier-badge{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--moss);border:1px solid var(--moss);padding:5px 12px;white-space:nowrap}
.dark-zone .tier-badge{color:#9fd6a4;border-color:rgba(159,214,164,.5)}

/* tally bars */
.tally-block{margin-bottom:34px}
.tally-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap;margin-bottom:10px}
.tally-head .q{font-family:var(--serif);font-size:19px;max-width:62ch}
.tally-head .out{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.out.carry{color:var(--moss)}.out.fail{color:var(--brick)}.out.none{color:var(--amber)}
.tally-bar{display:flex;height:26px;border:1px solid var(--line-strong);overflow:hidden}
.tally-seg{display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:11px;color:#fff;min-width:0;transition:flex-grow .3s var(--ease)}
.tally-seg.y{background:var(--moss)}.tally-seg.n{background:var(--brick)}.tally-seg.c{background:var(--amber)}
.tally-legend{display:flex;gap:20px;font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin-top:8px}
.tally-legend i{display:inline-block;width:9px;height:9px;margin-right:6px}

/* run compare — the signature two-column record */
.run-compare{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line-strong);border:1px solid var(--line-strong);margin-top:34px}
@media(max-width:860px){.run-compare{grid-template-columns:1fr}}
.run-col{background:var(--paper);padding:0}
.run-col .run-head{
  padding:16px 24px;background:var(--dark);color:var(--cream);
  display:flex;justify-content:space-between;align-items:center;
}
.run-col .run-head .rn{font-family:var(--serif);font-size:20px}
.run-col .run-head .rs{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--brass-bright)}
.run-body{padding:24px}
.hansard{margin-bottom:20px}
.hansard .speaker{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--brass-deep);margin-bottom:5px}
.hansard .speaker .who{font-family:var(--serif);font-style:italic;text-transform:none;letter-spacing:0;font-size:14.5px;color:var(--ink)}
.hansard p{font-size:14.5px;line-height:1.65;color:var(--ink-soft)}
.hansard p .vd{font-family:var(--mono);font-size:12px}
.vd.y{color:var(--moss)}.vd.n{color:var(--brick)}.vd.c{color:var(--amber)}
.run-tally{margin:0 24px 24px;padding:14px 18px;border:1px solid var(--line-strong);background:var(--paper-2);font-family:var(--mono);font-size:12.5px;line-height:1.8}
.run-tally .final{font-size:13.5px;letter-spacing:.1em;text-transform:uppercase}
.structure-strip{display:flex;flex-wrap:wrap;gap:1px;background:var(--line-strong);border:1px solid var(--line-strong);border-top:none}
.structure-strip div{flex:1;min-width:150px;background:var(--paper-2);padding:13px 16px;font-family:var(--mono);font-size:11px;letter-spacing:.08em}
.structure-strip b{display:block;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:4px;font-weight:500}

/* roll call */
.roll-scroll{overflow-x:auto;border:1px solid var(--line-strong)}
.roll{width:100%;border-collapse:collapse;font-size:12.5px;min-width:820px}
.roll th,.roll td{padding:9px 12px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}
.roll thead th{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);background:var(--paper-2);border-bottom:2px solid var(--ink)}
.roll td:first-child{font-family:var(--mono);font-size:11px;color:var(--brass-deep)}
.roll .pn{font-family:var(--serif);font-size:15px}
.roll .grp{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft)}
.vote{font-family:var(--mono);font-size:11.5px;font-weight:500}
.vote.y{color:var(--moss)}.vote.n{color:var(--brick)}.vote.c{color:var(--amber)}

/* matrix (multi-run) */
.matrix-scroll{overflow-x:auto;border:1px solid var(--line-cream)}
.matrix{border-collapse:collapse;font-size:11px;min-width:760px;width:100%}
.matrix th,.matrix td{padding:7px 9px;border-bottom:1px solid var(--line-cream);text-align:center}
.matrix th{font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:rgba(244,236,216,.5)}
.matrix td:first-child,.matrix th:first-child{text-align:left;font-family:var(--sans);font-size:12.5px;color:var(--cream);white-space:nowrap}
.cell{width:26px;height:22px;font-family:var(--mono)}
.cell.y{background:rgba(74,122,78,.45);color:#c9e8cc}
.cell.n{background:rgba(160,59,42,.45);color:#eec4ba}
.cell.c{background:rgba(176,125,30,.4);color:#f0d9a8}

/* transcript */
.transcript-shell{border:1px solid var(--line-cream);background:var(--dark-2)}
.transcript-tabs{display:flex;border-bottom:1px solid var(--line-cream)}
.transcript-tab{
  flex:1;padding:14px;font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  background:transparent;border:none;color:rgba(244,236,216,.5);cursor:pointer;border-right:1px solid var(--line-cream);transition:all .18s var(--ease);
}
.transcript-tab:last-child{border-right:none}
.transcript-tab.on{background:var(--dark-3);color:var(--brass-bright)}
.transcript-doc{max-height:560px;overflow-y:auto;padding:34px clamp(20px,4vw,48px);font-size:14.5px;line-height:1.75;color:rgba(244,236,216,.82)}
.transcript-doc h3{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--brass-bright);margin:30px 0 14px;border-bottom:1px solid var(--line-cream);padding-bottom:8px}
.transcript-doc h3:first-child{margin-top:0}
.transcript-doc p{margin-bottom:14px}
.transcript-doc .spk{color:var(--brass-bright);font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase}
.transcript-doc .meta{font-family:var(--mono);font-size:11.5px;color:rgba(244,236,216,.45);margin-bottom:22px}
.transcript-doc::-webkit-scrollbar{width:10px}
.transcript-doc::-webkit-scrollbar-thumb{background:var(--dark-3);border:2px solid var(--dark-2)}

/* persuasion moments */
.moment{display:grid;grid-template-columns:60px 1fr;gap:22px;padding:26px 0;border-bottom:1px solid var(--line-cream)}
.moment:last-child{border-bottom:none}
.moment .glyph{font-family:var(--serif);font-style:italic;font-size:30px;color:var(--brass-bright)}
.moment h3{font-size:20px;margin-bottom:6px}
.moment .src{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:rgba(244,236,216,.45);margin-bottom:10px}
.moment p{font-size:14.5px;color:rgba(244,236,216,.7);max-width:70ch}
.moment blockquote{font-family:var(--serif);font-style:italic;font-size:17px;color:var(--cream);border-left:2px solid var(--brass);padding-left:16px;margin-top:12px;line-height:1.55}

/* locked / upsell */
.locked-card{
  border:1px dashed var(--line-strong);padding:clamp(30px,4vw,50px);text-align:center;
  background:repeating-linear-gradient(-45deg,transparent,transparent 14px,rgba(24,33,25,.025) 14px,rgba(24,33,25,.025) 28px);
}
.dark-zone .locked-card{border-color:var(--line-cream);background:repeating-linear-gradient(-45deg,transparent,transparent 14px,rgba(244,236,216,.03) 14px,rgba(244,236,216,.03) 28px)}
.locked-card .lock-ic{font-family:var(--serif);font-style:italic;font-size:34px;color:var(--brass-deep)}
.dark-zone .locked-card .lock-ic{color:var(--brass-bright)}
.locked-card h3{font-size:24px;margin:10px 0 8px}
.locked-card p{font-size:14px;color:var(--ink-soft);max-width:52ch;margin:0 auto 22px}
.dark-zone .locked-card p{color:rgba(244,236,216,.6)}

/* queued state */
.queued{max-width:640px;margin:0 auto;padding:clamp(80px,12vh,140px) 0;text-align:center}
.queued .gavel{font-family:var(--serif);font-style:italic;font-size:54px;color:var(--brass-deep)}
.queued h1{font-size:clamp(30px,4vw,44px);margin:18px 0 16px}
.queued .clock{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);margin-top:26px;display:inline-block;border:1px solid var(--line-strong);padding:10px 18px}

/* interactive lab (L4) */
.lab-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:30px}
@media(max-width:760px){.lab-grid{grid-template-columns:1fr}}
.lab-panel{border:1px solid var(--line-cream);padding:26px;background:var(--dark-2)}
.lab-panel h3{font-size:20px;margin-bottom:14px}
.lab-panel .lab-note{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--amber);margin-bottom:16px}
.swap-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line-cream);font-size:13.5px;color:rgba(244,236,216,.75)}
.swap-row:last-child{border-bottom:none}
.swap-row .act{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--brass-bright);border:1px solid var(--line-cream);padding:5px 11px;cursor:not-allowed;opacity:.7}
.lab-btn{margin-top:18px;width:100%;justify-content:center;cursor:not-allowed;opacity:.55}

/* distribution */
.dist-block{margin-bottom:26px}
.dist-row{display:grid;grid-template-columns:minmax(180px,300px) 1fr;gap:18px;align-items:center;margin-bottom:14px}
.dist-row .dl{font-size:13.5px;color:rgba(244,236,216,.75)}
.dist-bars{display:flex;gap:5px}
.dist-bar{flex:1;height:34px;border:1px solid var(--line-cream);position:relative;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:10px;color:rgba(244,236,216,.7)}
.dist-bar.carry{background:rgba(74,122,78,.5);color:#d7efda}
.dist-bar.fail{background:rgba(160,59,42,.35);color:#eec4ba}
.dist-bar.none{background:rgba(176,125,30,.35);color:#f0d9a8}
.dist-bar .th{position:absolute;top:-9px;right:3px;font-size:9px;color:var(--brass-bright)}

/* reveal on scroll */
.rv{opacity:0;transform:translateY(16px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  .rv{opacity:1;transform:none;transition:none}
  .seal svg{animation:none}
  *{scroll-behavior:auto!important}
}

/* exec summary doc */
.exec-doc{border:1px solid var(--line-strong);background:var(--paper-2);padding:clamp(26px,4vw,48px);position:relative}
.exec-doc::before{content:"";position:absolute;inset:7px;border:1px solid var(--line);pointer-events:none}
.exec-doc .doc-head{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;border-bottom:2px solid var(--ink);padding-bottom:16px;margin-bottom:22px}
.exec-doc .doc-head .t{font-family:var(--serif);font-size:24px}
.exec-doc .doc-head .m{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);text-align:right}
.exec-doc p{margin-bottom:14px;color:var(--ink-soft);font-size:15px}
.exec-doc p b{color:var(--ink);font-weight:500}
.q-enum{list-style:none;counter-reset:q;margin-top:8px}
.q-enum li{counter-increment:q;padding:12px 0 12px 46px;position:relative;border-bottom:1px solid var(--line);font-size:15px}
.q-enum li::before{content:"Q" counter(q);position:absolute;left:0;top:13px;font-family:var(--serif);font-style:italic;font-size:19px;color:var(--brass-deep)}
.q-enum li:last-child{border-bottom:none}

/* ---- film (landing, dark zone) ---- */
.film{padding-top:0}
.film-frame{
  border:1px solid var(--line-cream);
  padding:10px;
  background:#1a160f;
  box-shadow:0 30px 60px -30px rgba(0,0,0,.8);
}
.film-frame video{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:16/9;
  background:#0a0805;
}

/* ---- grid blowout guard: let 1fr tracks shrink so overflow-x scrollers clip ---- */
.section-grid > *{min-width:0}

/* ---- film: cap width on very wide screens ---- */
.film-frame{max-width:940px}

/* ---- mobile guards: results-page grids ---- */
.run-compare > *, .jury-grid > *, .lab-grid > *, .ev-stats > *, .foot-grid > *, .dist-row > *{min-width:0}
@media(max-width:820px){
  .run-compare{grid-template-columns:1fr}
  .lab-grid{grid-template-columns:1fr}
  .jury-grid{grid-template-columns:1fr}
  .ev-stats{grid-template-columns:1fr 1fr}
  .foot-grid{grid-template-columns:1fr;gap:26px}
  .dist-bars{flex-wrap:wrap}
}

/* ---- prediction test (evidence zone) ---- */
.pred-box{margin-top:44px;border:1px solid var(--brass-deep);padding:26px 30px;background:rgba(184,146,58,.06)}
.pred-label{font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--brass-bright);margin-bottom:14px}
.pred-box p{color:rgba(244,236,216,.78);font-size:15.5px;line-height:1.6;max-width:64ch}
.pred-box p b{color:var(--cream)}
.pred-nums{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line-cream);border:1px solid var(--line-cream);margin:20px 0}
.pred-nums > div{background:var(--dark);padding:16px 18px;min-width:0}
.pred-nums b{display:block;font-family:var(--mono);font-size:19px;font-weight:500;color:var(--brass-bright);margin-bottom:6px}
.pred-nums span{font-size:12.5px;line-height:1.45;color:rgba(244,236,216,.6)}
.pred-punch{font-family:var(--serif);font-style:italic;font-size:18px !important;color:var(--cream) !important;margin:0}
@media(max-width:820px){.pred-nums{grid-template-columns:1fr}}
