/* Conservative comparison variant. Scoped so the production deck is unchanged. */

.codex-v2 .cover-product-stage,
.codex-v2 .m-cover-stage {
  background-color: #2347d9;
  background-image:
    linear-gradient(rgba(255, 255, 255, .11) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .11) 1px, transparent 1px),
    radial-gradient(circle at 50% 42%, #4968e8 0, #2347d9 56%, #1838b5 100%);
  background-size: 52px 52px, 52px 52px, 100% 100%;
  background-position: center;
}

.codex-v2 .cover-product-stage > img {
  border-color: rgba(255, 255, 255, .34) !important;
  box-shadow: 0 30px 84px rgba(7, 19, 74, .42) !important;
}

.codex-v2 .market-v2 { padding-left: 0; }

.codex-v2 .market-v2-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(480px, 1fr);
  gap: 86px;
  height: 100%;
}

.codex-v2 .market-v2-copy {
  min-width: 0;
  padding: 112px 0 126px var(--pad-x);
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.codex-v2 .market-v2-copy .slide-head { margin-top: 0; }
.codex-v2 .market-v2-copy .h-title { max-width: 1040px; font-size: 62px; }

.codex-v2 .market-v2-photo {
  margin: 0;
  min-width: 0;
  overflow: hidden;
}

.codex-v2 .market-v2-photo img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: 48% 50%;
}

.codex-v2 .market-v2-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
  border-top: 1px solid var(--hair);
  border-bottom: 1px solid var(--hair);
  padding: 24px 0 25px;
  margin-top: 46px;
}

.codex-v2 .market-v2-stat .n {
  font-size: 42px;
  line-height: 1;
  font-weight: 600;
  letter-spacing: -0.035em;
  white-space: nowrap;
}

.codex-v2 .market-v2-stat .n em { color: var(--blue); font-style: normal; }
.codex-v2 .market-v2-stat .k {
  margin-top: 14px;
  font-size: 12.5px;
  line-height: 1.35;
  letter-spacing: .11em;
  text-transform: uppercase;
  color: var(--mute);
}

.codex-v2 .market-v2-close {
  max-width: 1030px;
  margin-top: 26px;
  font-size: 22px;
  line-height: 1.45;
  letter-spacing: -.008em;
  color: var(--mute);
}

.codex-v2 .market-v2-close b { color: var(--ink); font-weight: 600; }

.codex-v2 .problem-stat {
  border-top: 1px solid var(--hair);
  padding-top: 20px;
  font-size: 17px;
  line-height: 1.45;
  color: var(--mute);
}

.codex-v2 .problem-stat b { color: var(--ink); font-weight: 600; }
.codex-v2 .problem-stat span {
  margin-left: 14px;
  font-size: 12px;
  letter-spacing: .03em;
  color: #8a8f9d;
  white-space: nowrap;
}

.codex-v2 .solution-v2 {
  display: grid;
  grid-template-columns: 1fr 88px 1fr;
  align-items: stretch;
  margin-top: 50px;
}

.codex-v2 .solution-v2-node {
  border-top: 2px solid var(--blue);
  padding: 24px 22px 10px 0;
}

.codex-v2 .solution-v2-node.credit {
  background: var(--tint-03);
  border-color: var(--blue-deep);
  padding-left: 28px;
  padding-right: 28px;
}

.codex-v2 .solution-v2-k,
.codex-v2 .credit-v2-k {
  font-size: 14px;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: var(--blue);
}

.codex-v2 .solution-v2-title {
  margin-top: 18px;
  font-size: 56px;
  line-height: 1;
  font-weight: 600;
  letter-spacing: -.03em;
}

.codex-v2 .solution-v2-copy {
  max-width: 620px;
  margin-top: 20px;
  font-size: 22px;
  line-height: 1.5;
  color: var(--mute);
}

.codex-v2 .solution-v2-arrow,
.codex-v2 .credit-v2-arrow,
.codex-v2 .flywheel-v2-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--blue);
  font-family: 'Geist Mono', ui-monospace, monospace;
  font-size: 30px;
}

.codex-v2 .credit-v2 {
  display: grid;
  grid-template-columns: 1fr 72px 1fr 72px 1fr;
  align-items: stretch;
}

.codex-v2 .credit-v2-step {
  border-top: 2px solid var(--ink);
  padding: 22px 18px 18px 0;
}

.codex-v2 .credit-v2-step.capital {
  border-color: var(--blue);
  background: var(--tint-03);
  padding-left: 24px;
  padding-right: 24px;
}

.codex-v2 .credit-v2-title {
  margin-top: 18px;
  font-size: 32px;
  line-height: 1.15;
  font-weight: 600;
  letter-spacing: -.02em;
}

.codex-v2 .credit-v2-copy {
  margin-top: 13px;
  font-size: 19px;
  line-height: 1.45;
  color: var(--mute);
}

.codex-v2 .traction-v2 {
  display: grid;
  grid-template-columns: .8fr 1fr 1.25fr .8fr;
  gap: 0;
}

.codex-v2 .traction-v2-stat {
  border-left: 1px solid var(--hair);
  padding: 8px 28px;
}

.codex-v2 .traction-v2-stat:first-child { border-left: 0; padding-left: 0; }
.codex-v2 .traction-v2-stat .n {
  font-size: 78px;
  line-height: 1;
  font-weight: 600;
  letter-spacing: -.04em;
  white-space: nowrap;
}
.codex-v2 .traction-v2-stat .n.wide { font-size: 65px; }
.codex-v2 .traction-v2-stat .n em { color: var(--blue); font-style: normal; }
.codex-v2 .traction-v2-stat .k {
  max-width: 260px;
  margin-top: 18px;
  font-size: 15px;
  line-height: 1.4;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--mute);
}

.codex-v2 .traction-partners { margin-top: 54px; padding-top: 20px; }
.codex-v2 .traction-partners .ps-row { justify-content: space-around; }
.codex-v2 .traction-partners .ps-row img { max-width: 210px; object-fit: contain; }

.codex-v2 .gtm-v2 {
  border-top: 1px solid var(--ink);
}

.codex-v2 .gtm-v2-row {
  display: grid;
  grid-template-columns: 250px 1fr;
  gap: 40px;
  align-items: center;
  border-bottom: 1px solid var(--hair);
  padding: 24px 0;
}

.codex-v2 .gtm-v2-label {
  font-size: 14px;
  line-height: 1.35;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--blue);
}

.codex-v2 .gtm-v2-path {
  display: grid;
  grid-template-columns: 1fr 28px 1fr 28px 1.2fr 28px 1.45fr;
  align-items: center;
  gap: 8px;
}

.codex-v2 .gtm-v2-path span {
  font-size: 20px;
  line-height: 1.3;
  font-weight: 500;
  letter-spacing: -.01em;
}

.codex-v2 .gtm-v2-path span.hero { color: var(--blue-deep); font-weight: 600; }
.codex-v2 .gtm-v2-path b { color: var(--hair-strong); font-weight: 400; text-align: center; }

.codex-v2 .gtm-v2-close {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 48px;
  margin-top: 32px;
}

.codex-v2 .gtm-v2-close b {
  font-size: 25px;
  line-height: 1.35;
  color: var(--ink);
}

.codex-v2 .gtm-v2-close span {
  max-width: 650px;
  font-size: 17px;
  line-height: 1.45;
  color: var(--mute);
}

.codex-v2 .flywheel-v2 {
  display: grid;
  grid-template-columns: 1fr 44px 1fr 44px 1fr 44px 1fr 44px 1fr;
  align-items: stretch;
}

.codex-v2 .flywheel-v2-node {
  border-top: 2px solid var(--ink);
  padding-top: 20px;
}

.codex-v2 .flywheel-v2-node.token {
  border-color: var(--blue);
  background: var(--tint-03);
  padding: 20px 18px 18px;
}

.codex-v2 .flywheel-v2-node span {
  display: block;
  font-family: 'Geist Mono', ui-monospace, monospace;
  font-size: 13px;
  color: var(--blue);
  letter-spacing: .1em;
}

.codex-v2 .flywheel-v2-node b {
  display: block;
  margin-top: 14px;
  font-size: 24px;
  line-height: 1.25;
  letter-spacing: -.015em;
}

.codex-v2 .flywheel-v2-note {
  margin-top: 34px;
  font-size: 18px;
  line-height: 1.45;
  color: var(--mute);
}

/* Roadmap timeline */
.codex-v2 .roadmap {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  column-gap: 32px;
  margin-top: 64px;
}
.codex-v2 .roadmap-stop {
  position: relative;
  padding-top: 48px;
}
.codex-v2 .roadmap-stop::before {
  content: "";
  position: absolute;
  top: 34px;
  left: 0;
  right: -32px;
  height: 2px;
  background: var(--hair-strong);
}
.codex-v2 .roadmap-stop:last-child::before { right: 0; }
.codex-v2 .roadmap-stop.live::before { background: var(--blue); }
.codex-v2 .roadmap-stop::after {
  content: "";
  position: absolute;
  top: 27px;
  left: 0;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #fff;
  border: 2px solid var(--hair-strong);
  box-sizing: border-box;
}
.codex-v2 .roadmap-stop.live::after {
  background: var(--blue);
  border-color: var(--blue);
}
.codex-v2 .roadmap-when {
  position: absolute;
  top: 0;
  left: 0;
  font-family: 'Geist Mono', ui-monospace, monospace;
  font-size: 13px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--mute);
}
.codex-v2 .roadmap-stop.live .roadmap-when { color: var(--blue); }
.codex-v2 .roadmap-title {
  display: block;
  font-size: 24px;
  line-height: 1.2;
  letter-spacing: -.015em;
  color: var(--ink);
}
.codex-v2 .roadmap-blurb {
  display: block;
  margin-top: 12px;
  font-size: 15px;
  line-height: 1.45;
  color: var(--mute);
  max-width: 270px;
}

@media screen and (max-width: 820px) {
  .codex-v2 .m-cover-stage > img {
    width: calc(100% - 28px) !important;
    height: calc(100% - 32px) !important;
    margin: 16px 14px;
    border-radius: 9px;
    border: 1px solid rgba(255, 255, 255, .34);
    box-shadow: 0 14px 34px rgba(7, 19, 74, .34);
  }

  .codex-v2 .m-market-photo {
    margin-top: 12px;
    height: 132px;
    border-radius: 12px;
    overflow: hidden;
  }

  .codex-v2 .m-market-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 48%;
  }

  .codex-v2 .m-substats {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }

  .codex-v2 .m-substats--two { margin-top: 24px; gap: 20px 14px; }
  .codex-v2 .m-lender-logos { margin-top: 22px; }
  .codex-v2 .m-lender-logos .lr { justify-content: space-between; gap: 12px; }
  .codex-v2 .m-lender-logos .lr img { max-width: 66px; max-height: 22px; height: auto; }

  .codex-v2 .m-slide--scout .m-lead { font-size: 12.8px; line-height: 1.33; margin-top: 7px; }
  .codex-v2 .m-slide--scout .m-shot { max-height: 142px; }
  .codex-v2 .m-slide--scout .m-shot img { height: 142px; }
  .codex-v2 .m-slide--scout .m-step .sd { font-size: 12.2px; }
}

@media print {
  .codex-v2 .market-v2-photo { break-inside: avoid; }
}

/* ═══════════════════════════════════════════════════════════════
   v7 · Merchant-bank rebuild — new slide components
   ═══════════════════════════════════════════════════════════════ */

/* Pull-quote — larger, cobalt, rules above & below (the defined treatment) */
.codex-v2 .pull {
  border-top: 1px solid var(--hair);
  border-bottom: 1px solid var(--hair);
  margin-top: 44px;
  padding: 26px 0;
  font-size: 36px;
  line-height: 1.22;
  letter-spacing: -.022em;
  font-weight: 500;
  color: var(--blue);
}
.codex-v2 .pull.tight { margin-top: 34px; font-size: 32px; }

/* 03 · Problem — sparse statements */
.codex-v2 .problem-v3 { margin-top: 70px; max-width: 1360px; }
.codex-v2 .problem-v3 .p-line { font-size: 46px; line-height: 1.12; letter-spacing: -.024em; font-weight: 500; color: var(--ink); }
.codex-v2 .problem-v3 .p-sub { margin-top: 30px; font-size: 27px; line-height: 1.45; letter-spacing: -.008em; color: var(--mute); max-width: 1120px; }

/* 04 · Mechanism — 2×2 signal grid */
.codex-v2 .mech-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; margin-top: 40px; }
.codex-v2 .mech-card { background: var(--tint-03); border: 1px solid var(--hair); border-radius: 12px; padding: 26px 30px 28px; }
.codex-v2 .mech-card.key { background: var(--tint-08); border-color: var(--tint-border); }
.codex-v2 .mech-card .ml { font-family: 'Instrument Sans', -apple-system, system-ui, sans-serif; font-size: 15px; letter-spacing: .13em; text-transform: uppercase; color: var(--blue); font-weight: 600; }
.codex-v2 .mech-card .mf { margin-top: 11px; font-size: 22px; line-height: 1.35; letter-spacing: -.01em; color: var(--ink); font-weight: 500; }

/* 05 · Proof — Bio-Janitorial dossier + callouts */
.codex-v2 .proof-stage { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(340px, .88fr); gap: 60px; align-items: center; margin-top: 26px; }
.codex-v2 .dossier { border: 1px solid var(--hair-strong); border-radius: 14px; box-shadow: 0 26px 72px rgba(20, 30, 60, .13); overflow: hidden; background: #fff; }
.codex-v2 .dsr-head { display: flex; align-items: center; gap: 16px; padding: 22px 30px; border-bottom: 1px solid var(--hair); }
.codex-v2 .dsr-name { font-size: 27px; font-weight: 600; letter-spacing: -.02em; line-height: 1.05; }
.codex-v2 .dsr-sub { margin-top: 4px; font-family: 'Instrument Sans', -apple-system, system-ui, sans-serif; font-size: 12.5px; letter-spacing: .06em; text-transform: uppercase; color: var(--mute); }
.codex-v2 .dsr-score { margin-left: auto; display: inline-flex; align-items: center; gap: 8px; font-family: 'Geist Mono', ui-monospace, monospace; font-size: 15px; color: var(--blue); border: 1px solid var(--tint-border); background: var(--tint-03); border-radius: 999px; padding: 6px 15px; white-space: nowrap; }
.codex-v2 .dsr-score i { width: 8px; height: 8px; border-radius: 50%; background: var(--blue); display: inline-block; }
.codex-v2 .dsr-rows { padding: 6px 30px 22px; }
.codex-v2 .dsr-row { display: grid; grid-template-columns: 148px 1fr; gap: 22px; padding: 13px 0; border-bottom: 1px solid var(--hair); align-items: baseline; }
.codex-v2 .dsr-row:last-child { border-bottom: 0; }
.codex-v2 .dsr-k { font-family: 'Instrument Sans', -apple-system, system-ui, sans-serif; font-size: 11.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--mute); padding-top: 2px; }
.codex-v2 .dsr-v { font-size: 16.5px; line-height: 1.45; color: var(--ink); }
.codex-v2 .dsr-v b { font-weight: 600; }
.codex-v2 .dsr-v .mask { font-family: 'Geist Mono', ui-monospace, monospace; letter-spacing: .04em; color: #9aa0ad; }
.codex-v2 .dsr-v .chk { color: var(--blue); font-weight: 600; }
.codex-v2 .dsr-tags { display: flex; flex-wrap: wrap; gap: 7px; }
.codex-v2 .dsr-tag { font-family: 'Geist Mono', ui-monospace, monospace; font-size: 12px; color: var(--blue-deep); background: var(--tint-06); border-radius: 6px; padding: 4px 9px; }
.codex-v2 .dsr-tag.neg { color: var(--mute); background: #f1f2f5; }
.codex-v2 .dsr-mask-note { padding: 0 30px 18px; font-family: 'Instrument Sans', -apple-system, system-ui, sans-serif; font-size: 10.5px; letter-spacing: .08em; text-transform: uppercase; color: #a4a9b5; }
/* callouts */
.codex-v2 .pf-calls { display: flex; flex-direction: column; gap: 30px; }
.codex-v2 .pf-call { position: relative; padding-left: 40px; }
.codex-v2 .pf-call::before { content: ""; position: absolute; left: 0; top: 13px; width: 26px; height: 2px; background: var(--blue); }
.codex-v2 .pf-call::after { content: ""; position: absolute; left: 0; top: 10px; width: 8px; height: 8px; border-radius: 50%; background: var(--blue); }
.codex-v2 .pf-call b { display: block; font-size: 20px; line-height: 1.3; letter-spacing: -.012em; color: var(--ink); font-weight: 600; }
.codex-v2 .pf-call span { display: block; margin-top: 5px; font-size: 15px; line-height: 1.4; color: var(--mute); }
/* figures strip */
.codex-v2 .pf-figs { display: flex; margin-top: 26px; border-top: 1px solid var(--hair); padding-top: 20px; }
.codex-v2 .pf-fig { padding: 0 30px; border-left: 1px solid var(--hair); }
.codex-v2 .pf-fig:first-child { border-left: 0; padding-left: 0; }
.codex-v2 .pf-fig .n { font-size: 31px; font-weight: 600; letter-spacing: -.03em; line-height: 1; white-space: nowrap; }
.codex-v2 .pf-fig .n em { color: var(--blue); font-style: normal; }
.codex-v2 .pf-fig .k { margin-top: 9px; font-family: 'Instrument Sans', -apple-system, system-ui, sans-serif; font-size: 11.5px; letter-spacing: .1em; text-transform: uppercase; color: var(--mute); }

/* 06 · Economics — three-figure progression */
.codex-v2 .econ { display: grid; grid-template-columns: 1fr 88px 1fr 88px 1fr; align-items: center; margin-top: 66px; }
.codex-v2 .econ-fig .n { font-size: 96px; line-height: 1; font-weight: 600; letter-spacing: -.045em; color: var(--blue); white-space: nowrap; }
.codex-v2 .econ-fig.mid .n { font-size: 60px; color: var(--mute); }
.codex-v2 .econ-fig .k { margin-top: 20px; font-family: 'Instrument Sans', -apple-system, system-ui, sans-serif; font-size: 14px; letter-spacing: .1em; text-transform: uppercase; color: var(--mute); max-width: 260px; line-height: 1.5; }
.codex-v2 .econ-arrow { display: flex; align-items: center; justify-content: center; color: var(--hair-strong); font-family: 'Geist Mono', ui-monospace, monospace; font-size: 36px; }

/* 07 · Products — two cards */
.codex-v2 .prod { display: grid; grid-template-columns: 1fr 1fr; gap: 38px; margin-top: 48px; align-items: stretch; }
.codex-v2 .prod-card { border: 1px solid var(--hair-strong); border-radius: 16px; padding: 40px 44px 34px; display: flex; flex-direction: column; }
.codex-v2 .prod-card.b { background: var(--tint-03); border-color: var(--tint-border); }
.codex-v2 .prod-tag { font-family: 'Instrument Sans', -apple-system, system-ui, sans-serif; font-size: 15px; letter-spacing: .16em; text-transform: uppercase; color: var(--blue); font-weight: 600; }
.codex-v2 .prod-price { margin-top: 12px; font-size: 60px; line-height: 1; font-weight: 600; letter-spacing: -.038em; color: var(--ink); }
.codex-v2 .prod-price .u { font-size: 21px; color: var(--mute); font-weight: 500; letter-spacing: -.005em; }
.codex-v2 .prod-list { margin-top: 26px; display: flex; flex-direction: column; gap: 13px; }
.codex-v2 .prod-list div { position: relative; padding-left: 24px; font-size: 21px; line-height: 1.3; color: var(--ink); }
.codex-v2 .prod-list div::before { content: ""; position: absolute; left: 0; top: 10px; width: 9px; height: 9px; border-radius: 50%; background: var(--blue); }
.codex-v2 .prod-note { margin-top: auto; padding-top: 24px; font-style: italic; font-size: 15px; color: var(--mute); line-height: 1.5; }
.codex-v2 .prod-compare { margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--hair); font-size: 15px; line-height: 1.5; color: var(--mute); }
.codex-v2 .prod-compare b { color: var(--ink); font-weight: 600; }

/* 09 · Moat — two curves */
.codex-v2 .moat-cols { margin-top: 40px; }
.codex-v2 .curves { margin-top: 32px; border: 1px solid var(--hair); border-radius: 12px; background: var(--tint-03); padding: 22px 30px 18px; }
.codex-v2 .curves svg { display: block; width: 100%; height: 132px; }
.codex-v2 .curves-cap { margin-top: 4px; display: flex; justify-content: space-between; align-items: baseline; gap: 24px; }
.codex-v2 .curves-cap .c { font-size: 17px; letter-spacing: -.006em; color: var(--mute); }
.codex-v2 .curves-cap .c b { color: var(--ink); font-weight: 600; }

/* 11 · Merchant bank — comparison table */
.codex-v2 .mbank { display: grid; grid-template-columns: 1fr 1fr; margin-top: 44px; border: 1px solid var(--hair); border-radius: 14px; overflow: hidden; }
.codex-v2 .mbank .col.win { background: var(--tint-06); border-left: 2px solid var(--blue); }
.codex-v2 .mbank .h { padding: 20px 32px; font-family: 'Instrument Sans', -apple-system, system-ui, sans-serif; font-size: 15px; letter-spacing: .13em; text-transform: uppercase; border-bottom: 1px solid var(--hair); }
.codex-v2 .mbank .col.left .h { color: var(--mute); }
.codex-v2 .mbank .col.win .h { color: var(--blue); border-bottom-color: var(--tint-border); }
.codex-v2 .mbank .r { padding: 21px 32px; font-size: 24px; line-height: 1.22; letter-spacing: -.015em; border-bottom: 1px solid var(--hair); }
.codex-v2 .mbank .col .r:last-child { border-bottom: 0; }
.codex-v2 .mbank .col.left .r { color: var(--mute); }
.codex-v2 .mbank .col.win .r { color: var(--ink); font-weight: 600; }
.codex-v2 .mbank-detail { margin-top: 30px; display: flex; flex-direction: column; gap: 9px; font-size: 20px; line-height: 1.4; color: var(--mute); }
.codex-v2 .mbank-detail b { color: var(--ink); font-weight: 600; }

/* 12 · $DEAL — three tiers, decreasing emphasis */
.codex-v2 .deal-tiers { margin-top: 40px; border-top: 1px solid var(--ink); }
.codex-v2 .deal-tier { display: grid; grid-template-columns: 150px 1fr 300px; gap: 44px; align-items: center; padding: 26px 0; border-bottom: 1px solid var(--hair); }
.codex-v2 .deal-when { font-family: 'Instrument Sans', -apple-system, system-ui, sans-serif; font-size: 14px; letter-spacing: .15em; text-transform: uppercase; color: var(--blue); }
.codex-v2 .deal-main .deal-title { font-size: 27px; font-weight: 600; letter-spacing: -.018em; line-height: 1.1; }
.codex-v2 .deal-main .deal-frags { margin-top: 8px; font-size: 18px; line-height: 1.4; color: var(--mute); }
.codex-v2 .deal-main .deal-frags b { color: var(--ink); font-weight: 600; }
.codex-v2 .deal-gate { font-style: italic; font-size: 15px; line-height: 1.4; color: #8a8f9d; }
.codex-v2 .deal-tier.mid { opacity: .84; }
.codex-v2 .deal-tier.later { opacity: .66; }
.codex-v2 .deal-tier.later .deal-when { color: var(--mute); }

/* 13 · Raise — oversized figure */
.codex-v2 .raise-fig { font-size: 132px; line-height: .92; font-weight: 600; letter-spacing: -.05em; color: var(--blue); }
.codex-v2 .raise-milestones { margin-top: 36px; display: flex; flex-direction: column; gap: 22px; }
.codex-v2 .raise-milestones .rm { border-top: 1px solid var(--hair); padding-top: 16px; }
.codex-v2 .raise-milestones .rm .rmt { font-size: 24px; font-weight: 600; letter-spacing: -.015em; }
.codex-v2 .raise-milestones .rm .rmd { margin-top: 5px; font-size: 18px; color: var(--mute); line-height: 1.4; }
/* three milestones across, cobalt column-rules — replaces the $4M figure + stacked list (v12) */
.codex-v2 .raise-milestones3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 64px; margin-top: 52px; }
.codex-v2 .raise-milestones3 .rm { border-top: 2px solid var(--blue); padding-top: 22px; }
.codex-v2 .raise-milestones3 .rm .rmt { font-size: 26px; font-weight: 600; letter-spacing: -.015em; line-height: 1.1; }
.codex-v2 .raise-milestones3 .rm .rmd { margin-top: 12px; font-size: 19px; color: var(--mute); line-height: 1.45; }

/* ═══════════════════════════════════════════════════════════════
   v7.1 revision — spine, GTM, funnel, scale, flywheel, stacked bar
   ═══════════════════════════════════════════════════════════════ */

/* 04 · How it works — the spine slide */
.codex-v2 .spine { display: grid; grid-template-columns: 1fr 56px 1fr 56px 1fr; align-items: stretch; margin-top: 46px; }
.codex-v2 .spine-col { border-top: 2px solid var(--ink); padding: 22px 22px 0 0; }
.codex-v2 .spine-col.mid, .codex-v2 .spine-col.end { padding-left: 28px; padding-right: 0; }
.codex-v2 .spine-col.end { border-color: var(--blue); }
.codex-v2 .spine-k { font-family: 'Instrument Sans', -apple-system, system-ui, sans-serif; font-size: 15px; letter-spacing: .14em; text-transform: uppercase; color: var(--blue); font-weight: 600; }
.codex-v2 .spine-col .l { margin-top: 15px; font-size: 21px; line-height: 1.34; letter-spacing: -.012em; color: var(--ink); font-weight: 500; }
.codex-v2 .spine-col .l.mute { color: var(--mute); font-weight: 400; font-size: 19px; }
.codex-v2 .spine-arrow { display: flex; align-items: center; justify-content: center; color: var(--hair-strong); font-family: 'Geist Mono', ui-monospace, monospace; font-size: 26px; }

/* GTM flexible progression path (handles 4 or 5 nodes) */
.codex-v2 .gtm-v2-path.flow { display: flex; flex-wrap: nowrap; align-items: center; gap: 4px; }
.codex-v2 .gtm-v2-path.flow span { flex: 0 1 auto; }
.codex-v2 .gtm-v2-path.flow b { flex: 0 0 auto; padding: 0 3px; }

/* 03 · Problem funnel */
.codex-v2 .problem-2 { display: grid; grid-template-columns: 1.05fr .82fr; gap: 76px; align-items: center; margin-top: 4px; }
.codex-v2 .funnel { display: flex; flex-direction: column; gap: 14px; }
.codex-v2 .funnel-bar { display: flex; align-items: center; height: 60px; border-radius: 10px; padding: 0 24px; font-size: 17.5px; font-weight: 500; color: var(--ink); background: var(--tint-06); border: 1px solid var(--hair); letter-spacing: -.006em; }
.codex-v2 .funnel-row.r1 .funnel-bar { width: 100%; }
.codex-v2 .funnel-row.r2 .funnel-bar { width: 68%; }
.codex-v2 .funnel-row.r3 .funnel-bar { width: 42%; background: var(--blue); border-color: var(--blue); color: #fff; }

/* 07 · Economics — scale is the argument (exaggerated) */
.codex-v2 .econ.scale { grid-template-columns: 0.66fr 54px 1fr 54px 1.75fr; align-items: center; }
.codex-v2 .econ.scale .econ-fig.f1 .n { font-size: 34px; color: var(--blue); }
.codex-v2 .econ.scale .econ-fig.f1 .k { margin-top: 10px; }
.codex-v2 .econ.scale .econ-fig.f2 .n { font-size: 60px; color: var(--mute); }
.codex-v2 .econ.scale .econ-fig.f3 .n { font-size: 150px; color: var(--blue); line-height: .9; }
.codex-v2 .econ.scale .econ-fig .k { margin-top: 16px; }

/* 11 · Moat — the loop that runs today */
.codex-v2 .moat-loop { display: grid; grid-template-columns: 1fr 38px 1fr 38px 1fr 38px 1fr 38px 1fr; align-items: stretch; margin-top: 30px; }
.codex-v2 .moat-node { border-top: 2px solid var(--ink); padding-top: 15px; }
.codex-v2 .moat-node.last { border-color: var(--blue); }
.codex-v2 .moat-node b { display: block; font-size: 19px; line-height: 1.2; letter-spacing: -.015em; color: var(--ink); }
.codex-v2 .moat-node.last b { color: var(--blue-deep); }
.codex-v2 .moat-arrow { display: flex; align-items: flex-start; justify-content: center; padding-top: 11px; color: var(--blue); font-family: 'Geist Mono', ui-monospace, monospace; font-size: 20px; }
.codex-v2 .moat-loop-note { margin-top: 15px; font-family: 'Instrument Sans', -apple-system, system-ui, sans-serif; font-size: 13px; letter-spacing: .1em; text-transform: uppercase; color: var(--blue); }

/* 13 · Merchant bank — diverging lines */
.codex-v2 .mbank-2 { display: grid; grid-template-columns: 1.15fr .82fr; gap: 52px; align-items: center; margin-top: 40px; }
.codex-v2 .mbank-2 .mbank { margin-top: 0; }
.codex-v2 .diverge { border: 1px solid var(--hair); border-radius: 12px; background: var(--tint-03); padding: 20px 26px 16px; }
.codex-v2 .diverge svg { display: block; width: 100%; height: 138px; }
.codex-v2 .diverge .lg { margin-top: 8px; display: flex; flex-direction: column; gap: 5px; }
.codex-v2 .diverge .lg div { font-size: 14px; line-height: 1.35; color: var(--mute); }
.codex-v2 .diverge .lg b { color: var(--ink); font-weight: 600; }

/* 15 · Raise — stacked use-of-capital bar */
.codex-v2 .stackbar { display: flex; width: 100%; height: 24px; border-radius: 7px; overflow: hidden; margin-top: 10px; }
.codex-v2 .stackbar span { display: block; height: 100%; }
.codex-v2 .stack-legend { margin-top: 24px; display: flex; flex-direction: column; gap: 15px; }
.codex-v2 .stack-legend .row { display: grid; grid-template-columns: 13px 1fr auto; gap: 15px; align-items: baseline; }
.codex-v2 .stack-legend .dot { width: 12px; height: 12px; border-radius: 3px; position: relative; top: 2px; }
.codex-v2 .stack-legend .lb { font-size: 19px; color: var(--ink); }
.codex-v2 .stack-legend .lb span { display: block; color: var(--mute); font-size: 14px; margin-top: 2px; }
.codex-v2 .stack-legend .pc { font-size: 22px; font-weight: 600; letter-spacing: -.01em; }

/* ═══════════════════════════════════════════════════════════════
   v7.2 · device-rotation pass — no two adjacent slides alike
   ═══════════════════════════════════════════════════════════════ */

/* 03 · Problem — copy left, full-bleed photo right */
.codex-v2 .prob-grid { display: grid; grid-template-columns: 1.5fr 1fr; height: 100%; }
.codex-v2 .prob-copy { padding: var(--pad-y) 76px var(--pad-y) var(--pad-x); align-self: stretch; display: flex; flex-direction: column; justify-content: center; }
.codex-v2 .p-body { margin-top: 28px; font-size: 26px; line-height: 1.45; letter-spacing: -.008em; color: var(--mute); max-width: 920px; }
.codex-v2 .p-kicker { margin-top: 28px; font-size: 31px; line-height: 1.25; letter-spacing: -.018em; font-weight: 600; color: var(--ink); max-width: 920px; }
.codex-v2 .prob-photo { position: relative; overflow: hidden; background: #0a0a0a; }
.codex-v2 .prob-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
/* interim caption shown only until a real photo is dropped in */
.codex-v2 .prob-photo .ph-note { position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); font-family: 'Instrument Sans', sans-serif; font-size: 12px; letter-spacing: .16em; text-transform: uppercase; color: rgba(255,255,255,.5); text-align: center; line-height: 1.8; }

/* 04 · How it works — four-stage flow on a blue rule, no cards */
.codex-v2 .flow4 { display: grid; grid-template-columns: repeat(4, 1fr); column-gap: 44px; margin-top: 58px; }
.codex-v2 .flow4-stage { position: relative; padding-top: 44px; }
.codex-v2 .flow4-stage::before { content: ""; position: absolute; top: 8px; left: 0; right: -44px; height: 2px; background: var(--blue); opacity: .30; }
.codex-v2 .flow4-stage:last-child::before { right: 0; }
.codex-v2 .flow4-stage::after { content: ""; position: absolute; top: 2px; left: 0; width: 15px; height: 15px; border-radius: 50%; background: var(--blue); box-sizing: border-box; }
.codex-v2 .flow4-k { font-family: 'Instrument Sans', sans-serif; font-size: 14.5px; letter-spacing: .13em; text-transform: uppercase; color: var(--blue); font-weight: 600; }
.codex-v2 .flow4-k .n { font-family: 'Geist Mono', ui-monospace, monospace; color: var(--blue-deep); margin-right: 9px; }
.codex-v2 .flow4-copy { margin-top: 13px; font-size: 20px; line-height: 1.42; letter-spacing: -.008em; color: var(--ink); }

/* 08 · Products — hairline columns, no fills */
.codex-v2 .prod-hair { display: grid; grid-template-columns: 1fr 1fr; margin-top: 50px; }
.codex-v2 .prod-hair .pc { padding: 4px 56px; }
.codex-v2 .prod-hair .pc:first-child { padding-left: 0; }
.codex-v2 .prod-hair .pc + .pc { border-left: 1px solid var(--hair); }

/* 09 · GTM — index note under the first bar */
.codex-v2 .gtm-v2-note { margin: 4px 0 0; padding: 0 0 4px; font-size: 16px; line-height: 1.45; color: var(--mute); max-width: 1180px; }
.codex-v2 .gtm-v2-note b { color: var(--ink); font-weight: 600; }

/* 11 · Moat — circular flywheel (the only true diagram) */
.codex-v2 .moat-2 { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: 40px; align-items: center; margin-top: 24px; }
.codex-v2 .flywheel { position: relative; width: 480px; height: 480px; flex: none; margin: 0 auto; }
.codex-v2 .fw-ring { position: absolute; inset: 0; width: 480px; height: 480px; }
.codex-v2 .moat-fw { text-align: center; }
.codex-v2 .fw-caption { margin-top: 6px; font-family: 'Instrument Sans', sans-serif; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--mute); }
.codex-v2 .fw-node { position: absolute; transform: translate(-50%,-50%); display: inline-flex; align-items: center; gap: 8px; background: #fff; padding: 8px 15px; border: 1px solid var(--hair-strong); border-radius: 999px; font-size: 15px; font-weight: 600; letter-spacing: -.01em; color: var(--ink); white-space: nowrap; box-shadow: 0 3px 12px rgba(20,30,60,.07); }
.codex-v2 .fw-node i { width: 8px; height: 8px; border-radius: 50%; background: var(--blue); }
.codex-v2 .fw-node.last { border-color: var(--blue); color: var(--blue-deep); }
.codex-v2 .fw-node.last i { background: var(--blue-deep); }
.codex-v2 .fw-n0 { left: 240px; top: 65px; }
.codex-v2 .fw-n1 { left: 406px; top: 186px; }
.codex-v2 .fw-n2 { left: 343px; top: 382px; }
.codex-v2 .fw-n3 { left: 137px; top: 382px; }
.codex-v2 .fw-n4 { left: 74px; top: 186px; }
.codex-v2 .moat-blocks { display: flex; flex-direction: column; gap: 22px; }
.codex-v2 .moat-blocks .mb { border-top: 1px solid var(--ink); padding-top: 14px; }
.codex-v2 .moat-blocks .mb .k { font-family: 'Instrument Sans', sans-serif; font-size: 14.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--blue); font-weight: 500; }
.codex-v2 .moat-blocks .mb .d { margin-top: 7px; font-size: 20px; line-height: 1.4; letter-spacing: -.008em; color: var(--ink); }
.codex-v2 .moat-blocks .mb .d span { color: var(--mute); }

/* 13 · The model — accumulating squares, one graphic */
.codex-v2 .squares { display: flex; flex-direction: column; gap: 16px; }
.codex-v2 .squares .grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; max-width: 360px; }
.codex-v2 .squares .sq { aspect-ratio: 1; border-radius: 6px; background: var(--blue); }
.codex-v2 .squares .sq:nth-child(1) { opacity: .28 } .codex-v2 .squares .sq:nth-child(2) { opacity: .36 }
.codex-v2 .squares .sq:nth-child(3) { opacity: .44 } .codex-v2 .squares .sq:nth-child(4) { opacity: .52 }
.codex-v2 .squares .sq:nth-child(5) { opacity: .60 } .codex-v2 .squares .sq:nth-child(6) { opacity: .68 }
.codex-v2 .squares .sq:nth-child(7) { opacity: .76 } .codex-v2 .squares .sq:nth-child(8) { opacity: .84 }
.codex-v2 .squares .sq:nth-child(9) { opacity: .92 } .codex-v2 .squares .sq:nth-child(10) { opacity: 1 }
.codex-v2 .squares .cap { font-family: 'Instrument Sans', sans-serif; font-size: 13px; letter-spacing: .1em; text-transform: uppercase; color: var(--mute); }
.codex-v2 .squares .cap b { color: var(--ink); font-weight: 600; }

/* 14 · $DEAL — three indented bands, no boxes */
.codex-v2 .deal-bands { position: relative; margin-top: 46px; }
/* faint full-width timeline behind the stepped bands */
.codex-v2 .deal-bands::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 1px; background: var(--hair); }
.codex-v2 .deal-band { position: relative; padding: 34px 0 34px 108px; border-top: 2px solid var(--blue); }
.codex-v2 .deal-band.b2 { margin-left: 15%; }
.codex-v2 .deal-band.b3 { margin-left: 30%; }
.codex-v2 .deal-band .dl { font-family: 'Instrument Sans', sans-serif; font-size: 14px; letter-spacing: .15em; text-transform: uppercase; color: var(--blue); font-weight: 600; }
.codex-v2 .deal-band .dd { margin-top: 11px; font-size: 21px; line-height: 1.42; letter-spacing: -.01em; color: var(--ink); max-width: 1180px; }
.codex-v2 .deal-band .dd b { font-weight: 600; }

/* ═══════════════════════════════════════════════════════════════
   v7.3 · fix pass — robust economics scale, GTM bars, UoC, close photo
   ═══════════════════════════════════════════════════════════════ */

/* 07 · Economics — rebuilt: dramatic scale, flex (no grid clipping) */
.codex-v2 .econ3 { margin-top: 40px; display: flex; align-items: flex-end; gap: 60px; flex-wrap: nowrap; }
.codex-v2 .econ3 .ef { flex: 0 0 auto; }
.codex-v2 .econ3 .ef .n { font-weight: 600; letter-spacing: -.04em; line-height: .9; white-space: nowrap; }
.codex-v2 .econ3 .ef .k { margin-top: 14px; font-family: 'Instrument Sans', sans-serif; font-size: 13px; letter-spacing: .1em; text-transform: uppercase; color: var(--mute); }
.codex-v2 .econ3 .ef-a .n { font-size: 44px; color: var(--blue); }
.codex-v2 .econ3 .ef-b .n { font-size: 78px; color: var(--mute); }
.codex-v2 .econ3 .ef-c .n { font-size: 210px; color: var(--blue); letter-spacing: -.055em; }
.codex-v2 .econ3 .ef-c .k { margin-top: 2px; font-size: 15px; }
.codex-v2 .econ3 .arrow { flex: 0 0 auto; align-self: center; color: var(--hair-strong); font-family: 'Geist Mono', ui-monospace, monospace; font-size: 28px; }

/* 09 · GTM — progression bars: dots on a rule, saturation ramp */
.codex-v2 .pbars { margin-top: 32px; border-top: 1px solid var(--ink); }
.codex-v2 .pbar-row { display: grid; grid-template-columns: 240px 1fr; gap: 48px; align-items: center; padding: 24px 0; border-bottom: 1px solid var(--hair); }
.codex-v2 .pbar-label { font-family: 'Instrument Sans', sans-serif; font-size: 14px; letter-spacing: .12em; text-transform: uppercase; color: var(--blue); font-weight: 500; line-height: 1.35; }
.codex-v2 .pbar { position: relative; display: flex; justify-content: space-between; padding: 0 2px; }
.codex-v2 .pbar::before { content: ""; position: absolute; left: 7px; right: 7px; top: 8px; height: 3px; border-radius: 2px; background: linear-gradient(90deg, rgba(35,71,217,.24), rgba(35,71,217,1)); }
.codex-v2 .pstage { position: relative; display: flex; flex-direction: column; align-items: center; gap: 15px; text-align: center; flex: 0 1 auto; max-width: 190px; }
.codex-v2 .pstage .dot { width: 18px; height: 18px; border-radius: 50%; background: var(--blue); border: 3px solid #fff; box-shadow: 0 0 0 1.5px var(--blue); }
.codex-v2 .pstage .lbl { font-size: 16.5px; font-weight: 500; letter-spacing: -.008em; color: var(--ink); line-height: 1.25; }

/* 15 · Raise — use-of-capital: full-width stacked bar, labels under segments */
.codex-v2 .uoc-stack { margin-top: 52px; }
.codex-v2 .uoc-stack .rt { margin-bottom: 12px; }
.codex-v2 .uoc-bar { display: flex; width: 100%; height: 30px; border-radius: 8px; overflow: hidden; }
.codex-v2 .uoc-bar span { display: block; height: 100%; }
.codex-v2 .uoc-labels { display: flex; width: 100%; margin-top: 18px; }
.codex-v2 .uoc-labels .seg { padding-right: 26px; box-sizing: border-box; }
.codex-v2 .uoc-labels .seg .pc { font-size: 30px; font-weight: 600; letter-spacing: -.02em; color: var(--ink); line-height: 1; }
.codex-v2 .uoc-labels .seg .nm { margin-top: 7px; font-size: 15px; color: var(--mute); line-height: 1.3; }

/* 16 · Close — documentary photo (replaces the 3D mascot) */
.codex-v2 .close-photo { position: relative; overflow: hidden; background: #0a0a0a; }
.codex-v2 .close-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }

/* ═══════════════════════════════════════════════════════════════
   v7.4 · fold-Economics pass — prod strip, GTM halves, big flywheel,
   borderless model
   ═══════════════════════════════════════════════════════════════ */

/* 07 · Products — economics strip beneath the columns (equal small figures) */
.codex-v2 .prod-econ { display: flex; align-items: baseline; margin-top: 40px; border-top: 1px solid var(--hair); padding-top: 22px; }
.codex-v2 .prod-econ .pe { padding-right: 44px; }
.codex-v2 .prod-econ .pe .n { font-size: 30px; font-weight: 600; letter-spacing: -.02em; color: var(--ink); white-space: nowrap; }
.codex-v2 .prod-econ .pe .n em { color: var(--blue); font-style: normal; }
.codex-v2 .prod-econ .pe .k { margin-top: 8px; font-family: 'Instrument Sans', sans-serif; font-size: 11.5px; letter-spacing: .1em; text-transform: uppercase; color: var(--mute); }
.codex-v2 .prod-econ .parrow { align-self: center; color: var(--hair-strong); font-family: 'Geist Mono', ui-monospace, monospace; font-size: 20px; padding-right: 44px; }

/* 08 · GTM — bar 2 split into two labeled halves (buy side / sell side) */
.codex-v2 .pbar-split { display: flex; gap: 60px; align-items: flex-start; }
.codex-v2 .pgroup.buy { flex: 1.35 1 0; }
.codex-v2 .pgroup.sell { flex: 1 1 0; }
.codex-v2 .pgroup-h { font-family: 'Instrument Sans', sans-serif; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--blue-deep); font-weight: 600; margin-bottom: 18px; }
.codex-v2 .gtm-found { margin-top: 22px; font-size: 16px; line-height: 1.45; color: var(--mute); max-width: 1240px; }
.codex-v2 .gtm-found b { color: var(--ink); font-weight: 600; }

/* 10 · Moat — flywheel enlarged and dominant on the right (native 480px, no scale) */
.codex-v2 .moat-blocks .mb .k { font-size: 15px; }
.codex-v2 .moat-blocks .mb .d { font-size: 19px; }

/* 12 · The model — borderless two columns, hairline divider, squares in-column */
.codex-v2 .mbank2 { display: grid; grid-template-columns: 0.9fr 1fr; margin-top: 38px; }
/* full-width proof band below the comparison — squares (left) + facts (right) */
.codex-v2 .mbank-proof { display: grid; grid-template-columns: auto 1fr; gap: 72px; align-items: center; margin-top: 40px; border-top: 1px solid var(--hair); padding-top: 30px; }
.codex-v2 .mbank-proof .mbank-detail { margin-top: 0; }
.codex-v2 .mbank-proof .msq { margin-top: 0; }
.codex-v2 .mbank2 .col { padding: 0 46px; }
.codex-v2 .mbank2 .col.left { padding-left: 0; }
.codex-v2 .mbank2 .col.win { border-left: 1px solid var(--hair-strong); }
.codex-v2 .mbank2 .h { font-family: 'Instrument Sans', sans-serif; font-size: 14px; letter-spacing: .13em; text-transform: uppercase; margin-bottom: 22px; }
.codex-v2 .mbank2 .col.left .h { color: var(--mute); }
.codex-v2 .mbank2 .col.win .h { color: var(--blue); }
.codex-v2 .mbank2 .r { font-size: 27px; line-height: 1.15; letter-spacing: -.018em; padding: 15px 0; }
.codex-v2 .mbank2 .col.left .r { color: var(--mute); }
.codex-v2 .mbank2 .col.win .r { color: var(--ink); font-weight: 600; }
.codex-v2 .mbank2 .col.win .r b { color: var(--blue); font-weight: 600; }
.codex-v2 .msq { margin-top: 24px; }
.codex-v2 .msq .grid { display: grid; grid-template-columns: repeat(10, 1fr); gap: 9px; max-width: 470px; }
.codex-v2 .msq .sq { aspect-ratio: 1; border-radius: 5px; background: var(--blue); }
.codex-v2 .msq .sq:nth-child(1){opacity:.30}.codex-v2 .msq .sq:nth-child(2){opacity:.38}
.codex-v2 .msq .sq:nth-child(3){opacity:.46}.codex-v2 .msq .sq:nth-child(4){opacity:.54}
.codex-v2 .msq .sq:nth-child(5){opacity:.62}.codex-v2 .msq .sq:nth-child(6){opacity:.70}
.codex-v2 .msq .sq:nth-child(7){opacity:.78}.codex-v2 .msq .sq:nth-child(8){opacity:.86}
.codex-v2 .msq .sq:nth-child(9){opacity:.93}.codex-v2 .msq .sq:nth-child(10){opacity:1}
.codex-v2 .msq .cap { margin-top: 13px; font-family: 'Instrument Sans', sans-serif; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--mute); }

/* ═══════════════════════════════════════════════════════════════
   v7.5 · full-bleed photos, traction figures, ghosted $DEAL numerals
   ═══════════════════════════════════════════════════════════════ */

/* 09 · Traction — figures in the left copy panel (market-v2 split) */
.codex-v2 .trac-figs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; border-top: 1px solid var(--hair); border-bottom: 1px solid var(--hair); padding: 24px 0; margin-top: 42px; max-width: 720px; }
.codex-v2 .trac-figs .tf .n { font-size: 54px; line-height: 1; font-weight: 600; letter-spacing: -.04em; white-space: nowrap; }
.codex-v2 .trac-figs .tf .n em { color: var(--blue); font-style: normal; }
.codex-v2 .trac-figs .tf .k { margin-top: 13px; font-size: 12px; line-height: 1.35; letter-spacing: .1em; text-transform: uppercase; color: var(--mute); }

/* 13 · $DEAL — readable step-numbers in the left gutter (step with the indent) */
.codex-v2 .deal-num { position: absolute; left: 0; top: 50%; transform: translateY(-50%); font-family: 'Geist Mono', ui-monospace, monospace; font-weight: 500; font-size: 54px; line-height: 1; letter-spacing: -.02em; color: var(--blue); opacity: 0.72; user-select: none; }
