/* Kanza — subscriber Investment Brief components (institutional system).
   Loaded after kanza-tokens.css; provides the long-form brief body styles
   (TOC, numbered sections, financial tables, callouts, football field) plus the
   few shared components the brief body uses that aren't in the token layer.
   Palette inherits the institutional :root tokens. */

/* shared bits the brief body relies on */
.metric-strip{display:flex;border-top:1.5px solid var(--hair-d);border-bottom:1.5px solid var(--hair-d);flex-wrap:wrap}
.metric-strip .m{flex:1;padding:18px 20px;border-right:1px solid var(--hair)}
.metric-strip .m:last-child{border-right:0}
.metric-strip .mv{font-family:"Playfair Display",Georgia,serif;font-weight:800;font-size:30px;line-height:1}
.metric-strip .mv.red{color:var(--oxblood)}
.metric-strip .ml{margin-top:7px}
.hero{padding:0}
.hero .sub{font-family:"Playfair Display",Georgia,serif;font-style:italic;font-weight:500;font-size:clamp(20px,2.4vw,27px);color:var(--soft);margin:0 0 8px;max-width:46ch}
.mono{font-variant-numeric:tabular-nums}
.rule{height:1.5px;background:var(--hair-d);border:0;margin:0}
.rule.soft{height:1px;background:var(--hair)}
.disclaimer{font-size:12px;line-height:1.6;color:var(--muted);max-width:80ch}
.sigline{font-family:"Playfair Display",Georgia,serif;font-style:italic;font-size:24px;color:var(--ink)}

/* brief chrome */
.brief-badge{display:inline-block;font-family:"Inter",sans-serif;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#fff;background:var(--oxblood);padding:4px 10px;border-radius:2px}
.confbar{font-family:"Inter",sans-serif;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);text-align:right}
.fresh{font-family:"Inter",sans-serif;font-size:11.5px;color:var(--muted);margin-top:14px;padding:9px 13px;background:var(--paper);border:1px solid var(--hair);border-radius:3px}
.fresh b{color:var(--ink)}
.toc{display:flex;flex-wrap:wrap;gap:4px 18px;margin:22px 0 4px;padding:14px 0;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair)}
.toc a{font-family:"Inter",sans-serif;font-size:12px;color:var(--soft)}
.toc a:hover{color:var(--oxblood);text-decoration:none}
.toc .n{color:var(--oxblood);font-weight:700;margin-right:4px}

/* numbered sections */
.secnum{font-family:"Playfair Display",serif;font-weight:800;font-size:13px;color:var(--oxblood);letter-spacing:.04em}
.sec{border-top:1.5px solid var(--hair-d);padding-top:14px;margin-top:46px}
.sec h2{font-family:"Playfair Display",serif;font-weight:700;font-size:26px;margin:6px 0 4px;letter-spacing:-.01em}
.sec .deck{color:var(--soft);font-size:15.5px;max-width:78ch;margin:0 0 18px}

/* financial tables */
.fin{width:100%;border-collapse:collapse;font-size:12.5px;font-variant-numeric:tabular-nums;margin:6px 0}
.fin th{font-family:"Inter",sans-serif;font-size:9.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-weight:600;text-align:right;padding:7px 9px;border-bottom:1.3px solid var(--ink)}
.fin th:first-child{text-align:left}
.fin td{padding:6px 9px;border-bottom:1px solid var(--hair);text-align:right}
.fin td:first-child{text-align:left}
.fin tr.tot td{font-weight:700;border-bottom:1.3px solid var(--ink);border-top:1px solid var(--ink)}
.fin tr.hi td{background:var(--tint)}
.fin .red{color:var(--oxblood);font-weight:600}
.fn{font-size:11px;color:var(--muted);line-height:1.45;margin:6px 0 0}

/* callouts */
.kbox{background:var(--tint);border-left:4px solid var(--oxblood);padding:16px 20px;margin:18px 0;font-family:"Source Serif 4",serif;font-style:italic;font-size:15px;color:var(--soft)}
.kbox .kl{font-family:"Inter",sans-serif;font-style:normal;font-size:9.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--oxblood);display:block;margin-bottom:6px}
.pill{margin:14px 0;padding-left:14px;border-left:3px solid var(--oxblood)}
.pill h4{font-family:"Playfair Display",serif;font-size:16px;margin:0 0 4px}
.pill p{margin:0;color:var(--soft);font-size:14.5px}
.rec{background:var(--ink);color:var(--on-dark);padding:22px 26px;border-radius:4px;margin:18px 0}
.rec .rl{font-family:"Inter",sans-serif;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--on-dark-link);margin-bottom:8px}
.rec b{color:#fff}
.falsify{border:1px solid var(--oxblood);border-radius:4px;padding:16px 20px;margin:18px 0}
.falsify .fl{font-family:"Inter",sans-serif;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--oxblood);margin-bottom:8px}
.falsify ul{margin:0;padding-left:18px}
.falsify li{margin-bottom:5px;font-size:14.5px;color:var(--soft)}

/* football field + catalyst timeline */
.ff{display:grid;grid-template-columns:160px 1fr 130px;gap:6px 14px;align-items:center;font-size:13px;margin-top:8px}
.ff .m{font-family:"Inter",sans-serif;font-size:11px;text-transform:uppercase;letter-spacing:.03em;color:var(--soft)}
.ff .bar{height:16px;background:var(--oxblood);opacity:.85;border-radius:1px}
.ff .rng{text-align:right;font-variant-numeric:tabular-nums;color:var(--ink)}
.tl{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:16px 0 4px}
.tl .e{border-top:2px solid var(--oxblood);padding-top:8px}
.tl .e .d{font-family:"Inter",sans-serif;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--oxblood)}
.tl .e .t{font-size:13.5px;color:var(--soft);margin-top:3px}

@media(max-width:760px){
  .ff{grid-template-columns:120px 1fr 100px}
  .fin{font-size:11px}
  .tl{grid-template-columns:1fr 1fr}
}
@media print{
  .macro,.head,.toc,.foot{display:none!important}
  body{background:#fff;font-size:11pt}
  .sec{break-inside:avoid}
  .rec{background:#222!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  a{color:var(--ink)!important;text-decoration:none}
  @page{margin:14mm}
}

/* ---- The Brief reader (The Tape) — institutional skin for the daily reader (brief.html) ---- */
.brief{max-width:820px;margin:0 auto}
.brief .ed{font-family:var(--ff-ui),"Inter",sans-serif;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.brief h1{font-family:var(--ff-display),"Playfair Display",serif;font-weight:800;font-size:clamp(30px,5vw,46px);letter-spacing:-.015em;margin:6px 0 2px}
.brief .lead{font-size:17px;line-height:1.6;max-width:62ch;color:var(--soft)}
.tape{display:flex;flex-wrap:wrap;border-top:1.5px solid var(--hair-d);border-bottom:1.5px solid var(--hair-d);padding:14px 0;font-variant-numeric:tabular-nums}
.tape .ti{flex:1;min-width:120px;padding:0 18px;border-right:1px solid var(--hair)}
.tape .ti:last-child{border-right:0}
.tape .tk{font-family:var(--ff-ui),"Inter",sans-serif;font-size:10px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);font-weight:600}
.tape .tv{font-family:var(--ff-display),"Playfair Display",serif;font-weight:800;font-size:22px;line-height:1.1;margin-top:4px}
.tape .tc{font-family:var(--ff-ui),"Inter",sans-serif;font-size:11px;font-weight:600;margin-left:6px}
.tape .tc.up{color:var(--up)}.tape .tc.dn{color:var(--oxblood)}
.tape .tn{font-family:var(--ff-ui),"Inter",sans-serif;font-size:10.5px;color:var(--muted);margin-top:1px}
.brief .story{border-top:1px solid var(--hair);padding:20px 0}
.brief .story .kk{font-family:var(--ff-ui),"Inter",sans-serif;font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--oxblood)}
.brief .story h2{font-family:var(--ff-display),"Playfair Display",serif;font-weight:800;font-size:24px;line-height:1.15;margin:5px 0 8px}
.brief .story p{font-size:16px;color:var(--ink);line-height:1.65;margin:0 0 6px}
.brief .story .src{font-family:var(--ff-ui),"Inter",sans-serif;font-size:11px;color:var(--muted);margin:6px 0 2px}
.brief .story .go{font-family:var(--ff-ui),"Inter",sans-serif;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--oxblood);margin-top:8px;display:inline-block}
.watchbox{border-top:2px solid var(--oxblood);padding-top:12px}
.watchbox .h{font-family:var(--ff-ui),"Inter",sans-serif;font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.watchbox ul{padding:0;margin:0}
.watchbox li{list-style:none;font-size:14px;color:var(--ink);padding:7px 0;border-bottom:1px solid var(--hair);display:flex;justify-content:space-between;gap:12px}
.watchbox .w{font-family:var(--ff-ui),"Inter",sans-serif;font-size:11px;color:var(--muted);white-space:nowrap}
.archive{border-top:1.5px solid var(--hair-d);margin-top:34px;padding-top:18px}
.archive a{display:flex;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px solid var(--hair);color:var(--ink)}
.archive a:hover{text-decoration:none;color:var(--oxblood)}
.archive .ad{font-family:var(--ff-ui),"Inter",sans-serif;font-size:11px;color:var(--muted);white-space:nowrap}
@media(max-width:760px){.tape .ti{flex:1 1 40%;border-right:0;padding:8px 12px;border-bottom:1px solid var(--hair)}}

/* ---- Ghost page body components (institutional skin for ghost.html) ---- */
.eyebrow{font-family:var(--ff-ui),"Inter",sans-serif;font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.sec-head{display:flex;align-items:baseline;gap:16px;margin-bottom:24px;flex-wrap:wrap}
.sec-head h2{font-family:var(--ff-display),"Playfair Display",serif;font-weight:700;font-size:30px;margin:0;letter-spacing:-.01em}
.grid{display:grid;gap:26px}
.g2{grid-template-columns:1fr 1fr}
.highlight{background:var(--tint);border-left:4px solid var(--oxblood);padding:22px 26px;border-radius:3px}
.alloc{display:flex;height:30px;border-radius:3px;overflow:hidden;margin:10px 0 4px;border:1px solid var(--hair)}
.alloc span{display:block;height:100%}
@media(max-width:760px){.g2{grid-template-columns:1fr}}
