/* Deliverance Road deck tokens. No em/en dashes anywhere. Shared across company decks. */
:root{
  --dr-ink:#0F1F2A; --dr-ink-90:#1B2D39; --dr-ink-70:#3A4D5C; --dr-ink-40:#8FA0AC;
  --dr-ink-15:#D1D8DD; --dr-ink-08:#E4E9EC;
  --dr-bronze:#B8884A; --dr-bronze-80:#946D3A; --dr-bronze-40:#DDC79B; --dr-bronze-15:#F1E8D6;
  --dr-slate:#58708A; --dr-slate-80:#455A70; --dr-slate-40:#A1B0C0; --dr-slate-15:#DDE3EA;
  --dr-jade:#2F7F6B; --dr-jade-15:#D5E5E1;
  --dr-clay:#C0613D; --dr-clay-15:#F1D8CD;
  --dr-paper:#F3EFE8; --dr-paper-soft:#E8E2D6; --dr-white:#FFFFFF;
  --fg-1:var(--dr-ink); --fg-2:var(--dr-ink-70); --fg-3:var(--dr-ink-40);
  --bg-1:var(--dr-paper); --bg-2:var(--dr-paper-soft); --bg-card:var(--dr-white);
  --rule-1:var(--dr-ink-15); --rule-2:var(--dr-ink-08);
  --font-serif:'Source Serif 4','Charter',Georgia,serif;
  --font-sans:'IBM Plex Sans','Helvetica Neue',Arial,sans-serif;
  --font-mono:'IBM Plex Mono','SF Mono',Consolas,monospace;
  --ls-display:-0.022em; --ls-heading:-0.012em; --ls-eyebrow:0.16em;
  --hair:1px solid var(--rule-1); --shadow-2:0 4px 12px rgba(15,31,42,.06),0 1px 2px rgba(15,31,42,.04);
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;background:var(--dr-ink-90);}
body{font-family:var(--font-sans); color:var(--fg-1); -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; text-rendering:optimizeLegibility;}
#stage{position:fixed; inset:0; display:flex; align-items:center; justify-content:center;}
#frame{position:relative; width:1280px; height:720px; background:var(--bg-1); overflow:hidden; box-shadow:0 18px 60px rgba(0,0,0,.45); transform-origin:center center;}
.slide{position:absolute; inset:0; padding:46px 60px 40px; display:none; flex-direction:column; background:var(--bg-1);}
.slide.active{display:flex;}
.eyebrow{font-family:var(--font-sans); font-size:11px; font-weight:600; text-transform:uppercase; letter-spacing:var(--ls-eyebrow); color:var(--dr-bronze-80);}
h1,h2,h3{font-family:var(--font-serif); font-weight:400; letter-spacing:var(--ls-heading); margin:0; color:var(--fg-1);}
.display{font-size:52px; line-height:1.05; letter-spacing:var(--ls-display);}
h1{font-size:38px; line-height:1.08; letter-spacing:var(--ls-display);}
h2{font-size:28px; line-height:1.13;}
h3{font-size:18px; line-height:1.2;}
p{margin:0 0 .7em 0; font-size:15px; line-height:1.48; color:var(--fg-2);}
.lead{font-size:18px; line-height:1.55; color:var(--fg-2);}
strong{color:var(--fg-1); font-weight:600;}
.mono{font-family:var(--font-mono); font-variant-numeric:tabular-nums; letter-spacing:0;}
.head{margin-bottom:14px;}
.head .eyebrow{margin-bottom:7px; display:block;}
.head h2{max-width:44ch;}
.kicker-rule{width:44px; height:3px; background:var(--dr-bronze); margin-bottom:12px;}
.grow{flex:1; min-height:0;}
.row{display:flex; gap:20px;}
.col{flex:1; min-width:0;}
.cols-3{display:grid; grid-template-columns:repeat(3,1fr); gap:14px;}
.cols-4{display:grid; grid-template-columns:repeat(4,1fr); gap:12px;}
.cols-2{display:grid; grid-template-columns:1fr 1fr; gap:18px;}
.center-y{justify-content:center;}
.card{background:var(--bg-card); border:var(--hair); border-radius:4px; padding:14px 16px; box-shadow:var(--shadow-2);}
.card.flat{box-shadow:none; background:transparent; border:var(--hair);}
.card h3{margin-bottom:5px;}
.card .eyebrow{margin-bottom:5px; display:block;}
.card p{font-size:13.5px; margin-bottom:0;}
.card.accent-bronze{border-left:4px solid var(--dr-bronze);}
.card.accent-jade{border-left:4px solid var(--dr-jade);}
.card.accent-clay{border-left:4px solid var(--dr-clay);}
.card.accent-slate{border-left:4px solid var(--dr-slate);}
ul.clean{list-style:none; margin:0; padding:0;}
ul.clean li{position:relative; padding-left:17px; margin-bottom:7px; font-size:14px; line-height:1.4; color:var(--fg-2);}
ul.clean li:before{content:""; position:absolute; left:0; top:7px; width:6px; height:6px; background:var(--dr-bronze); border-radius:1px;}
ul.clean li strong{color:var(--fg-1);}
ul.check li:before{background:var(--dr-jade);} ul.warn li:before{background:var(--dr-clay);}
ul.compact li{margin-bottom:5px; font-size:13px;}
.tag{display:inline-block; font-family:var(--font-sans); font-size:10px; font-weight:600; text-transform:uppercase; letter-spacing:.1em; padding:2px 8px; border-radius:999px; border:1px solid var(--rule-1);}
.tag.jade{color:var(--dr-jade); background:var(--dr-jade-15); border-color:transparent;}
.tag.clay{color:var(--dr-clay); background:var(--dr-clay-15); border-color:transparent;}
.tag.bronze{color:var(--dr-bronze-80); background:var(--dr-bronze-15); border-color:transparent;}
table{border-collapse:collapse; width:100%; font-size:13px;}
th,td{text-align:left; padding:5.5px 9px; border-bottom:var(--hair); vertical-align:top; color:var(--fg-2);}
th{font-family:var(--font-sans); font-weight:600; color:var(--fg-1); font-size:10.5px; text-transform:uppercase; letter-spacing:.04em;}
td.r,th.r{text-align:right; font-family:var(--font-mono); font-variant-numeric:tabular-nums;}
td strong{color:var(--fg-1);}
tr:last-child td{border-bottom:none;}
table.tight th, table.tight td{padding:4.5px 8px; font-size:12px;}
.t-pos{color:var(--dr-jade); font-weight:600;} .t-neg{color:var(--dr-clay); font-weight:600;}
tbody tr.total td{border-top:2px solid var(--dr-ink-40); font-weight:600; color:var(--fg-1);}
tbody tr.sub td{background:var(--dr-bronze-15); font-weight:600; color:var(--fg-1);}
.usd{color:var(--dr-ink-40); font-size:11px;}
.stat{display:flex; flex-direction:column; gap:1px;}
.stat .big{font-family:var(--font-serif); font-size:34px; line-height:1; color:var(--dr-bronze); font-weight:600;}
.stat .lbl{font-size:11.5px; color:var(--fg-3); line-height:1.25;}
.stat .sub{font-size:10.5px; color:var(--fg-3); font-family:var(--font-mono);}
.barchart{display:flex; align-items:flex-end; gap:16px; height:200px; padding-top:4px; border-bottom:2px solid var(--dr-ink-15);}
.barchart .bar{flex:1; display:flex; flex-direction:column; justify-content:flex-end; align-items:center; height:100%;}
.barchart .bar .fill{width:56%; background:var(--dr-bronze); border-radius:3px 3px 0 0; position:relative; min-height:4px;}
.barchart .bar.alt .fill{background:var(--dr-slate);}
.barchart .bar .val{font-family:var(--font-mono); font-size:11.5px; color:var(--fg-1); font-weight:600; margin-bottom:4px;}
.barchart .bar .pct{font-family:var(--font-mono); font-size:11px; color:#fff; font-weight:600; position:absolute; top:8px; left:50%; transform:translateX(-50%); text-shadow:0 1px 2px rgba(15,31,42,.35);}
.barlabels{display:flex; gap:16px; margin-top:6px;}
.barlabels span{flex:1; text-align:center; font-family:var(--font-mono); font-size:11px; color:var(--fg-3);}
.stackbar{display:flex; width:100%; height:44px; border-radius:4px; overflow:hidden; box-shadow:var(--shadow-2);}
.stackbar .seg{display:flex; flex-direction:column; align-items:center; justify-content:center; color:#fff; font-family:var(--font-mono); font-size:12px; font-weight:600;}
.stackbar .seg .s-lbl{font-size:9.5px; font-weight:600; opacity:.92; font-family:var(--font-sans); letter-spacing:.02em;}
.seg.s1{background:var(--dr-bronze);} .seg.s2{background:var(--dr-slate);} .seg.s3{background:var(--dr-jade);} .seg.s4{background:var(--dr-ink-70);}
.wcbar{display:flex; flex-direction:column; gap:9px;}
.wcrow{display:flex; align-items:center; gap:11px;}
.wcrow .wlbl{width:210px; font-size:13px; color:var(--fg-2);}
.wcrow .wtrack{flex:1; height:20px; background:var(--dr-ink-08); border-radius:3px; position:relative;}
.wcrow .wfill{height:100%; border-radius:3px; background:var(--dr-slate);}
.wcrow.dio .wfill{background:var(--dr-bronze);} .wcrow.dso .wfill{background:var(--dr-clay);}
.wcrow.dpo .wfill{background:var(--dr-jade);} .wcrow.ccc .wfill{background:var(--dr-ink);}
.wcrow .wval{width:62px; text-align:right; font-family:var(--font-mono); font-size:13px; color:var(--fg-1); font-weight:600;}
.bridge{display:flex; flex-direction:column; gap:0;}
.bridge .brow{display:flex; align-items:center; justify-content:space-between; padding:7px 12px; border-bottom:var(--hair); font-size:13.5px;}
.bridge .brow .blbl{color:var(--fg-2);} .bridge .brow .bval{font-family:var(--font-mono); font-weight:600; color:var(--fg-1);}
.bridge .brow.neg .bval{color:var(--dr-clay);} .bridge .brow.key{background:var(--dr-bronze-15);}
.bridge .brow.key .blbl, .bridge .brow.key .bval{color:var(--dr-ink); font-weight:600;}
.bridge .brow .busd{font-family:var(--font-mono); font-size:11px; color:var(--dr-ink-40); margin-left:10px;}
.node{border:var(--hair); background:var(--bg-card); border-radius:4px; padding:7px 13px; font-size:12.5px; text-align:center; box-shadow:var(--shadow-2); min-width:115px;}
.node .role{font-size:9.5px; color:var(--fg-3); text-transform:uppercase; letter-spacing:.08em;}
.node.ink{background:var(--dr-ink); color:var(--dr-paper); border-color:var(--dr-ink);}
.node.ink .role{color:var(--dr-bronze-40);}
.connector{width:2px; height:14px; background:var(--dr-ink-40); margin:0 auto;}
.arrow-lbl{font-family:var(--font-mono); font-size:10px; color:var(--dr-bronze-80); padding:2px 0;}
.part-tab{position:absolute; top:0; left:0; right:0; height:5px; background:var(--dr-bronze);}
.note{display:none;}
#s-cover{background:var(--dr-ink); color:var(--dr-paper); justify-content:center; padding:56px 70px;}
#s-cover .eyebrow{color:var(--dr-bronze-40);}
#s-cover .display{color:var(--dr-paper); max-width:24ch;}
#s-cover .meta{font-family:var(--font-mono); font-size:13px; color:var(--dr-bronze-40); letter-spacing:.04em;}
#s-cover .draft-mark{display:inline-block; border:1px solid var(--dr-bronze-80); color:var(--dr-bronze-40); font-family:var(--font-mono); font-size:11px; letter-spacing:.14em; text-transform:uppercase; padding:6px 12px; border-radius:2px;}
.divider{background:var(--dr-ink); color:var(--dr-paper); justify-content:center;}
.divider .eyebrow{color:var(--dr-bronze-40); margin-bottom:12px;} .divider h1{color:var(--dr-paper); max-width:26ch;}
#nav{position:fixed; bottom:16px; left:50%; transform:translateX(-50%); z-index:50; display:flex; align-items:center; gap:13px; background:rgba(15,31,42,.82); backdrop-filter:blur(6px); padding:7px 15px; border-radius:999px; color:var(--dr-paper); font-family:var(--font-mono); font-size:12.5px;}
#nav button{background:none; border:1px solid var(--dr-ink-40); color:var(--dr-paper); width:28px; height:28px; border-radius:999px; cursor:pointer; font-size:14px; line-height:1; transition:all .16s;}
#nav button:hover{background:var(--dr-bronze); border-color:var(--dr-bronze); color:var(--dr-ink);}
#counter{min-width:58px; text-align:center; letter-spacing:.08em;}
#progress{position:fixed; top:0; left:0; height:3px; background:var(--dr-bronze); z-index:60; transition:width .2s;}
@media print{#nav,#progress{display:none;} #frame{box-shadow:none;}}
