/* ════════════════════════════════════════════════════════════
   DEALPORT — CREDIT-PLATFORM REFRAME
   Loads after story.css. Adds the three-engine spine ribbon,
   the Ledger underwriting readout, the nested market tiers,
   and the compounding-engine crossover chart.
   ════════════════════════════════════════════════════════════ */

/* ── Engine spine ribbon · thin progress rail on platform slides ─ */
.spine { display: flex; align-items: flex-start; margin-top: 22px; }
.spine .sp {
  display: flex; align-items: baseline; gap: 11px;
  border-top: 1px solid var(--hair); padding-top: 9px; white-space: nowrap;
}
.spine .sp .sp-i { font-family: 'Geist Mono', ui-monospace, monospace; font-size: 12px; letter-spacing: 0.1em; color: var(--mute); }
.spine .sp .sp-n { font-size: 16px; font-weight: 600; letter-spacing: -0.012em; color: var(--mute); }
.spine .sp .sp-d { font-family: 'Geist Mono', ui-monospace, monospace; font-size: 10.5px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--hair-strong); }
.spine .sp.active { border-top: 2px solid var(--blue); padding-top: 8px; }
.spine .sp.active .sp-i { color: var(--blue); }
.spine .sp.active .sp-n { color: var(--ink); }
.spine .sp.active .sp-d { color: var(--blue); }
.spine .sp-line { flex: 1; height: 1px; background: var(--hair); margin: 0 20px; position: relative; }
.spine .sp-line::after {
  content: ""; position: absolute; right: -1px; top: -4px;
  border-top: 4px solid transparent; border-bottom: 4px solid transparent;
  border-left: 7px solid var(--hair-strong);
}

/* Top-right engine status tag (matches NOW/NEXT convention) */
.engine-tag {
  position: absolute; top: 40px; right: var(--pad-x); z-index: 6;
  font-family: 'Geist Mono', ui-monospace, monospace;
  font-size: 12.5px; letter-spacing: 0.13em; text-transform: uppercase;
  color: var(--mute); white-space: nowrap; text-align: right;
}
.engine-tag b { color: var(--blue); font-weight: 500; }
.engine-tag.dev b { color: var(--ink); }

/* ── Ledger · underwriting readout (mirrors Scout layout) ──────── */
.engine-story { display: grid; grid-template-columns: 1.12fr 1fr; gap: 80px; flex: 1; min-height: 0; margin-top: 28px; align-items: stretch; }
.engine-story .steps { display: flex; flex-direction: column; justify-content: center; }
.engine-story .stp { display: grid; grid-template-columns: 70px 1fr; gap: 24px; padding: 28px 0; border-top: 1px solid var(--hair); align-items: baseline; }
.engine-story .stp:first-child { border-top: none; }
.engine-story .stp .sn { font-family: 'Geist Mono', ui-monospace, monospace; font-size: 16px; letter-spacing: 0.1em; color: var(--blue); }
.engine-story .stp .sh { font-size: 31px; font-weight: 600; letter-spacing: -0.02em; color: var(--ink); }
.engine-story .stp .sd { font-size: 20px; line-height: 1.45; color: var(--mute); margin-top: 8px; letter-spacing: -0.005em; }
.engine-story .stp .sd b { color: var(--ink); font-weight: 600; }

.ledger-stage { position: relative; min-height: 0; display: flex; align-items: center; justify-content: center; padding: 40px; }
.ledger-readout { width: 100%; max-width: 580px; background: #fff; border: 1px solid var(--hair-strong); box-shadow: 0 16px 44px rgba(17,24,39,0.24); }
.lr-head { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 15px 22px; border-bottom: 1px solid var(--hair); }
.lr-head .lr-t { font-family: 'Geist Mono', ui-monospace, monospace; font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--blue); }
.lr-head .lr-st { font-family: 'Geist Mono', ui-monospace, monospace; font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--mute); display: flex; align-items: center; gap: 8px; }
.lr-head .lr-st::before { content: ""; width: 7px; height: 7px; border-radius: 999px; background: var(--blue); }
.lr-biz { padding: 17px 22px; border-bottom: 1px solid var(--hair); }
.lr-biz .lr-name { font-size: 23px; font-weight: 600; letter-spacing: -0.018em; color: var(--ink); }
.lr-biz .lr-sub { font-family: 'Geist Mono', ui-monospace, monospace; font-size: 11.5px; letter-spacing: 0.11em; text-transform: uppercase; color: var(--mute); margin-top: 6px; }
.lr-sec { padding: 13px 22px; border-bottom: 1px solid var(--hair); }
.lr-sec .lr-k { font-family: 'Geist Mono', ui-monospace, monospace; font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--mute); margin-bottom: 4px; }
.lr-row { display: flex; align-items: center; justify-content: space-between; padding: 7px 0; font-size: 15.5px; color: var(--ink); letter-spacing: -0.004em; }
.lr-row .chk { font-family: 'Geist Mono', ui-monospace, monospace; font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--blue); }
.lr-box { display: flex; gap: 0; }
.lr-box .lb { flex: 1; border-left: 1px solid var(--hair); padding: 4px 0 4px 16px; }
.lr-box .lb:first-child { border-left: none; padding-left: 0; }
.lr-box .lb .lbk { font-family: 'Geist Mono', ui-monospace, monospace; font-size: 10.5px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--mute); }
.lr-box .lb .lbv { font-size: 22px; font-weight: 600; letter-spacing: -0.02em; color: var(--ink); margin-top: 3px; font-variant-numeric: tabular-nums; }
.lr-box .lb .lbv.ok { color: var(--blue); }
.lr-verdict { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 22px; background: var(--tint-03); }
.lr-verdict .vv { font-family: 'Geist Mono', ui-monospace, monospace; font-size: 12px; letter-spacing: 0.11em; text-transform: uppercase; color: var(--mute); }
.lr-verdict .vv b { color: var(--ink); font-weight: 500; }
.lr-verdict .v-tag { font-family: 'Geist Mono', ui-monospace, monospace; font-size: 13px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--blue); border: 1px solid var(--tint-border); padding: 9px 15px; white-space: nowrap; }

/* ── Market · nested wedge → relationship → market tiers ──────── */
.market-bars { display: flex; flex-direction: column; gap: 34px; margin-top: 44px; flex: none; justify-content: center; min-height: 0; }
.mbar { display: flex; flex-direction: column; gap: 14px; }
.mb-head { display: flex; align-items: baseline; gap: 22px; }
.mb-k { font-family: 'Geist Mono', ui-monospace, monospace; font-size: 14px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--mute); min-width: 178px; }
.mbar.wedge .mb-k, .mbar.rel .mb-k { color: var(--blue); }
.mb-v { font-size: 46px; font-weight: 600; letter-spacing: -0.03em; color: var(--ink); line-height: 1; font-variant-numeric: tabular-nums; }
.mb-v span { font-size: 22px; font-weight: 500; color: var(--mute); letter-spacing: -0.01em; }
.mb-note { margin-left: auto; font-size: 19px; color: var(--mute); letter-spacing: -0.006em; text-align: right; }
.mb-note b { color: var(--ink); font-weight: 600; }
.mb-track { height: 30px; background: repeating-linear-gradient(90deg, transparent 0, transparent 5px, rgba(17,24,39,0.04) 5px, rgba(17,24,39,0.04) 6px); position: relative; }
.mb-fill { height: 100%; }
.mbar.wedge .mb-fill { background: var(--blue); }
.mbar.rel .mb-fill { background: rgba(11,92,255,0.34); }
.mbar.market .mb-fill { background: var(--tint-08); border-right: 2px solid var(--tint-border); }
.market-backdrop { font-family: 'Geist Mono', ui-monospace, monospace; font-size: 13.5px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--mute); margin-top: 18px; }
.market-backdrop b { color: var(--ink); font-weight: 500; }

/* ── Compounding engine · land → expand → compound ────────────── */
.compound-main { display: flex; flex: 1; min-height: 0; overflow: hidden; margin-top: 24px; }
.compound-chart { flex: 1; min-height: 0; display: flex; flex-direction: column; border-top: 1px solid var(--ink); padding-top: 18px; }
.cc-legend { display: flex; gap: 32px; margin-bottom: 10px; }
.cc-legend .lg { display: flex; align-items: center; gap: 10px; font-family: 'Geist Mono', ui-monospace, monospace; font-size: 12.5px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--mute); }
.cc-legend .lg .sw { width: 22px; height: 3px; }
.cc-legend .lg .sw.acq { background: var(--slate); }
.cc-legend .lg .sw.exp { background: var(--blue); }
.compound-chart svg { width: 100%; height: 100%; flex: 1; min-height: 0; display: block; }
.compound-beats { display: flex; flex-direction: column; justify-content: center; }
.compound-beats .cb { border-top: 1px solid var(--hair); padding: 15px 0; display: flex; flex-direction: column; gap: 6px; }
.compound-beats .cb:first-child { border-top: 1px solid var(--ink); }
.cb .cb-i { font-family: 'Geist Mono', ui-monospace, monospace; font-size: 14px; letter-spacing: 0.12em; color: var(--blue); }
.cb .cb-h { font-size: 24px; font-weight: 600; letter-spacing: -0.02em; color: var(--ink); }
.cb .cb-d { font-size: 16px; line-height: 1.4; color: var(--mute); letter-spacing: -0.005em; }
.cb .cb-d b { color: var(--ink); font-weight: 600; }
.cmetrics { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--ink); margin-top: 12px; }
.cmetrics .cm { border-left: 1px solid var(--hair); padding: 14px 0 4px 30px; }
.cmetrics .cm:first-child { border-left: none; padding-left: 0; }
.cmetrics .cm .cmv { font-size: 34px; font-weight: 600; letter-spacing: -0.03em; color: var(--ink); line-height: 1; font-variant-numeric: tabular-nums; }
.cmetrics .cm .cmv em { font-style: normal; color: var(--blue); }
.cmetrics .cm .cmk { font-family: 'Geist Mono', ui-monospace, monospace; font-size: 11.5px; letter-spacing: 0.11em; text-transform: uppercase; color: var(--mute); margin-top: 10px; line-height: 1.5; max-width: 240px; }

/* ── Solution slide · the three-agent map (hero) ──────────────── */
.agent-map { flex: none; min-height: 0; display: flex; flex-direction: column; justify-content: center; margin-top: 40px; }
.am-rail { display: flex; align-items: stretch; }
.am-node { flex: 1; border-top: 2px solid var(--blue); padding-top: 24px; display: flex; flex-direction: column; gap: 16px; }
.am-node .am-k { font-family: 'Geist Mono', ui-monospace, monospace; font-size: 14px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--blue); }
.am-node .am-k .am-i { color: var(--mute); margin-right: 10px; }
.am-node .am-n { font-size: 60px; font-weight: 600; letter-spacing: -0.03em; color: var(--ink); line-height: 1; }
.am-node .am-r { font-size: 21px; font-style: italic; color: var(--ink); font-weight: 500; letter-spacing: -0.008em; margin-top: -4px; }
.am-node .am-d { font-size: 19.5px; line-height: 1.45; color: var(--mute); letter-spacing: -0.005em; max-width: 420px; }
.am-arrow { display: flex; align-items: flex-start; padding: 22px 40px 0; color: var(--blue); font-size: 30px; line-height: 1; font-family: 'Geist Mono', ui-monospace, monospace; }

/* ── Vault slide · crypto warehouse hero column ───────────────── */
.endgame .eg.hero { background: var(--tint-03); margin: -12px -16px -28px; padding: 22px 28px 28px; }
.endgame .eg.hero .ek { color: var(--blue); }
.endgame .eg.hero .eh { color: var(--blue-deep); }
.endgame .eg.hero .now { color: var(--blue-deep); }

/* ── v3 declutter: layout overrides for stripped tag columns ──── */
.roster .ro { grid-template-columns: 1fr auto; }
.am-rail { gap: 76px; }
.scout-story .stp, .engine-story .stp { grid-template-columns: 1fr; }

/* ── Merged "The Market" slide ────────────────────────────────── */
.market-hero { display: grid; grid-template-columns: auto 1fr; gap: 80px; align-items: center; margin-top: 32px; }
.market-buyers { font-size: 25px; line-height: 1.45; color: var(--mute); letter-spacing: -0.008em; border-top: 1px solid var(--hair); padding-top: 22px; margin-top: 30px; }
.market-buyers b { color: var(--ink); font-weight: 600; }

/* ── Compounding · per-owner financing timeline ───────────────── */
.owner-tl { margin-top: 30px; }
.otl-tag { font-family: 'Geist Mono', ui-monospace, monospace; font-size: 13px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--mute); margin-bottom: 18px; }
.tl-track { display: flex; position: relative; }
.tl-track::before { content: ""; position: absolute; left: 10%; right: 10%; top: 35px; height: 2px; background: var(--hair); }
.tl-node { flex: 1; display: flex; flex-direction: column; align-items: center; text-align: center; position: relative; }
.tl-when { font-family: 'Geist Mono', ui-monospace, monospace; font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--blue); height: 18px; }
.tl-dot { width: 18px; height: 18px; border-radius: 999px; background: #fff; border: 2px solid var(--hair-strong); margin: 8px 0 16px; position: relative; z-index: 2; }
.tl-node.land .tl-dot { background: var(--blue); border-color: var(--blue); }
.tl-name { font-size: 25px; font-weight: 600; letter-spacing: -0.018em; color: var(--ink); }
.tl-node.land .tl-name { color: var(--blue); }
.otl-cap { margin-top: 28px; font-size: 24px; letter-spacing: -0.01em; color: var(--ink); font-weight: 500; }
.otl-cap b { color: var(--blue); font-weight: 600; }

.compound-lower { display: grid; grid-template-columns: 1.55fr 1fr; gap: 56px; flex: 1; min-height: 0; align-items: center; margin-top: 4px; }
.compound-lower .compound-chart { border-top: none; padding-top: 0; }
.compound-lower .compound-chart svg { width: 100%; height: auto; flex: none; min-height: 0; max-height: 300px; }
.cl-side { display: flex; flex-direction: column; gap: 22px; border-left: 1px solid var(--hair); padding-left: 56px; }
.cl-side .cl-cap { font-size: 22px; line-height: 1.45; color: var(--mute); letter-spacing: -0.008em; }
.cl-side .cl-cap b { color: var(--ink); font-weight: 600; }
.cl-side .cl-stat { border-top: 1px solid var(--ink); padding-top: 18px; }
.cl-side .cl-stat .csv { font-size: 56px; font-weight: 600; letter-spacing: -0.03em; color: var(--blue); line-height: 1; }
.cl-side .cl-stat .csk { font-family: 'Geist Mono', ui-monospace, monospace; font-size: 12px; letter-spacing: 0.11em; text-transform: uppercase; color: var(--mute); margin-top: 12px; line-height: 1.5; }

/* ── Raise · larger scale to fill the slide ───────────────────── */
.raise-cols { margin: 60px 0 0; gap: 84px; flex: none; align-items: start; }
.raise-col { border-top: none; padding-top: 0; }
.partner-strip .ps-row .l-hbank img { height: 50px; }
.raise-col .rt { font-size: 16px; }
.raise-col .big { font-size: 100px; }
.raise-col ul { gap: 24px; margin-top: 20px; }
.raise-col ul li { font-size: 25px; line-height: 1.4; padding-left: 24px; }
.raise-col ul li::before { top: 14px; width: 9px; height: 9px; }

/* ── Compounding · chart-only footer caption + stat ───────────── */
.compound-foot { display: flex; align-items: baseline; justify-content: space-between; gap: 56px; border-top: 1px solid var(--hair); padding-top: 20px; margin-top: 14px; }
.cf-cap { font-size: 23px; line-height: 1.4; color: var(--mute); letter-spacing: -0.008em; max-width: 1080px; }
.cf-cap b { color: var(--ink); font-weight: 600; }
.cf-stat { display: flex; align-items: baseline; gap: 16px; white-space: nowrap; }
.cf-stat .cfv { font-size: 48px; font-weight: 600; letter-spacing: -0.03em; color: var(--blue); line-height: 1; }
.cf-stat .cfk { font-family: 'Geist Mono', ui-monospace, monospace; font-size: 12px; letter-spacing: 0.11em; text-transform: uppercase; color: var(--mute); max-width: 210px; white-space: normal; line-height: 1.45; }

/* ── Go-to-Market · $DEAL network flywheel ────────────────────── */
.gtm-main { display: grid; grid-template-columns: 1fr 1.05fr; gap: 72px; flex: 1; min-height: 0; align-items: center; margin-top: 24px; }
.gtm-main .steps { display: flex; flex-direction: column; justify-content: center; }
.gtm-main .stp { display: block; padding: 22px 0; border-top: 1px solid var(--hair); }
.gtm-main .stp:first-child { border-top: none; }
.gtm-main .stp .sh { font-size: 28px; font-weight: 600; letter-spacing: -0.02em; color: var(--ink); line-height: 1.3; }
.gtm-main .stp .sh .rest { font-weight: 400; color: var(--mute); }

.gtm-token-stage { display: flex; align-items: center; justify-content: center; min-height: 0; }
.gtm-token { position: relative; width: 340px; height: 340px; border-radius: 999px; background: var(--blue); color: #fff; display: flex; align-items: center; justify-content: center; box-shadow: 0 26px 64px rgba(11,92,255,0.30); }
.gtm-token::after { content: ""; position: absolute; inset: -26px; border-radius: 999px; border: 1px solid var(--tint-border); }
.gtm-token span { font-size: 68px; font-weight: 600; letter-spacing: -0.035em; }

.flywheel-stage { display: flex; align-items: center; justify-content: center; min-height: 0; }
.converge { position: relative; width: 100%; max-width: 560px; aspect-ratio: 1.15; }
.converge svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.cv-core { position: absolute; left: 74%; top: 50%; transform: translate(-50%, -50%); width: 132px; height: 132px; border-radius: 999px; background: var(--blue); color: #fff; display: flex; align-items: center; justify-content: center; text-align: center; box-shadow: 0 14px 34px rgba(11,92,255,0.30); }
.cv-core .cc-t { font-size: 27px; font-weight: 600; letter-spacing: -0.02em; }
.cv-node { position: absolute; left: 0; width: 27%; transform: translateY(-50%); text-align: right; }
.cv-node .cv-t { font-size: 19px; font-weight: 500; letter-spacing: -0.008em; color: var(--ink); }

.gtm-diff { font-size: 22px; line-height: 1.4; letter-spacing: -0.01em; color: var(--ink); border-top: 1px solid var(--ink); padding-top: 20px; margin-top: 14px; max-width: 1500px; }
.gtm-diff b { color: var(--blue); font-weight: 600; }
