/* One-pager layout — used on screen (preview + print view) and for print/PDF at Letter. */
.op{--opk:#0F1719;--opm:#5A6B70;--opf:#84969A;--opl:#DCE4E5;--opls:#E9EFEF;--opa:#00707F;--opaw:#E2F0F2;--oppos:#1F6B4D;--opcost:#A8541F;
  width:8.5in;margin:0 auto;padding:.36in .45in .3in;background:#fff;color:var(--opk);
  font-family:"IBM Plex Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:12.3px;line-height:1.4;box-sizing:border-box}
.op *{box-sizing:border-box;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.op .mono,.op-k,.op-eyebrow,.op-ph,.op-q,.op-brand{font-family:"IBM Plex Mono",ui-monospace,Menlo,monospace}
.op-head{display:flex;justify-content:space-between;align-items:flex-end;border-bottom:2px solid var(--opk);padding-bottom:10px}
.op-brand{font-size:23.4px;font-weight:600}.op-brand span{color:var(--opa)}
.op-title{text-align:right}.op-h1{font-size:24.7px;font-weight:600;letter-spacing:-.01em;line-height:1.15}
.op-eyebrow{font-size:11.1px;letter-spacing:.13em;text-transform:uppercase;color:var(--opa);margin-top:4px}
.op-thesis{margin-top:14px;border:1px solid var(--opl);border-left:3px solid var(--opa);border-radius:8px;padding:12px 16px}
.op-q{font-size:10.4px;letter-spacing:.12em;text-transform:uppercase;color:var(--opa);margin-bottom:5px}
.op-a{font-size:20.2px;line-height:1.3;letter-spacing:-.01em;font-weight:500}
.op-a b{color:var(--opa);font-weight:600}
.op-sub{margin-top:6px;color:var(--opm);font-size:12.3px}
.op-costs{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--opl);border:1px solid var(--opl);border-radius:8px;overflow:hidden;margin-top:12px}
.op-cell{background:#fff;color:var(--opk);padding:10px 13px}
.op-k{font-size:9.8px;letter-spacing:.1em;text-transform:uppercase;color:var(--opf)}
.op-cell .op-v{font-size:23.4px;font-weight:600;letter-spacing:-.02em;margin-top:3px;font-variant-numeric:tabular-nums}
.op-cell .op-v span{font-size:11.7px;font-weight:400;color:var(--opm)}
.op-n{font-size:11.1px;color:var(--opm);margin-top:2px}
.op-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:12px;margin-top:12px;align-items:start}
.op-panel{border:1px solid var(--opl);border-radius:8px;overflow:hidden}
.op-ph{font-size:10.4px;letter-spacing:.12em;text-transform:uppercase;color:var(--opa);font-weight:500;padding:8px 12px;border-bottom:1px solid var(--opls);background:#F6F8F8}
.op-ph span{color:var(--opf);text-transform:none;letter-spacing:0;margin-left:6px}
.op-stats{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--opls)}
.op-stat{background:#fff;color:var(--opk);padding:9px 12px}
.op-stat .op-v{font-size:22.1px;font-weight:600;letter-spacing:-.02em;margin-top:2px;font-variant-numeric:tabular-nums}
.op-v.pos{color:var(--oppos)}.op-v.neg{color:var(--opcost)}
.op-ledger{width:100%;border-collapse:collapse;table-layout:fixed;font-size:12.3px}
.op-ledger td,.op-ledger th{color:var(--opk);background:#fff;padding:6px 12px;border-bottom:1px solid var(--opls);vertical-align:top}
.op-ledger td.op-r{width:72px;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:500}
.op-drv{font-weight:500;display:block;color:var(--opk)}.op-basis{display:block;font-size:10.4px;color:var(--opm);margin-top:1px}
.op-barc{width:64px;min-width:64px;padding-right:12px}.op-bar{height:4px;border-radius:3px;background:var(--opa);opacity:.85;margin-top:5px}
.op-total td{border-bottom:0;border-top:2px solid var(--opl);font-weight:600}
.op-assume{margin-top:12px;border:1px solid var(--opl);border-radius:8px;overflow:hidden}
.op-chips{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--opls)}
.op-chip{background:#fff;color:var(--opk);padding:6px 10px;display:flex;justify-content:space-between;gap:6px;font-size:11.1px}
.op-chip span{color:var(--opm)}.op-chip b{font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.op-foot{margin-top:12px;padding-top:8px;border-top:1px solid var(--opl);font-size:9.5px;color:var(--opf);line-height:1.35;display:grid;grid-template-columns:1fr auto;gap:14px;align-items:end}
.op-site{font-family:"IBM Plex Mono",monospace;font-size:11.7px;font-weight:600;color:var(--opa);white-space:nowrap}
@media print{
  @page{size:Letter;margin:0}
  html,body{background:#fff !important;margin:0;padding:0}
  .op-print{display:block !important}
  .op{box-shadow:none;margin:0;min-height:11in}
}
