/* ============================================================
   V4 — The Subsidy Era (production draft)
   Design system rules, no variant tags, bigger fonts, more breath.
   ============================================================ */

section[data-slide].v4 { padding: 84px 84px 78px; }
section[data-slide].v4 .v4-handle {
  position: absolute; right: 84px; bottom: 36px;
  font-size: 22px; font-weight: 600; color: var(--silver); opacity: 0.65;
  letter-spacing: 0.10em;
}
section[data-slide].v4 .v4-handle.left { left: 84px; right: auto; }

/* Cover A — motivational, structured walk-through */
.v4-coverA {
  display: flex; flex-direction: column; justify-content: space-between;
}
.v4.v4-coverA > .v4-eyebrow {
  font-size: 31px; font-weight: 700; letter-spacing: 0.20em; text-transform: uppercase;
  color: var(--coral);
  margin-bottom: 0;
  text-align: left;
}
.v4-coverA .v4-title {
  font-size: 132px; font-weight: 700; line-height: 0.94;
  color: var(--white); letter-spacing: -0.025em;
  margin: 80px 0 0 0;
}
.v4-coverA .v4-deck-of {
  font-size: 32px; font-weight: 500; font-style: italic;
  color: var(--silver); line-height: 1.32;
  margin-top: 36px; max-width: 880px;
}
.v4-coverA .v4-locator {
  margin-top: 40px;
  font-size: 38px; font-weight: 500;
  color: var(--white); line-height: 1.30;
  letter-spacing: -0.005em;
  max-width: 880px;
}
.v4-coverA .v4-locator .a { color: var(--teal); font-weight: 700; }
.v4-coverA .v4-locator .c { color: var(--coral); font-weight: 700; }
.v4-coverA .v4-teasers {
  margin-top: auto; margin-bottom: 60px;
  display: flex; flex-direction: column; gap: 18px;
}
.v4-coverA .v4-teaser {
  display: grid; grid-template-columns: 28px 1fr; gap: 18px;
  align-items: baseline;
}
.v4-coverA .v4-teaser .v4-bul {
  width: 8px; height: 8px; border-radius: 50%;
  background: var(--teal);
  margin-top: 14px;
}
.v4-coverA .v4-teaser .v4-tt {
  font-size: 32px; font-weight: 500; color: var(--white); line-height: 1.32;
}

/* Cover B — single-fact hook */
.v4-coverB {
  align-items: center; justify-content: center; text-align: center;
  position: relative;
}
.v4-coverB .v4-ember {
  position: absolute;
  left: 50%; top: 50%;
  transform: translate(-50%, -52%);
  width: 920px; height: 920px;
  pointer-events: none;
  filter: blur(2px);
  z-index: 0;
  display: none; /* off by default; toggleable via Tweaks */
}
.v4-coverB .v4-ember svg { width: 100%; height: 100%; }
.v4-coverB .v4-q {
  position: relative; z-index: 1;
  font-size: var(--q-size, 46px); font-weight: 500; font-style: italic; color: var(--silver);
  line-height: 1.25; max-width: 920px; margin: 0 auto;
  letter-spacing: -0.005em;
}
.v4-coverB .v4-q .burn {
  color: var(--burn-color, #E89A6E);
  font-weight: 700;
  font-style: italic;
  text-shadow: var(--burn-shadow, none);
}
.v4-coverB .v4-fact {
  position: relative; z-index: 1;
  display: inline-block;
  font-size: var(--fact-size, 360px); font-weight: 700; line-height: 0.92;
  color: var(--burn-color, #E89A6E); letter-spacing: -0.06em;
  margin: 24px 0 18px 0;
  font-variant-numeric: tabular-nums;
}
.v4-coverB .v4-fact-flame {
  position: absolute;
  right: -54px; top: -28px;
  width: 74px; height: 100px;
  display: none; /* hidden by default — toggleable via Tweaks */
}
.v4-coverB .v4-fact-flame svg { width: 100%; height: 100%; }
.v4-coverB .v4-of {
  position: relative; z-index: 1;
  font-size: var(--q-size, 46px); font-weight: 500; font-style: italic;
  color: var(--silver); line-height: 1.25; max-width: 920px; margin: 0 auto;
  letter-spacing: -0.005em;
}
.v4-coverB .v4-resolve {
  position: relative; z-index: 1;
  margin-top: 80px;
  font-size: var(--resolve-size, 36px); font-weight: 500; color: var(--white);
  line-height: 1.35; max-width: 920px; font-style: italic;
}
.v4-coverB .v4-resolve .em {
  color: var(--white);
  font-weight: 700;
  font-style: italic;
}
.v4-coverB .v4-author {
  position: absolute; left: 0; right: 0; bottom: 60px;
  text-align: center;
  font-size: var(--author-size, 22px); font-weight: 700;
  letter-spacing: 0.20em; text-transform: uppercase; color: var(--silver);
  z-index: 1;
}

/* Standard v4 slide chrome */
.v4 .v4-h {
  font-size: 60px; font-weight: 700; line-height: 1.04;
  color: var(--white); letter-spacing: -0.012em;
  margin: 0;
}
.v4 .v4-h .a { color: var(--teal); }
.v4 .v4-h .c { color: var(--coral); }
.v4 .v4-sub {
  font-size: 32px; font-weight: 500; font-style: italic;
  color: var(--silver); line-height: 1.32;
  margin: 22px 0 0 0;
  max-width: 880px;
}
.v4 .v4-body {
  font-size: 28px; font-weight: 500; color: var(--silver); line-height: 1.42;
}
.v4 .v4-body strong { color: var(--white); font-weight: 700; }
.v4 .v4-cite {
  font-size: 22px; font-weight: 500; color: var(--wire);
  letter-spacing: 0.01em; line-height: 1.38;
  font-style: italic;
}

/* V4 Timeline (Slide 3) */
.v4-tl {
  display: flex; flex-direction: column;
  margin-top: 32px;
  border-top: 0.5px solid var(--section-rule);
}
.v4-tl-row {
  display: grid; grid-template-columns: 130px 18px 170px 1fr;
  gap: 18px;
  align-items: start;
  padding: 22px 0;
  border-bottom: 0.5px solid var(--hairline);
}
.v4-tl-date {
  font-size: 22px; font-weight: 700; color: var(--silver);
  letter-spacing: 0.08em; text-transform: uppercase;
  padding-top: 8px;
}
.v4-tl-dot {
  width: 12px; height: 12px; border-radius: 50%;
  background: var(--teal); margin-top: 12px;
  box-shadow: 0 0 0 4px rgba(70,183,171,0.10);
}
.v4-tl-dot.warn { background: var(--coral); box-shadow: 0 0 0 4px rgba(184,112,106,0.12); }
.v4-tl-vendor {
  font-size: 28px; font-weight: 700; color: var(--teal);
  letter-spacing: 0.04em;
  padding-top: 5px;
}
.v4-tl-vendor.warn { color: var(--coral); }
.v4-tl-event {
  font-size: 28px; font-weight: 500; color: var(--white);
  line-height: 1.36;
  padding-top: 5px;
}

/* Variance chart (Slide 4) */
.v4-var { display: flex; flex-direction: column; gap: 22px; margin-top: 28px; }
.v4-var-row {
  display: grid;
  grid-template-columns: 340px minmax(0,1fr) 110px 130px;
  column-gap: 18px; align-items: center;
}
.v4-var-row .v4-var-lab {
  font-size: 26px; font-weight: 700; color: var(--white); line-height: 1.18;
}
.v4-var-row .v4-var-lab .sub {
  display: block; font-size: 20px; font-weight: 500;
  color: var(--silver); font-style: italic; margin-top: 4px;
}
.v4-var-row .v4-var-track {
  position: relative; height: 40px;
  background: rgba(127,140,150,0.08); border-radius: 4px; overflow: hidden;
}
.v4-var-row .v4-var-fill {
  position: absolute; left: 0; top: 0; bottom: 0; border-radius: 4px;
}
.v4-var-row .v4-var-fill.t1 { background: linear-gradient(90deg, rgba(70,183,171,0.30), var(--teal)); }
.v4-var-row .v4-var-fill.t2 { background: linear-gradient(90deg, rgba(127,140,150,0.30), var(--wire)); }
.v4-var-row .v4-var-fill.t3 { background: linear-gradient(90deg, rgba(184,112,106,0.30), var(--coral)); }
.v4-var-row .v4-var-tokens {
  font-size: 24px; font-weight: 700; color: var(--white);
  text-align: right; font-variant-numeric: tabular-nums;
  letter-spacing: -0.005em;
}
.v4-var-row .v4-var-cost {
  font-size: 28px; font-weight: 700; color: var(--teal);
  text-align: right; font-variant-numeric: tabular-nums;
  letter-spacing: -0.01em;
}
.v4-var-axis {
  position: relative; height: 26px;
  margin: 12px 0 0 calc(340px + 18px);
  margin-right: calc(110px + 130px + 36px);
  border-top: 0.5px solid rgba(127,140,150,0.30);
}
.v4-var-axis span {
  position: absolute; top: 8px; transform: translateX(-50%);
  font-size: 16px; font-weight: 600; color: var(--wire);
  font-variant-numeric: tabular-nums; letter-spacing: 0.04em;
}
.v4-var-axis span::before {
  content: ""; position: absolute; left: 50%; top: -10px;
  width: 1px; height: 6px; background: rgba(127,140,150,0.40);
}
.v4-var-bracket {
  margin: 6px 0 0 calc(340px + 18px);
  margin-right: calc(110px + 130px + 36px);
  position: relative; height: 30px;
}
.v4-var-bracket::before {
  content: ""; position: absolute; left: 0; right: 0; top: 14px;
  border-top: 1px dashed rgba(255,255,255,0.40);
}

/* Slide 4 · documented heavy-use cases strip */
.v4-cases {
  margin-top: 28px;
  padding-top: 22px;
  border-top: 0.5px solid var(--hairline);
}
.v4-cases-h {
  font-size: 16px; font-weight: 700;
  letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--wire);
  margin-bottom: 14px;
}
.v4-cases-grid {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}
.v4-case {
  display: flex; flex-direction: column; gap: 6px;
  padding: 14px 16px;
  background: rgba(15,32,39,0.40);
  border: 0.5px solid var(--hairline);
  border-radius: 6px;
}
.v4-case-num {
  font-size: 32px; font-weight: 700; color: var(--coral);
  font-variant-numeric: tabular-nums; letter-spacing: -0.02em;
  line-height: 1.05;
}
.v4-case-txt {
  font-size: 18px; font-weight: 500; color: var(--silver);
  line-height: 1.40;
}
.v4-case-txt strong { color: var(--white); font-weight: 700; }
.v4-case-txt em { color: var(--wire); font-style: italic; font-weight: 500; }
.v4-var-bracket .badge {
  position: absolute; left: 50%; transform: translateX(-50%);
  background: var(--teal-bg); border: 1px solid var(--teal);
  color: var(--teal); padding: 6px 22px; border-radius: 4px;
  font-size: 17px; font-weight: 700; letter-spacing: 0.06em;
  top: 0; white-space: nowrap;
}

.v4-anno {
  margin-top: 18px; padding: 14px 18px;
  border-left: 2px solid var(--coral);
  background: rgba(184,112,106,0.06);
  font-size: 19px; font-weight: 500; color: var(--white);
  line-height: 1.40; font-style: italic;
}
.v4-anno strong { color: var(--coral); font-weight: 700; font-style: normal; }

/* Heavy-day vs $200 (Slide 5) */
.v4-vs {
  display: flex; flex-direction: column;
  gap: 40px; margin-top: 36px;
}
.v4-vs-cell {
  border: 0.5px solid var(--border);
  background: var(--surface);
  border-radius: 8px;
  text-align: center;
  padding: 28px 36px;
}
.v4-vs-cell.small { padding: 22px 36px; }
.v4-vs-cell.big { padding: 56px 36px; border-width: 1px; }
.v4-vs-cell.warn { border-color: rgba(184,112,106,0.55); }
.v4-vs-cell .lbl {
  font-size: 22px; font-weight: 700;
  letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--teal);
}
.v4-vs-cell.big .lbl { font-size: 26px; }
.v4-vs-cell.warn .lbl { color: var(--coral); }
.v4-vs-cell .num {
  font-size: 80px; font-weight: 700; color: var(--white);
  line-height: 1; letter-spacing: -0.03em;
  margin: 16px 0 14px;
  font-variant-numeric: tabular-nums;
}
.v4-vs-cell.big .num { font-size: 112px; margin: 22px 0 18px; white-space: nowrap; }
.v4-vs-cell.warn .num { color: var(--coral); }
.v4-vs-cell .cap {
  font-size: 28px; font-weight: 500; color: var(--silver); line-height: 1.38;
  font-style: italic;
}
.v4-vs-cell.big .cap { font-size: 32px; }
.v4-vs-resolve {
  margin-top: 44px; font-size: 42px; font-weight: 500;
  color: var(--white); line-height: 1.30;
  text-align: center;
}
.v4-vs-resolve em { color: var(--teal); font-style: normal; font-weight: 700; }
.v4-cite .tier1 { font-size: 22px; }
.v4-cite .tier2 { font-size: 18px; opacity: 0.85; }

/* Speculation candidates (Slide 6) */
.v4-q-bg {
  position: absolute;
  top: 60px; right: 40px;
  font-size: 720px; font-weight: 700;
  color: rgba(70,183,171,0.05);
  line-height: 0.8; letter-spacing: -0.05em;
  pointer-events: none;
  font-family: var(--ff);
}
.v4-cand-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 22px;
  margin-top: 28px;
}
.v4-cand {
  background: var(--surface);
  border: 0.5px solid var(--border);
  border-radius: 8px;
  padding: 22px 24px 24px;
  display: flex; flex-direction: column; gap: 12px;
}
.v4-cand .v4-cand-head {
  display: flex; align-items: baseline; justify-content: space-between; gap: 12px;
}
.v4-cand .v4-cand-name {
  font-size: 28px; font-weight: 700; color: var(--teal);
  line-height: 1.18;
}
.v4-cand .v4-pill {
  font-size: 18px; font-weight: 700;
  letter-spacing: 0.12em; text-transform: uppercase;
  padding: 4px 10px; border-radius: 999px;
  white-space: nowrap;
}
.v4-cand .v4-pill.some { color: var(--teal); border: 1px solid rgba(70,183,171,0.40); background: rgba(70,183,171,0.06); }
.v4-cand .v4-pill.inferred { color: var(--silver); border: 1px solid rgba(169,180,188,0.30); background: rgba(169,180,188,0.04); }
.v4-cand .v4-pill.spec { color: var(--coral); border: 1px solid rgba(184,112,106,0.40); background: rgba(184,112,106,0.06); }
.v4-cand .v4-cand-body {
  font-size: 28px; font-weight: 500; color: var(--white); line-height: 1.36;
}
.v4-cand .v4-cand-body strong { color: var(--white); font-weight: 700; }
.v4-cand .v4-cand-gap {
  font-size: 26px; font-weight: 500; font-style: italic;
  color: var(--silver); line-height: 1.36;
  padding-top: 8px;
  border-top: 0.5px solid var(--hairline);
}
.v4-honest {
  margin-top: 28px;
  font-size: 28px; font-weight: 500;
  color: var(--white); line-height: 1.40;
  font-style: italic;
}
.v4-honest em { color: var(--teal); font-style: normal; font-weight: 700; }

/* Single-fact intermezzo (slide 7) */
.v4-hero {
  align-items: center; justify-content: center; text-align: center;
}
.v4-hero .above {
  font-size: 38px; font-weight: 500; font-style: italic;
  color: var(--silver); line-height: 1.28; max-width: 980px;
  margin: 0 auto;
}
.v4-hero .num {
  font-size: 360px; font-weight: 700; line-height: 0.86;
  letter-spacing: -0.05em;
  color: var(--coral);
  margin: 0 0 24px;
  font-variant-numeric: tabular-nums;
}
.v4-hero .below {
  font-size: 42px; font-weight: 500;
  color: var(--white); line-height: 1.30;
  max-width: 980px; margin: 0 auto;
}
.v4-hero .below em { color: var(--teal); font-style: normal; font-weight: 700; }
.v4-hero .src {
  margin-top: 24px;
  font-size: 28px; font-weight: 500; color: var(--silver);
  font-style: italic;
  letter-spacing: 0.02em;
}

.v4-bridge { justify-content: space-between; align-items: stretch; padding-top: 80px; padding-bottom: 110px; }
.v4-bridge-top, .v4-bridge-mid, .v4-bridge-bot { display: flex; flex-direction: column; align-items: center; text-align: center; }
.v4-bridge-mid { gap: 0; }
.v4-bridge-bot { gap: 0; }

/* Three-place framework (Slide 8) */
.v4-framework {
  justify-content: space-between;
  padding-top: 72px; padding-bottom: 80px;
  position: relative;
  isolation: isolate;
}
.v4-framework::before {
  content: "";
  position: absolute; left: 0; right: 0; top: 0;
  height: 38%;
  background: linear-gradient(180deg, rgba(110,170,220,0.25) 0%, rgba(110,170,220,0.12) 45%, rgba(110,170,220,0) 100%);
  pointer-events: none;
  z-index: -1;
}
.v4-fw-top { display: flex; flex-direction: column; align-items: center; }
.v4-fw-h {
  font-size: 92px; line-height: 1.04;
  letter-spacing: -0.025em;
}
.v4-fw-sub {
  max-width: 1380px; margin: 32px auto 0;
  font-size: 40px; line-height: 1.36;
}
.v4-fw-close {
  margin-top: 48px;
  font-size: 36px; font-weight: 500; color: var(--white);
  line-height: 1.34; text-align: center;
  max-width: 1380px; margin-left: auto; margin-right: auto;
}
.v4-fw-close .a { color: var(--teal); font-weight: 700; }

.v4-frame {
  display: grid; grid-template-columns: 1fr 1fr 1fr;
  gap: 32px; margin-top: 56px;
}
.v4-frame-col {
  display: flex; flex-direction: column; gap: 16px;
  border-top: 2px solid var(--teal);
  padding-top: 22px;
}
.v4-frame-bignum {
  font-size: 64px; font-weight: 700; color: var(--teal);
  line-height: 0.86; letter-spacing: -0.04em;
  margin-bottom: 4px;
  font-variant-numeric: tabular-nums;
}
.v4-frame-num {
  font-size: 20px; font-weight: 700; color: var(--teal);
  letter-spacing: 0.18em;
}
.v4-frame-name {
  font-size: 32px; font-weight: 700; color: var(--white);
  line-height: 1.10; letter-spacing: -0.005em;
  text-transform: uppercase;
}
.v4-frame-what {
  font-size: 30px; font-weight: 500; color: var(--white);
  line-height: 1.34;
  margin-bottom: 4px;
}
.v4-frame-row {
  font-size: 28px; font-weight: 500; color: var(--silver);
  line-height: 1.34; padding-top: 14px;
  border-top: 0.5px solid var(--hairline);
}
.v4-frame-row .lab {
  display: block;
  font-size: 21px; font-weight: 700; color: var(--teal);
  letter-spacing: 0.16em; text-transform: uppercase;
  margin-bottom: 8px;
}
.v4-frame-row strong { color: var(--white); font-weight: 700; }
.v4-frame-row .v4-payoff {
  color: var(--teal); font-weight: 500;
  font-size: 1.32em; letter-spacing: -0.01em;
  display: inline-block; line-height: 1.10;
}

/* Model floor calculation (Slide 9) */
/* Cost of a million tokens (Slide 9) */
.v4 > .v4-eyebrow {
  font-size: 22px; font-weight: 700; letter-spacing: 0.20em; text-transform: uppercase;
  color: var(--teal);
  margin-bottom: 24px;
  text-align: center;
}
.v4-cost { justify-content: space-between; padding-top: 80px; padding-bottom: 100px; }
.v4-cost-config {
  margin-top: 36px;
  font-size: 28px; font-weight: 500; font-style: italic;
  color: var(--silver); letter-spacing: 0.01em;
  text-align: center;
  white-space: nowrap;
}
.v4-cost-inputs {
  margin-top: 56px;
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 28px;
}
.v4-cost-card {
  background: rgba(15,32,39,0.45);
  border: 0.5px solid var(--border);
  border-radius: 10px;
  padding: 28px 32px;
  display: flex; flex-direction: column; gap: 10px;
  align-items: center; text-align: center;
}
.v4-cost-lbl {
  font-size: 22px; font-weight: 700; color: var(--teal);
  letter-spacing: 0.18em; text-transform: uppercase;
}
.v4-cost-val {
  font-size: 56px; font-weight: 700; color: var(--white);
  line-height: 1.05; letter-spacing: -0.02em;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.v4-cost-val-tight { font-size: 50px; }
  font-variant-numeric: tabular-nums;
}
.v4-cost-ann {
  font-size: 22px; font-weight: 500; font-style: italic;
  color: var(--silver); line-height: 1.30;
}
.v4-cost-formula {
  margin-top: 56px;
  display: flex; align-items: center; justify-content: center;
  gap: 36px;
  gap: 28px;
  font-variant-numeric: tabular-nums;
}
.v4-cost-eq {
  font-size: 38px; font-weight: 600; color: var(--silver);
  letter-spacing: 0.04em;
}
.v4-cost-frac {
  display: inline-flex; flex-direction: column; align-items: center;
  gap: 6px;
}
.v4-cost-num, .v4-cost-den {
  font-size: 38px; font-weight: 700; color: var(--teal);
  letter-spacing: 0.16em; text-transform: uppercase;
  padding: 0 18px;
}
.v4-cost-bar {
  display: block; height: 3px; width: 360px;
  background: var(--silver); min-width: 280px;
}
.v4-cost-result-row {
  margin-top: 32px;
  display: flex; align-items: center; justify-content: center;
  gap: 28px;
  font-variant-numeric: tabular-nums;
}
.v4-cost-pricetag {
  display: inline-flex; flex-direction: column; align-items: flex-start;
  gap: 6px;
}
.v4-cost-price {
  font-size: 112px; font-weight: 700; color: var(--coral);
  letter-spacing: -0.03em; line-height: 1;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.v4-cost-price .approx {
  font-size: 0.55em; font-weight: 500;
  color: rgba(184,112,106,0.65);
  vertical-align: 0.40em; margin-right: 0.04em;
  letter-spacing: 0;
}
.v4-cost-unit {
  font-size: 36px; font-weight: 500; font-style: italic;
  color: var(--silver); letter-spacing: 0.02em;
  padding-left: 4px;
}
.v4-cost-equals {
  font-size: 72px; font-weight: 500; color: var(--wire);
}
.v4-cost-result {
  font-size: 92px; font-weight: 700; color: var(--teal);
  letter-spacing: -0.03em; line-height: 1;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.v4-cost-meta {
  margin-top: 48px;
  font-size: 30px; font-weight: 500; font-style: italic;
  color: var(--silver); line-height: 1.40;
  text-align: center;
  letter-spacing: 0.01em;
  white-space: nowrap;
}
.v4-cost-meta em { color: var(--white); font-style: italic; font-weight: 600; }
.v4-cost-meta em { color: var(--silver); font-style: italic; font-weight: 600; }
.v4-cost-bridge {
  margin-top: 56px;
  font-size: 34px; font-weight: 500; color: var(--white);
  line-height: 1.32; text-align: center;
}
.v4-cost-bridge em { color: var(--teal); font-style: normal; font-weight: 700; }

/* Optimization taxonomy (Slide 10) */
.v4-tax {
  display: grid; grid-template-columns: 1fr 1fr 1fr;
  gap: 24px; margin-top: 32px;
}
.v4-tax-col {
  display: flex; flex-direction: column;
  border-top: 1.5px solid var(--teal);
  padding-top: 16px;
}
.v4-tax-name {
  font-size: 24px; font-weight: 700; color: var(--white);
  letter-spacing: 0.08em; text-transform: uppercase;
  margin-bottom: 14px;
}
.v4-tax-list { display: flex; flex-direction: column; gap: 14px; }
.v4-tax-item {
  font-size: 24px; font-weight: 500; color: var(--silver);
  line-height: 1.36;
  padding-bottom: 12px;
  border-bottom: 0.5px solid var(--hairline);
}
.v4-tax-item:last-child { border-bottom: 0; padding-bottom: 0; }
.v4-tax-item strong {
  display: block;
  font-size: 26px; font-weight: 700; color: var(--teal);
  margin-bottom: 4px;
}
.v4-tax-foot {
  margin-top: 22px;
  font-size: 28px; font-weight: 500;
  color: var(--white); line-height: 1.40; font-style: italic;
}
.v4-tax-foot em { color: var(--teal); font-style: normal; font-weight: 700; }
.v4-tax-anchor strong { color: var(--coral); }
.v4-tax-anchor { color: var(--white); font-weight: 600; }

/* Layer 3 · Users · techniques (Slide 13b — three-column grid mirroring slides 10 / 12) */
.v4-uxp {
  display: grid; grid-template-columns: 1fr 1fr 1fr;
  gap: 28px; margin-top: 32px;
}
.v4-uxp-col {
  display: flex; flex-direction: column;
  border-top: 1px solid rgba(70,183,171,0.35);
  padding-top: 16px;
}
.v4-uxp-name {
  font-size: 22px; font-weight: 700; color: var(--teal);
  letter-spacing: 0.18em; text-transform: uppercase;
  margin-bottom: 18px;
}
.v4-uxp-list { display: flex; flex-direction: column; gap: 18px; }
.v4-uxp-item {
  padding-bottom: 16px;
  border-bottom: 0.5px solid var(--hairline);
}
.v4-uxp-item:last-child { border-bottom: 0; padding-bottom: 0; }
.v4-uxp-item strong {
  display: block;
  font-size: 26px; font-weight: 700; color: var(--white);
  letter-spacing: -0.005em;
  line-height: 1.18;
  margin-bottom: 6px;
}
.v4-uxp-item em {
  display: block;
  font-size: 19px; font-weight: 500; font-style: italic;
  color: var(--silver); line-height: 1.36;
}
.v4-uxp-anchor strong { color: var(--coral); font-size: 28px; font-weight: 700; }

.v4-uxp-foot {
  margin-top: 56px;
  display: flex; flex-direction: column; gap: 12px;
  text-align: center;
}
.v4-uxp-foot-line {
  font-size: 32px; font-weight: 600; color: var(--white);
  line-height: 1.4; letter-spacing: -0.005em;
}
.v4-uxp-foot-line .a { color: var(--teal); font-weight: 700; }

.v4-uxp-divider {
  width: 320px; height: 1px;
  background: rgba(127,140,150,0.35);
  margin: 36px auto 0;
}

.v4-uxp-src {
  margin-top: auto; padding-top: 0; margin-bottom: 28px;
  border-top: 0;
  font-size: 18px;
}

/* Harness — context grows (Slide 11) */
.v4-turns {
  margin-top: 24px;
  background: rgba(15,32,39,0.45);
  border: 0.5px solid var(--border);
  border-radius: 8px;
  padding: 20px 24px;
  display: flex; flex-direction: column; gap: 10px;
}
.v4-turns .ln {
  font-size: 26px; font-weight: 500; color: var(--silver);
  line-height: 1.40;
}
.v4-turns .ln strong { color: var(--white); font-weight: 700; }
.v4-turns .ln em { color: var(--teal); font-style: normal; font-weight: 700; }
.v4-turns .dots {
  font-size: 26px; font-weight: 500; color: var(--silver);
  font-style: italic; line-height: 1.40;
  padding-top: 6px;
  border-top: 0.5px solid var(--hairline);
}

.v4-chart {
  margin-top: 24px;
  background: rgba(15,32,39,0.30);
  border: 0.5px solid var(--border);
  border-radius: 8px;
  padding: 22px;
  position: relative;
  height: 360px;
}
.v4-chart svg { width: 100%; height: 100%; display: block; }
.v4-chart-fill { position: absolute; inset: 0; z-index: 1; pointer-events: none; }
.v4-chart .legend { z-index: 3; }
.v4-chart .legend {
  font-size: 22px !important;
  letter-spacing: 0.03em !important;
}
.v4-chart .legend .swatch {
  width: 32px !important; height: 14px !important;
}
.v4-chart .ch-endpt {
  position: absolute; right: 50px; top: 18px;
  text-align: left; pointer-events: none;
  z-index: 3;
}
.v4-chart .ch-endpt-num {
  font-family: 'Montserrat', sans-serif;
  font-weight: 800; font-size: 30px; color: var(--white);
  letter-spacing: -0.01em; line-height: 1;
}
.v4-chart .ch-endpt-sub {
  font-family: 'Montserrat', sans-serif;
  font-weight: 500; font-size: 16px; color: #D5DDE2;
  font-style: italic; margin-top: 4px; letter-spacing: 0.01em;
  opacity: 0.85;
}
.v4-chart .ch-axis {
  position: absolute; left: 28px; right: 28px; bottom: 12px;
  display: flex; justify-content: space-between;
  font-family: 'Montserrat', sans-serif;
  font-weight: 800; font-size: 22px;
  letter-spacing: 0.04em;
  pointer-events: none;
  z-index: 3;
}
.v4-chart .ch-axis span:nth-child(1) { color: #A9B4BC; }
.v4-chart .ch-axis span:nth-child(2),
.v4-chart .ch-axis span:nth-child(3) { color: #0A1518; }
.v4-chart .ch-axis span:last-child { transform: translateX(-10px); }
.v4-chart-tight { height: 300px !important; }
.v4-chart .legend {
  display: flex; gap: 28px;
  position: absolute; left: 28px; top: 22px;
  font-size: 14px; font-weight: 600; color: var(--silver);
  letter-spacing: 0.04em;
}
.v4-chart .legend .lg { display: flex; align-items: center; gap: 8px; }
.v4-chart .legend .swatch { width: 22px; height: 10px; display: inline-block; border-radius: 2px; }
.v4-chart .legend .swatch-cached { background: #46B7AB; opacity: 0.85; }
.v4-chart .legend .swatch-uncached { background: #B8706A; opacity: 0.55; }
.v4-turns-spaced .ln { padding: 6px 0; }
.v4-turns code {
  font-family: 'JetBrains Mono', 'SF Mono', Menlo, Consolas, monospace;
  font-size: 0.92em;
  color: var(--white);
  font-style: normal; font-weight: 600;
  background: rgba(70,183,171,0.10);
  padding: 1px 6px; border-radius: 3px;
  letter-spacing: -0.01em;
}

.v4-chart-foot {
  margin-top: 18px;
  font-size: 26px; font-weight: 500; color: var(--silver);
  line-height: 1.40;
}
.v4-chart-foot strong { color: var(--white); font-weight: 700; }

/* Harness patterns (slide 12) */
.v4-patt {
  display: grid; grid-template-columns: 1fr 1fr 1fr;
  gap: 22px; margin-top: 26px;
}
.v4-patt-col {
  display: flex; flex-direction: column;
  border-top: 1.5px solid var(--teal);
  padding-top: 16px;
}
.v4-patt-name {
  font-size: 18px; font-weight: 700; color: var(--white);
  letter-spacing: 0.10em; text-transform: uppercase;
  margin-bottom: 14px;
}
.v4-patt-item {
  font-size: 22px; font-weight: 500; color: var(--silver);
  line-height: 1.34; padding: 12px 0;
  border-bottom: 0.5px solid var(--hairline);
}
.v4-patt-item strong {
  display: block;
  font-size: 24px; font-weight: 700; color: var(--teal);
  letter-spacing: -0.005em;
  margin-bottom: 4px;
}
.v4-patt-anchor strong { color: var(--coral); }
.v4-patt-anchor { color: var(--white); font-weight: 600; }
.v4-patt-item:last-child { border-bottom: 0; }
.v4-patt-item.callout {
  background: rgba(70,183,171,0.06);
  border: 1px solid rgba(70,183,171,0.40);
  border-radius: 6px;
  padding: 14px 16px; margin: 4px 0 8px;
  color: var(--white);
}
.v4-patt-item .big {
  display: block;
  font-size: 32px; font-weight: 700; color: var(--teal);
  line-height: 1; letter-spacing: -0.01em;
  margin-bottom: 4px;
  font-variant-numeric: tabular-nums;
}
.v4-patt-foot {
  margin-top: 30px;
  font-size: 28px; font-weight: 500;
  color: var(--white); line-height: 1.36;
}
.v4-patt-foot em { color: var(--silver); font-style: italic; font-weight: 500; }
.v4-patt-foot .a { color: var(--teal); font-style: normal; font-weight: 700; }

/* Two teams (Slide 13) */
.v4-teams {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 28px; margin-top: 36px;
}
.v4-team {
  background: var(--surface);
  border: 0.5px solid var(--border);
  border-radius: 8px;
  padding: 32px 24px 28px;
  text-align: center;
}
.v4-team.warn { border-color: rgba(184,112,106,0.55); }
.v4-team .lbl {
  font-size: 26px; font-weight: 700;
  letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--teal);
}
.v4-team.warn .lbl { color: var(--coral); }
.v4-team .spend {
  font-size: 30px; font-weight: 600; color: var(--silver);
  margin-top: 14px;
}
.v4-team .spend strong { color: var(--white); font-weight: 700; }
.v4-team .ppr {
  font-size: 110px; font-weight: 700;
  color: var(--white); line-height: 1;
  letter-spacing: -0.03em; margin-top: 18px;
  font-variant-numeric: tabular-nums;
}
.v4-team.warn .ppr { color: var(--coral); }
.v4-team .pprcap {
  font-size: 22px; font-weight: 600; color: var(--silver);
  letter-spacing: 0.08em; text-transform: uppercase;
  margin-top: 10px;
}
.v4-teams-resolve {
  margin-top: 48px;
  font-size: 28px; font-weight: 500;
  color: var(--silver); line-height: 1.42;
}
.v4-teams-resolve strong { color: var(--white); font-weight: 700; }
.v4-teams-resolve em { color: var(--teal); font-style: normal; font-weight: 700; }
.v4-teams-bridge {
  margin-top: 72px;
  font-size: 34px; font-weight: 500; color: var(--white);
  line-height: 1.32; text-align: center;
}
.v4-teams-bridge em { color: var(--teal); font-style: normal; font-weight: 700; }

/* Slide 13 scoped polish: center alignment, breathing room, proportional sizes */
.v4-team-slide > .v4-eyebrow { margin-bottom: 30px; }
.v4-team-slide .v4-h {
  text-align: center;
  font-size: 72px;
}
.v4-team-slide .v4-teams { margin-top: 48px; }
.v4-team-slide .v4-team .ppr { font-size: 120px; }
.v4-team-slide .v4-teams-resolve {
  margin-top: 64px;
  text-align: center;
  font-size: 32px;
  max-width: 880px; margin-left: auto; margin-right: auto;
}
.v4-team-slide .v4-teams-bridge {
  margin-top: 96px;
  font-size: 40px;
}

/* Synthesis / "hiding everywhere" — chart slide bridging to close (Slide 15) */
.v4-hiding .v4-sub { font-size: 34px; margin-top: 26px; }

.v4-hiding-grid {
  margin-top: 38px;
  display: grid;
  grid-template-columns: 1.25fr 1fr;
  gap: 28px;
  align-items: stretch;
}

.v4-bars-chart {
  height: auto;
  margin-top: 0;
  display: flex; align-items: stretch;
}
.v4-bars-chart svg { width: 100%; height: auto; display: block; }

.v4-fp-callout {
  margin-top: 0;
  padding: 22px 24px;
  border: 0.5px solid var(--surface-border);
  border-radius: 10px;
  background: var(--surface-alpha);
  text-align: center;
  display: flex; flex-direction: column; justify-content: space-between;
  gap: 18px;
}
.v4-fp-callout-top {
  font-size: 22px; font-weight: 500; font-style: italic;
  color: var(--silver); line-height: 1.32;
}
.v4-fp-callout-stat {
  display: flex; align-items: center; justify-content: center;
  gap: 14px;
  font-variant-numeric: tabular-nums;
}
.v4-fp-callout-stat .v4-pc-cell {
  display: flex; flex-direction: column; align-items: center; gap: 4px;
}
.v4-fp-callout-stat .v4-pc-cell .yr {
  font-size: 16px; font-weight: 600; color: var(--wire);
  letter-spacing: 0.10em; text-transform: uppercase;
}
.v4-fp-callout-stat .v4-pc-cell .pc {
  font-size: 56px; font-weight: 700; color: var(--coral);
  line-height: 0.95; letter-spacing: -0.02em;
}
.v4-fp-callout-stat .ar {
  font-size: 32px; font-weight: 500; color: var(--white);
  padding-top: 18px;
}
.v4-fp-callout-src {
  font-size: 18px; font-weight: 500; font-style: italic;
  color: var(--wire); line-height: 1.32;
}

.v4-fp-bridge {
  margin-top: 36px;
  display: flex; flex-direction: column; gap: 16px;
}
.v4-fp-bridge-line {
  font-size: 24px; font-weight: 500;
  color: var(--silver); line-height: 1.46;
  padding-left: 22px; position: relative;
}
.v4-fp-bridge-line::before {
  content: ""; position: absolute; left: 0; top: 14px;
  width: 8px; height: 8px; border-radius: 50%;
  background: var(--teal);
}
.v4-fp-bridge-line strong { color: var(--white); font-weight: 700; }
.v4-fp-close {
  margin-top: 40px;
  font-size: 32px; font-weight: 500; color: var(--white);
  line-height: 1.32; text-align: center;
}
.v4-fp-close em { color: var(--teal); font-style: normal; font-weight: 700; }
.v4-hiding-src {
  margin-top: auto; padding-top: 22px;
  border-top: 0.5px solid var(--hairline);
  font-size: 19px;
}

/* Regional table (Slide 14) */
.v4-substitution .v4-sub { font-size: 37px; margin-top: 26px; }
.v4-reg {
  margin-top: 40px;
  border-top: 0.5px solid var(--section-rule);
}
.v4-reg-row {
  display: grid; grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 20px;
  padding: 24px 0;
  border-bottom: 0.5px solid var(--hairline);
  align-items: baseline;
}
.v4-reg-row.head {
  padding: 16px 0;
  border-bottom: 0.5px solid var(--section-rule);
}
.v4-reg-row.head .v4-reg-cell {
  font-size: 22px; font-weight: 700; color: var(--wire);
  letter-spacing: 0.12em; text-transform: uppercase;
}
.v4-reg-cell {
  font-size: 29px; font-weight: 600; color: var(--white);
  line-height: 1.28;
  font-variant-numeric: tabular-nums;
}
.v4-reg-cell.warn { color: rgba(184,112,106,0.78); }
.v4-reg-cell.amount {
  font-size: 29px; font-weight: 700;
}
.v4-reg-cell .pct.big {
  font-size: 35px; font-weight: 700; color: var(--coral);
}
.v4-reg-resolve {
  margin-top: 48px;
  font-size: 32px; font-weight: 500; color: var(--silver);
  line-height: 1.42; font-style: italic;
}
.v4-reg-resolve .c { color: var(--coral); font-weight: 700; font-style: normal; }
.v4-reg-resolve .hold { color: var(--white); font-weight: 500; font-style: normal; }
.v4-substitution .v4-cite { font-size: 24px; }

/* Close (Slide 16) */
section[data-slide].v4.v4-close { padding: 84px 60px 78px; }
.v4-close {
  display: flex; flex-direction: column; justify-content: space-between;
}
.v4-close .v4-prelude {
  font-size: 40px; font-weight: 500; color: var(--wire);
  line-height: 1.36; margin-top: 110px;
  font-style: italic;
  letter-spacing: 0.005em;
}
.v4-close .v4-prelude em { color: var(--silver); font-style: italic; font-weight: 500; }
.v4-close .v4-prelude em .c { color: var(--coral); font-style: italic; font-weight: 600; }
.v4-close .v4-prelude em .w { color: var(--white); font-style: italic; font-weight: 600; }
.v4-close .v4-gift {
  margin: 70px 0 0 0;
  font-weight: 700; line-height: 1.08;
  letter-spacing: -0.028em;
  display: flex; flex-direction: column; gap: 44px;
}
.v4-close .v4-gift .v4-gift-w,
.v4-close .v4-gift .v4-gift-t {
  display: block;
  font-size: 72px;
}
.v4-close .v4-gift .v4-gift-w { color: var(--white); }
.v4-close .v4-gift .v4-gift-t { color: var(--teal); }
.v4-close .v4-paren {
  margin-top: auto; margin-bottom: 80px;
  font-size: 36px; font-weight: 500; font-style: italic;
  color: var(--silver); line-height: 1.38;
  letter-spacing: -0.005em;
  max-width: 960px;
}

