:root{
  --zp-primary:#062c4c; --zp-accent:#0e4a82; --zp-muted:#505a63; --zp-body:#222;
}
.prose-finance{ color:var(--zp-body); line-height:1.6; }
.prose-finance h1{ color:var(--zp-primary); font-weight:700; margin-bottom:.6rem; }
.prose-finance h2{ color:#000; font-weight:700; margin:1.5rem 0 .6rem; }
.prose-finance h3, .prose-finance h4{ color:var(--zp-primary); font-weight:600; margin:1rem 0 .4rem; }

.prose-finance strong{ color:#111; font-weight:600; }
.prose-finance em{ color:var(--zp-muted); }

.prose-finance .kpi{ font-weight:600; color:var(--zp-primary); }
.prose-finance .hint{ font-style:italic; color:var(--zp-muted); }

.prose-finance ul.tight>li{ margin:.25rem 0; line-height:1.55; }

.prose-finance ol.process{ counter-reset:step; list-style:none; padding-left:0; margin-top:.5rem; }
.prose-finance ol.process>li{ counter-increment:step; margin:.45rem 0 .6rem; padding-left:2.1rem; position:relative; }
.prose-finance ol.process>li::before{
  content:counter(step) "."; position:absolute; left:0; top:0; width:1.75rem; text-align:right;
  font-weight:600; color:var(--zp-accent);
}

.prose-finance .list-title{ font-weight:600; color:#111; margin-top:1.1rem; }
.prose-finance .bar{ height:1px; background:var(--zp-primary); opacity:.1; margin:1rem 0; }
.prose-finance .small{ font-size:.95rem; color:var(--zp-muted); line-height:1.55; }
.prose-finance .accent-number{ font-weight:600; color:var(--zp-primary); }

@media print{
  .prose-finance strong, .prose-finance .kpi{ color:#000; font-weight:600; }
  .prose-finance h2{ color:#000; } .prose-finance .bar{ opacity:.2; }
}
