@font-face {
  font-family: "Neue";
  src: url("assets/fonts/PPNeueMontreal-Book.otf") format("opentype");
  font-weight: 400;
}

/* 08 / REVENUE FORECAST - YEAR-ROUND BASE + MAJOR UPSIDE */

.forecast-v3 .f3-shell {
  min-height: calc(100vh - var(--bar-h));
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-top: clamp(26px, 3.4vh, 38px);
  padding-bottom: clamp(20px, 2.8vh, 30px);
}

.f3-head {
  display: block;
}

.f3-head .section-kicker {
  margin-top: clamp(16px, 2vh, 22px);
}

.f3-head .display-title {
  max-width: none;
  margin: clamp(16px, 2vh, 22px) 0 0;
  font-size: clamp(50px, 4.2vw, 72px);
  line-height: 0.96;
}

.f3-head .display-dek {
  max-width: 500px;
  margin: 0 0 3px;
  font-size: clamp(15px, 1.05vw, 18px);
  line-height: 1.55;
}

.f3-legend {
  display: flex;
  justify-content: flex-end;
  gap: 26px;
  margin-top: clamp(18px, 2.3vh, 26px);
  color: var(--muted-dark);
}

.f3-legend span {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.f3-legend b {
  color: var(--red);
  font-size: 8px;
}

.f3-legend em {
  color: var(--muted-dark);
  font-size: 8px;
  font-style: normal;
  letter-spacing: 0.08em;
}

.f3-legend i {
  width: 26px;
  height: 4px;
  display: block;
  background: rgba(239, 238, 233, 0.72);
}

.f3-legend .major i {
  background: var(--red);
}

.f3-legend .asset i {
  background: transparent;
  border-top: 1px solid rgba(239, 238, 233, 0.45);
}

.f3-years {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 10px;
  border-top: 3px solid rgba(239, 238, 233, 0.92);
  border-bottom: 1px solid var(--line-dark);
}

.f3-years > article {
  min-width: 0;
  padding: clamp(19px, 2.3vh, 25px) clamp(22px, 2.1vw, 34px) clamp(18px, 2.2vh, 24px);
  border-right: 1px solid var(--line-dark);
}

.f3-years > article:last-child {
  border-right: 0;
}

.f3-years > article.hot {
  box-shadow: inset 0 3px 0 var(--red);
  background: rgba(225, 25, 34, 0.035);
}

.f3-year {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 16px;
}

.f3-year span,
.f3-year b,
.f3-years > article > small {
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.17em;
  text-transform: uppercase;
}

.f3-year span {
  color: var(--red);
}

.f3-year b,
.f3-years > article > small {
  color: var(--muted-dark);
}

.f3-total {
  min-height: clamp(68px, 8.3vh, 90px);
  display: flex;
  align-items: flex-end;
  color: var(--paper);
  font-size: clamp(48px, 4.5vw, 76px);
  font-weight: 800;
  line-height: 0.86;
  letter-spacing: -0.065em;
  white-space: nowrap;
}

.f3-years > article.hot .f3-total {
  color: var(--red);
  font-size: clamp(56px, 5.15vw, 86px);
}

.f3-years > article > small {
  display: block;
  margin-top: 8px;
}

.f3-split {
  height: 9px;
  display: flex;
  gap: 3px;
  margin: clamp(14px, 1.8vh, 19px) 0 clamp(13px, 1.6vh, 17px);
  background: rgba(239, 238, 233, 0.08);
}

.f3-split i,
.f3-split b {
  display: block;
  flex: var(--share);
}

.f3-split i {
  background: rgba(239, 238, 233, 0.76);
}

.f3-split b {
  background: var(--red);
}

.f3-layer + .f3-layer {
  margin-top: 11px;
}

.f3-layer header,
.f3-layer > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.f3-layer header {
  min-height: 30px;
  border-bottom: 1px solid var(--line-dark);
}

.f3-layer header span {
  color: var(--paper);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.f3-layer header strong {
  color: var(--paper);
  font-size: 15px;
  font-variant-numeric: tabular-nums;
}

.f3-layer.major header span,
.f3-layer.major header strong {
  color: var(--red);
}

.f3-layer > div {
  min-height: 26px;
  border-bottom: 1px solid rgba(239, 238, 233, 0.08);
}

.f3-layer > div span {
  color: var(--muted-dark);
  font-size: 10px;
}

.f3-layer > div b {
  color: var(--paper);
  font-size: 11px;
  font-variant-numeric: tabular-nums;
}

.f3-ledger > div.major span,
.f3-ledger > div.major b {
  color: var(--red);
  font-weight: 800;
}

.f3-layer > p {
  min-height: 31px;
  display: flex;
  align-items: center;
  margin: 0;
  color: var(--muted-dark);
  border-bottom: 1px solid rgba(239, 238, 233, 0.08);
  font-size: 10px;
  line-height: 1.3;
}

.f3-scoreboard {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-bottom: 1px solid var(--line-dark);
}

.f3-scoreboard article {
  min-width: 0;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 18px;
  padding: clamp(14px, 1.8vh, 20px) clamp(22px, 2.1vw, 34px);
  border-right: 1px solid var(--line-dark);
}

.f3-scoreboard article:first-child {
  padding-left: 2px;
}

.f3-scoreboard article:last-child {
  border-right: 0;
}

.f3-scoreboard span {
  color: var(--muted-dark);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.12em;
  line-height: 1.35;
  text-transform: uppercase;
}

.f3-scoreboard strong {
  color: var(--paper);
  font-size: clamp(28px, 2.7vw, 46px);
  font-weight: 800;
  letter-spacing: -0.05em;
  line-height: 0.9;
  white-space: nowrap;
}

.f3-scoreboard article:last-child strong {
  color: var(--red);
}

.f3-close {
  display: grid;
  grid-template-columns: 170px minmax(0, 1fr);
  gap: clamp(28px, 3vw, 48px);
  align-items: center;
  padding-top: clamp(16px, 2vh, 22px);
}

.f3-close span {
  color: var(--red);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.19em;
  text-transform: uppercase;
}

.f3-close strong {
  color: var(--paper);
  font-size: clamp(20px, 1.65vw, 28px);
  line-height: 1.12;
}

.forecast-v3 .model-note {
  margin-top: 10px;
  color: var(--muted-dark);
  font-size: 9px;
  line-height: 1.45;
}

/* 08 / REVENUE FORECAST - FRANCHISE FINANCIAL OUTLOOK (ivory / ink / navy) */

.forecast-v4 .f4-shell {
  min-height: calc(100vh - var(--bar-h));
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-top: clamp(26px, 3.6vh, 46px);
  padding-bottom: clamp(20px, 3vh, 38px);
}

.f4-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 30px;
}

.f4-head .display-title {
  max-width: none;
  margin: clamp(14px, 2vh, 24px) 0 0;
  font-size: clamp(44px, 4vw, 70px);
  line-height: 0.96;
}

.f4-legend {
  display: flex;
  gap: 26px;
  padding-bottom: 9px;
  color: var(--muted-light);
}

.f4-legend span {
  display: flex;
  align-items: center;
  gap: 9px;
  font-size: 9.5px;
  font-weight: 800;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  white-space: nowrap;
}

.f4-legend i {
  width: 26px;
  height: 5px;
  display: block;
  background: var(--navy);
}

.f4-legend .mj i {
  background: var(--red);
}

.f4-years {
  display: grid;
  grid-template-columns: minmax(0, 0.78fr) minmax(0, 1.11fr) minmax(0, 1.11fr);
  margin-top: clamp(20px, 2.8vh, 34px);
  border-bottom: 1px solid var(--line-light);
}

.f4-years > article {
  min-width: 0;
  padding: clamp(17px, 2.3vh, 26px) clamp(24px, 2.2vw, 38px) clamp(17px, 2.3vh, 26px);
  border-top: 3px solid var(--ink);
  border-right: 1px solid var(--line-light);
}

.f4-years > article:first-child {
  padding-left: 0;
}

.f4-years > article:last-child {
  padding-right: 0;
  border-right: 0;
}

.f4-year {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 14px;
}

.f4-year span,
.f4-year em,
.f4-cap {
  font-size: 9.5px;
  font-weight: 800;
  letter-spacing: 0.17em;
  text-transform: uppercase;
  font-style: normal;
}

.f4-year span {
  color: var(--muted-light);
}

.f4-year em {
  color: var(--navy);
}

.f4-year em.f4-em-hot {
  color: var(--red);
}

.f4-years > article.f4-signed {
  display: flex;
  flex-direction: column;
  border-top-color: var(--red);
}

.f4-total.f4-total-hot {
  color: var(--red);
}

.f4-signed .f4-ledger > div b {
  font-weight: 800;
}

.f4-signed-note {
  margin: clamp(14px, 2vh, 20px) 0 0;
  padding-top: 0;
  padding-left: 11px;
  border-left: 2px solid var(--red);
  color: var(--muted-light);
  font-size: clamp(10px, 0.72vw, 11.5px);
  line-height: 1.5;
  max-width: 34ch;
}

.f4-signed-note b {
  color: var(--ink);
  font-weight: 700;
}

.f4-total {
  min-height: clamp(66px, 8.6vh, 94px);
  display: flex;
  align-items: flex-end;
  color: var(--ink);
  font-size: clamp(46px, 4.5vw, 78px);
  font-weight: 800;
  line-height: 0.86;
  letter-spacing: -0.06em;
  white-space: nowrap;
}

.f4-cap {
  display: block;
  margin-top: 9px;
  color: var(--muted-light);
  letter-spacing: 0.14em;
}

.f4-rail {
  height: 8px;
  display: flex;
  gap: 3px;
  margin: clamp(13px, 1.8vh, 20px) 0 clamp(12px, 1.7vh, 18px);
}

.f4-rail i,
.f4-rail b {
  display: block;
  flex: var(--share);
}

.f4-rail i {
  background: var(--navy);
}

.f4-rail b {
  background: var(--red);
}

.f4-ledger > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  min-height: clamp(28px, 3.7vh, 36px);
  border-bottom: 1px solid rgba(7, 8, 7, 0.1);
}

.f4-ledger > div span {
  color: var(--muted-light);
  font-size: 11px;
}

.f4-ledger > div b {
  color: var(--ink);
  font-size: 12.5px;
  font-weight: 650;
  font-variant-numeric: tabular-nums;
}

.f4-ledger > div.major {
  min-height: clamp(34px, 4.5vh, 44px);
  margin-top: 9px;
  border-top: 2px solid var(--ink);
  border-bottom: 0;
}

.f4-ledger > div.major span,
.f4-ledger > div.major b {
  color: var(--red);
  font-weight: 800;
}

.f4-ledger > div.major span {
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.f4-ledger > div.major b {
  font-size: 15px;
}

.f4-op {
  margin-top: clamp(8px, 1.2vh, 12px);
}

.f4-op > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.f4-op .cost {
  min-height: clamp(26px, 3.4vh, 33px);
  border-top: 1px solid rgba(7, 8, 7, 0.1);
}

.f4-op .cost span {
  color: var(--muted-light);
  font-size: 11px;
}

.f4-op .cost em {
  margin-left: auto;
  color: var(--muted-light);
  font-size: 9.5px;
  font-weight: 700;
  font-style: normal;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

.f4-op .cost b {
  color: var(--ink);
  font-size: 12.5px;
  font-weight: 650;
  font-variant-numeric: tabular-nums;
}

.f4-op .left {
  min-height: clamp(32px, 4.2vh, 40px);
  border-top: 2px solid var(--navy);
}

.f4-op .left span {
  color: var(--navy);
  font-size: 9.5px;
  font-weight: 800;
  letter-spacing: 0.06em;
  line-height: 1.3;
  text-transform: uppercase;
}

.f4-op .left b {
  color: var(--navy);
  font-size: 15px;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}

.f4-costline {
  display: flex;
  align-items: baseline;
  gap: clamp(18px, 2vw, 34px);
  margin-top: clamp(12px, 1.8vh, 20px);
}

.f4-cl-k {
  color: var(--navy);
  font-size: 9.5px;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  white-space: nowrap;
}

.f4-cl-items {
  display: flex;
  flex-wrap: wrap;
  gap: 6px clamp(16px, 1.8vw, 30px);
}

.f4-cl-items span {
  color: var(--muted-light);
  font-size: 11px;
  white-space: nowrap;
}

.f4-cl-items b {
  margin-left: 6px;
  color: var(--ink);
  font-weight: 650;
  font-variant-numeric: tabular-nums;
}

.f4-costline > small {
  margin-left: auto;
  color: var(--muted-light);
  font-size: 9px;
  line-height: 1.4;
  text-align: right;
  white-space: nowrap;
}

.f4-summary {
  display: grid;
  grid-template-columns: minmax(0, 0.78fr) minmax(0, 2.22fr);
  margin-top: clamp(16px, 2.3vh, 26px);
  border-top: 2px solid var(--ink);
  background: none;
}

.f4-summary article {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: clamp(4px, 0.7vh, 8px);
  padding: clamp(12px, 1.7vh, 18px) 0 0;
  border-right: 0;
}

.f4-summary article + article {
  padding-left: clamp(24px, 2.6vw, 46px);
  border-left: 1px solid var(--line-light);
}

.f4-summary small {
  display: block;
  margin-top: -2px;
  max-width: 34ch;
  font-size: clamp(9.5px, 0.66vw, 11px);
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.4;
  text-transform: none;
  color: var(--muted-light);
}

.f4-summary article:last-child {
  border-right: 0;
}

.f4-summary strong {
  color: var(--ink);
  font-size: clamp(26px, 2.4vw, 40px);
  font-weight: 800;
  letter-spacing: -0.04em;
  line-height: 0.9;
  white-space: nowrap;
}

.f4-summary span {
  color: var(--navy);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.12em;
  line-height: 1.35;
  text-transform: uppercase;
}

.f4-summary article.f4-sum-note {
  justify-content: flex-end;
}

.f4-sum-note p {
  margin: 0;
  color: var(--muted-light);
  font-size: clamp(10.5px, 0.78vw, 12.5px);
  line-height: 1.5;
  max-width: 72ch;
}

.f4-note {
  margin: clamp(10px, 1.6vh, 16px) 0 0;
  color: var(--muted-light);
  font-size: 10px;
  line-height: 1.45;
}

@media (min-width: 981px) and (max-height: 800px) {
  .forecast-v4 .f4-shell {
    padding-top: 16px;
    padding-bottom: 14px;
  }

  .f4-head .display-title {
    margin-top: 10px;
    font-size: clamp(37px, 3.4vw, 48px);
  }

  .f4-legend {
    padding-bottom: 7px;
  }

  .f4-years {
    margin-top: 13px;
  }

  .f4-years > article {
    padding-top: 12px;
    padding-bottom: 12px;
  }

  .f4-total {
    min-height: 52px;
    font-size: 46px;
  }

  .f4-cap {
    margin-top: 7px;
  }

  .f4-op .cost {
    min-height: 22px;
  }

  .f4-op .left {
    min-height: 26px;
  }

  .f4-costline {
    margin-top: 9px;
  }

  .f4-rail {
    height: 7px;
    margin: 10px 0 9px;
  }

  .f4-ledger > div {
    min-height: 23px;
  }

  .f4-ledger > div.major {
    min-height: 29px;
    margin-top: 7px;
  }

  .f4-summary {
    margin-top: 13px;
  }

  .f4-summary article {
    padding-top: 11px;
    padding-bottom: 11px;
  }

  .f4-summary strong {
    font-size: 25px;
  }

  .f4-note {
    margin-top: 7px;
  }
}

@media (max-width: 980px) {
  .forecast-v4 .f4-shell {
    min-height: 0;
    justify-content: flex-start;
    padding-top: 28px;
    padding-bottom: 40px;
  }

  .f4-head {
    flex-direction: column;
    align-items: flex-start;
    gap: 18px;
  }

  .f4-head .display-title {
    font-size: clamp(38px, 10vw, 54px);
  }

  .f4-legend {
    flex-wrap: wrap;
    gap: 10px 22px;
    padding-bottom: 0;
  }

  .f4-years {
    grid-template-columns: 1fr;
    margin-top: 20px;
    border-bottom: 0;
  }

  .f4-years > article,
  .f4-years > article:first-child,
  .f4-years > article:last-child {
    padding: 18px 0 22px;
    border-right: 0;
  }

  .f4-total {
    min-height: 62px;
    font-size: clamp(48px, 14vw, 66px);
  }

  .f4-costline {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    margin-top: 4px;
    padding-bottom: 18px;
  }

  .f4-costline > small {
    margin-left: 0;
    text-align: left;
    white-space: normal;
  }

  .f4-summary {
    grid-template-columns: 1fr;
    margin-top: 0;
  }

  .f4-summary article,
  .f4-summary article:last-child {
    padding: 15px 20px;
    border-right: 0;
    border-bottom: 1px solid rgba(239, 238, 233, 0.22);
  }

  .f4-summary article:last-child {
    border-bottom: 0;
  }
}

/* 11 / INVESTMENT TERMS - THE $50K ASK (ivory / ink, resolved close) */

.terms-v2 {
  background: var(--paper);
}

.terms-v2 .tm-shell {
  min-height: calc(100vh - var(--bar-h));
  display: flex;
  flex-direction: column;
}

.tm-core {
  margin: auto 0;
  padding: clamp(16px, 2.4vh, 34px) 0;
}

.tm-label {
  display: block;
  color: var(--muted-light);
  font-size: 10px;
  line-height: 1;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  font-weight: 800;
}

.tm-ask {
  display: grid;
  grid-template-columns: minmax(0, auto) minmax(0, 1fr);
  align-items: end;
  gap: 20px clamp(46px, 5.4vw, 104px);
}

.tm-figure {
  display: block;
  margin-top: clamp(14px, 2.4vh, 26px);
  color: var(--red);
  font-size: clamp(118px, 20.5vh, 224px);
  font-weight: 800;
  line-height: 0.78;
  letter-spacing: -0.06em;
  white-space: nowrap;
}

.tm-ask-note {
  margin: 0;
  max-width: 46ch;
  padding-bottom: clamp(3px, 0.8vh, 9px);
  color: var(--ink);
  font-size: clamp(13.5px, 1.7vh, 17px);
  line-height: 1.6;
}

.tm-proof {
  margin-top: clamp(24px, 4.6vh, 56px);
  padding-top: clamp(13px, 1.9vh, 19px);
  border-top: 3px solid var(--ink);
}

.tm-proof-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: clamp(11px, 1.7vh, 17px);
}

.tm-proof-row article {
  min-width: 0;
  padding: 0 clamp(18px, 2vw, 34px) 0 clamp(16px, 1.7vw, 28px);
  border-left: 1px solid var(--line-light);
}

.tm-proof-row article:first-child {
  padding-left: 0;
  border-left: 0;
}

.tm-proof-row strong {
  display: block;
  font-size: clamp(16px, 2.4vh, 22px);
  font-weight: 800;
  line-height: 1.12;
  letter-spacing: -0.02em;
}

.tm-proof-row strong b {
  color: var(--red);
}

.tm-proof-row article span {
  display: block;
  margin-top: 7px;
  color: var(--muted-light);
  font-size: clamp(11px, 1.4vh, 13px);
  line-height: 1.5;
}

.tm-close {
  margin: clamp(24px, 4.6vh, 56px) 0 0;
  max-width: 30ch;
  color: var(--muted-light);
  font-size: clamp(25px, 4.2vh, 44px);
  font-weight: 800;
  line-height: 1.06;
  letter-spacing: -0.04em;
}

.tm-close b {
  color: var(--ink);
}

.tm-foot {
  padding-top: clamp(12px, 1.8vh, 18px);
  border-top: 1px solid var(--line-light);
}

.tm-terms-line {
  margin: 0;
  max-width: 96ch;
  color: var(--muted-light);
  font-size: clamp(10.5px, 1.25vh, 12.5px);
  line-height: 1.55;
}

.tm-foot-row {
  display: flex;
  align-items: baseline;
  gap: 10px 44px;
  margin-top: clamp(9px, 1.4vh, 14px);
}

.tm-legal {
  margin: 0;
  color: var(--muted-light);
  font-size: 10px;
  line-height: 1.5;
}

.tm-return {
  margin-left: auto;
  padding-bottom: 3px;
  border-bottom: 1px solid rgba(7, 8, 7, 0.3);
  color: var(--ink);
  font-size: 9.5px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  text-decoration: none;
  white-space: nowrap;
}

.tm-return:hover,
.tm-return:focus-visible {
  border-bottom-color: var(--ink);
}

@media (max-width: 980px) {
  .terms-v2 .tm-shell {
    min-height: 0;
    padding-top: 28px;
    padding-bottom: 40px;
  }

  .tm-core {
    margin: 0;
    padding: 22px 0 30px;
  }

  .tm-ask {
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
  }

  .tm-figure {
    margin-top: 16px;
    font-size: clamp(88px, 26vw, 128px);
  }

  .tm-ask-note {
    padding-bottom: 0;
    font-size: 15px;
  }

  .tm-proof {
    margin-top: 30px;
    padding-top: 14px;
  }

  .tm-proof-row {
    grid-template-columns: minmax(0, 1fr);
    margin-top: 6px;
  }

  .tm-proof-row article {
    padding: 13px 0;
    border-left: 0;
    border-bottom: 1px solid var(--line-light);
  }

  .tm-proof-row article:first-child {
    padding-left: 0;
  }

  .tm-proof-row article:last-child {
    border-bottom: 0;
    padding-bottom: 2px;
  }

  .tm-proof-row strong {
    font-size: 18px;
  }

  .tm-proof-row article span {
    font-size: 12px;
  }

  .tm-close {
    margin-top: 26px;
    font-size: clamp(26px, 7.4vw, 34px);
  }

  .tm-foot-row {
    flex-wrap: wrap;
  }

  .tm-return {
    margin-left: 0;
  }
}

/* 09 / OPERATING PLAN - COST BASE + REVENUE COVERAGE */

.op-plan-v3 {
  background: var(--paper);
}

.op-plan-v3 .op3-shell {
  min-height: calc(100vh - var(--bar-h));
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-top: clamp(25px, 3.2vh, 36px);
  padding-bottom: clamp(20px, 2.6vh, 28px);
}

.op3-head {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(350px, 0.7fr);
  gap: clamp(46px, 5vw, 86px);
  align-items: end;
}

.op3-head .section-kicker {
  margin-top: clamp(16px, 2vh, 22px);
  color: var(--navy);
}

.op3-head .display-title {
  max-width: 980px;
  margin-top: 7px;
  color: var(--ink);
  font-size: clamp(44px, 3.8vw, 64px);
  line-height: 0.98;
}

.op3-head .display-dek {
  max-width: 480px;
  margin: 0 0 3px;
  color: #4f524e;
  font-size: clamp(15px, 1.03vw, 18px);
  line-height: 1.55;
}

.op3-body {
  display: grid;
  grid-template-columns: minmax(0, 1.42fr) minmax(390px, 0.78fr);
  gap: clamp(38px, 4vw, 68px);
  margin-top: clamp(24px, 3vh, 34px);
  border-top: 3px solid var(--ink);
  border-bottom: 1px solid var(--line-light);
}

.op3-costs {
  min-width: 0;
  padding: clamp(17px, 2.2vh, 24px) 0 clamp(16px, 2vh, 22px);
}

.op3-costs-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
}

.op3-costs-head > span,
.op3-coverage-head > span {
  color: var(--navy);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.19em;
  text-transform: uppercase;
}

.op3-costs-head > div {
  text-align: right;
}

.op3-costs-head strong,
.op3-costs-head small {
  display: block;
}

.op3-costs-head strong {
  color: var(--ink);
  font-size: clamp(48px, 4.6vw, 76px);
  font-weight: 800;
  letter-spacing: -0.06em;
  line-height: 0.82;
}

.op3-costs-head small {
  margin-top: 10px;
  color: var(--muted-light);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.op3-stack {
  height: 14px;
  display: flex;
  gap: 3px;
  margin-top: clamp(14px, 1.8vh, 19px);
  background: #d8d8d3;
}

.op3-stack i {
  height: 100%;
  display: block;
  flex: var(--share);
}

.op3-stack i:nth-child(1) { background: var(--red); }
.op3-stack i:nth-child(2) { background: var(--navy); }
.op3-stack i:nth-child(3) { background: #374151; }
.op3-stack i:nth-child(4) { background: #6b706c; }
.op3-stack i:nth-child(5) { background: #9da19d; }
.op3-stack i:nth-child(6) { background: #c2c4c0; }

.op3-ledger {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: clamp(28px, 3.2vw, 52px);
  margin-top: 11px;
  border-top: 1px solid var(--line-light);
}

.op3-ledger > div {
  min-width: 0;
  min-height: clamp(38px, 4.7vh, 49px);
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 11px;
  border-bottom: 1px solid var(--line-light);
}

.op3-ledger span {
  color: #50534f;
  font-size: clamp(11px, 0.85vw, 13px);
  line-height: 1.2;
}

.op3-ledger strong {
  color: var(--ink);
  font-size: clamp(13px, 0.98vw, 16px);
  font-variant-numeric: tabular-nums;
}

.op3-ledger b {
  min-width: 26px;
  color: var(--muted-light);
  font-size: 8px;
  text-align: right;
}

.op3-coverage {
  min-width: 0;
  padding: clamp(17px, 2.2vh, 24px) 0 clamp(16px, 2vh, 22px) clamp(28px, 2.7vw, 46px);
  border-left: 3px solid var(--red);
}

.op3-coverage-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 16px;
  padding-bottom: 10px;
}

.op3-coverage-head small {
  color: var(--muted-light);
  font-size: 9px;
  text-align: right;
}

.op3-coverage-row {
  min-height: clamp(54px, 6.6vh, 70px);
  display: grid;
  grid-template-columns: 58px minmax(94px, 1fr) auto 50px;
  align-items: center;
  gap: 12px;
  border-top: 1px solid var(--line-light);
}

.op3-coverage-row span {
  color: var(--navy);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.op3-coverage-row strong {
  color: var(--ink);
  font-size: clamp(22px, 2vw, 33px);
  letter-spacing: -0.045em;
  font-variant-numeric: tabular-nums;
}

.op3-coverage-row b {
  color: #5c5f5b;
  font-size: 11px;
  font-variant-numeric: tabular-nums;
}

.op3-coverage-row em {
  color: var(--red);
  font-size: clamp(18px, 1.5vw, 25px);
  font-style: normal;
  font-weight: 800;
  text-align: right;
}

.op3-coverage-row.hot strong,
.op3-coverage-row.hot em {
  color: var(--red);
}

.op3-coverage > p {
  margin: 10px 0 0;
  color: var(--muted-light);
  font-size: 9px;
  line-height: 1.35;
}

.op3-surplus {
  display: grid;
  grid-template-columns: minmax(300px, 1.5fr) repeat(3, minmax(150px, 0.65fr));
  border-bottom: 1px solid var(--line-light);
}

.op3-surplus > div {
  min-width: 0;
  min-height: clamp(58px, 7vh, 74px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 0 clamp(20px, 2vw, 32px);
  border-right: 1px solid var(--line-light);
}

.op3-surplus > div:first-child {
  padding-left: 0;
}

.op3-surplus > div:last-child {
  border-right: 0;
}

.op3-surplus-label {
  flex-direction: column;
  align-items: flex-start !important;
  justify-content: center !important;
  gap: 4px !important;
}

.op3-surplus span {
  color: var(--navy);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.15em;
  line-height: 1.3;
  text-transform: uppercase;
}

.op3-surplus small {
  color: var(--muted-light);
  font-size: 9px;
}

.op3-surplus strong {
  color: var(--ink);
  font-size: clamp(23px, 2vw, 34px);
  font-weight: 800;
  letter-spacing: -0.045em;
  white-space: nowrap;
}

.op3-surplus .hot strong {
  color: var(--red);
}

.op3-capital {
  display: grid;
  grid-template-columns: minmax(260px, 0.8fr) minmax(320px, 1fr) minmax(360px, 1.2fr);
  border-bottom: 1px solid var(--line-light);
}

.op3-capital > div,
.op3-capital > p {
  min-width: 0;
  padding: clamp(13px, 1.7vh, 18px) clamp(20px, 2vw, 32px);
  border-right: 1px solid var(--line-light);
}

.op3-capital > div:first-child {
  padding-left: 0;
}

.op3-capital > p {
  margin: 0;
  border-right: 0;
  color: #555853;
  font-size: clamp(10px, 0.75vw, 12px);
  line-height: 1.45;
}

.op3-capital span,
.op3-capital strong,
.op3-capital b {
  display: block;
}

.op3-capital span {
  color: var(--navy);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.op3-capital strong {
  margin-top: 4px;
  color: var(--ink);
  font-size: clamp(23px, 2vw, 34px);
  letter-spacing: -0.045em;
  line-height: 1;
}

.op3-capital > div:first-child strong {
  color: var(--red);
}

.op3-capital b {
  margin-top: 5px;
  color: var(--muted-light);
  font-size: 9px;
  font-weight: 650;
}

.op3-close {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  gap: clamp(28px, 3vw, 50px);
  align-items: center;
  padding-top: clamp(14px, 1.8vh, 20px);
}

.op3-close span {
  color: var(--red);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.19em;
  text-transform: uppercase;
}

.op3-close strong {
  color: var(--ink);
  font-size: clamp(19px, 1.55vw, 27px);
  line-height: 1.15;
}

.op3-note {
  margin-top: 8px;
  color: var(--muted-light);
  font-size: 8.5px;
  line-height: 1.4;
}

@media (min-width: 981px) and (max-height: 800px) {
  .forecast-v3 .f3-shell,
  .op-plan-v3 .op3-shell {
    padding-top: 16px;
    padding-bottom: 14px;
  }

  .f3-head .section-kicker,
  .op3-head .section-kicker {
    margin-top: 10px;
  }

  .f3-head .display-title,
  .op3-head .display-title {
    font-size: clamp(37px, 3.55vw, 49px);
  }

  .f3-head .display-dek,
  .op3-head .display-dek {
    font-size: 12.5px;
  }

  .f3-legend {
    margin-top: 10px;
  }

  .f3-years > article {
    padding-top: 13px;
    padding-bottom: 12px;
  }

  .f3-total {
    min-height: 52px;
    font-size: 46px;
  }

  .f3-years > article.hot .f3-total {
    font-size: 54px;
  }

  .f3-split {
    height: 7px;
    margin: 9px 0;
  }

  .f3-layer + .f3-layer {
    margin-top: 6px;
  }

  .f3-layer header {
    min-height: 24px;
  }

  .f3-layer > div {
    min-height: 21px;
  }

  .f3-layer > p {
    min-height: 24px;
    font-size: 9px;
  }

  .f3-scoreboard article {
    padding-top: 10px;
    padding-bottom: 10px;
  }

  .f3-scoreboard strong {
    font-size: 28px;
  }

  .f3-close {
    padding-top: 10px;
  }

  .forecast-v3 .model-note {
    margin-top: 5px;
  }

  .op3-body {
    margin-top: 15px;
  }

  .op3-costs,
  .op3-coverage {
    padding-top: 12px;
    padding-bottom: 10px;
  }

  .op3-costs-head strong {
    font-size: 50px;
  }

  .op3-costs-head small {
    margin-top: 6px;
  }

  .op3-stack {
    height: 10px;
    margin-top: 9px;
  }

  .op3-ledger {
    margin-top: 7px;
  }

  .op3-ledger > div {
    min-height: 30px;
  }

  .op3-coverage-row {
    min-height: 47px;
  }

  .op3-coverage-row strong {
    font-size: 24px;
  }

  .op3-surplus > div {
    min-height: 46px;
    padding-top: 0;
    padding-bottom: 0;
  }

  .op3-surplus strong {
    font-size: 24px;
  }

  .op3-capital > div,
  .op3-capital > p {
    padding-top: 9px;
    padding-bottom: 9px;
  }

  .op3-capital strong {
    font-size: 24px;
  }

  .op3-close {
    padding-top: 9px;
  }

  .op3-close strong {
    font-size: 17px;
  }

  .op3-note {
    margin-top: 5px;
    font-size: 7.5px;
  }
}

@media (max-width: 980px) {
  .forecast-v3 .f3-shell,
  .op-plan-v3 .op3-shell {
    min-height: 0;
    justify-content: flex-start;
    padding-top: 28px;
    padding-bottom: 40px;
  }

  .f3-head,
  .op3-head {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .f3-head .display-title,
  .op3-head .display-title {
    font-size: clamp(38px, 10vw, 54px);
  }

  .f3-head .display-dek,
  .op3-head .display-dek {
    max-width: none;
  }

  .f3-legend {
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 12px 22px;
    margin-top: 22px;
  }

  .f3-years {
    grid-template-columns: 1fr;
    margin-top: 12px;
  }

  .f3-years > article,
  .f3-years > article:last-child {
    padding: 22px 0;
    border-right: 0;
    border-bottom: 1px solid var(--line-dark);
  }

  .f3-years > article:last-child {
    border-bottom: 0;
  }

  .f3-years > article.hot {
    padding-inline: 16px;
  }

  .f3-total,
  .f3-years > article.hot .f3-total {
    min-height: 72px;
    font-size: clamp(54px, 16vw, 74px);
  }

  .f3-close,
  .op3-close {
    grid-template-columns: 1fr;
    gap: 9px;
  }

  .f3-scoreboard {
    grid-template-columns: 1fr;
  }

  .f3-scoreboard article,
  .f3-scoreboard article:first-child {
    padding: 16px 0;
    border-right: 0;
    border-bottom: 1px solid var(--line-dark);
  }

  .f3-scoreboard article:last-child {
    border-bottom: 0;
  }

  .op3-body {
    grid-template-columns: 1fr;
    gap: 0;
    margin-top: 24px;
  }

  .op3-ledger {
    grid-template-columns: 1fr;
  }

  .op3-coverage {
    padding: 22px 0 18px;
    border-top: 3px solid var(--red);
    border-left: 0;
  }

  .op3-coverage-row {
    grid-template-columns: 56px minmax(86px, 1fr) auto 44px;
    gap: 8px;
  }

  .op3-coverage-row strong {
    font-size: 22px;
  }

  .op3-coverage-row b {
    font-size: 10px;
  }

  .op3-capital {
    grid-template-columns: 1fr;
  }

  .op3-surplus {
    grid-template-columns: 1fr;
  }

  .op3-surplus > div,
  .op3-surplus > div:first-child {
    min-height: 58px;
    padding: 0;
    border-right: 0;
    border-bottom: 1px solid var(--line-light);
  }

  .op3-surplus > div:last-child {
    border-bottom: 0;
  }

  .op3-capital > div,
  .op3-capital > div:first-child,
  .op3-capital > p {
    padding: 15px 0;
    border-right: 0;
    border-bottom: 1px solid var(--line-light);
  }

  .op3-capital > p {
    border-bottom: 0;
  }

  .op3-close {
    padding-top: 20px;
  }
}

/* 05 / MAJOR ECONOMICS: simplified qualification-to-value concept */
.m5-legacy {
  display: none !important;
}

.major-v2.major .slide-shell.m5-shell {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding-top: clamp(20px, 2.3vh, 26px);
  padding-bottom: clamp(13px, 1.6vh, 18px);
}

.m5-head {
  display: grid;
  grid-template-columns: minmax(0, 1.28fr) minmax(360px, 0.72fr);
  align-items: end;
  gap: clamp(48px, 6vw, 96px);
  margin: clamp(12px, 1.5vh, 16px) 0 clamp(13px, 1.7vh, 19px);
}

.m5-head .section-kicker {
  margin-bottom: 8px;
}

.m5-head .display-title {
  max-width: 860px;
  font-size: clamp(42px, 4vw, 64px);
  letter-spacing: -0.055em;
  line-height: 0.96;
}

.m5-head > p {
  margin: 0 0 3px;
  max-width: 460px;
  color: var(--muted);
  font-size: clamp(14px, 1.08vw, 17px);
  line-height: 1.42;
}

.m5-flow {
  display: grid;
  grid-template-columns: minmax(0, 0.82fr) 34px minmax(0, 1.26fr) 34px minmax(0, 1.04fr);
  min-height: 0;
  border-top: 2px solid var(--ink);
  border-bottom: 1px solid var(--ink);
}

.m5-step {
  min-width: 0;
  display: flex;
  flex-direction: column;
  padding: clamp(17px, 2.2vh, 24px) 0 clamp(14px, 1.9vh, 22px);
}

.m5-step + .m5-flow-arrow + .m5-step,
.m5-payout {
  padding-left: clamp(22px, 2.2vw, 38px);
}

.m5-qualify,
.m5-spending {
  padding-right: clamp(22px, 2.2vw, 38px);
}

.m5-step header {
  display: flex;
  align-items: baseline;
  gap: 12px;
  margin-bottom: 7px;
  color: var(--ink);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.2em;
  line-height: 1.2;
  text-transform: uppercase;
}

.m5-step header b {
  color: var(--red);
}

.m5-step-lead {
  min-height: 38px;
  margin: 0 0 clamp(12px, 1.8vh, 20px);
  color: var(--muted);
  font-size: 12.5px;
  line-height: 1.45;
}

.m5-flow-arrow {
  align-self: stretch;
  display: grid;
  place-items: center;
  color: var(--red);
  font-size: 30px;
  font-style: normal;
  border-left: 1px solid var(--line-light);
  border-right: 1px solid var(--line-light);
}

.m5-slot-figures {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: end;
  gap: 14px;
}

.m5-slot-figures p {
  margin: 0;
}

.m5-slot-figures strong {
  display: block;
  font-size: clamp(58px, 5vw, 82px);
  font-weight: 800;
  letter-spacing: -0.075em;
  line-height: 0.85;
}

.m5-slot-figures span {
  display: block;
  margin-top: 9px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.11em;
  line-height: 1.35;
  text-transform: uppercase;
}

.m5-slot-figures i {
  padding-bottom: 20px;
  color: var(--line-dark);
  font-size: 25px;
  font-style: normal;
}

.m5-slot-figures .is-red strong {
  color: var(--red);
}

.m5-slot-bar {
  position: relative;
  height: 48px;
  margin-top: auto;
  border: 1px solid var(--line-dark);
  background:
    repeating-linear-gradient(
      to right,
      transparent 0,
      transparent calc(3.125% - 1px),
      rgba(10, 10, 10, 0.22) calc(3.125% - 1px),
      rgba(10, 10, 10, 0.22) 3.125%
    );
  overflow: hidden;
}

.m5-slot-bar span {
  position: absolute;
  inset: 0 0 0 auto;
  width: 28.125%;
  display: grid;
  place-items: center;
  background: var(--red);
  color: #fff;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-align: center;
  text-transform: uppercase;
}

.m5-products {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.m5-product {
  min-width: 0;
  margin: 0;
}

.m5-product .mj-shot {
  width: 100%;
  height: clamp(100px, 13.5vh, 148px);
  border-top: 2px solid var(--red);
  overflow: hidden;
}

.m5-product .mj-shot img {
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  transform: none;
}

.m5-product:first-child .mj-shot img {
  object-position: 50% 48%;
}

.m5-product:last-child .mj-shot img {
  object-position: 50% 34%;
}

.m5-product figcaption {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  padding-top: 7px;
  color: var(--ink);
  font-size: 9px;
  font-style: normal;
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1.3;
  text-transform: uppercase;
}

.m5-product figcaption span {
  color: var(--muted);
  text-align: right;
}

.m5-spending-note {
  margin: auto 0 0;
  padding-top: 11px;
  border-top: 1px solid var(--line-light);
  color: var(--ink);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.35;
}

.m5-share {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: end;
  gap: 16px;
}

.m5-share strong {
  color: var(--navy);
  font-size: clamp(58px, 5vw, 82px);
  font-weight: 800;
  letter-spacing: -0.075em;
  line-height: 0.82;
}

.m5-share span {
  max-width: 245px;
  padding-bottom: 2px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1.35;
  text-transform: uppercase;
}

.m5-distribution {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 14px;
  border-top: 1px solid var(--navy);
}

.m5-distribution span {
  position: relative;
  padding-top: 10px;
  font-size: 8.5px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-align: center;
  text-transform: uppercase;
}

.m5-distribution span::before {
  content: "";
  position: absolute;
  top: -5px;
  left: 50%;
  width: 1px;
  height: 8px;
  background: var(--navy);
}

.m5-benchmark {
  display: grid;
  grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
  align-items: end;
  gap: clamp(14px, 1.4vw, 24px);
  margin-top: auto;
  padding-top: 13px;
  border-top: 2px solid var(--ink);
}

.m5-benchmark p {
  min-width: 0;
  margin: 0;
}

.m5-benchmark-range {
  padding-left: clamp(14px, 1.4vw, 24px);
  border-left: 1px solid var(--line-light);
}

.m5-benchmark span,
.m5-benchmark small {
  display: block;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.1em;
  line-height: 1.35;
  text-transform: uppercase;
}

.m5-benchmark span {
  color: var(--red);
}

.m5-benchmark strong {
  display: block;
  margin: 6px 0 3px;
  font-weight: 800;
  letter-spacing: -0.06em;
  line-height: 0.9;
  white-space: nowrap;
}

.m5-benchmark-total strong {
  font-size: clamp(32px, 2.7vw, 46px);
}

.m5-benchmark-range strong {
  font-size: clamp(25px, 2vw, 34px);
}

.m5-benchmark small {
  color: var(--muted);
  font-size: 8px;
}

.m5-progression {
  min-height: 0;
  display: flex;
  flex: 1;
  flex-direction: column;
  margin-top: clamp(16px, 2.2vh, 24px);
}

.m5-progression > header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 34px;
  margin-bottom: 10px;
}

.m5-progression > header p {
  margin: 0 0 3px;
  color: var(--red);
  font-size: 9.5px;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.m5-progression > header h3 {
  margin: 0;
  font-size: clamp(19px, 1.7vw, 26px);
  letter-spacing: -0.03em;
  line-height: 1.05;
}

.m5-progression > header > span {
  max-width: 450px;
  color: var(--muted);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1.35;
  text-align: right;
  text-transform: uppercase;
}

.m5-stages {
  min-height: 0;
  flex: 1;
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.1fr) minmax(0, 0.95fr);
  border-top: 2px solid var(--ink);
  border-bottom: 1px solid var(--ink);
}

.m5-stage {
  position: relative;
  min-width: 0;
  min-height: clamp(156px, 20vh, 224px);
  display: flex;
  flex-direction: column;
  padding: clamp(13px, 1.7vh, 18px) clamp(18px, 1.7vw, 28px) 0;
  overflow: hidden;
}

.m5-stage + .m5-stage {
  border-left: 1px solid var(--line-light);
}

.m5-stage > p {
  margin: 0 0 8px;
  font-size: 9.5px;
  font-weight: 800;
  letter-spacing: 0.14em;
  line-height: 1.35;
  text-transform: uppercase;
}

.m5-stage > p b {
  margin-right: 8px;
  color: var(--red);
}

.m5-stage > strong {
  position: relative;
  z-index: 2;
  font-size: clamp(38px, 3.6vw, 58px);
  font-weight: 800;
  letter-spacing: -0.065em;
  line-height: 0.9;
}

.m5-stage-scale > strong {
  color: var(--red);
}

.m5-stage > span {
  position: relative;
  z-index: 2;
  display: block;
  margin-top: 6px;
  max-width: 290px;
  color: var(--muted);
  font-size: 10.5px;
  line-height: 1.35;
}

.m5-stage ul {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  margin: 7px 0 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--line-light);
}

.m5-stage li {
  padding: 9px 10px 0;
  color: var(--navy);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.07em;
  line-height: 1.3;
  text-align: center;
  text-transform: uppercase;
}

.m5-stage li + li {
  border-left: 1px solid var(--line-light);
}

.m5-crowd {
  position: absolute;
  right: 18px;
  bottom: 0;
  z-index: 1;
  height: 50px;
  display: flex;
  align-items: flex-end;
  gap: 4px;
  color: var(--navy);
  opacity: 0.18;
}

.m5-crowd i {
  position: relative;
  display: block;
  width: 12px;
  height: 27px;
  border-radius: 7px 7px 2px 2px;
  background: currentColor;
}

.m5-crowd i::before {
  content: "";
  position: absolute;
  top: -9px;
  left: 2px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: currentColor;
}

.m5-crowd-medium {
  right: 50%;
  transform: translateX(50%);
}

.m5-crowd-large {
  right: 14px;
  color: var(--red);
  opacity: 0.22;
}

.m5-crowd-medium i:nth-child(3n),
.m5-crowd-large i:nth-child(3n) {
  height: 34px;
}

.m5-crowd-medium i:nth-child(3n)::before,
.m5-crowd-large i:nth-child(3n)::before {
  top: -9px;
}

.m5-sources {
  margin-top: 10px;
  padding-top: 10px;
  gap: 22px;
}

.major-v2 .m5-sources a {
  font-size: 10.5px;
}

@media (min-width: 821px) and (max-height: 840px) {
  .major-v2.major .slide-shell.m5-shell {
    padding-top: 15px;
    padding-bottom: 10px;
  }

  .m5-head {
    margin: 9px 0 13px;
    gap: 52px;
  }

  .m5-head .display-title {
    font-size: clamp(38px, 3.7vw, 50px);
  }

  .m5-head > p {
    font-size: 12.5px;
  }

  .m5-step {
    padding-top: 11px;
    padding-bottom: 10px;
  }

  .m5-step-lead {
    min-height: 30px;
    margin-bottom: 9px;
    font-size: 10.5px;
  }

  .m5-slot-figures strong,
  .m5-share strong {
    font-size: 52px;
  }

  .m5-slot-bar {
    height: 35px;
  }

  .m5-product .mj-shot {
    height: 88px;
  }

  .m5-product figcaption {
    font-size: 7.5px;
  }

  .m5-spending-note {
    padding-top: 7px;
    font-size: 9.5px;
  }

  .m5-distribution {
    margin-top: 9px;
  }

  .m5-benchmark {
    gap: 10px;
    padding-top: 8px;
  }

  .m5-benchmark-range {
    padding-left: 10px;
  }

  .m5-benchmark-total strong {
    font-size: 29px;
  }

  .m5-benchmark-range strong {
    font-size: 23px;
  }

  .m5-progression {
    flex: none;
    margin-top: 10px;
  }

  .m5-progression > header {
    margin-bottom: 6px;
  }

  .m5-progression > header h3 {
    font-size: 18px;
  }

  .m5-stage {
    min-height: 130px;
    padding-top: 9px;
  }

  .m5-stage > p {
    margin-bottom: 5px;
    font-size: 8px;
  }

  .m5-stage > strong {
    font-size: 38px;
  }

  .m5-stage > span {
    margin-top: 4px;
    font-size: 8.5px;
  }

  .m5-stage li {
    padding-top: 6px;
    font-size: 7.5px;
  }

  .m5-crowd {
    transform: scale(0.78);
    transform-origin: 100% 100%;
  }

  .m5-crowd-medium {
    transform: translateX(50%) scale(0.78);
    transform-origin: 50% 100%;
  }

  .m5-sources {
    padding-top: 7px;
  }

  .major-v2 .m5-sources a {
    font-size: 8.5px;
  }
}

@media (max-width: 820px) {
  .major-v2 {
    overflow: visible;
  }

  .major-v2.major .slide-shell.m5-shell {
    width: calc(100% - 38px);
    min-height: auto;
    padding: 20px 0 34px;
  }

  .m5-head {
    grid-template-columns: 1fr;
    gap: 12px;
    margin: 18px 0 24px;
  }

  .m5-head .display-title {
    font-size: clamp(38px, 11.5vw, 52px);
  }

  .m5-head > p {
    max-width: none;
    font-size: 15px;
  }

  .m5-flow {
    grid-template-columns: 1fr;
  }

  .m5-step,
  .m5-qualify,
  .m5-spending,
  .m5-payout,
  .m5-step + .m5-flow-arrow + .m5-step {
    padding: 22px 0;
  }

  .m5-flow-arrow {
    min-height: 42px;
    border: 0;
    border-top: 1px solid var(--line-light);
    border-bottom: 1px solid var(--line-light);
    transform: none;
  }

  .m5-flow-arrow {
    font-size: 0;
  }

  .m5-flow-arrow::after {
    content: "↓";
    color: var(--red);
    font-size: 28px;
  }

  .m5-step-lead {
    min-height: 0;
  }

  .m5-slot-bar {
    margin-top: 22px;
  }

  .m5-product .mj-shot {
    height: clamp(150px, 43vw, 220px);
  }

  .m5-share {
    grid-template-columns: auto 1fr;
  }

  .m5-benchmark {
    grid-template-columns: 1fr;
    gap: 18px;
    margin-top: 26px;
  }

  .m5-benchmark-range {
    padding: 18px 0 0;
    border-top: 1px solid var(--line-light);
    border-left: 0;
  }

  .m5-progression {
    display: block;
    margin-top: 28px;
  }

  .m5-progression > header {
    align-items: flex-start;
    flex-direction: column;
    gap: 9px;
  }

  .m5-progression > header h3 {
    font-size: 25px;
  }

  .m5-progression > header > span {
    max-width: none;
    text-align: left;
  }

  .m5-stages {
    display: grid;
    grid-template-columns: 1fr;
  }

  .m5-stage {
    min-height: 176px;
    padding: 20px 18px 0;
  }

  .m5-stage + .m5-stage {
    border-left: 0;
    border-top: 1px solid var(--line-light);
  }

  .m5-stage ul {
    max-width: 100%;
  }

  .m5-crowd-medium {
    right: 18px;
    transform: none;
  }

  .m5-sources {
    align-items: flex-start;
    flex-direction: column;
    gap: 10px;
    margin-top: 18px;
  }

  .major-v2 .m5-sources a {
    font-size: 11px;
  }
}

@media (max-width: 460px) {
  .m5-slot-figures strong,
  .m5-share strong {
    font-size: 52px;
  }

  .m5-products {
    gap: 9px;
  }

  .m5-product figcaption {
    align-items: flex-start;
    flex-direction: column;
    gap: 3px;
  }

  .m5-product figcaption span {
    text-align: left;
  }

  .m5-stage ul {
    grid-template-columns: 1fr;
  }

  .m5-stage li {
    padding: 7px 0;
    text-align: left;
  }

  .m5-stage li + li {
    border-left: 0;
    border-top: 1px solid var(--line-light);
  }
}

/* 05 / MAJOR ECONOMICS: FIVE-STEP FAN-SPENDING CYCLE (c5) */

.major-v2 .m5-head .display-title {
  max-width: 980px;
  text-wrap: balance;
}

.c5-flow {
  position: relative;
  flex: 1 1 auto;
  min-height: 0;
  display: grid;
  grid-template-columns:
    minmax(0, 1fr) clamp(26px, 2.6vw, 46px) minmax(0, 1.32fr) clamp(26px, 2.6vw, 46px)
    minmax(0, 0.92fr) clamp(26px, 2.6vw, 46px) minmax(0, 1.06fr) clamp(26px, 2.6vw, 46px)
    minmax(0, 0.86fr);
  border-top: 2px solid var(--ink);
  padding-top: clamp(38px, 5vh, 52px);
}

.c5-return {
  position: absolute;
  top: clamp(10px, 1.5vh, 14px);
  left: 9.5%;
  right: 9.5%;
  height: clamp(20px, 2.8vh, 28px);
  border: 2px solid var(--red);
  border-bottom: none;
  border-radius: 14px 14px 0 0;
  pointer-events: none;
}

.c5-return::before {
  content: "";
  position: absolute;
  left: -7px;
  bottom: -9px;
  border-top: 9px solid var(--red);
  border-left: 5.5px solid transparent;
  border-right: 5.5px solid transparent;
}

.c5-return::after {
  content: "";
  position: absolute;
  right: -4px;
  bottom: -3px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--red);
}

.c5-return span {
  position: absolute;
  left: 50%;
  top: -7px;
  transform: translateX(-50%);
  padding: 0 12px;
  background: var(--paper);
  color: var(--red);
  font-size: 9.5px;
  font-weight: 800;
  letter-spacing: 0.16em;
  line-height: 1.4;
  text-transform: uppercase;
  white-space: nowrap;
}

.c5-return-m {
  display: none;
}

.c5-step {
  position: relative;
  min-width: 0;
  display: flex;
  flex-direction: column;
}

.c5-sh {
  display: flex;
  align-items: baseline;
  gap: 12px;
  min-height: 30px;
  margin-bottom: clamp(10px, 1.6vh, 15px);
  color: var(--ink);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.2em;
  line-height: 1.25;
  text-transform: uppercase;
}

.c5-sh b {
  color: var(--red);
}

.c5-exp {
  margin: 0;
  color: var(--muted-light);
  font-size: clamp(11.5px, 0.9vw, 13.5px);
  line-height: 1.55;
}

.c5-line {
  margin: clamp(10px, 1.6vh, 15px) 0 0;
  color: var(--muted-light);
  font-size: clamp(11px, 0.85vw, 12.5px);
  line-height: 1.5;
}

.c5-flow a,
.c5-band a {
  color: inherit;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  text-decoration-color: rgba(7, 8, 7, 0.38);
}

.c5-flow a:hover,
.c5-band a:hover {
  color: var(--red);
  text-decoration-color: var(--red);
}

/* step 01: agent qualifies */

.c5-spots {
  display: flex;
  align-items: baseline;
  gap: 12px;
  margin: clamp(14px, 2.6vh, 26px) 0 0;
}

.c5-spots strong {
  font-size: clamp(50px, 4.4vw, 84px);
  font-weight: 800;
  letter-spacing: -0.06em;
  line-height: 0.85;
  color: var(--red);
}

.c5-spots em {
  font-style: normal;
  font-size: clamp(22px, 1.8vw, 34px);
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--ink);
}

.c5-roster {
  margin: clamp(10px, 1.7vh, 16px) 0 0;
  padding-top: clamp(8px, 1.3vh, 12px);
  border-top: 2px solid var(--navy);
  color: var(--ink);
  font-size: clamp(12.5px, 1vw, 15px);
  font-weight: 800;
  letter-spacing: -0.01em;
  line-height: 1.35;
}

/* step 02: fans buy */

.c5-eq {
  margin-top: clamp(10px, 1.6vh, 15px);
}

.c5-eq p {
  display: grid;
  grid-template-columns: minmax(0, 0.98fr) auto minmax(0, 1.02fr);
  align-items: baseline;
  gap: 10px;
  margin: 0;
  padding: clamp(7px, 1.1vh, 10px) 0;
  border-top: 1px solid var(--line-light);
  color: var(--ink);
  font-size: clamp(10px, 0.8vw, 12px);
  font-weight: 800;
  letter-spacing: 0.09em;
  line-height: 1.3;
  text-transform: uppercase;
}

.c5-eq p:last-child {
  border-bottom: 1px solid var(--line-light);
}

.c5-eq i {
  color: var(--red);
  font-style: normal;
  font-size: 14px;
  line-height: 1;
}

.c5-eq span {
  color: var(--navy);
}

.c5-sticker {
  display: flex;
  align-items: center;
  gap: clamp(14px, 1.5vw, 22px);
  margin: clamp(12px, 2vh, 20px) 0 0;
}

.c5-sticker img {
  flex: 0 0 auto;
  display: block;
  width: clamp(124px, 10.8vw, 189px);
  aspect-ratio: 1 / 1;
  border: 1px solid var(--line-light);
}

.c5-sticker-view {
  flex: 0 0 auto;
  display: block;
  padding: 0;
  border: 0;
  background: none;
  cursor: zoom-in;
  line-height: 0;
}

.c5-sticker-view img {
  transition: filter 0.18s ease, box-shadow 0.18s ease;
}

.c5-sticker-view:hover img {
  filter: brightness(1.04);
  box-shadow: 0 0 0 1px var(--red);
}

.c5-sticker-view:focus-visible {
  outline: 2px solid var(--red);
  outline-offset: 3px;
}

.c5-sticker figcaption {
  min-width: 0;
}

.c5-sticker-cue {
  display: block;
  margin-top: clamp(7px, 1.1vh, 10px);
  color: var(--red);
  font-size: 9.5px;
  font-style: normal;
  font-weight: 800;
  letter-spacing: 0.12em;
  line-height: 1.5;
  text-transform: uppercase;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.c5-sticker-cue {
  width: max-content;
  max-width: 100%;
  cursor: pointer;
}

.c5-flow a.c5-sticker-cue {
  color: var(--red);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-decoration-color: var(--red);
  text-underline-offset: 3px;
}

.c5-flow a.c5-sticker-cue:hover {
  color: var(--ink);
  text-decoration-color: var(--ink);
}

.c5-sticker-cue:focus-visible {
  outline: 2px solid var(--red);
  outline-offset: 3px;
}

.c5-sticker figcaption b {
  display: block;
  color: var(--muted-light);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.c5-sticker figcaption strong {
  display: block;
  margin-top: 4px;
  color: var(--ink);
  font-size: clamp(15px, 1.25vw, 20px);
  font-weight: 800;
  letter-spacing: 0.02em;
  line-height: 1.1;
  text-transform: uppercase;
}

.c5-sticker figcaption strong::after {
  content: "";
  display: block;
  width: 38px;
  height: 2px;
  margin: clamp(7px, 1.1vh, 10px) 0;
  background: var(--red);
}

.c5-sticker figcaption span {
  display: block;
  color: var(--muted-light);
  font-size: 9.5px;
  font-weight: 800;
  letter-spacing: 0.12em;
  line-height: 1.5;
  text-transform: uppercase;
}

/* step 03: money enters a shared pool */

.c5-pool {
  width: max-content;
  max-width: 100%;
  margin: clamp(14px, 2.6vh, 26px) 0 0;
  padding-bottom: clamp(10px, 1.6vh, 15px);
  border-bottom: 1px solid rgba(7, 8, 7, 0.42);
  color: var(--navy);
  font-size: clamp(58px, 4.8vw, 92px);
  font-weight: 800;
  letter-spacing: -0.05em;
  line-height: 0.85;
}

.c5-poolline {
  margin: clamp(10px, 1.6vh, 15px) 0 0;
  color: var(--ink);
  font-size: clamp(12.5px, 1vw, 15px);
  font-weight: 700;
  line-height: 1.5;
}

/* step 04: clubs get paid (open ivory column, strong red top rule) */

.c5-paid {
  position: relative;
}

.c5-paid::before {
  content: "";
  position: absolute;
  top: -15px;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--red);
}

.c5-payout {
  margin: clamp(14px, 2.6vh, 28px) 0 0;
  color: var(--red);
  font-size: clamp(30px, 2.15vw, 41px);
  font-weight: 800;
  letter-spacing: -0.05em;
  line-height: 0.95;
  white-space: nowrap;
}

.c5-paid .c5-exp {
  margin-top: clamp(10px, 1.6vh, 15px);
  color: var(--ink);
  font-weight: 600;
}

/* step 05: qualify again */

.c5-lead {
  margin: clamp(12px, 2vh, 18px) 0 0;
  color: var(--ink);
  font-size: clamp(13px, 1.05vw, 16px);
  font-weight: 800;
  letter-spacing: -0.01em;
  line-height: 1.4;
}

/* connecting arrows */

.c5-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 2px;
}

.c5-arrow i {
  position: relative;
  width: 100%;
  max-width: 40px;
  height: 3px;
  background: var(--red);
}

.c5-arrow i::after {
  content: "";
  position: absolute;
  right: -2px;
  top: 50%;
  transform: translateY(-50%);
  border-left: 10px solid var(--red);
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
}

/* lower evidence rail */

.c5-band {
  margin-top: clamp(18px, 3vh, 32px);
}

.c5-band-label {
  display: flex;
  align-items: center;
  gap: 16px;
  margin: 0;
  color: var(--navy);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.c5-band-label::after {
  content: "";
  flex: 1;
  height: 1px;
  background: rgba(7, 8, 7, 0.3);
}

.c5-band-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-template-rows: auto auto auto;
  margin-top: clamp(12px, 2vh, 20px);
}

.c5-bp {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  align-content: start;
  min-width: 0;
  padding-right: clamp(16px, 1.8vw, 30px);
}

.c5-bp + .c5-bp {
  border-left: 1px solid var(--line-light);
  padding-left: clamp(16px, 1.8vw, 30px);
}

.c5-bp > strong {
  align-self: end;
  color: var(--ink);
  font-size: clamp(30px, 2.5vw, 44px);
  font-weight: 800;
  letter-spacing: -0.05em;
  line-height: 0.9;
}

.c5-bp > strong.c5-word {
  padding-bottom: 3px;
  font-size: clamp(17px, 1.45vw, 25px);
  letter-spacing: 0.05em;
  line-height: 1;
  text-transform: uppercase;
}

.c5-bp > b {
  margin-top: 9px;
  color: var(--ink);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.12em;
  line-height: 1.35;
  text-transform: uppercase;
}

.c5-bp > p {
  margin: 7px 0 0;
  color: var(--muted-light);
  font-size: clamp(10.5px, 0.82vw, 12px);
  line-height: 1.5;
}

.c5-bp small {
  display: block;
  margin-top: 7px;
  color: var(--muted-light);
  opacity: 0.8;
  font-size: 9.5px;
  line-height: 1.45;
}

@media (min-width: 821px) and (max-height: 840px) {
  .c5-flow {
    padding-top: 30px;
  }

  .c5-return {
    top: 6px;
    height: 17px;
    border-radius: 11px 11px 0 0;
  }

  .c5-return span {
    top: -6px;
    font-size: 8.5px;
  }

  .c5-sh {
    min-height: 26px;
    margin-bottom: 8px;
    font-size: 10px;
  }

  .c5-exp {
    font-size: 11.5px;
    line-height: 1.5;
  }

  .c5-spots {
    margin-top: 12px;
  }

  .c5-spots strong {
    font-size: 46px;
  }

  .c5-spots em {
    font-size: 20px;
  }

  .c5-line {
    margin-top: 9px;
    font-size: 10.5px;
  }

  .c5-roster {
    margin-top: 10px;
    padding-top: 8px;
    font-size: 12px;
  }

  .c5-eq {
    margin-top: 9px;
  }

  .c5-eq p {
    padding: 6px 0;
    font-size: 10px;
  }

  .c5-sticker {
    margin-top: 11px;
    gap: 12px;
  }

  .c5-sticker img {
    width: 111px;
  }

  .c5-sticker figcaption b {
    font-size: 9px;
  }

  .c5-sticker figcaption strong {
    font-size: 13.5px;
  }

  .c5-sticker figcaption strong::after {
    margin: 6px 0;
  }

  .c5-sticker figcaption span {
    font-size: 8.5px;
  }

  .c5-pool {
    margin-top: 12px;
    padding-bottom: 9px;
    font-size: 50px;
  }

  .c5-poolline {
    margin-top: 9px;
    font-size: 12px;
  }

  .c5-paid::before {
    top: -11px;
  }

  .c5-payout {
    margin-top: 12px;
    font-size: 31px;
  }

  .c5-paid .c5-exp {
    margin-top: 9px;
  }

  .c5-lead {
    margin-top: 10px;
    font-size: 12.5px;
  }

  .c5-arrow i {
    max-width: 30px;
  }

  .c5-band {
    margin-top: 14px;
  }

  .c5-band-grid {
    margin-top: 10px;
  }

  .c5-bp > strong {
    font-size: 26px;
  }

  .c5-bp > strong.c5-word {
    font-size: 15px;
  }

  .c5-bp > b {
    margin-top: 7px;
    font-size: 9px;
  }

  .c5-bp > p {
    margin-top: 5px;
    font-size: 10px;
  }

  .c5-bp small {
    margin-top: 5px;
    font-size: 8.5px;
  }
}

@media (max-width: 820px) {
  .c5-flow {
    display: block;
    padding-top: 16px;
  }

  .c5-return {
    display: none;
  }

  .c5-step {
    padding: 2px 0 4px;
  }

  .c5-sh {
    min-height: 0;
  }

  .c5-spots strong {
    font-size: 56px;
  }

  .c5-arrow {
    padding: 12px 0;
  }

  .c5-arrow i {
    width: 3px;
    max-width: none;
    height: 26px;
  }

  .c5-arrow i::after {
    right: auto;
    top: auto;
    left: 50%;
    bottom: -2px;
    transform: translateX(-50%);
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-top: 10px solid var(--red);
    border-bottom: 0;
  }

  .c5-paid {
    border-top: 3px solid var(--red);
    padding-top: 12px;
  }

  .c5-paid::before {
    display: none;
  }

  .c5-payout {
    font-size: clamp(30px, 9vw, 40px);
  }

  .c5-sticker img {
    width: 146px;
  }

  .c5-return-m {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 18px;
    padding-top: 14px;
    border-top: 1px solid var(--line-light);
    color: var(--red);
    font-size: 9.5px;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
  }

  .c5-return-m i {
    position: relative;
    flex: 0 0 auto;
    width: 3px;
    height: 24px;
    background: var(--red);
  }

  .c5-return-m i::after {
    content: "";
    position: absolute;
    top: -2px;
    left: 50%;
    transform: translateX(-50%);
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-bottom: 10px solid var(--red);
  }

  .c5-band {
    margin-top: 22px;
  }

  .c5-band-grid {
    display: block;
    margin-top: 4px;
  }

  .c5-bp {
    display: block;
    padding: 12px 0 0;
  }

  .c5-bp + .c5-bp {
    margin-top: 12px;
    padding-left: 0;
    border-left: 0;
    border-top: 1px solid var(--line-light);
  }

  .c5-bp > b {
    margin-top: 6px;
  }
}

@media (max-width: 460px) {
  .c5-spots strong {
    font-size: 48px;
  }

  .c5-pool {
    font-size: 54px;
  }

  .c5-sticker {
    gap: 12px;
  }

  .c5-sticker img {
    width: 130px;
  }

  .c5-bp > strong {
    font-size: 30px;
  }
}

/* 06 / REVENUE MODEL - COMMERCIAL CASE */

.revenue-sell {
  background: var(--paper);
}

.revenue-sell .ps6-shell {
  display: flex;
  flex-direction: column;
  padding-top: clamp(24px, 3.4vh, 46px);
  padding-bottom: clamp(18px, 2.8vh, 38px);
}

.ps6-head h2 {
  margin: clamp(10px, 1.8vh, 20px) 0 0;
  font-size: clamp(28px, 2.6vw, 46px);
  line-height: 1.02;
  letter-spacing: -0.05em;
  font-weight: 800;
}

.ps6-head h2 span {
  white-space: nowrap;
}

.ps6-label {
  display: block;
  font-style: normal;
  font-size: clamp(9px, 0.74vw, 10.5px);
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--navy);
}

.ps6-body {
  flex: 1 1 auto;
  min-height: 0;
  margin-top: clamp(14px, 2.4vh, 30px);
  display: grid;
  grid-template-columns: minmax(0, 43fr) minmax(0, 57fr);
  column-gap: clamp(30px, 3.4vw, 64px);
  align-items: stretch;
}

.ps6-media {
  position: relative;
  margin: 0;
  min-height: clamp(300px, 50vh, 620px);
  background: var(--ink);
  overflow: hidden;
}

.ps6-media video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 46% 50%;
}

.ps6-cap {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: clamp(40px, 6vh, 66px) clamp(16px, 1.7vw, 28px) clamp(14px, 2vh, 22px);
  background: linear-gradient(0deg, rgba(7, 8, 7, 0.9) 32%, rgba(7, 8, 7, 0.45) 68%, transparent);
  color: var(--paper);
}

.ps6-cap-tag {
  display: block;
  font-style: normal;
  font-size: clamp(8.5px, 0.7vw, 10px);
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.17em;
  text-transform: uppercase;
  color: rgba(239, 238, 233, 0.72);
}

.ps6-cap h3 {
  margin: clamp(5px, 0.9vh, 9px) 0 0;
  font-size: clamp(18px, 1.55vw, 27px);
  line-height: 1.05;
  letter-spacing: -0.025em;
  font-weight: 800;
  color: var(--paper);
}

.ps6-cap-stats {
  margin-top: clamp(8px, 1.3vh, 14px);
  display: flex;
  gap: clamp(16px, 1.8vw, 30px);
}

.ps6-cap-stats span + span {
  border-left: 1px solid rgba(239, 238, 233, 0.3);
  padding-left: clamp(16px, 1.8vw, 30px);
}

.ps6-cap-stats strong {
  display: block;
  font-size: clamp(19px, 1.6vw, 27px);
  font-weight: 800;
  line-height: 0.9;
  letter-spacing: -0.04em;
  color: var(--paper);
}

.ps6-cap-stats small {
  display: block;
  margin-top: 4px;
  font-size: clamp(8px, 0.62vw, 9px);
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(239, 238, 233, 0.62);
}

.ps6-col {
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: clamp(12px, 2vh, 24px);
}

.ps6-money {
  border-top: 3px solid var(--ink);
  padding-top: clamp(9px, 1.6vh, 16px);
}

.ps6-mgrid {
  margin-top: clamp(9px, 1.6vh, 17px);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: clamp(22px, 2.6vw, 48px);
}

.ps6-m {
  min-width: 0;
}

.ps6-m + .ps6-m {
  border-left: 1px solid var(--line-light);
  padding-left: clamp(22px, 2.6vw, 48px);
}

.ps6-m strong {
  display: block;
  font-size: clamp(46px, 4.6vw, 92px);
  font-weight: 800;
  line-height: 0.86;
  letter-spacing: -0.055em;
  color: var(--ink);
  white-space: nowrap;
}

.ps6-m span {
  display: block;
  margin-top: clamp(7px, 1.1vh, 12px);
  font-size: clamp(9px, 0.78vw, 11px);
  font-weight: 800;
  line-height: 1.35;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ink);
}

.ps6-m small {
  display: block;
  margin-top: clamp(2px, 0.5vh, 5px);
  font-size: clamp(8px, 0.66vw, 9.5px);
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted-light);
}

.ps6-llist {
  list-style: none;
  margin: clamp(8px, 1.4vh, 14px) 0 0;
  padding: 0;
}

.ps6-llist li {
  border-top: 1px solid var(--line-light);
  padding: clamp(7px, 1.3vh, 15px) 0;
  display: grid;
  grid-template-columns: 26px minmax(0, clamp(158px, 14vw, 215px)) minmax(0, 1fr);
  column-gap: clamp(14px, 1.6vw, 26px);
  align-items: baseline;
}

.ps6-llist b {
  font-size: 10.5px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.14em;
  color: var(--navy);
}

.ps6-llist h3 {
  margin: 0;
  font-size: clamp(14px, 1.1vw, 18px);
  line-height: 1.12;
  letter-spacing: -0.02em;
  font-weight: 800;
  color: var(--ink);
}

.ps6-major b,
.ps6-major h3 {
  color: var(--red);
}

.ps6-unlock {
  display: block;
  margin-top: 3px;
  font-style: normal;
  font-size: clamp(8px, 0.64vw, 9px);
  font-weight: 800;
  line-height: 1.3;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--red);
}

.ps6-c {
  margin: 0;
  font-size: clamp(11px, 0.86vw, 13px);
  line-height: 1.42;
  color: var(--muted-light);
}

.ps6-now {
  box-shadow: inset 0 3px 0 var(--red);
  background: rgba(241, 31, 45, 0.04);
  padding: clamp(11px, 1.8vh, 18px) clamp(16px, 1.7vw, 26px) clamp(11px, 1.8vh, 17px);
}

.ps6-tag-red {
  display: block;
  font-style: normal;
  font-size: clamp(8.5px, 0.7vw, 10px);
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.17em;
  text-transform: uppercase;
  color: var(--red);
}

.ps6-now h3 {
  margin: clamp(5px, 0.9vh, 10px) 0 0;
  font-size: clamp(16px, 1.3vw, 21px);
  line-height: 1.08;
  letter-spacing: -0.02em;
  font-weight: 800;
  color: var(--ink);
}

.ps6-nowvals {
  margin-top: clamp(7px, 1.2vh, 13px);
  display: flex;
  gap: clamp(16px, 1.8vw, 30px);
}

.ps6-nowvals span + span {
  border-left: 1px solid var(--line-light);
  padding-left: clamp(16px, 1.8vw, 30px);
}

.ps6-nowvals strong {
  display: block;
  font-size: clamp(26px, 2.2vw, 40px);
  font-weight: 800;
  line-height: 0.9;
  letter-spacing: -0.045em;
  color: var(--red);
  white-space: nowrap;
}

.ps6-nowvals small {
  display: block;
  margin-top: 4px;
  font-size: clamp(8px, 0.62vw, 9px);
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--muted-light);
}

.ps6-begins {
  margin: clamp(5px, 0.9vh, 9px) 0 0;
  font-size: clamp(8.5px, 0.7vw, 10px);
  font-weight: 700;
  line-height: 1.3;
  color: var(--ink);
}

.ps6-brands {
  margin-top: clamp(10px, 1.8vh, 20px);
  border-top: 1px solid var(--line-light);
  padding-top: clamp(8px, 1.4vh, 13px);
  display: flex;
  align-items: center;
  gap: clamp(20px, 2.6vw, 48px);
}

.ps6-plabel {
  flex: 0 0 auto;
  font-style: normal;
  font-size: clamp(9px, 0.74vw, 10.5px);
  font-weight: 800;
  line-height: 1.35;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--navy);
}

.ps6-rail {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(12px, 1.6vw, 30px);
}

.ps6-rail img {
  display: block;
  flex: 0 0 auto;
  filter: saturate(0.85);
  opacity: 0.92;
}

.ps6-rail .bl-nike {
  height: 40px;
  margin: -12px 0;
  filter: brightness(0);
  opacity: 0.85;
}

.ps6-rail .bl-coke {
  height: 52px;
  margin: -17px 0;
}

.ps6-rail .bl-hulu {
  height: 15px;
}

.ps6-rail .bl-sixflags {
  height: 19px;
}

.ps6-rail .bl-jarritos {
  height: 29px;
  margin: -3px 0;
}

.ps6-rail .bl-familyguy {
  height: 29px;
  margin: -3px 0;
}

@media (min-width: 821px) and (max-height: 840px) {
  .revenue-sell .ps6-shell {
    padding-top: 20px;
    padding-bottom: 16px;
  }

  .ps6-head h2 {
    margin-top: 8px;
    font-size: 27px;
  }

  .ps6-body {
    margin-top: 11px;
  }

  .ps6-media {
    min-height: clamp(260px, 46vh, 420px);
  }

  .ps6-cap {
    padding-top: 34px;
    padding-bottom: 12px;
  }

  .ps6-cap h3 {
    font-size: 17px;
  }

  .ps6-cap-stats strong {
    font-size: 17px;
  }

  .ps6-col {
    gap: 12px;
  }

  .ps6-money {
    padding-top: 8px;
  }

  .ps6-mgrid {
    margin-top: 8px;
  }

  .ps6-m strong {
    font-size: 56px;
  }

  .ps6-m span {
    margin-top: 6px;
  }

  .ps6-llist {
    margin-top: 7px;
  }

  .ps6-llist li {
    padding: 8px 0;
  }

  .ps6-llist h3 {
    font-size: 14px;
  }

  .ps6-c {
    font-size: 11px;
    line-height: 1.38;
  }

  .ps6-now {
    padding: 9px 14px;
  }

  .ps6-now h3 {
    font-size: 15px;
  }

  .ps6-nowvals {
    margin-top: 6px;
  }

  .ps6-nowvals strong {
    font-size: 24px;
  }

  .ps6-begins {
    font-size: 8.5px;
  }

  .ps6-brands {
    margin-top: 9px;
    padding-top: 7px;
  }

  .ps6-rail .bl-nike {
    height: 34px;
    margin: -10px 0;
  }

  .ps6-rail .bl-coke {
    height: 44px;
    margin: -14px 0;
  }

  .ps6-rail .bl-hulu {
    height: 13px;
  }

  .ps6-rail .bl-sixflags {
    height: 16px;
  }

  .ps6-rail .bl-jarritos {
    height: 25px;
    margin: -2px 0;
  }

  .ps6-rail .bl-familyguy {
    height: 25px;
    margin: -2px 0;
  }
}

@media (max-width: 1120px) and (min-width: 821px) {
  .ps6-body {
    column-gap: 24px;
  }

  .ps6-mgrid {
    column-gap: 18px;
  }

  .ps6-m + .ps6-m {
    padding-left: 18px;
  }

  .ps6-llist li {
    grid-template-columns: 22px minmax(0, 150px) minmax(0, 1fr);
    column-gap: 12px;
  }
}

@media (max-width: 820px) {
  .ps6-head h2 {
    margin-top: 16px;
    font-size: clamp(28px, 8vw, 38px);
  }

  .ps6-head h2 span {
    white-space: normal;
  }

  .ps6-body {
    display: block;
    margin-top: 18px;
  }

  .ps6-media {
    min-height: 0;
    aspect-ratio: 16 / 10;
  }

  .ps6-cap {
    padding: 36px 14px 12px;
  }

  .ps6-cap h3 {
    font-size: 18px;
  }

  .ps6-cap-stats strong {
    font-size: 19px;
  }

  .ps6-col {
    margin-top: 22px;
    gap: 22px;
  }

  .ps6-money {
    padding-top: 12px;
  }

  .ps6-mgrid {
    margin-top: 14px;
    column-gap: 18px;
  }

  .ps6-m + .ps6-m {
    padding-left: 18px;
  }

  .ps6-m strong {
    font-size: clamp(38px, 10.5vw, 50px);
  }

  .ps6-m span {
    margin-top: 8px;
  }

  .ps6-llist {
    margin-top: 10px;
  }

  .ps6-llist li {
    grid-template-columns: 24px minmax(0, 1fr);
    column-gap: 12px;
    row-gap: 5px;
    padding: 12px 0;
  }

  .ps6-llist h3 {
    font-size: 17px;
  }

  .ps6-llist .ps6-c {
    grid-column: 2;
  }

  .ps6-c {
    font-size: 13px;
  }

  .ps6-now {
    padding: 14px 16px;
  }

  .ps6-now h3 {
    font-size: 19px;
  }

  .ps6-nowvals {
    max-width: 340px;
  }

  .ps6-nowvals strong {
    font-size: clamp(28px, 7.6vw, 36px);
  }

  .ps6-begins {
    font-size: 10px;
  }

  .ps6-brands {
    display: block;
    margin-top: 20px;
    padding-top: 12px;
  }

  .ps6-rail {
    margin-top: 16px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    justify-items: center;
    gap: 20px 12px;
  }
}

@font-face {
  font-family: "Neue";
  src: url("assets/fonts/PPNeueMontreal-Medium.otf") format("opentype");
  font-weight: 600;
}

@font-face {
  font-family: "Neue";
  src: url("assets/fonts/PPNeueMontreal-Bold.otf") format("opentype");
  font-weight: 800;
}

:root {
  --paper: #efeee9;
  --paper-deep: #e5e3dc;
  --ink: #070807;
  --ink-soft: #131513;
  --red: #f11f2d;
  --navy: #0b2140;
  --line-light: rgba(7, 8, 7, 0.18);
  --line-dark: rgba(239, 238, 233, 0.2);
  --muted-light: #676964;
  --muted-dark: #a8aba7;
  --bar-h: 58px;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  background: var(--ink);
}

body {
  margin: 0;
  color: var(--ink);
  background: var(--ink);
  font-family: "Neue", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
}

body::selection {
  color: var(--paper);
  background: var(--red);
}

a {
  color: inherit;
}

img {
  display: block;
  max-width: 100%;
}

.grain {
  position: fixed;
  inset: 0;
  z-index: 100;
  opacity: 0.027;
  pointer-events: none;
  background-image:
    repeating-radial-gradient(circle at 0 0, transparent 0, rgba(255, 255, 255, 0.32) 1px, transparent 2px),
    repeating-radial-gradient(circle at 100% 100%, transparent 0, rgba(0, 0, 0, 0.5) 1px, transparent 2px);
  background-size: 5px 5px, 7px 7px;
  mix-blend-mode: overlay;
}

.deck-progress {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 130;
  width: 100%;
  height: 2px;
  background: var(--red);
  transform: scaleX(0);
  transform-origin: left center;
}

.deckbar {
  position: fixed;
  top: 2px;
  left: 0;
  z-index: 120;
  width: 100%;
  height: var(--bar-h);
  display: grid;
  grid-template-columns: 260px 1fr 220px;
  align-items: center;
  padding: 0 34px;
  color: var(--ink);
  background: rgba(239, 238, 233, 0.97);
  border-bottom: 1px solid rgba(7, 8, 7, 0.13);
  backdrop-filter: blur(14px);
}

.deck-brand {
  display: flex;
  align-items: center;
  gap: 14px;
  text-decoration: none;
}

.deck-brand img {
  width: 56px;
  filter: invert(1);
}

.deck-brand i {
  width: 1px;
  height: 19px;
  background: rgba(7, 8, 7, 0.3);
}

.deck-brand span,
.deck-current,
.deck-meta {
  font-size: 10px;
  line-height: 1;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}

.deck-current {
  justify-self: center;
  font-weight: 600;
}

.deck-meta {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 18px;
  font-size: 8px;
}

.deck-meta span {
  color: var(--red);
  font-weight: 800;
}

.deck-meta b {
  min-width: 45px;
  text-align: right;
}

.cover-active .deckbar {
  color: var(--paper);
  background: rgba(7, 8, 7, 0.88);
  border-bottom-color: rgba(239, 238, 233, 0.14);
}

.cover-active .deck-brand img {
  filter: none;
}

.cover-active .deck-brand i {
  background: rgba(239, 238, 233, 0.28);
}

.cover-active .deck-meta span {
  color: var(--paper);
}

.deck-rail {
  position: fixed;
  right: 22px;
  top: 50%;
  z-index: 115;
  display: flex;
  flex-direction: column;
  gap: 7px;
  transform: translateY(-50%);
}

.deck-rail a {
  width: 6px;
  height: 6px;
  display: block;
  border-radius: 50%;
  background: rgba(239, 238, 233, 0.38);
  border: 1px solid rgba(7, 8, 7, 0.25);
  transition: height 180ms ease, border-radius 180ms ease, background 180ms ease;
}

.deck-rail a.active {
  height: 22px;
  border-radius: 4px;
  background: var(--red);
  border-color: var(--red);
}

.slide {
  position: relative;
  min-height: 100vh;
  padding-top: var(--bar-h);
  overflow: hidden;
  isolation: isolate;
}

.slide.light {
  color: var(--ink);
  background: var(--paper);
}

.slide.dark {
  color: var(--paper);
  background: var(--ink);
}

.slide-shell {
  position: relative;
  z-index: 2;
  width: min(1420px, calc(100% - 150px));
  min-height: calc(100vh - var(--bar-h));
  margin: 0 auto;
  padding: clamp(46px, 5.8vh, 70px) 0 clamp(34px, 4.6vh, 58px);
}

.eyebrow {
  display: flex;
  align-items: center;
  gap: 17px;
  font-size: 10px;
  line-height: 1;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  font-weight: 800;
}

.eyebrow b {
  color: var(--red);
}

.eyebrow i {
  width: 62px;
  height: 1px;
  background: currentColor;
  opacity: 0.3;
}

.section-kicker {
  margin: 32px 0 0;
  font-size: 10px;
  line-height: 1;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  font-weight: 800;
}

.display-title {
  margin: 15px 0 0;
  max-width: 1050px;
  font-size: clamp(46px, 4.4vw, 76px);
  line-height: 0.98;
  letter-spacing: -0.055em;
  font-weight: 800;
}

.display-dek {
  margin: 23px 0 0;
  max-width: 720px;
  color: var(--muted-light);
  font-size: clamp(17px, 1.28vw, 22px);
  line-height: 1.46;
}

.dark .display-dek {
  color: var(--muted-dark);
}

.source-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px 20px;
}

.source-row a,
.section-rail a,
.vrs-board a {
  font-size: 9px;
  letter-spacing: 0.04em;
  text-underline-offset: 4px;
}

.reveal {
  opacity: 0;
  transform: translateY(16px);
  transition: opacity 520ms ease, transform 520ms ease;
}

.reveal.in {
  opacity: 1;
  transform: none;
}

/* 01 / COVER */

.cover {
  padding-top: 0;
  color: var(--paper);
  background: var(--ink);
}

.cover-image,
.cover-shade {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.cover-image {
  object-fit: cover;
  object-position: center 48%;
  filter: grayscale(0.38) saturate(0.78) brightness(0.86) contrast(1.12);
}

.cover-shade {
  background:
    linear-gradient(80deg, rgba(2, 3, 2, 0.86) 2%, rgba(2, 3, 2, 0.47) 52%, rgba(2, 3, 2, 0.18) 100%),
    linear-gradient(0deg, rgba(2, 3, 2, 0.88) 2%, transparent 48%);
}

.cover-content {
  --cover-indent: clamp(0px, 0.95vw, 18px);
  position: relative;
  z-index: 2;
  min-height: 100vh;
  width: min(1420px, calc(100% - 150px));
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  padding: 110px 0 54px;
}

.cover-kicker {
  margin-top: auto;
  margin-left: var(--cover-indent);
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  font-weight: 600;
}

.cover-kicker b {
  color: var(--red);
  padding: 0 7px;
}

.cover-lockup {
  width: min(778px, 72vw);
  min-height: 150px;
  margin: 34px 0 22px var(--cover-indent);
  display: grid;
  grid-template-columns: minmax(240px, 1fr) 1px minmax(240px, 1fr);
  align-items: center;
  gap: 38px;
}

.cover-lockup > i {
  width: 1px;
  height: 82px;
  background: rgba(239, 238, 233, 0.22);
}

.cover-agent-lockup,
.cover-game-lockup {
  display: block;
  width: 100%;
  height: auto;
}

.cover-game-lockup {
  filter: grayscale(1) brightness(0) invert(1);
  opacity: 0.96;
}

.cover h1 {
  max-width: 1180px;
  margin: 10px 0 0;
  font-size: clamp(62px, 6.9vw, 110px);
  line-height: 0.92;
  letter-spacing: -0.065em;
  font-weight: 800;
}

.cover-footer {
  position: relative;
  display: flex;
  align-items: center;
  gap: 18px;
  margin-top: auto;
  padding-top: 20px;
  border-top: 1px solid rgba(239, 238, 233, 0.24);
  font-size: 9px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.cover-footer i {
  flex: 1;
  height: 1px;
  background: rgba(239, 238, 233, 0.3);
}

.cover-footer a {
  color: var(--paper);
  text-decoration: none;
}

.cover-footer a b {
  color: var(--red);
  margin-left: 8px;
}

/* 02 / THESIS - TWO INTRODUCTIONS, ONE ASK */

.thesis .slide-shell {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.in2-panels {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  margin-top: clamp(16px, 2.8vh, 32px);
  border-top: 2px solid rgba(239, 238, 233, 0.92);
}

.in2-panel {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: clamp(16px, 2.8vh, 34px) 0 clamp(6px, 1.6vh, 20px);
}

.in2-panel + .in2-panel {
  margin-left: clamp(30px, 3.4vw, 64px);
  padding-left: clamp(30px, 3.4vw, 64px);
  border-left: 1px solid var(--line-dark);
}

.in2-kicker em {
  display: block;
  font-style: normal;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--muted-dark);
}

.in2-kicker h3 {
  margin: clamp(8px, 1.4vh, 13px) 0 0;
  font-size: clamp(30px, 2.7vw, 52px);
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.04em;
  color: var(--paper);
}

.in2-def {
  margin: clamp(12px, 1.9vh, 19px) 0 0;
  max-width: 520px;
  font-size: clamp(13.5px, 1.05vw, 17.5px);
  line-height: 1.5;
  letter-spacing: -0.008em;
  color: rgba(239, 238, 233, 0.68);
}

.in2-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(14px, 1.6vw, 26px);
  margin-top: clamp(15px, 2.4vh, 26px);
  margin-bottom: clamp(16px, 2.6vh, 30px);
  padding-top: clamp(12px, 1.9vh, 19px);
  border-top: 1px solid var(--line-dark);
}

.in2-stats strong {
  display: block;
  font-size: clamp(24px, 2.2vw, 40px);
  font-weight: 800;
  line-height: 0.95;
  letter-spacing: -0.035em;
  color: var(--paper);
  white-space: nowrap;
}

.in2-stats span {
  display: block;
  margin-top: 7px;
  font-size: 9px;
  font-weight: 800;
  line-height: 1.45;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted-dark);
}

.in2-proof {
  margin-top: clamp(2px, 1vh, 14px);
  padding-top: clamp(12px, 2vh, 20px);
  border-top: 1px solid var(--line-dark);
}

.in2-proof > em {
  display: block;
  font-style: normal;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--muted-dark);
}

.in2-rail {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(10px, 1.2vw, 22px);
  max-width: 520px;
  margin-top: clamp(13px, 2vh, 20px);
}

.in2-rail img {
  display: block;
  flex: 0 0 auto;
  filter: none;
  opacity: 0.9;
}

.in2-rail .il-nike {
  height: 40px;
  margin: -12px 0;
}

.in2-rail .il-coke {
  height: 52px;
  margin: -17px 0;
}

.in2-rail .il-hulu {
  height: 15px;
}

.in2-rail .il-sixflags {
  height: 19px;
}

.in2-rail .il-jarritos {
  height: 29px;
  margin: -3px 0;
}

.in2-rail .il-familyguy {
  height: 29px;
  margin: -3px 0;
}

.in2-fee p {
  margin: clamp(10px, 1.6vh, 16px) 0 0;
  max-width: 520px;
  font-size: clamp(13.5px, 1.05vw, 17.5px);
  line-height: 1.5;
  letter-spacing: -0.008em;
  color: rgba(239, 238, 233, 0.68);
}

.in2-fee p b {
  color: var(--paper);
  font-weight: 800;
}

.in2-opp {
  display: grid;
  grid-template-columns: 128px minmax(0, 1fr);
  gap: 20px;
  margin-top: clamp(14px, 2.4vh, 28px);
  padding-top: clamp(13px, 2.1vh, 21px);
  border-top: 2px solid rgba(239, 238, 233, 0.92);
}

.in2-opp em {
  padding-top: 4px;
  font-style: normal;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--muted-dark);
}

.in2-opp p {
  margin: 0;
  max-width: 1120px;
  font-size: clamp(14px, 1.15vw, 18.5px);
  line-height: 1.55;
  letter-spacing: -0.008em;
  color: rgba(239, 238, 233, 0.68);
}

.in2-opp p b {
  color: var(--paper);
  font-weight: 800;
}

.in2-opp p b.in2-hot {
  color: var(--red);
}

.in2-band {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.5fr) auto;
  align-items: start;
  margin-top: clamp(14px, 2.4vh, 28px);
  padding-top: clamp(13px, 2.1vh, 21px);
  border-top: 2px solid rgba(239, 238, 233, 0.92);
}

.in2-cell {
  min-width: 0;
  padding-right: clamp(22px, 2.4vw, 44px);
}

.in2-cell + .in2-cell {
  padding-left: clamp(22px, 2.4vw, 44px);
  border-left: 1px solid var(--line-dark);
}

.in2-cell > span {
  display: block;
  margin-bottom: 9px;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--muted-dark);
}

.in2-cell strong {
  display: block;
  font-size: clamp(26px, 2.2vw, 40px);
  font-weight: 800;
  line-height: 0.95;
  letter-spacing: -0.035em;
  color: var(--paper);
  white-space: nowrap;
}

.in2-cell strong.in2-red {
  color: var(--red);
}

.in2-cell small {
  display: block;
  margin-top: 8px;
  max-width: 380px;
  font-size: 10.5px;
  font-weight: 600;
  line-height: 1.45;
  letter-spacing: 0.02em;
  color: var(--muted-dark);
}

.in2-cell-cta {
  padding-right: 0;
}

.th-roster-btn {
  appearance: none;
  padding: 14px 26px;
  color: var(--ink);
  font-family: inherit;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  cursor: pointer;
  background: var(--paper);
  border: 0;
  transition: background 160ms ease, color 160ms ease;
}

.th-roster-btn:hover {
  background: #ffffff;
}

.th-roster-btn:focus-visible {
  outline: 2px solid var(--paper);
  outline-offset: 3px;
}

@media (min-width: 821px) and (max-height: 820px) {
  .in2-panels {
    margin-top: 12px;
  }

  .in2-panel {
    padding-top: 13px;
    padding-bottom: 4px;
  }

  .in2-kicker h3 {
    font-size: clamp(26px, 2.2vw, 32px);
  }

  .in2-def {
    font-size: 12.5px;
    line-height: 1.44;
  }

  .in2-stats {
    margin-top: 12px;
    margin-bottom: 12px;
    padding-top: 10px;
  }

  .in2-stats strong {
    font-size: clamp(21px, 1.8vw, 26px);
  }

  .in2-rail .il-nike {
    height: 34px;
    margin: -10px 0;
  }

  .in2-rail .il-coke {
    height: 44px;
    margin: -14px 0;
  }

  .in2-rail .il-hulu {
    height: 13px;
  }

  .in2-rail .il-sixflags {
    height: 16px;
  }

  .in2-rail .il-jarritos {
    height: 25px;
    margin: -3px 0;
  }

  .in2-rail .il-familyguy {
    height: 25px;
    margin: -3px 0;
  }

  .in2-fee p {
    font-size: 12.5px;
    line-height: 1.44;
  }

  .in2-opp {
    grid-template-columns: 108px minmax(0, 1fr);
    gap: 14px;
    margin-top: 12px;
    padding-top: 11px;
  }

  .in2-opp p {
    font-size: 13px;
    line-height: 1.48;
  }

  .in2-band {
    margin-top: 12px;
    padding-top: 11px;
  }

  .in2-cell strong {
    font-size: clamp(23px, 1.9vw, 28px);
  }

  .in2-cell small {
    margin-top: 6px;
    font-size: 10px;
  }

  .th-roster-btn {
    padding: 12px 22px;
  }
}

@media (max-width: 820px) {
  .in2-panels {
    display: block;
    margin-top: 16px;
  }

  .in2-panel {
    padding: 18px 0;
  }

  .in2-panel + .in2-panel {
    margin-left: 0;
    padding-left: 0;
    border-left: 0;
    border-top: 1px solid var(--line-dark);
  }

  .in2-stats {
    gap: 12px;
    margin-bottom: 0;
  }

  .in2-proof {
    margin-top: 0;
    padding-top: 18px;
  }

  .in2-rail {
    max-width: none;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 18px 26px;
  }

  .in2-opp {
    grid-template-columns: 1fr;
    gap: 10px;
    margin-top: 20px;
    padding-top: 16px;
  }

  .in2-opp em {
    padding-top: 0;
  }

  .in2-band {
    grid-template-columns: 1fr;
    gap: 16px;
    margin-top: 20px;
    padding-top: 16px;
  }

  .in2-cell,
  .in2-cell + .in2-cell {
    padding: 0;
    border-left: 0;
  }

  .in2-cell + .in2-cell {
    padding-top: 16px;
    border-top: 1px solid var(--line-dark);
  }

  .in2-cell strong {
    white-space: normal;
  }
}

/* 03 / WHY COUNTER-STRIKE */

.why-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(520px, 1.04fr);
  grid-template-areas:
    "copy visual"
    "facts visual"
    "sources sources";
  grid-template-rows: auto 1fr auto;
  column-gap: 70px;
  row-gap: 0;
  align-items: stretch;
}

.why-copy {
  grid-area: copy;
}

.why-copy .display-title {
  max-width: none;
  font-size: clamp(44px, 3.5vw, 66px);
}

.why-copy .display-dek {
  margin-top: 18px;
  max-width: 640px;
  font-size: clamp(16px, 1.05vw, 19px);
}

.fact-line {
  grid-area: facts;
  align-self: stretch;
  display: grid;
  grid-template-rows: repeat(3, 1fr);
  margin-top: 28px;
  border-top: 1px solid var(--line-dark);
}

.fact-line div {
  display: grid;
  grid-template-columns: minmax(282px, max-content) minmax(0, 1fr);
  align-items: center;
  gap: 28px;
  min-height: 92px;
  padding: 12px 0;
  border-bottom: 1px solid var(--line-dark);
}

.fact-line strong {
  color: var(--paper);
  font-size: clamp(44px, 3.3vw, 62px);
  font-weight: 800;
  line-height: 0.9;
  letter-spacing: -0.045em;
  white-space: nowrap;
}

.fact-line span {
  max-width: 300px;
  color: rgba(239, 238, 233, 0.72);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.fact-line span small {
  display: block;
  margin-top: 6px;
  color: rgba(239, 238, 233, 0.56);
  font-size: 9.5px;
  line-height: 1.4;
  letter-spacing: 0.1em;
}

.why-sources {
  grid-area: sources;
  margin-top: 15px;
  gap: 10px 30px;
  opacity: 0.9;
}

.why-sources a {
  color: var(--muted-dark);
  font-size: 12.5px;
  font-weight: 600;
  line-height: 1.35;
}

.editorial-image {
  grid-area: visual;
  position: relative;
  margin: 0;
  min-height: 480px;
  border: 1px solid rgba(239, 238, 233, 0.2);
  overflow: hidden;
}

.editorial-image img,
.editorial-image video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(0.95) brightness(0.9);
}

.editorial-image video {
  filter: saturate(1.05) contrast(1.05) brightness(1.02);
}

.video-volume {
  position: absolute;
  z-index: 4;
  right: 20px;
  bottom: 20px;
  display: grid;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, 0.54);
  border-radius: 50%;
  place-items: center;
  color: #fff;
  background: rgba(5, 6, 5, 0.78);
  cursor: pointer;
}

.video-volume svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.7;
}

.video-volume svg path:first-child {
  fill: currentColor;
  stroke: none;
}

.video-volume .volume-on-icon,
.video-volume.is-audible .volume-muted-icon {
  display: none;
}

.video-volume.is-audible .volume-on-icon {
  display: block;
}

.video-volume:focus-visible {
  outline: 2px solid var(--red);
  outline-offset: 3px;
}

@media (min-width: 821px) and (max-height: 800px) {
  .why .slide-shell {
    padding-top: 30px;
    padding-bottom: 20px;
  }

  .why-copy .display-title {
    font-size: clamp(38px, 2.9vw, 52px);
  }

  .why-copy .display-dek {
    margin-top: 12px;
    font-size: 15px;
  }

  .why .fact-line {
    margin-top: 16px;
  }

  .why .fact-line div {
    min-height: 64px;
    padding-top: 8px;
    padding-bottom: 8px;
  }

  .why .fact-line strong {
    font-size: clamp(34px, 2.5vw, 46px);
  }


  .why .editorial-image {
    min-height: 340px;
  }

  .video-volume {
    right: 16px;
    bottom: 16px;
  }

  .major-analogy strong {
    font-size: 20px;
  }

  .why .why-sources {
    margin-top: 10px;
  }
}

.editorial-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(7, 8, 7, 0.93), rgba(7, 8, 7, 0.4) 34%, transparent 58%);
}

.major-analogy {
  position: absolute;
  z-index: 2;
  left: 0;
  right: 0;
  bottom: 0;
  display: grid;
  gap: 8px;
  max-width: none;
  padding: 22px 92px 24px 28px;
}

.major-analogy span,
.major-analogy small {
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}

.major-analogy span {
  color: var(--red);
}

.major-analogy strong {
  color: var(--paper);
  font-size: clamp(22px, 1.75vw, 29px);
  line-height: 1.02;
  letter-spacing: -0.02em;
}

.major-analogy small {
  color: rgba(239, 238, 233, 0.78);
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: 0.03em;
  text-transform: none;
}

.editorial-image figcaption {
  position: absolute;
  z-index: 2;
  left: 34px;
  right: 34px;
  bottom: 30px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  font-size: 12px;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.editorial-image figcaption i {
  color: var(--red);
  font-style: normal;
}

/* 04 / MAJOR ECONOMICS */

.major-top {
  display: grid;
  grid-template-columns: minmax(0, 0.94fr) minmax(460px, 1.06fr);
  gap: 70px;
  align-items: center;
  margin-top: 20px;
}

.major-copy .display-title {
  font-size: clamp(48px, 4.6vw, 76px);
}

.major-image {
  position: relative;
  min-height: min(36vh, 350px);
  margin: 0;
  overflow: hidden;
}

.major-image img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 45%;
}

.major-image figcaption {
  position: absolute;
  right: 0;
  bottom: 0;
  padding: 12px 16px;
  color: var(--paper);
  background: var(--ink);
  font-size: 9px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.major-frequency,
.section-rail,
.operations-label {
  display: flex;
  align-items: center;
  gap: 16px;
  color: var(--red);
  font-size: 9px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-weight: 800;
}

.major-frequency {
  margin-top: 24px;
}

.major-frequency i,
.section-rail i,
.operations-label i {
  flex: 1;
  height: 1px;
  background: currentColor;
  opacity: 0.35;
}

.major-economics {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 10px;
  border-top: 1px solid var(--line-light);
  border-bottom: 1px solid var(--line-light);
}

.major-economics > div {
  min-height: 150px;
  padding: 22px 24px;
  border-right: 1px solid var(--line-light);
}

.major-economics > div:first-child {
  padding-left: 0;
}

.major-economics > div:last-child {
  border-right: 0;
}

.major-economics em,
.major-economics span {
  display: block;
}

.major-economics em {
  color: var(--red);
  font-size: 9px;
  line-height: 1;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-style: normal;
  font-weight: 800;
}

.major-economics strong {
  display: block;
  margin-top: 14px;
  font-size: clamp(38px, 3.5vw, 58px);
  line-height: 0.92;
  letter-spacing: -0.055em;
}

.major-economics span {
  margin-top: 13px;
  color: var(--muted-light);
  font-size: 10px;
  line-height: 1.35;
}

.major-economics .major-highlight {
  color: var(--paper);
  background: var(--ink);
  padding-left: 24px;
}

.major-economics .major-highlight span {
  color: var(--muted-dark);
}

.major-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  margin-top: 18px;
}

.major-footer > strong {
  max-width: 620px;
  font-size: 14px;
  line-height: 1.35;
}

.major-stat-strip {
  display: grid;
  grid-template-columns: 0.55fr 0.7fr 0.95fr 1.5fr;
  margin-top: 40px;
  border-top: 2px solid var(--ink);
}

.major-stat-strip > div {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 13px;
  min-height: 142px;
  padding: 27px 22px 20px;
  border-right: 1px solid var(--line-light);
}

.major-stat-strip > div:first-child {
  padding-left: 0;
}

.major-stat-strip > div:last-child {
  border-right: 0;
}

.major-stat-strip > div::before {
  position: absolute;
  top: -2px;
  left: 22px;
  width: 28px;
  height: 3px;
  background: var(--red);
  content: "";
}

.major-stat-strip > div:first-child::before {
  left: 0;
}

.major-stat-strip strong {
  font-size: clamp(36px, 3.3vw, 56px);
  font-weight: 720;
  line-height: 0.9;
  letter-spacing: -0.055em;
  font-variant-numeric: tabular-nums;
}

.major-stat-strip span {
  max-width: 330px;
  color: var(--muted-light);
  font-size: 11px;
  line-height: 1.45;
}

.major-stat-strip .major-share strong {
  color: var(--red);
}

.major-value-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-top: 1px solid var(--line-light);
  border-bottom: 1px solid var(--line-light);
}

.major-value-row article {
  display: grid;
  grid-template-areas:
    "label value"
    "description value";
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 9px 28px;
  align-items: center;
  min-height: 96px;
  padding: 18px 26px 18px 0;
  border-right: 1px solid var(--line-light);
}

.major-value-row article:last-child {
  padding: 18px 22px 18px 26px;
  border-right: 0;
}

.major-value-row span {
  grid-area: label;
  color: var(--red);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.major-value-row strong {
  grid-area: value;
  font-size: clamp(30px, 2.5vw, 44px);
  line-height: 1;
  letter-spacing: -0.045em;
  white-space: nowrap;
}

.major-value-row p {
  grid-area: description;
  margin: 0;
  color: var(--muted-light);
  font-size: 11.5px;
  line-height: 1.4;
}

.major-value-row .major-scale-case {
  color: var(--paper);
  background: var(--ink);
}

.major-value-row .major-scale-case p {
  color: var(--muted-dark);
}

.major-money-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(330px, 0.65fr);
  margin-top: 34px;
  border-top: 2px solid var(--ink);
  border-bottom: 1px solid var(--line-light);
}

.major-money-grid article {
  min-height: 146px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas:
    "label value"
    "description value";
  gap: 12px 30px;
  align-items: center;
  padding: 24px 30px 24px 0;
}

.major-money-grid article + article {
  padding-left: 30px;
}

.major-money-grid span {
  grid-area: label;
  color: var(--red);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.major-money-grid strong {
  grid-area: value;
  font-size: clamp(52px, 5vw, 84px);
  font-weight: 760;
  line-height: 0.88;
  letter-spacing: -0.065em;
  white-space: nowrap;
}

.major-money-grid p {
  grid-area: description;
  max-width: 360px;
  margin: 0;
  color: var(--muted-light);
  font-size: 12px;
  line-height: 1.45;
}

.major-money-grid .major-target {
  grid-template-areas:
    "label"
    "value"
    "description";
  grid-template-columns: 1fr;
  align-content: center;
  gap: 10px;
  color: var(--paper);
  background: var(--ink);
}

.major-money-grid .major-target strong {
  color: var(--paper);
  font-size: clamp(60px, 5.3vw, 88px);
}

.major-money-grid .major-target p {
  color: var(--muted-dark);
}

.major-context-row {
  display: grid;
  grid-template-columns: 0.7fr 0.8fr 1fr 1.55fr;
  border-bottom: 1px solid var(--line-light);
}

.major-context-row span {
  min-height: 66px;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 14px 18px;
  color: var(--muted-light);
  border-right: 1px solid var(--line-light);
  font-size: 10px;
  line-height: 1.35;
}

.major-context-row span:first-child {
  padding-left: 0;
}

.major-context-row span:last-child {
  border-right: 0;
}

.major-context-row b {
  color: var(--ink);
  font-size: 20px;
  letter-spacing: -0.04em;
  white-space: nowrap;
}

.major-benchmark {
  display: grid;
  grid-template-columns: minmax(180px, 0.7fr) auto minmax(280px, 1fr);
  gap: 24px;
  align-items: center;
  padding: 17px 0;
  border-top: 1px solid var(--line-light);
  border-bottom: 1px solid var(--line-light);
}

.major-benchmark span {
  color: var(--red);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.major-benchmark strong {
  font-size: clamp(27px, 2.5vw, 42px);
  line-height: 1;
  letter-spacing: -0.045em;
  white-space: nowrap;
}

.major-benchmark p {
  margin: 0;
  color: var(--muted-light);
  font-size: 11px;
  line-height: 1.4;
}

.major-sources {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 28px;
  margin-top: auto;
}

.major-sources > p {
  max-width: 560px;
  margin: 0;
  color: var(--muted-light);
  font-size: 10.5px;
  line-height: 1.45;
}

.major .source-row a {
  font-size: 11px;
}

.major .slide-shell {
  display: flex;
  flex-direction: column;
  padding-top: 24px;
  padding-bottom: 16px;
}

.major-investment-head {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(360px, 0.65fr);
  gap: 80px;
  align-items: end;
  margin-top: 2px;
}

.major-investment-head .display-title {
  max-width: 850px;
  font-size: clamp(48px, 4.3vw, 71px);
}

.major-investment-head .display-dek {
  max-width: 480px;
  margin-bottom: 4px;
  font-size: clamp(15px, 1.1vw, 18px);
}

.major-equation {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 170px minmax(0, 1fr);
  align-items: stretch;
  margin-top: 20px;
  border-top: 2px solid var(--ink);
  border-bottom: 1px solid var(--line-light);
}

.major-equation article {
  min-height: 158px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 24px 28px;
}

.major-equation-primary {
  padding-left: 0 !important;
}

.major-equation-annual {
  color: var(--paper);
  background: var(--ink);
}

.major-equation article > span {
  color: var(--red);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.major-equation article > strong {
  margin-top: 14px;
  color: var(--ink);
  font-size: clamp(54px, 5vw, 82px);
  line-height: 0.88;
  letter-spacing: -0.06em;
  white-space: nowrap;
}

.major-equation article.major-equation-annual > strong {
  color: var(--paper);
}

.major-equation article > p {
  margin: 12px 0 0;
  color: var(--muted-light);
  font-size: 11px;
  line-height: 1.4;
}

.major-equation-annual > p {
  color: var(--muted-dark);
}

.major-equation-math {
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 8px;
  border-right: 1px solid var(--line-light);
  border-left: 1px solid var(--line-light);
}

.major-equation-math strong {
  color: var(--red);
  font-size: 48px;
  line-height: 0.9;
  letter-spacing: -0.06em;
}

.major-equation-math span {
  color: var(--muted-light);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-align: center;
  text-transform: uppercase;
}

.major-simple-grid {
  display: grid;
  grid-template-columns: 0.8fr 0.8fr 1.35fr 1.2fr;
  border-bottom: 1px solid var(--line-light);
}

.major-simple-grid > div {
  min-height: 64px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 20px;
  border-right: 1px solid var(--line-light);
}

.major-simple-grid > div:first-child {
  padding-left: 0;
}

.major-simple-grid > div:last-child {
  border-right: 0;
}

.major-simple-grid strong {
  font-size: 28px;
  line-height: 1;
  letter-spacing: -0.045em;
}

.major-simple-grid span {
  max-width: 180px;
  color: var(--muted-light);
  font-size: 10px;
  line-height: 1.3;
}

.major-simple-grid .open-circuit {
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 6px;
  color: var(--paper);
  background: var(--red);
}

.major-simple-grid .open-circuit b {
  font-size: 15px;
  text-transform: uppercase;
}

.major-simple-grid .open-circuit span {
  color: var(--ink);
  font-size: 10px;
  font-weight: 700;
}

.major-layer-callout {
  min-height: 62px;
  display: grid;
  grid-template-columns: 240px 1fr;
  gap: 30px;
  align-items: center;
  border-bottom: 1px solid var(--line-light);
}

.major-layer-callout span {
  color: var(--red);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.major-layer-callout strong {
  font-size: clamp(18px, 1.55vw, 24px);
  letter-spacing: -0.025em;
}

.major-tier-head {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(340px, 0.65fr);
  gap: 72px;
  align-items: end;
  margin-top: 2px;
}

.major-tier-head .display-title {
  max-width: 900px;
  font-size: clamp(48px, 4.3vw, 70px);
  line-height: 0.92;
}

.major-tier-head .display-title em {
  color: var(--red);
  font-style: normal;
}

.major-tier-head .display-dek {
  max-width: 470px;
  margin-bottom: 3px;
  font-size: clamp(14px, 1.05vw, 17px);
  line-height: 1.5;
}

.major-tier-band {
  display: grid;
  grid-template-columns: 178px 44px minmax(250px, 0.95fr) 112px minmax(300px, 1.1fr);
  align-items: stretch;
  min-height: 174px;
  margin-top: 22px;
  color: var(--paper);
  background: var(--ink);
  border-top: 3px solid var(--red);
}

.major-tier-band article {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 22px 24px;
}

.major-tier-band article > span,
.major-tier-multiplier span {
  color: var(--red);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.major-tier-band article > strong {
  display: block;
  margin-top: 14px;
  color: var(--paper);
  font-size: clamp(43px, 4vw, 66px);
  line-height: 0.88;
  letter-spacing: -0.06em;
  white-space: nowrap;
}

.major-tier-band article > p {
  margin: 12px 0 0;
  color: var(--muted-dark);
  font-size: 10px;
  line-height: 1.35;
}

.major-tier-slot {
  padding-left: 24px !important;
}

.major-tier-slot > strong {
  display: flex !important;
  align-items: baseline;
  gap: 5px;
}

.major-tier-slot > strong em {
  color: var(--red);
  font-size: clamp(66px, 5.6vw, 92px);
  font-style: normal;
}

.major-tier-slot > strong i {
  color: var(--paper);
  font-size: clamp(25px, 2.3vw, 38px);
  font-style: normal;
  font-weight: 650;
  letter-spacing: -0.05em;
}

.major-tier-arrow {
  display: grid;
  place-items: center;
  color: var(--red);
  border-right: 1px solid rgba(255, 255, 255, 0.12);
  border-left: 1px solid rgba(255, 255, 255, 0.12);
  font-size: 29px;
}

.major-tier-event > strong {
  font-size: clamp(43px, 3.95vw, 64px) !important;
}

.major-tier-multiplier {
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 9px;
  border-right: 1px solid rgba(255, 255, 255, 0.12);
  border-left: 1px solid rgba(255, 255, 255, 0.12);
}

.major-tier-multiplier strong {
  color: var(--red);
  font-size: 44px;
  line-height: 0.9;
  letter-spacing: -0.06em;
}

.major-tier-multiplier span {
  max-width: 72px;
  color: var(--muted-dark);
  line-height: 1.35;
  text-align: center;
}

.major-tier-annual {
  position: relative;
  background: linear-gradient(115deg, rgba(240, 20, 55, 0.14), rgba(240, 20, 55, 0));
}

.major-tier-annual::before {
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: var(--red);
  content: "";
}

.major-tier-annual > strong {
  font-size: clamp(49px, 4.5vw, 74px) !important;
}

.major-tier-context {
  display: grid;
  grid-template-columns: 0.75fr 1.25fr;
  min-height: 62px;
  border-bottom: 1px solid var(--line-light);
}

.major-tier-context > span {
  display: flex;
  align-items: center;
  padding: 14px 22px;
  color: var(--muted-light);
  font-size: 10px;
  line-height: 1.4;
}

.major-tier-context > span:first-child {
  padding-left: 0;
  border-right: 1px solid var(--line-light);
}

.major-tier-context strong {
  margin-right: 7px;
  color: var(--ink);
  font-size: 15px;
  white-space: nowrap;
}

.major-agent-path {
  display: grid;
  grid-template-columns: 105px minmax(175px, 1fr) 24px minmax(180px, 1fr) 24px minmax(210px, 1.15fr);
  gap: 12px;
  align-items: center;
  min-height: 68px;
  border-bottom: 1px solid var(--line-light);
}

.major-agent-path > span {
  color: var(--red);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.major-agent-path > strong {
  font-size: clamp(13px, 1.1vw, 17px);
  line-height: 1.25;
  letter-spacing: -0.02em;
}

.major-agent-path > i {
  color: var(--red);
  font-size: 18px;
  font-style: normal;
  text-align: center;
}

/* 04 / AMERICAN MARKET OPPORTUNITY */

.mo-shell {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.mo-frame {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
}

.mo-head .display-title {
  max-width: none;
  margin-top: 8px;
  font-size: clamp(36px, 2.85vw, 54px);
}

.mo-head .display-dek {
  max-width: 1120px;
  margin-top: 12px;
  font-size: clamp(15px, 1.12vw, 17.5px);
  line-height: 1.5;
}

.mo-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.92fr) minmax(320px, 1fr);
  column-gap: clamp(44px, 4vw, 70px);
  align-items: stretch;
  margin-top: clamp(18px, 2.5vh, 26px);
}

.mo-case {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.mo-photo {
  margin: 0;
}

.mo-photo-frame {
  position: relative;
  overflow: hidden;
  aspect-ratio: 21 / 7.4;
  border: 1px solid rgba(7, 8, 7, 0.34);
  border-top: 3px solid var(--red);
}

.mo-photo-frame img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 74% 38%;
  filter: saturate(1.02) contrast(1.04);
}

.mo-photo figcaption {
  display: flex;
  align-items: center;
  gap: 16px;
  padding-top: 11px;
}

.mo-photo figcaption span {
  color: var(--red);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  white-space: nowrap;
}

.mo-photo figcaption::after {
  content: "";
  flex: 1;
  height: 1px;
  background: var(--line-light);
}

.mo-exhibit {
  margin-top: 12px;
}

.mo-exhibit-money,
.mo-exhibit-support {
  display: grid;
  grid-template-columns: 1.04fr 1fr;
}

.mo-exhibit-money {
  border-top: 3px solid var(--ink);
}

.mo-exhibit-support {
  margin-top: 2px;
  border-top: 1px solid var(--line-light);
}

.mo-metric {
  min-width: 0;
  padding: 21px 28px 18px 0;
}

.mo-metric + .mo-metric {
  padding-left: 32px;
  border-left: 1px solid var(--line-light);
}

.mo-metric:last-child {
  padding-right: 0;
}

.mo-metric-money strong {
  display: block;
  color: var(--red);
  font-weight: 800;
  font-size: clamp(56px, 4.5vw, 86px);
  line-height: 0.88;
  letter-spacing: -0.05em;
}

.mo-metric-money span {
  display: block;
  margin-top: 13px;
  color: var(--muted-light);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.1em;
  line-height: 1.45;
  text-transform: uppercase;
}

.mo-exhibit-support .mo-metric {
  display: flex;
  align-items: baseline;
  gap: 13px;
  padding-top: 12px;
  padding-bottom: 2px;
}

.mo-exhibit-support strong {
  color: var(--ink);
  font-weight: 800;
  font-size: clamp(22px, 1.65vw, 28px);
  line-height: 1;
  letter-spacing: -0.04em;
  white-space: nowrap;
}

.mo-exhibit-support span {
  flex: 1;
  min-width: 0;
  color: var(--muted-light);
  font-size: 9.5px;
  font-weight: 800;
  letter-spacing: 0.09em;
  line-height: 1.4;
  text-transform: uppercase;
}

.mo-agent {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding-top: 22px;
  border-top: 3px solid var(--red);
}

.mo-agent-kicker {
  margin: 0;
  color: var(--red);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.24em;
  text-transform: uppercase;
}

.mo-agent-line {
  margin: 16px 0 0;
  max-width: 440px;
  color: var(--ink);
  font-size: clamp(31px, 2.75vw, 47px);
  font-weight: 800;
  line-height: 1.03;
  letter-spacing: -0.045em;
}

.mo-agent-leader {
  flex: 1 1 34px;
  width: 1px;
  min-height: 34px;
  margin: 26px 0 0 1px;
  background: var(--line-light);
}

.mo-agent-mark {
  padding-top: 26px;
}

.mo-agent-mark::before {
  content: "";
  display: block;
  width: 26px;
  height: 2px;
  margin-bottom: 20px;
  background: var(--red);
}

.mo-agent-mark img {
  display: block;
  width: auto;
  height: clamp(116px, 14vh, 154px);
  filter: brightness(0);
}

.mo-partners {
  margin-top: clamp(18px, 2.6vh, 26px);
  padding-top: 16px;
  border-top: 2px solid var(--ink);
}

.mo-partner-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.mo-partner-label {
  margin: 0;
  color: var(--ink);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.mo-partner-groups {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(28px, 3vw, 48px);
  margin-top: 16px;
}

.mo-partner-group + .mo-partner-group {
  padding-left: clamp(26px, 2.6vw, 42px);
  border-left: 1px solid var(--line-light);
}

.mo-partner-group-title {
  margin: 0 0 14px;
  color: var(--muted-light);
  font-size: 9.5px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.mo-partner-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: end;
  gap: clamp(22px, 2.6vw, 40px);
}

.mo-brand {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
  gap: 10px;
}

.mo-brand span {
  color: var(--muted-light);
  font-size: 9.5px;
  font-weight: 800;
  letter-spacing: 0.12em;
  line-height: 1.2;
  text-transform: uppercase;
}

.mo-logo {
  display: block;
  flex: 0 0 auto;
  width: auto;
}

.mo-logo-alienware {
  height: 40px;
  filter: brightness(0);
  opacity: 0.92;
}

.mo-logo-redbull {
  height: 42px;
}

.mo-logo-livenation {
  height: 33px;
}

.mo-logo-mcdonalds {
  height: 46px;
}

.mo-logo-monster {
  height: 44px;
}

.mo-logo-ralph {
  width: min(100%, 200px);
  height: auto;
}

.mo-partner-note {
  margin: 0;
  padding-left: 12px;
  border-left: 2px solid var(--red);
  color: var(--navy);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.16em;
  line-height: 1.5;
  text-transform: uppercase;
}

.mo-sources {
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid var(--line-light);
  gap: 10px 30px;
}

.mo-sources a {
  color: var(--muted-light);
  font-size: 11px;
  font-weight: 600;
  line-height: 1.35;
}

/* Slide 04 - the American market, editorial rebuild */
.am-shell {
  display: flex;
  flex-direction: column;
  padding-top: clamp(22px, 3vh, 34px);
  padding-bottom: 0;
}

.am-head {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(360px, 0.72fr);
  gap: clamp(34px, 3.8vw, 68px);
  align-items: stretch;
  margin-top: clamp(12px, 1.8vh, 20px);
}

.am-head-copy {
  align-self: center;
  min-width: 0;
}

.am-title {
  margin: 0;
  font-size: clamp(38px, 3.1vw, 56px);
  font-weight: 800;
  letter-spacing: -0.05em;
  line-height: 0.96;
  text-wrap: balance;
}

.am-lead {
  max-width: 58ch;
  margin: clamp(12px, 1.8vh, 18px) 0 0;
  color: var(--muted-light);
  font-size: clamp(13.5px, 1.05vw, 15.5px);
  line-height: 1.55;
}

.am-photo {
  display: flex;
  min-width: 0;
  margin: 0;
  flex-direction: column;
}

.am-photo img {
  width: 100%;
  flex: none;
  height: clamp(200px, 26vh, 290px);
  object-fit: cover;
  object-position: center 40%;
  border-top: 3px solid var(--red);
  filter: saturate(0.94) contrast(1.03);
}

.am-photo figcaption {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding-top: 10px;
  font-family: ui-monospace, "SF Mono", "Cascadia Mono", Consolas, Menlo, monospace;
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.09em;
  line-height: 1.3;
  text-transform: uppercase;
}

.am-photo figcaption b {
  color: var(--ink);
  font-weight: 600;
}

.am-photo figcaption span {
  color: var(--muted-light);
}

.am-band {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: clamp(16px, 3vh, 34px);
  border-top: 2px solid var(--ink);
}

.am-proof-group {
  min-width: 0;
  padding: clamp(12px, 2vh, 21px) 34px 0 0;
}

.am-proof-group + .am-proof-group {
  padding-right: 0;
  padding-left: 38px;
  border-left: 1px solid var(--line-light);
}

.am-proof-group h3 {
  margin: 0;
  color: var(--ink);
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.am-proof-stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 10px;
}

.am-proof-stats article {
  min-width: 0;
  padding-right: 24px;
}

.am-proof-stats article + article {
  padding-right: 0;
  padding-left: 30px;
  border-left: 1px solid var(--line-light);
}

.am-proof-stats strong {
  display: block;
  color: var(--red);
  font-size: clamp(46px, 3.8vw, 66px);
  font-weight: 800;
  letter-spacing: -0.06em;
  line-height: 0.85;
}

.am-proof-stats span {
  display: block;
  margin-top: 11px;
  color: var(--ink);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.am-proof-group > p {
  max-width: 58ch;
  margin: 8px 0 0;
  color: var(--muted-light);
  font-size: 12px;
  line-height: 1.45;
}

.am-proof-group > .am-proof-takeaway {
  color: var(--ink);
  font-size: 13px;
  line-height: 1.35;
}

.am-proof-takeaway strong {
  font-weight: 800;
}

.am-brands {
  margin-top: clamp(10px, 2.2vh, 26px);
  padding-top: clamp(15px, 1.8vh, 20px);
  border-top: 1px solid var(--line-light);
}

.am-brand-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 24px;
}

.am-brand-head h3 {
  margin: 0;
  color: var(--muted-light);
  font-size: clamp(11px, 0.88vw, 13px);
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.am-brand-head > p {
  margin: 0;
  color: var(--muted-light);
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.am-brand-wall {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: stretch;
  margin-top: clamp(10px, 1.5vh, 15px);
}

.am-brand-wall figure {
  display: flex;
  min-width: 0;
  min-height: 82px;
  margin: 0;
  padding: 10px 12px 0;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  gap: 11px;
}

.am-brand-wall figure + figure {
  border-left: 1px solid var(--line-light);
}

.am-brand-wall img {
  display: block;
  width: auto;
  max-width: 100%;
  object-fit: contain;
}

.am-logo-mcdonalds {
  height: 46px;
}

.am-logo-ralph {
  width: min(164px, 100%);
}

.am-logo-redbull {
  height: 43px;
}

.am-logo-livenation {
  height: 31px;
}

.am-logo-monster {
  height: 41px;
}

.am-logo-sap {
  height: 44px;
}

.am-logo-adidas {
  height: 46px;
}

.am-logo-lenovo {
  height: 33px;
}

.am-logo-miller {
  height: 48px;
}

.am-miller-lockup {
  display: flex;
  align-items: center;
  gap: 10px;
}

.am-miller-lockup span {
  color: var(--ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 18px;
  font-style: italic;
  font-weight: 700;
  letter-spacing: -0.04em;
  line-height: 1;
}

.am-logo-alienware {
  height: 37px;
  filter: brightness(0);
}

.am-alienware-lockup {
  display: flex;
  align-items: center;
  gap: 10px;
}

.am-alienware-lockup span {
  color: var(--ink);
  font-size: 18px;
  font-weight: 800;
  letter-spacing: 0.12em;
  line-height: 1;
  text-transform: uppercase;
}

.am-brand-wall figcaption {
  color: var(--muted-light);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.09em;
  line-height: 1.25;
  text-align: center;
  text-transform: uppercase;
}

.am-why {
  margin-top: clamp(10px, 2.2vh, 26px);
  padding-top: clamp(12px, 2vh, 22px);
  border-top: 3px solid var(--red);
}

.am-why-copy {
  min-width: 0;
}

.am-why-kicker {
  margin: 0;
  color: var(--red);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.26em;
  text-transform: uppercase;
}

.am-why h3 {
  max-width: 52ch;
  margin: 11px 0 0;
  color: var(--ink);
  font-size: clamp(30px, 2.7vw, 48px);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.02;
}

.am-why-sub {
  max-width: 82ch;
  margin: 9px 0 0;
  color: var(--muted-light);
  font-size: clamp(16px, 1.32vw, 20px);
  line-height: 1.5;
}

.am-sources {
  margin-top: clamp(8px, 1.6vh, 18px);
  gap: 12px 26px;
}

.am-sources a {
  color: var(--muted-light);
  font-size: 10.5px;
  font-weight: 600;
}

@media (min-width: 821px) and (max-height: 840px) {
  .am-shell {
    padding-top: 14px;
    padding-bottom: 8px;
  }

  .am-head {
    margin-top: 8px;
  }

  .am-title {
    font-size: clamp(33px, 4.1vh, 43px);
  }

  .am-lead {
    margin-top: 8px;
    font-size: 12.5px;
    line-height: 1.5;
  }

  .am-photo img {
    height: 140px;
  }

  .am-band {
    margin-top: 11px;
  }

  .am-proof-group {
    padding-top: 8px;
  }

  .am-proof-group h3 {
    font-size: 9px;
  }

  .am-proof-stats {
    margin-top: 6px;
  }

  .am-proof-stats strong {
    font-size: 44px;
  }

  .am-proof-stats span {
    margin-top: 6px;
  }

  .am-proof-group > p {
    margin-top: 4px;
    font-size: 11px;
  }

  .am-proof-group > .am-proof-takeaway {
    font-size: 11.5px;
  }

  .am-brands {
    margin-top: 11px;
    padding-top: 9px;
  }

  .am-brand-wall {
    margin-top: 8px;
  }

  .am-brand-wall figure {
    min-height: 58px;
    padding-top: 8px;
    gap: 7px;
  }

  .am-logo-mcdonalds {
    height: 34px;
  }

  .am-logo-ralph {
    width: min(126px, 100%);
  }

  .am-logo-redbull {
    height: 32px;
  }

  .am-logo-livenation {
    height: 24px;
  }

  .am-logo-monster {
    height: 31px;
  }

  .am-logo-sap {
    height: 33px;
  }

  .am-logo-adidas {
    height: 34px;
  }

  .am-logo-lenovo {
    height: 25px;
  }

  .am-logo-miller {
    height: 36px;
  }

  .am-miller-lockup {
    gap: 7px;
  }

  .am-miller-lockup span {
    font-size: 15px;
  }

  .am-logo-alienware {
    height: 28px;
  }

  .am-alienware-lockup span {
    font-size: 15px;
  }

  .am-brand-wall figcaption {
    font-size: 9px;
  }

  .am-why {
    margin-top: 7px;
    padding-top: 7px;
  }

  .am-why h3 {
    margin-top: 6px;
    font-size: 29px;
  }

  .am-why-sub {
    margin-top: 5px;
    font-size: 15px;
  }

  .am-sources {
    margin-top: 3px;
  }
}

@media (max-width: 820px) {
  .am-shell {
    padding-top: 28px;
    padding-bottom: 28px;
  }

  .am-head {
    grid-template-columns: 1fr;
    gap: 24px;
    margin-top: 18px;
  }

  .am-title {
    font-size: clamp(31px, 8.6vw, 40px);
  }

  .am-photo img {
    height: auto;
    aspect-ratio: 16 / 10;
    object-position: 58% center;
  }

  .am-band {
    grid-template-columns: 1fr;
    margin-top: 28px;
  }

  .am-proof-group {
    padding: 16px 0;
  }

  .am-proof-group + .am-proof-group {
    padding: 20px 0 16px;
    border-top: 1px solid var(--line-light);
    padding-left: 0;
    border-left: 0;
  }

  .am-proof-group h3 {
    font-size: 10.5px;
  }

  .am-proof-stats {
    margin-top: 12px;
  }

  .am-proof-stats article {
    padding-right: 12px;
  }

  .am-proof-stats article + article {
    padding-left: 18px;
  }

  .am-proof-stats strong {
    font-size: clamp(38px, 11vw, 50px);
  }

  .am-proof-stats span {
    margin-top: 9px;
    font-size: 10px;
    letter-spacing: 0.16em;
  }

  .am-proof-group > p {
    font-size: 11px;
  }

  .am-proof-group > .am-proof-takeaway {
    font-size: 12px;
  }

  .am-brands {
    margin-top: 26px;
    padding-top: 20px;
  }

  .am-brand-head {
    align-items: flex-start;
    flex-direction: column;
    gap: 10px;
  }

  .am-brand-head h3 {
    max-width: 320px;
    font-size: 14px;
    line-height: 1.45;
  }

  .am-brand-wall {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 26px 20px;
    margin-top: 24px;
  }

  .am-brand-wall figure {
    min-height: 78px;
    padding: 0;
  }

  .am-brand-wall figure + figure {
    border-left: 0;
  }

  .am-logo-mcdonalds {
    height: 48px;
  }

  .am-logo-ralph {
    width: min(160px, 100%);
  }

  .am-logo-redbull {
    height: 44px;
  }

  .am-logo-livenation {
    height: 32px;
  }

  .am-logo-monster {
    height: 44px;
  }

  .am-logo-sap {
    height: 38px;
  }

  .am-logo-adidas {
    height: 48px;
  }

  .am-logo-lenovo {
    height: 28px;
  }

  .am-logo-miller {
    height: 42px;
  }

  .am-miller-lockup {
    gap: 8px;
  }

  .am-miller-lockup span {
    font-size: 17px;
  }

  .am-logo-alienware {
    height: 32px;
  }

  .am-alienware-lockup span {
    font-size: 16px;
  }

  .am-why {
    margin-top: 28px;
    padding-top: 21px;
  }

  .am-why h3 {
    font-size: 30px;
  }

  .am-why-sub {
    max-width: 460px;
    font-size: 16px;
  }

  .am-sources {
    align-items: flex-start;
    flex-direction: column;
    gap: 12px;
    margin-top: 18px;
    padding-top: 16px;
  }
}

@media (min-width: 821px) and (max-height: 840px) {
  .mo-shell {
    padding-top: 26px;
    padding-bottom: 18px;
  }

  .mo-head .display-title {
    font-size: clamp(32px, 2.6vw, 44px);
  }

  .mo-head .display-dek {
    margin-top: 10px;
    font-size: 14.5px;
  }

  .mo-grid {
    margin-top: 14px;
  }

  .mo-photo-frame {
    aspect-ratio: 21 / 6;
  }

  .mo-photo figcaption {
    padding-top: 8px;
  }

  .mo-exhibit {
    margin-top: 9px;
  }

  .mo-metric {
    padding-top: 13px;
    padding-bottom: 11px;
  }

  .mo-metric-money strong {
    font-size: clamp(44px, 3.4vw, 58px);
  }

  .mo-metric-money span {
    margin-top: 10px;
  }

  .mo-exhibit-support .mo-metric {
    padding-top: 10px;
    padding-bottom: 1px;
  }

  .mo-exhibit-support strong {
    font-size: clamp(21px, 1.6vw, 26px);
  }

  .mo-agent-line {
    font-size: clamp(25px, 2vw, 33px);
  }

  .mo-agent-mark {
    padding-top: 20px;
  }

  .mo-agent-mark img {
    height: 76px;
  }

  .mo-partners {
    margin-top: 14px;
    padding-top: 11px;
  }

  .mo-partner-groups {
    margin-top: 11px;
  }

  .mo-sources {
    margin-top: 10px;
    padding-top: 8px;
  }

  .mo-partner-group-title {
    margin-bottom: 11px;
  }

  .mo-logo-mcdonalds {
    height: 38px;
  }

  .mo-logo-monster {
    height: 36px;
  }

  .mo-logo-redbull {
    height: 34px;
  }

  .mo-logo-alienware {
    height: 33px;
  }

  .mo-logo-livenation {
    height: 27px;
  }

  .mo-logo-ralph {
    width: min(100%, 170px);
  }
}

/* Slide 05 - Major economics, qualification-to-revenue exhibit */
.mj-head {
  display: grid;
  grid-template-columns: minmax(0, 1.22fr) minmax(340px, 0.6fr);
  gap: clamp(40px, 4.5vw, 76px);
  align-items: end;
  margin-top: 2px;
}

.mj-title {
  max-width: 900px;
  font-size: clamp(44px, 3.9vw, 64px);
  line-height: 0.94;
}

.mj-dek {
  max-width: 470px;
  margin: 0 0 5px;
  color: var(--muted-light);
  font-size: clamp(14px, 1.05vw, 17px);
  line-height: 1.52;
}

.mj-chain {
  display: grid;
  flex: 1;
  grid-template-columns: minmax(0, 0.9fr) 26px minmax(0, 1.55fr) 26px minmax(0, 1fr);
  gap: 0 clamp(14px, 1.35vw, 22px);
  margin-top: clamp(20px, 2.9vh, 34px);
  padding-top: clamp(16px, 2.3vh, 26px);
  padding-bottom: clamp(14px, 2.2vh, 28px);
  border-top: 2px solid var(--ink);
}

.mj-step {
  display: flex;
  min-width: 0;
  flex-direction: column;
}

.mj-step header,
.mj-stage header {
  display: flex;
  align-items: baseline;
  gap: 11px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.2em;
  line-height: 1;
  text-transform: uppercase;
}

.mj-step header b,
.mj-stage header b {
  color: var(--red);
}

.mj-stage header span {
  line-height: 1.5;
}

.mj-arrow {
  align-self: center;
  color: var(--red);
  font-size: 23px;
  font-style: normal;
  font-weight: 800;
  text-align: center;
}

.mj-prog-link {
  position: relative;
  display: block;
  grid-row: 4;
  align-self: end;
  height: 14px;
}

.mj-stage-one + .mj-prog-link {
  grid-column: 2;
}

.mj-stage-compound + .mj-prog-link {
  grid-column: 4;
}

.mj-prog-link::before {
  content: "";
  position: absolute;
  right: 0;
  bottom: -2px;
  left: 0;
  height: 2px;
  background: var(--red);
}

.mj-prog-link::after {
  content: "";
  position: absolute;
  right: -2px;
  bottom: -6px;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 8px solid var(--red);
}

.mj-figs {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
  margin-top: clamp(16px, 2.4vh, 26px);
}

.mj-figs p {
  margin: 0;
}

.mj-figs p.am {
  text-align: right;
}

.mj-figs strong {
  display: block;
  color: var(--ink);
  font-size: clamp(52px, 4.8vw, 94px);
  font-weight: 800;
  line-height: 0.84;
  letter-spacing: -0.05em;
}

.mj-figs p.am strong {
  color: var(--red);
}

.mj-figs span {
  display: block;
  margin-top: 10px;
  color: var(--muted-light);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.14em;
  line-height: 1.3;
  text-transform: uppercase;
}

.mj-allocation {
  display: grid;
  grid-template-columns: 23fr 9fr;
  height: clamp(38px, 5.4vh, 56px);
  margin-top: clamp(22px, 3.6vh, 40px);
  border: 1px solid rgba(7, 8, 7, 0.4);
}

.mj-allocation-global {
  background:
    repeating-linear-gradient(
      90deg,
      transparent 0,
      transparent calc((100% / 23) - 1px),
      rgba(7, 8, 7, 0.16) calc((100% / 23) - 1px),
      rgba(7, 8, 7, 0.16) calc(100% / 23)
    ),
    rgba(7, 8, 7, 0.035);
}

.mj-allocation-americas {
  display: grid;
  place-items: center;
  background: var(--red);
}

.mj-allocation-americas b {
  padding: 0 6px;
  color: #fff;
  font-size: 9.5px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-align: center;
  text-transform: uppercase;
}

.mj-products {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(12px, 1.2vw, 18px);
  margin-top: clamp(16px, 2.4vh, 26px);
}

.mj-prod {
  min-width: 0;
  margin: 0;
}

.mj-shot {
  display: block;
  width: 100%;
  height: clamp(132px, 20vh, 212px);
  padding: 0;
  overflow: hidden;
  cursor: zoom-in;
  background: none;
  border: 0;
  box-shadow: inset 0 0 0 1px rgba(7, 8, 7, 0.2);
}

.mj-shot:focus-visible {
  outline: 2px solid var(--red);
  outline-offset: 2px;
}

.mj-shot img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: none;
  image-rendering: auto;
}

.mj-prod-ak img {
  object-position: 50% 58%;
  transform: none;
}

.mj-prod-jersey img {
  object-position: 50% 38%;
  transform: none;
}

.mj-prod figcaption {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  padding-top: 9px;
  font-size: 9.5px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.mj-prod figcaption b {
  color: var(--ink);
}

.mj-prod figcaption span {
  color: var(--muted-light);
  font-weight: 700;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  cursor: zoom-in;
}

.mj-prod:hover figcaption span {
  color: var(--red);
}

.mj-equiv {
  margin-top: auto;
  padding-top: clamp(12px, 1.9vh, 20px);
}

.mj-equiv p {
  display: flex;
  align-items: baseline;
  gap: 12px;
  margin: 0;
  padding: clamp(6px, 1vh, 10px) 0;
  border-top: 1px solid var(--line-light);
}

.mj-equiv p:first-child {
  border-top: 2px solid var(--ink);
}

.mj-equiv b {
  color: var(--ink);
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: 0.12em;
  line-height: 1.3;
  text-transform: uppercase;
  white-space: nowrap;
}

.mj-equiv i {
  flex: 1;
  min-width: 24px;
  border-bottom: 1px dotted rgba(7, 8, 7, 0.32);
  transform: translateY(-3px);
}

.mj-equiv span {
  color: var(--muted-light);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.1em;
  line-height: 1.3;
  text-align: right;
  text-transform: uppercase;
}

.mj-equiv small {
  display: block;
  margin-top: 7px;
  color: var(--ink);
  font-size: 10.5px;
  font-weight: 700;
  line-height: 1.35;
}

.mj-equiv small strong {
  font-weight: 800;
}

.mj-pool-fig {
  margin-top: clamp(16px, 2.4vh, 26px);
}

.mj-pool-fig strong {
  display: block;
  color: var(--navy);
  font-size: clamp(56px, 4.6vw, 84px);
  font-weight: 800;
  line-height: 0.84;
  letter-spacing: -0.05em;
}

.mj-pool-fig span {
  display: block;
  margin-top: 10px;
  color: var(--navy);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.12em;
  line-height: 1.35;
  text-transform: uppercase;
}

.mj-pool-flow {
  margin-top: 2px;
}

.mj-pool-flow::before {
  content: "";
  display: block;
  width: 1px;
  height: clamp(14px, 2.1vh, 22px);
  margin-left: clamp(34px, 2.4vw, 52px);
  background: var(--navy);
}

.mj-pool-flow ul {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--navy);
}

.mj-pool-flow li {
  position: relative;
  padding-top: 13px;
  color: var(--ink);
  font-size: 9.5px;
  font-weight: 800;
  letter-spacing: 0.12em;
  line-height: 1.3;
  text-transform: uppercase;
}

.mj-pool-flow li::before {
  content: "";
  position: absolute;
  top: 0;
  left: 1px;
  width: 1px;
  height: 7px;
  background: var(--navy);
}

.mj-step-copy {
  max-width: 42ch;
  margin: 0;
  padding-top: 16px;
  color: var(--muted-light);
  font-size: clamp(13px, 1vw, 15px);
  line-height: 1.5;
}

.mj-step > .mj-step-copy {
  margin-top: auto;
}

.mj-step-copy strong {
  color: var(--ink);
  font-weight: 600;
}

.mj-paris-proof {
  margin-top: auto;
  padding-top: clamp(11px, 1.7vh, 16px);
  border-top: 2px solid var(--ink);
}

.mj-paris-proof > span {
  display: block;
  color: var(--red);
  font-size: 9.5px;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.mj-paris-range {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 20px minmax(0, 1fr);
  align-items: end;
  gap: 10px;
  margin-top: clamp(9px, 1.4vh, 14px);
}

.mj-paris-range p {
  margin: 0;
}

.mj-paris-range strong {
  display: block;
  color: var(--ink);
  font-size: clamp(31px, 2.7vw, 44px);
  font-weight: 800;
  letter-spacing: -0.045em;
  line-height: 0.88;
  white-space: nowrap;
}

.mj-paris-range small {
  display: block;
  margin-top: 7px;
  color: var(--muted-light);
  font-size: 8.5px;
  font-weight: 800;
  letter-spacing: 0.1em;
  line-height: 1.3;
  text-transform: uppercase;
}

.mj-paris-range > i {
  align-self: center;
  color: var(--red);
  font-size: 18px;
  font-style: normal;
  font-weight: 800;
}

.mj-paris-note {
  margin: clamp(8px, 1.3vh, 12px) 0 0;
  color: var(--ink);
  font-size: 10.5px;
  font-weight: 700;
  line-height: 1.35;
}

.mj-prog {
  margin-bottom: clamp(10px, 1.5vh, 16px);
  padding-top: clamp(12px, 1.8vh, 18px);
  border-top: 2px solid var(--ink);
}

.mj-prog-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 6px 18px;
}

.mj-prog-head b {
  color: var(--ink);
  font-size: 11.5px;
  font-weight: 800;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.mj-prog-head span {
  color: var(--muted-light);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.mj-prog-head span i {
  padding: 0 3px;
  color: var(--red);
  font-style: normal;
}

.mj-prog-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) clamp(22px, 2.4vw, 40px) minmax(0, 1fr) clamp(22px, 2.4vw, 40px) minmax(0, 1.08fr);
  grid-template-rows: auto 1fr auto auto;
  gap: 0 clamp(14px, 1.5vw, 24px);
  margin-top: clamp(10px, 1.6vh, 16px);
  border-bottom: 2px solid var(--ink);
}

.mj-stage {
  display: grid;
  min-width: 0;
  grid-row: 1 / 5;
  grid-template-rows: subgrid;
}

.mj-stage-one {
  grid-column: 1;
}

.mj-stage-two {
  grid-column: 3;
}

.mj-stage-compound {
  grid-column: 3;
}

.mj-stage-scale {
  grid-column: 5;
}

.mj-stage > strong {
  display: block;
  grid-row: 2;
  align-self: end;
  margin-top: clamp(12px, 1.9vh, 20px);
  font-size: clamp(44px, 3.9vw, 72px);
  font-weight: 800;
  line-height: 0.84;
  letter-spacing: -0.055em;
  white-space: nowrap;
}

.mj-stage-one > strong {
  color: var(--ink);
  font-size: clamp(38px, 3.4vw, 62px);
}

.mj-stage-scale > strong {
  color: var(--red);
  font-size: clamp(46px, 4.1vw, 76px);
}

.mj-stage > p {
  grid-row: 3;
  margin: 11px 0 0;
  color: var(--muted-light);
  font-size: 11.5px;
  line-height: 1.4;
}

.mj-compound {
  grid-row: 2 / 4;
  align-self: end;
  margin: clamp(12px, 1.8vh, 18px) 0 0;
  padding: 0;
  list-style: none;
}

.mj-compound li {
  display: grid;
  grid-template-columns: 15px 22px minmax(0, 1fr);
  align-items: center;
  column-gap: 8px;
  padding: 6px 0;
  color: var(--ink);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.12em;
  line-height: 1.35;
  text-transform: uppercase;
}

.mj-compound li + li {
  border-top: 1px solid var(--line-light);
}

.mj-compound li::before {
  content: "";
}

.mj-compound li + li::before {
  content: "→";
  color: var(--red);
  font-size: 12px;
  line-height: 1;
}

.mj-compound li svg {
  display: block;
  width: 16px;
  height: 16px;
}

.mj-compound li.hot {
  color: var(--red);
}

.mj-crowd {
  display: block;
  grid-row: 4;
  align-self: end;
  justify-self: start;
  margin-top: clamp(10px, 1.6vh, 16px);
  color: var(--ink);
}

.mj-stage-one .mj-crowd {
  height: 27px;
}

.mj-stage-two .mj-crowd,
.mj-stage-compound .mj-crowd {
  height: 33px;
}

.mj-stage-scale .mj-crowd {
  height: 39px;
}

.mj-proof {
  margin-top: auto;
  padding: 6px 0 5px;
  border-top: 2px solid var(--ink);
  border-bottom: 2px solid var(--ink);
}

.mj-proof-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 18px;
}

.mj-proof-label b {
  color: var(--ink);
  font-size: 11.5px;
  font-weight: 800;
  letter-spacing: 0.2em;
  line-height: 1.15;
  text-transform: uppercase;
}

.mj-proof-label i {
  margin-left: 10px;
  color: var(--muted-light);
  font-size: 11px;
  font-style: normal;
  font-weight: 700;
  letter-spacing: 0.14em;
}

.mj-proof-head > span {
  color: var(--muted-light);
  font-size: 11px;
  line-height: 1.3;
  text-align: right;
}

.mj-proof-row {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
  grid-template-rows: auto;
  gap: 0 clamp(20px, 2.2vw, 38px);
  margin-top: 4px;
}

.mj-proof-item {
  display: grid;
  min-width: 0;
  grid-template-rows: auto auto;
}

.mj-proof-item + .mj-proof-item {
  padding-left: clamp(18px, 2vw, 30px);
  border-left: 1px solid var(--line-light);
}

.mj-proof-item strong {
  grid-row: 1;
  align-self: last baseline;
  color: var(--ink);
  font-weight: 800;
  letter-spacing: -0.045em;
  line-height: 0.88;
  white-space: nowrap;
}

.mj-proof-club strong {
  font-size: clamp(39px, 3.3vw, 52px);
}

.mj-proof-total strong {
  font-size: clamp(42px, 3.6vw, 58px);
}

.mj-proof-item p {
  margin: 4px 0 0;
  color: var(--muted-light);
  font-size: 12.5px;
  line-height: 1.4;
}

.mj-proof-takeaway {
  align-self: stretch;
  padding-left: clamp(18px, 2vw, 30px);
  border-left: 1px solid var(--line-light);
}

.mj-proof-takeaway b {
  color: var(--red);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.18em;
  line-height: 1.2;
  text-transform: uppercase;
}

.mj-proof-takeaway p {
  max-width: 430px;
  margin: 6px 0 0;
  color: var(--ink);
  font-size: clamp(17px, 1.45vw, 22px);
  font-weight: 750;
  letter-spacing: -0.025em;
  line-height: 1.15;
}

.mj-proof-fine {
  margin: 3px 0 0;
  padding-top: 3px;
  border-top: 1px solid var(--line-light);
  color: var(--muted-light);
  font-size: 10px;
  line-height: 1.45;
}

#s5 .source-row a {
  font-size: 12px;
}

.mj-lightbox {
  position: fixed;
  z-index: 200;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  padding: clamp(20px, 4vh, 48px);
  background: #000;
}

.mj-lightbox.open {
  display: flex;
}

.mj-lightbox img {
  display: block;
  max-width: min(1500px, 94vw);
  max-height: 88vh;
  object-fit: contain;
}

.mj-lb-close {
  position: absolute;
  top: 16px;
  right: 20px;
  width: 46px;
  height: 46px;
  padding: 0;
  color: var(--paper);
  font-size: 32px;
  font-weight: 300;
  line-height: 1;
  cursor: pointer;
  background: none;
  border: 0;
}

.mj-lb-close:hover {
  color: var(--red);
}

body.mj-lb-open {
  overflow: hidden;
}

.major-payout-band {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 94px minmax(0, 1fr);
  min-height: 188px;
  margin-top: 14px;
  color: var(--paper);
  background: var(--ink);
  border-top: 3px solid var(--red);
}

.major-payout-band article {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 22px 34px;
}

.major-payout-band article > span,
.major-year-three > span,
.major-compound-copy > span {
  color: var(--red);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.major-payout-band article > strong {
  margin-top: 15px;
  font-size: clamp(57px, 5.6vw, 90px);
  line-height: 0.86;
  letter-spacing: -0.065em;
  white-space: nowrap;
}

.major-payout-band article > p {
  margin: 13px 0 0;
  color: var(--muted-dark);
  font-size: 10px;
  line-height: 1.3;
}

.major-payout-band > i {
  display: grid;
  place-items: center;
  color: var(--red);
  border-right: 1px solid rgba(239, 238, 233, 0.14);
  border-left: 1px solid rgba(239, 238, 233, 0.14);
  font-size: 40px;
  font-style: normal;
  font-weight: 800;
  letter-spacing: -0.05em;
}

.major-payout-annual {
  position: relative;
  background: linear-gradient(110deg, rgba(241, 31, 45, 0.16), rgba(241, 31, 45, 0.01));
}

.major-payout-annual::before {
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: var(--red);
  content: "";
}

.major-proof-years {
  display: grid;
  grid-template-columns: repeat(3, minmax(78px, 1fr));
  border-left: 1px solid var(--line-light);
}

.major-proof-years > span {
  display: grid;
  gap: 4px;
  min-width: 90px;
  padding: 3px 16px;
  border-right: 1px solid var(--line-light);
}

.major-proof-years > span:last-child {
  padding-right: 0;
  border-right: 0;
}

.major-proof-years small {
  color: var(--muted-light);
  font-size: 7px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.major-proof-years b {
  color: var(--ink);
  font-size: 17px;
  line-height: 1;
  letter-spacing: -0.035em;
}

.major-compound {
  display: grid;
  grid-template-columns: minmax(260px, 0.85fr) minmax(430px, 1.35fr) minmax(220px, 0.65fr);
  min-height: 108px;
  border-bottom: 1px solid var(--line-light);
}

.major-compound-copy,
.major-year-three {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 18px 24px;
}

.major-compound-copy {
  padding-left: 0;
}

.major-compound-copy > strong {
  max-width: 350px;
  margin-top: 8px;
  font-size: 15px;
  line-height: 1.3;
  letter-spacing: -0.02em;
}

.major-compound-lanes {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  align-items: center;
  border-right: 1px solid var(--line-light);
  border-left: 1px solid var(--line-light);
}

.major-compound-lanes > span {
  min-height: 54px;
  display: grid;
  place-items: center;
  padding: 8px;
  color: var(--muted-light);
  border-right: 1px solid var(--line-light);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.09em;
  line-height: 1.35;
  text-align: center;
  text-transform: uppercase;
}

.major-compound-lanes > span:last-child {
  border-right: 0;
}

.major-year-three {
  padding-right: 0;
  padding-left: 30px;
}

.major-year-three > strong {
  margin-top: 7px;
  color: var(--red);
  font-size: clamp(36px, 3.3vw, 52px);
  line-height: 0.88;
  letter-spacing: -0.055em;
}

.major-year-three > p {
  margin: 7px 0 0;
  color: var(--muted-light);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.3;
  text-transform: uppercase;
}

@media (min-width: 981px) and (max-height: 800px) {
  .mj-title {
    font-size: clamp(36px, 3.1vw, 46px);
  }

  .mj-head .section-kicker {
    margin-top: 10px;
  }

  .mj-dek {
    font-size: 13px;
  }

  .mj-chain {
    margin-top: 12px;
    padding-top: 11px;
    padding-bottom: 10px;
  }

  .mj-figs {
    margin-top: 13px;
  }

  .mj-figs strong {
    font-size: clamp(44px, 3.7vw, 60px);
  }

  .mj-figs span {
    margin-top: 7px;
  }

  .mj-allocation {
    height: 30px;
    margin-top: 16px;
  }

  .mj-allocation-americas b {
    font-size: 7.5px;
  }

  .mj-products {
    margin-top: 11px;
  }

  .mj-shot {
    height: 140px;
  }

  .mj-equiv {
    padding-top: 9px;
  }

  .mj-equiv p {
    padding: 4px 0;
  }

  .mj-equiv b {
    font-size: 9.5px;
  }

  .mj-equiv span {
    font-size: 9px;
  }

  .mj-equiv small {
    margin-top: 5px;
    font-size: 10px;
  }

  .mj-pool-fig {
    margin-top: 13px;
  }

  .mj-pool-fig strong {
    font-size: clamp(46px, 3.9vw, 60px);
  }

  .mj-pool-flow::before {
    height: 12px;
  }

  .mj-pool-flow li {
    padding-top: 10px;
  }

  .mj-paris-proof {
    padding-top: 9px;
  }

  .mj-paris-range strong {
    font-size: clamp(27px, 2.3vw, 34px);
  }

  .mj-paris-range small {
    margin-top: 5px;
  }

  .mj-paris-note {
    margin-top: 6px;
  }

  .mj-prog {
    margin-bottom: 5px;
    padding-top: 5px;
  }

  .mj-prog-head b {
    font-size: 10.5px;
  }

  .mj-prog-head span {
    font-size: 9.5px;
  }

  .mj-prog-row {
    margin-top: 5px;
  }

  .mj-stage header span {
    line-height: 1.35;
  }

  .mj-stage > strong {
    margin-top: 7px;
    font-size: clamp(34px, 3vw, 46px);
  }

  .mj-stage-scale > strong {
    font-size: clamp(30px, 2.7vw, 42px);
  }

  .mj-stage > p {
    margin-top: 6px;
    font-size: 10.5px;
  }

  .mj-compound {
    margin-top: 9px;
  }

  .mj-compound li {
    padding: 3px 0;
    font-size: 10px;
  }

  .mj-compound li svg {
    width: 13px;
    height: 13px;
  }

  .mj-crowd {
    margin-top: 6px;
  }

  .mj-stage-one .mj-crowd {
    height: 20px;
  }

  .mj-stage-two .mj-crowd,
  .mj-stage-compound .mj-crowd {
    height: 24px;
  }

  .mj-stage-scale .mj-crowd {
    height: 28px;
  }

  .mj-proof {
    margin-top: 12px;
    padding: 7px 0 6px;
  }

  .mj-proof-row {
    margin-top: 6px;
  }

  .mj-proof-club strong {
    font-size: 33px;
  }

  .mj-proof-item p {
    margin-top: 4px;
    font-size: 10.5px;
  }

  .mj-proof-takeaway p {
    font-size: 17px;
  }

  .mj-proof-fine {
    margin-top: 6px;
    padding-top: 5px;
    font-size: 10px;
  }

  .mj-arrow {
    font-size: 20px;
  }

  .major-sources {
    margin-top: 7px;
  }
}

/* 05 / NORTH AMERICA */

.demand {
  display: grid;
  grid-template-rows: 48vh 1fr;
}

.demand-hero {
  position: relative;
  overflow: hidden;
}

.demand-hero > img,
.demand-shade {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.demand-hero > img {
  object-fit: cover;
  object-position: center 42%;
  filter: saturate(0.75) brightness(0.62);
}

.demand-shade {
  background: linear-gradient(90deg, rgba(5, 6, 5, 0.75), rgba(5, 6, 5, 0.15));
}

.demand-copy {
  position: relative;
  z-index: 2;
  width: min(1420px, calc(100% - 150px));
  margin: 0 auto;
  padding-top: 78px;
}

.demand-copy .display-title {
  max-width: 1050px;
  font-size: clamp(48px, 4.7vw, 78px);
}

.demand-body {
  width: min(1420px, calc(100% - 150px));
  margin: 0 auto;
  padding: 28px 0 38px;
}

.section-rail a {
  color: var(--paper);
  text-transform: none;
  letter-spacing: 0.04em;
  font-weight: 400;
}

.demand-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin-top: 10px;
  border-top: 1px solid rgba(239, 238, 233, 0.36);
  border-bottom: 1px solid var(--line-dark);
}

.demand-stats > div {
  position: relative;
  min-height: 118px;
  padding: 23px 22px;
  border-right: 1px solid var(--line-dark);
}

.demand-stats > div:first-child {
  padding-left: 0;
}

.demand-stats > div:last-child {
  border-right: 0;
}

.demand-stats > div::before {
  content: "";
  position: absolute;
  top: -2px;
  left: 0;
  width: 34px;
  height: 3px;
  background: var(--red);
}

.demand-stats strong {
  display: block;
  font-size: clamp(36px, 3.3vw, 54px);
  line-height: 0.95;
  letter-spacing: -0.055em;
}

.demand-stats span {
  display: block;
  margin-top: 12px;
  color: var(--muted-dark);
  font-size: 9px;
}

.demand-stats .inverse {
  color: var(--ink);
  background: var(--paper);
  padding-left: 22px;
}

.demand-stats .inverse span {
  color: var(--muted-light);
}

.operations-label {
  margin-top: 18px;
}

.operating-flow {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 9px;
  border-top: 1px solid var(--line-dark);
  border-bottom: 1px solid var(--line-dark);
}

.operating-flow article {
  display: grid;
  grid-template-columns: 36px 1fr;
  gap: 12px;
  min-height: 76px;
  padding: 15px 20px 14px 0;
  border-right: 1px solid var(--line-dark);
}

.operating-flow article:not(:first-child) {
  padding-left: 20px;
}

.operating-flow article:last-child {
  border-right: 0;
}

.operating-flow article > b {
  color: var(--red);
  font-size: 8px;
}

.operating-flow h3 {
  margin: 0;
  font-size: 17px;
  line-height: 1.1;
}

.operating-flow p {
  margin: 8px 0 0;
  color: var(--muted-dark);
  font-size: 9px;
}

/* 06 / VRS */

.development-head,
.scale-head {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(430px, 0.9fr);
  gap: 80px;
  align-items: end;
  margin-top: 20px;
}

.development-head .display-title,
.scale-head .display-title {
  font-size: clamp(46px, 4.35vw, 72px);
}

.development-head > .display-dek,
.scale-head > .display-dek {
  margin-bottom: 6px;
}

.vrs {
  background:
    linear-gradient(100deg, rgba(241, 31, 45, 0.09), transparent 42%),
    var(--ink);
}

.vrs-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(500px, 600px);
  gap: 0 58px;
  align-items: start;
  margin-top: 15px;
}

.vrs .slide-shell {
  padding-top: 34px;
  padding-bottom: 28px;
}

.vrs .section-kicker {
  margin-top: 16px;
}

.vrs-explain .display-title {
  max-width: 760px;
  font-size: clamp(42px, 3.55vw, 60px);
}

.vrs-explain .display-dek {
  max-width: 650px;
  margin-top: 17px;
  font-size: clamp(14px, 1vw, 17px);
  line-height: 1.4;
}

.vrs-ambition {
  margin: 14px 0 0;
  color: var(--red);
  font-size: clamp(20px, 1.65vw, 27px);
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.035em;
}

.vrs-market {
  position: relative;
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 0.9fr 0.82fr 1.35fr;
  min-height: 202px;
  margin-top: 25px;
  border-top: 2px solid var(--red);
  border-bottom: 1px solid var(--line-dark);
  background: rgba(5, 6, 5, 0.76);
}

.vrs-market article {
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 23px 28px 21px;
  border-right: 1px solid var(--line-dark);
}

.vrs-market article:last-child {
  border-right: 0;
}

.vrs-market article > span {
  color: var(--red);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.vrs-market article > strong {
  display: block;
  margin-top: 14px;
  color: var(--paper);
  font-size: clamp(52px, 4.6vw, 76px);
  line-height: 0.86;
  letter-spacing: -0.065em;
}

.vrs-market article > h3 {
  margin: 12px 0 0;
  font-size: clamp(18px, 1.55vw, 25px);
  line-height: 1;
  letter-spacing: -0.035em;
}

.vrs-market article > p {
  max-width: 360px;
  margin: 13px 0 0;
  color: var(--muted-dark);
  font-size: 10px;
  line-height: 1.4;
}

.vrs-market-asset {
  background: linear-gradient(120deg, rgba(31, 78, 142, 0.2), transparent 72%);
}

.vrs-market-catalyst > strong {
  color: var(--red) !important;
}

.vrs-market-target {
  background: linear-gradient(115deg, rgba(241, 31, 45, 0.17), rgba(241, 31, 45, 0.02));
}

.vrs-market-target > div {
  display: grid;
  grid-template-columns: 1fr 0.8fr;
  margin-top: 15px;
  border-top: 1px solid var(--line-dark);
  border-bottom: 1px solid var(--line-dark);
}

.vrs-market-target b {
  min-width: 0;
  display: block;
  padding: 13px 16px 12px 0;
  color: var(--paper);
  border-right: 1px solid var(--line-dark);
  font-size: clamp(27px, 2.4vw, 40px);
  line-height: 0.9;
  letter-spacing: -0.055em;
  white-space: nowrap;
}

.vrs-market-target b:last-child {
  padding-left: 18px;
  border-right: 0;
}

.vrs-market-target small {
  display: block;
  margin-top: 7px;
  color: var(--muted-dark);
  font-size: 7px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.vrs-board {
  position: relative;
  padding: 10px 20px 9px;
  color: var(--paper);
  border: 1px solid var(--line-dark);
  background: rgba(5, 6, 5, 0.72);
}

.vrs-board::before {
  content: "";
  position: absolute;
  top: -1px;
  left: -1px;
  width: 14px;
  height: 14px;
  border-top: 2px solid var(--red);
  border-left: 2px solid var(--red);
}

.vrs-board-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding-bottom: 6px;
}

.vrs-board-head div {
  display: grid;
  gap: 7px;
}

.vrs-board-head span {
  font-size: 17px;
  font-weight: 800;
  letter-spacing: -0.02em;
}

.vrs-board-head b {
  color: var(--muted-dark);
  font-size: 9px;
  font-weight: 400;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.vrs-board-head > strong {
  color: var(--red);
  font-size: 40px;
  line-height: 0.9;
  letter-spacing: -0.06em;
}

.vrs-board-head .vrs-race {
  display: flex;
  align-items: center;
  gap: 10px;
}

.vrs-board-head .vrs-race span {
  display: flex;
  align-items: baseline;
  gap: 5px;
  color: var(--red);
  font-size: 26px;
  font-weight: 800;
  line-height: 0.8;
  letter-spacing: -0.055em;
}

.vrs-race small {
  color: var(--muted-dark);
  font-size: 6px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.vrs-race i {
  color: var(--muted-dark);
  font-size: 12px;
  font-style: normal;
}

/* 06 / TEAM USA */

.national-proof {
  background:
    radial-gradient(circle at 12% 62%, rgba(31, 78, 142, 0.22), transparent 31%),
    linear-gradient(104deg, rgba(241, 31, 45, 0.12), transparent 43%),
    var(--ink);
}

.national-proof .slide-shell {
  display: flex;
  flex-direction: column;
  padding-top: 30px;
  padding-bottom: 22px;
}

.national-proof-head {
  display: grid;
  grid-template-columns: minmax(0, 1.16fr) minmax(390px, 0.84fr);
  gap: 62px;
  align-items: end;
  margin-top: 11px;
}

.national-proof-head .section-kicker {
  margin-top: 10px;
}

.national-proof-head .display-title {
  max-width: 830px;
  font-size: clamp(40px, 3.35vw, 57px);
}

.national-proof-head .display-dek {
  max-width: 550px;
  margin: 0 0 2px;
  font-size: clamp(13px, 0.98vw, 16px);
  line-height: 1.4;
}

.national-proof-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.94fr) minmax(540px, 1.06fr);
  margin-top: 18px;
  border-top: 1px solid var(--line-dark);
  border-bottom: 1px solid var(--line-dark);
}

.teamusa-card {
  padding: 18px 26px 15px 0;
  border-right: 1px solid var(--line-dark);
}

.teamusa-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.teamusa-card-head span {
  display: flex;
  align-items: center;
  gap: 11px;
  font-size: 16px;
  font-weight: 800;
  letter-spacing: -0.02em;
}

.teamusa-card-head img {
  width: 31px;
  border: 1px solid rgba(239, 238, 233, 0.28);
}

.teamusa-card-head b {
  padding: 7px 10px 6px;
  color: var(--paper);
  background: var(--red);
  font-size: 8px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.teamusa-roster {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  margin-top: 14px;
  border-top: 1px solid var(--line-dark);
  border-bottom: 1px solid var(--line-dark);
}

.teamusa-roster span {
  min-width: 0;
  padding: 12px 8px 11px;
  border-right: 1px solid var(--line-dark);
}

.teamusa-roster span:first-child {
  padding-left: 0;
}

.teamusa-roster span:last-child {
  border-right: 0;
}

.teamusa-roster strong,
.teamusa-roster small {
  display: block;
}

.teamusa-roster strong {
  font-size: 14px;
  letter-spacing: -0.025em;
}

.teamusa-roster small {
  margin-top: 5px;
  color: var(--muted-dark);
  font-size: 8px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.teamusa-claim {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 15px;
  align-items: center;
  padding-top: 14px;
}

.teamusa-claim > strong {
  color: var(--red);
  font-size: 38px;
  line-height: 0.9;
  letter-spacing: -0.06em;
}

.teamusa-claim p {
  max-width: 290px;
  margin: 0;
  color: var(--muted-dark);
  font-size: 10px;
  line-height: 1.35;
}

.event-card {
  padding: 18px 20px 15px;
}

.teamusa-card .event-card {
  margin-top: 14px;
  padding: 13px 0 0;
  border-top: 1px solid var(--line-dark);
}

.event-card > span,
.national-commercial-rail > div > span {
  color: var(--red);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.event-card h3 {
  margin: 8px 0 0;
  font-size: 20px;
  line-height: 1;
  letter-spacing: -0.035em;
}

.event-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 12px;
  border-top: 1px solid var(--line-dark);
  border-bottom: 1px solid var(--line-dark);
}

.event-metrics > div {
  padding: 10px 7px 9px;
  border-right: 1px solid var(--line-dark);
}

.event-metrics > div:first-child {
  padding-left: 0;
}

.event-metrics > div:last-child {
  border-right: 0;
}

.event-metrics strong,
.event-metrics small {
  display: block;
}

.event-metrics strong {
  font-size: 16px;
  line-height: 1;
  letter-spacing: -0.04em;
}

.event-metrics small {
  margin-top: 6px;
  color: var(--muted-dark);
  font-size: 7px;
  line-height: 1.25;
}

.event-card > p {
  margin: 10px 0 0;
  color: var(--muted-dark);
  font-size: 9px;
  line-height: 1.35;
}

.national-benchmark {
  min-width: 0;
  margin: 0;
  padding: 18px 0 15px 26px;
}

.national-benchmark-media {
  position: relative;
  height: 166px;
  overflow: hidden;
  border: 1px solid rgba(239, 238, 233, 0.2);
}

.national-benchmark-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 55%, rgba(6, 6, 6, 0.86));
  pointer-events: none;
}

.national-benchmark-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 55%;
  filter: saturate(0.86) contrast(1.04);
}

.national-benchmark-media span {
  position: absolute;
  z-index: 1;
  left: 14px;
  bottom: 11px;
  color: #fff;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.national-benchmark figcaption {
  display: grid;
  grid-template-columns: minmax(190px, 0.88fr) minmax(0, 1.12fr);
  gap: 20px;
  margin-top: 13px;
}

.national-benchmark figcaption strong {
  font-size: 15px;
  line-height: 1.15;
  letter-spacing: -0.025em;
}

.national-benchmark figcaption p {
  margin: 0;
  color: var(--muted-dark);
  font-size: 9px;
  line-height: 1.35;
}

.national-commercial-rail {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(410px, 0.72fr);
  gap: 28px;
  align-items: end;
  padding-top: 14px;
}

.national-brand-row {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 7px 22px;
  margin-top: 7px;
}

.national-brand-row strong {
  color: var(--paper);
  line-height: 1;
}

.brand-google {
  font-size: 16px;
  font-weight: 700;
}

.brand-nike {
  font-size: 18px;
  font-weight: 900;
  font-style: italic;
}

.brand-bofa {
  font-size: 13px;
}

.brand-coke {
  font-family: Georgia, serif;
  font-size: 16px;
  font-style: italic;
}

.brand-vw {
  font-size: 15px;
  letter-spacing: 0.08em;
}

.national-commercial-rail small {
  display: block;
  margin-top: 7px;
  color: var(--muted-dark);
  font-size: 7px;
  letter-spacing: 0.04em;
}

.national-proof .source-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px 18px;
  padding: 0;
}

.national-proof .source-row a {
  color: var(--muted-dark);
  font-size: 8px;
}

.national-proof-objective {
  display: grid;
  grid-template-columns: 185px 1fr;
  gap: 34px;
  align-items: center;
  margin-top: auto;
  padding-top: 15px;
  border-top: 1px solid var(--line-dark);
}

.national-proof-objective span {
  color: var(--red);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.national-proof-objective strong {
  font-size: clamp(24px, 1.95vw, 33px);
  line-height: 1;
  letter-spacing: -0.045em;
}

.vrs-rows {
  border-top: 1px solid var(--line-dark);
}

.vrs-row {
  position: relative;
  min-height: clamp(25px, 3.3vh, 34px);
  display: grid;
  grid-template-columns: 42px 1fr 64px;
  gap: 10px;
  align-items: center;
  padding: 0 10px;
  border-bottom: 1px solid var(--line-dark);
}

.vrs-row > span,
.vrs-row > em {
  color: var(--muted-dark);
  font-size: 9px;
  font-style: normal;
}

.vrs-row > em {
  text-align: right;
}

.vrs-row > b {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
}

.vrs-row > b > i {
  width: 26px;
  height: 26px;
  flex: 0 0 26px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px;
  border-radius: 50%;
  background: rgba(239, 238, 233, 0.94);
  overflow: hidden;
}

.vrs-row > b > i img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.vrs-row > b > i img.invert {
  filter: invert(1);
}

.vrs-flag {
  width: 16px;
  height: 10px;
  object-fit: cover;
  border: 1px solid rgba(239, 238, 233, 0.34);
}

.vrs-row.cutoff {
  margin-bottom: 17px;
  border-bottom-color: var(--red);
}

.vrs-row.cutoff::after {
  content: "Top 9 qualify";
  position: absolute;
  right: 0;
  bottom: -14px;
  padding-left: 10px;
  color: var(--red);
  background: var(--ink);
  font-size: 7px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.vrs-row.active {
  min-height: clamp(30px, 3.8vh, 42px);
  margin: 0;
  background: var(--red);
  border-color: var(--red);
}

.vrs-row.active > span,
.vrs-row.active > em,
.vrs-row.active > b {
  color: var(--ink);
}

.vrs-row.active .vrs-flag {
  border-color: rgba(7, 8, 7, 0.35);
}

.vrs-row.active > b > i img {
  transform: scale(1.26);
}

.vrs-board > a {
  display: inline-block;
  margin-top: 6px;
  color: var(--muted-dark);
}

.vrs-roster {
  grid-column: 1 / -1;
  width: 100%;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  margin-top: -2px;
  border: 1px solid var(--line-dark);
  background: #050605;
}

.vrs-roster-label {
  min-width: 0;
  min-height: 25px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 0 13px;
  border-bottom: 1px solid var(--line-dark);
  color: var(--muted-dark);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.vrs-roster-label.core {
  grid-column: 1 / 4;
  border-top: 2px solid rgba(239, 238, 233, 0.38);
}

.vrs-roster-label.upgrades {
  grid-column: 4 / 6;
  color: var(--red);
  border-top: 2px solid var(--red);
}

.vrs-roster-label a {
  color: #d8b85c;
  font-size: 6px;
  letter-spacing: 0.08em;
  text-underline-offset: 3px;
}

.vrs-roster article {
  position: relative;
  height: clamp(230px, 28vh, 320px);
  overflow: hidden;
  border-right: 1px solid var(--line-dark);
  background:
    radial-gradient(circle at 50% 38%, rgba(239, 238, 233, 0.08), transparent 48%),
    #050605;
}

.vrs-roster article:nth-of-type(5) {
  border-right: 0;
}

.vrs-roster article::after {
  content: "";
  position: absolute;
  inset: 46% 0 0;
  background: linear-gradient(transparent, rgba(5, 6, 5, 0.95));
  pointer-events: none;
}

.vrs-roster article > img:first-child {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center bottom;
}

.vrs-roster .player-flag {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 2;
  width: 20px;
  height: 13px;
  object-fit: cover;
  border: 1px solid rgba(239, 238, 233, 0.45);
}

.vrs-roster h3 {
  position: absolute;
  left: 13px;
  bottom: 12px;
  z-index: 2;
  margin: 0;
  font-size: 15px;
  line-height: 1;
}

.vrs-roster .player-tag {
  position: absolute;
  left: 13px;
  bottom: 51px;
  z-index: 2;
  padding: 5px 7px;
  color: var(--ink);
  font-size: 6px;
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.vrs-roster .player-tag.gold {
  background: #d8b85c;
}

.vrs-roster .player-tag.red {
  color: var(--paper);
  background: var(--red);
}

.vrs-roster .player-tag.usa {
  color: var(--paper);
  background: #214b86;
}

.vrs-roster > p {
  grid-column: 1 / -1;
  margin: 0;
  padding: 6px 13px;
  color: rgba(239, 238, 233, 0.48);
  border-top: 1px solid var(--line-dark);
  font-size: 8px;
  letter-spacing: 0.08em;
}

.development-path > i {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--red);
  font-style: normal;
}

.development-path article > b {
  color: var(--red);
  font-size: 9px;
  letter-spacing: 0.15em;
}

.development-path h3 {
  margin: 22px 0 0;
  font-size: 22px;
  line-height: 1.05;
}

.development-path p {
  margin: 12px 0 0;
  color: var(--muted-light);
  font-size: 12px;
  line-height: 1.4;
}

/* 07 / ROSTER */

.roster-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(420px, 0.72fr);
  gap: 70px;
  align-items: end;
}

.roster-head .display-title {
  font-size: clamp(46px, 4.5vw, 74px);
}

.roster-head > .display-dek {
  margin-bottom: 5px;
}

.roster-strip {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  margin-top: 38px;
  border-top: 1px solid var(--line-dark);
  border-bottom: 1px solid var(--line-dark);
}

.roster-strip figure {
  position: relative;
  min-width: 0;
  margin: 0;
  border-right: 1px solid var(--line-dark);
}

.roster-strip figure:last-child {
  border-right: 0;
}

.roster-strip img {
  width: 100%;
  height: min(36vh, 350px);
  object-fit: cover;
  object-position: center 16%;
  filter: saturate(0.75) contrast(1.06);
}

.roster-strip figcaption {
  min-height: 116px;
  display: grid;
  grid-template-columns: 28px 1fr;
  align-content: start;
  gap: 6px 10px;
  padding: 16px 15px;
}

.roster-strip figcaption > b {
  grid-row: 1 / span 3;
  color: var(--red);
  font-size: 8px;
}

.roster-strip figcaption strong {
  font-size: 16px;
  line-height: 1.1;
}

.roster-strip figcaption span {
  color: var(--paper);
  font-size: 9px;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.roster-strip figcaption small {
  color: var(--muted-dark);
  font-size: 9px;
}

.roster-footer {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-top: 24px;
  color: var(--muted-dark);
  font-size: 9px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.roster-footer i {
  flex: 1;
  height: 1px;
  background: var(--line-dark);
}

/* 08 / DISTRIBUTION */

.distribution {
  display: grid;
  grid-template-columns: 52% 48%;
  padding-top: var(--bar-h);
}

.distribution-proof {
  grid-template-columns: 46% 54%;
}

.distribution-media {
  position: relative;
  min-height: calc(100vh - var(--bar-h));
  overflow: hidden;
}

.distribution-media img,
.distribution-media > div {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.distribution-media img {
  object-fit: cover;
  object-position: center;
  filter: saturate(0.82) brightness(0.69);
}

.distribution-media > div {
  background: linear-gradient(90deg, transparent 65%, var(--ink));
}

.distribution-event-card {
  position: absolute;
  right: 52px;
  bottom: 52px;
  left: 52px;
  z-index: 2;
  padding: 22px 24px;
  border: 1px solid rgba(239, 238, 233, 0.22);
  border-left: 3px solid var(--red);
  background: rgba(7, 7, 8, 0.88);
  backdrop-filter: blur(14px);
}

.distribution-event-card span {
  color: var(--red);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.distribution-event-card strong {
  display: block;
  margin-top: 8px;
  color: var(--paper);
  font-size: clamp(22px, 2vw, 32px);
  line-height: 1;
  letter-spacing: -0.035em;
}

.distribution-event-card p {
  margin: 9px 0 0;
  color: var(--paper);
  font-size: 11px;
  line-height: 1.4;
}

.distribution-event-card small {
  display: block;
  margin-top: 9px;
  color: var(--muted-dark);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.4;
  text-transform: uppercase;
}

.distribution-copy {
  min-height: calc(100vh - var(--bar-h));
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 52px 8vw 46px 58px;
}

.distribution-copy .display-title {
  font-size: clamp(42px, 3.8vw, 62px);
}

.distribution-copy .display-dek {
  font-size: 17px;
}

.distribution-proof .distribution-copy {
  padding-right: 6vw;
  padding-left: 46px;
}

.distribution-proof .distribution-copy .display-title {
  font-size: clamp(42px, 3.65vw, 58px);
}

.distribution-proof .distribution-copy .display-dek {
  font-size: 15px;
}

.agent-proof-strip {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 22px;
  border-top: 1px solid var(--line-dark);
  border-bottom: 1px solid var(--line-dark);
}

.agent-proof-strip-two {
  grid-template-columns: repeat(2, 1fr);
}

.agent-proof-strip article {
  min-height: 78px;
  padding: 14px 15px 13px 0;
  border-right: 1px solid var(--line-dark);
}

.agent-proof-strip article:not(:first-child) {
  padding-left: 15px;
}

.agent-proof-strip article:last-child {
  border-right: 0;
}

.agent-proof-strip strong {
  display: block;
  color: var(--red);
  font-size: 24px;
  line-height: 1;
  letter-spacing: -0.045em;
}

.agent-proof-strip span {
  display: block;
  margin-top: 8px;
  color: var(--muted-dark);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.055em;
  line-height: 1.35;
  text-transform: uppercase;
}

.distribution-proof .audience-grid {
  margin-top: 18px;
}

.distribution-proof .audience-grid > div {
  min-height: 82px;
  padding-top: 13px;
  padding-bottom: 12px;
}

.distribution-proof .audience-grid strong {
  font-size: 29px;
}

.distribution-proof .audience-grid span {
  margin-top: 7px;
  font-size: 8px;
}

.distribution-proof .distribution-copy > .source-row {
  justify-content: flex-start;
  gap: 8px 15px;
  margin-top: 16px;
}

.distribution-proof .distribution-copy > .source-row a,
.distribution-proof .distribution-copy > .source-row span {
  font-size: 8px;
}

.audience-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin-top: 32px;
  border-top: 1px solid var(--line-dark);
  border-bottom: 1px solid var(--line-dark);
}

.audience-grid > div {
  min-height: 104px;
  padding: 17px 18px 16px 0;
  border-right: 1px solid var(--line-dark);
  border-bottom: 1px solid var(--line-dark);
}

.audience-grid > div:nth-child(even) {
  padding-left: 18px;
  border-right: 0;
}

.audience-grid > div:nth-child(n + 3) {
  border-bottom: 0;
}

.audience-grid strong {
  display: block;
  color: var(--red);
  font-size: 34px;
  line-height: 1;
  letter-spacing: -0.045em;
}

.audience-grid span {
  display: block;
  margin-top: 10px;
  color: var(--muted-dark);
  font-size: 9px;
  line-height: 1.35;
}

.distribution-copy > .source-row {
  justify-content: space-between;
  margin-top: 22px;
}

.distribution-copy > .source-row span {
  color: var(--muted-dark);
  font-size: 9px;
}

/* 07 / WHY AGENT: BRAND PROOF CAMPAIGN */

.agent-proof {
  background: #000;
}

.wa-shell {
  position: relative;
  z-index: 2;
  width: min(1420px, calc(100% - 150px));
  min-height: calc(100vh - var(--bar-h));
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  padding: clamp(26px, 4vh, 48px) 0 clamp(24px, 3.4vh, 44px);
}

.wa-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 340px);
  gap: 24px clamp(40px, 4vw, 80px);
  align-items: end;
}

.wa-head .display-title {
  margin-top: clamp(12px, 1.8vh, 20px);
  max-width: none;
  font-size: clamp(38px, 3.55vw, 62px);
  letter-spacing: -0.055em;
}

.wa-dek {
  margin: 0 0 10px;
  padding-left: 18px;
  border-left: 2px solid var(--red);
  color: rgba(239, 238, 233, 0.82);
  font-size: clamp(14px, 1.1vw, 16.5px);
  line-height: 1.5;
}

.wa-body {
  position: relative;
  flex: 1;
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(0, 0.35fr) minmax(0, 0.65fr);
  margin-top: clamp(16px, 2.6vh, 30px);
}

.wa-field {
  min-width: 0;
  display: flex;
  flex-direction: column;
  border-top: 2px solid var(--red);
  padding-right: clamp(30px, 3.4vw, 64px);
  padding-bottom: clamp(30px, 4.6vh, 46px);
}

.wa-metric {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(10px, 1.8vh, 20px) 0;
  text-decoration: none;
}

.wa-metric + .wa-metric {
  border-top: 1px solid rgba(239, 238, 233, 0.22);
}

.wa-metric strong {
  display: block;
  color: var(--paper);
  font-size: clamp(48px, 4.4vw, 80px);
  line-height: 0.9;
  font-weight: 700;
  letter-spacing: -0.05em;
}

.wa-metric-lead strong {
  color: var(--red);
  font-size: clamp(70px, 6.4vw, 118px);
}

.wa-metric span {
  display: block;
  margin-top: clamp(8px, 1.3vh, 14px);
  color: var(--muted-dark);
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  transition: color 0.25s ease;
}

.wa-metric small {
  display: block;
  margin-top: 7px;
  color: rgba(239, 238, 233, 0.64);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.035em;
  line-height: 1.35;
}

.wa-metric:hover span {
  color: var(--paper);
}

.wa-method {
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 3;
  margin: 0;
  width: calc(35% - clamp(30px, 3.4vw, 64px));
  color: rgba(168, 171, 167, 0.55);
  font-size: 9.5px;
  line-height: 1.5;
}

.wa-hero {
  position: relative;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
}

.wa-hero-link {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  padding: 0;
  overflow: hidden;
  color: inherit;
  text-align: left;
  background: #000;
  border: 0;
  cursor: pointer;
}

.wa-hero-link img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 28%;
  filter: saturate(1.04) contrast(1.04);
}

.wa-disclose {
  position: absolute;
  top: 12px;
  right: 14px;
  z-index: 2;
  color: rgba(239, 238, 233, 0.6);
  font-size: 8.5px;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.wa-watch {
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 4;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 15px 18px;
  color: var(--paper);
  font-family: inherit;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  background: #000;
  border: 1px solid rgba(239, 238, 233, 0.92);
  box-shadow: inset 4px 0 0 var(--red);
  pointer-events: none;
  transition: color 0.25s ease, background 0.25s ease, border-color 0.25s ease;
}

.wa-watch i {
  font-style: normal;
  color: var(--red);
  font-size: 13px;
  transition: transform 0.25s ease;
}

.wa-video-trigger:hover .wa-watch {
  color: #000;
  background: var(--paper);
  border-color: var(--paper);
}

.wa-video-trigger:hover .wa-watch i {
  transform: scale(1.12);
}

.wa-video-trigger:focus-visible {
  outline: 1px solid var(--red);
  outline-offset: -2px;
}

.wa-overlay {
  position: fixed;
  z-index: 200;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  padding: clamp(14px, 2vh, 24px) clamp(18px, 2vw, 38px);
  background: #000;
}

.wa-overlay.open {
  display: flex;
}

.wa-ov-shell {
  display: grid;
  grid-template-columns: minmax(0, 2.15fr) minmax(340px, 1fr);
  width: 100%;
  max-width: min(1840px, 96vw);
  min-height: 0;
  border-top: 2px solid var(--red);
  border-bottom: 1px solid rgba(239, 238, 233, 0.28);
}

.wa-ov-stage {
  display: grid;
  grid-template-rows: auto auto;
  align-content: center;
  min-width: 0;
  padding: clamp(18px, 2vw, 30px) clamp(18px, 2vw, 32px) clamp(14px, 1.5vw, 22px) 0;
  border-right: 1px solid rgba(239, 238, 233, 0.2);
}

.wa-ov-stage video {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: contain;
  background: #000;
}

.wa-ov-cap {
  display: block;
  margin-top: 14px;
  color: var(--muted-dark);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.wa-ov-proof {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: clamp(20px, 2.4vh, 26px) clamp(24px, 2vw, 34px) clamp(14px, 1.9vh, 19px);
  color: var(--ink);
  background: var(--paper);
}

.wa-ov-kicker {
  margin: 0;
  color: var(--red);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}

.wa-ov-title {
  max-width: 30ch;
  margin: clamp(9px, 1.3vh, 13px) 0 0;
  color: var(--ink);
  font-size: clamp(22px, 1.55vw, 29px);
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: -0.03em;
  text-wrap: balance;
}

.wa-ov-layer {
  margin: clamp(14px, 1.9vh, 20px) 0 7px;
  color: var(--navy);
  font-size: 9px;
  font-weight: 850;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.wa-ov-standings {
  display: flex;
  flex-direction: column;
  border-top: 2px solid var(--ink);
}

.wa-ov-table-head {
  display: grid;
  grid-template-columns: 34px minmax(88px, 0.62fr) minmax(0, 1fr) minmax(52px, auto);
  column-gap: 14px;
  align-items: center;
  min-height: 24px;
  color: rgba(15, 15, 15, 0.4);
  font-size: 7px;
  font-weight: 850;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  border-bottom: 1px solid rgba(15, 15, 15, 0.18);
}

.wa-ov-table-head span:last-child {
  text-align: right;
}

.wa-ov-team {
  display: grid;
  grid-template-columns: 34px minmax(88px, 0.62fr) minmax(0, 1fr) minmax(52px, auto);
  column-gap: 14px;
  align-items: center;
  min-height: clamp(46px, 5vh, 54px);
  padding: 8px 0;
  border-bottom: 1px solid rgba(15, 15, 15, 0.26);
}

.wa-ov-players {
  color: rgba(15, 15, 15, 0.62);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1.55;
  text-transform: uppercase;
}

.wa-ov-rank {
  color: rgba(15, 15, 15, 0.42);
  font-size: 12px;
  font-weight: 850;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.wa-ov-team img {
  display: block;
  width: auto;
  max-width: min(104px, 100%);
  max-height: clamp(26px, 3.6vh, 34px);
  object-fit: contain;
  object-position: left center;
  filter: grayscale(1) brightness(0);
}

.wa-ov-team-result {
  color: var(--ink);
  font-size: 15px;
  font-weight: 800;
  letter-spacing: -0.025em;
  line-height: 1;
  text-align: right;
}

.wa-ov-agent {
  margin-left: -16px;
  padding-right: 0;
  padding-left: 16px;
  box-shadow: inset 3px 0 0 var(--red);
}

.wa-ov-agent .wa-ov-rank {
  color: var(--red);
  font-size: 15px;
}

.wa-ov-agent .wa-ov-players {
  color: rgba(15, 15, 15, 0.78);
}

.wa-ov-agent img {
  max-width: min(100px, 100%);
}

.wa-ov-impact {
  display: grid;
  grid-template-columns: minmax(108px, 0.82fr) 1.18fr;
  grid-template-areas:
    "money views"
    "money split"
    "result result";
  border-top: 2px solid var(--ink);
  border-bottom: 1px solid rgba(15, 15, 15, 0.26);
}

.wa-ov-impact-money {
  grid-area: money;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: clamp(12px, 1.8vh, 18px) clamp(14px, 1.3vw, 20px) clamp(12px, 1.8vh, 18px) 0;
  border-right: 1px solid rgba(15, 15, 15, 0.2);
}

.wa-ov-impact-views {
  grid-area: views;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: clamp(12px, 1.8vh, 18px) 0 10px clamp(14px, 1.3vw, 20px);
}

.wa-ov-impact-money strong,
.wa-ov-impact-views strong {
  font-size: clamp(32px, 2.35vw, 46px);
  font-weight: 760;
  line-height: 0.88;
  letter-spacing: -0.055em;
}

.wa-ov-impact-money strong {
  color: var(--red);
}

.wa-ov-impact-views strong {
  color: var(--navy);
}

.wa-ov-impact-money span,
.wa-ov-impact-views span {
  color: rgba(15, 15, 15, 0.58);
  font-size: 8.5px;
  font-weight: 850;
  letter-spacing: 0.12em;
  line-height: 1.5;
  text-transform: uppercase;
}

.wa-ov-split {
  grid-area: split;
  margin-left: clamp(14px, 1.3vw, 20px);
  padding: 7px 0 11px;
  border-top: 1px solid rgba(15, 15, 15, 0.16);
}

.wa-ov-split div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  padding: 4px 0;
}

.wa-ov-split b {
  color: var(--ink);
  font-size: 14px;
  font-weight: 800;
  letter-spacing: -0.02em;
}

.wa-ov-split i {
  color: rgba(15, 15, 15, 0.55);
  font-size: 8px;
  font-style: normal;
  font-weight: 850;
  letter-spacing: 0.1em;
  line-height: 1.4;
  text-align: right;
  text-transform: uppercase;
}

.wa-ov-result {
  grid-area: result;
  margin: 0;
  padding: 11px 0 12px;
  color: var(--ink);
  font-size: 9.5px;
  font-weight: 850;
  letter-spacing: 0.13em;
  line-height: 1.65;
  text-transform: uppercase;
  border-top: 1px solid rgba(15, 15, 15, 0.2);
}

.wa-ov-impact-v2 {
  grid-template-columns: 1fr;
  grid-template-areas:
    "views"
    "split"
    "result";
}

.wa-ov-impact-v2 .wa-ov-impact-views {
  padding: clamp(13px, 1.7vh, 18px) 0 12px;
}

.wa-ov-impact-v2 .wa-ov-impact-views strong {
  color: var(--red);
  font-size: clamp(48px, 3.45vw, 66px);
}

.wa-ov-impact-v2 .wa-ov-impact-views span {
  color: var(--ink);
  font-size: 9px;
}

.wa-ov-impact-v2 .wa-ov-split {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-left: 0;
  padding: 0;
}

.wa-ov-impact-v2 .wa-ov-split div {
  display: block;
  padding: 11px 14px 12px 0;
}

.wa-ov-impact-v2 .wa-ov-split div + div {
  padding-right: 0;
  padding-left: 14px;
  border-left: 1px solid rgba(15, 15, 15, 0.16);
}

.wa-ov-impact-v2 .wa-ov-split b,
.wa-ov-impact-v2 .wa-ov-split i {
  display: block;
  text-align: left;
}

.wa-ov-impact-v2 .wa-ov-split b {
  font-size: clamp(18px, 1.35vw, 24px);
}

.wa-ov-impact-v2 .wa-ov-split i {
  margin-top: 4px;
  line-height: 1.35;
}

.wa-ov-impact-v2 .wa-ov-split em {
  display: block;
  margin-top: 4px;
  color: rgba(15, 15, 15, 0.48);
  font-size: 7.5px;
  font-style: normal;
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1.35;
  text-transform: uppercase;
}

.wa-ov-impact-ledger {
  display: block;
  border-top: 2px solid var(--ink);
  border-bottom: 1px solid rgba(15, 15, 15, 0.26);
}

.wa-ov-impact-row {
  display: grid;
  grid-template-columns: minmax(104px, 0.72fr) minmax(0, 1.28fr);
  align-items: center;
  gap: 18px;
  min-height: 50px;
  padding: 9px 0;
  border-bottom: 1px solid rgba(15, 15, 15, 0.17);
}

.wa-ov-impact-ledger .wa-ov-impact-row:last-child {
  border-bottom: 0;
}

.wa-ov-impact-row strong {
  color: var(--ink);
  font-size: clamp(22px, 1.7vw, 28px);
  font-weight: 800;
  line-height: 0.95;
  letter-spacing: -0.03em;
  white-space: nowrap;
}

.wa-ov-impact-row .wa-ov-unit {
  display: block;
  margin: 4px 0 0;
  color: var(--navy);
  font-size: 7.5px;
  font-style: normal;
  font-weight: 850;
  letter-spacing: 0.18em;
  line-height: 1;
  text-transform: uppercase;
}

.wa-ov-impact-row > span {
  color: rgba(15, 15, 15, 0.62);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.005em;
  line-height: 1.5;
  text-transform: none;
}

.wa-ov-impact-primary {
  min-height: clamp(70px, 8.6vh, 90px);
}

.wa-ov-impact-primary strong {
  color: var(--red);
  font-size: clamp(42px, 3vw, 58px);
  letter-spacing: -0.04em;
}

.wa-ov-impact-primary .wa-ov-unit {
  margin-top: 4px;
  font-size: 9px;
}

.wa-ov-impact-primary > span {
  color: rgba(15, 15, 15, 0.84);
  font-size: 11.5px;
  font-weight: 650;
}

.wa-ov-impact-row small {
  display: block;
  margin-top: 3px;
  color: rgba(15, 15, 15, 0.42);
  font-size: 7px;
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1.35;
}

.wa-ov-impact-ledger .wa-ov-result {
  padding-top: 9px;
  padding-bottom: 10px;
  border-top: 0;
}

.wa-ov-impact-break {
  padding: 8px 0 10px;
}

.wa-ov-impact-break span {
  display: block;
  color: rgba(15, 15, 15, 0.6);
  font-size: 8.5px;
  font-weight: 800;
  letter-spacing: 0.1em;
  line-height: 1.5;
  text-transform: uppercase;
  text-wrap: balance;
}

.wa-ov-impact-break b {
  color: var(--ink);
  font-weight: 850;
  font-variant-numeric: tabular-nums;
}

.wa-ov-receipt {
  display: block;
  width: min(100%, calc(41vh * 1.18));
  margin: 0;
  padding: 0;
  cursor: zoom-in;
  background: none;
  border: 1px solid rgba(15, 15, 15, 0.3);
}

.wa-ov-receipt:hover,
.wa-ov-receipt:focus-visible {
  border-color: var(--red);
  outline: none;
}

.wa-ov-receipt-crop {
  display: block;
  background: #000;
}

.wa-ov-receipt-crop img {
  display: block;
  width: 100%;
  height: auto;
}

.wa-ov-foot {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  margin-top: auto;
  padding-top: clamp(10px, 1.5vh, 14px);
}

.wa-ov-note {
  color: rgba(15, 15, 15, 0.45);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-align: right;
  text-transform: uppercase;
}

.wa-ov-source {
  color: var(--ink);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-decoration: underline;
  text-underline-offset: 4px;
  text-transform: uppercase;
}

.wa-ov-source:hover,
.wa-ov-source:focus-visible {
  color: var(--red);
}

.wa-ov-close {
  position: absolute;
  top: 16px;
  right: 20px;
  display: flex;
  align-items: center;
  gap: 10px;
  width: auto;
  min-height: 46px;
  padding: 0 4px 0 14px;
  color: #fff;
  font-size: 32px;
  font-weight: 300;
  line-height: 1;
  cursor: pointer;
  background: none;
  border: 0;
  mix-blend-mode: difference;
}

.wa-ov-close:hover {
  color: #c9c9c9;
}

.wa-ov-close:focus-visible {
  color: #fff;
  outline: 1px solid #fff;
  outline-offset: -3px;
}

body.wa-ov-open {
  overflow: hidden;
}

@media (max-width: 820px) {
  .wa-overlay {
    align-items: flex-start;
    padding: 58px 18px 24px;
    overflow-y: auto;
  }

  .wa-ov-shell {
    display: flex;
    flex-direction: column;
    min-height: 0;
  }

  .wa-ov-stage {
    padding: 14px 0 18px;
    border-right: 0;
    border-bottom: 0;
  }

  .wa-ov-stage video {
    height: auto;
    max-height: none;
    aspect-ratio: 16 / 9;
  }

  .wa-ov-proof {
    padding: 28px 24px 24px;
  }

  .wa-ov-title {
    max-width: none;
    font-size: 27px;
  }

  .wa-ov-standings {
    margin-top: 0;
  }

  .wa-ov-table-head,
  .wa-ov-team {
    grid-template-columns: 26px minmax(58px, auto) minmax(0, 1fr) minmax(44px, auto);
    column-gap: 10px;
  }

  .wa-ov-team {
    min-height: 60px;
  }

  .wa-ov-team img {
    max-width: min(72px, 100%);
    max-height: 24px;
  }

  .wa-ov-players {
    font-size: 8.5px;
  }

  .wa-ov-receipt {
    width: 100%;
  }

  .wa-ov-impact-row {
    grid-template-columns: 118px minmax(0, 1fr);
    gap: 14px;
  }

  .wa-ov-impact-primary strong {
    font-size: 36px;
  }

  .wa-ov-impact-money strong,
  .wa-ov-impact-views strong {
    font-size: 32px;
  }

  .wa-ov-foot {
    flex-wrap: wrap;
    row-gap: 8px;
    margin-top: 22px;
    padding-top: 0;
  }
}

@media (min-width: 821px) and (max-height: 800px) {
  .wa-ov-proof {
    padding: 18px 24px 15px;
  }

  .wa-ov-title {
    margin-top: 8px;
    font-size: 20px;
  }

  .wa-ov-layer {
    margin: 12px 0 6px;
  }

  .wa-ov-table-head,
  .wa-ov-team {
    grid-template-columns: 26px minmax(58px, auto) minmax(0, 1fr) minmax(42px, auto);
    column-gap: 10px;
  }

  .wa-ov-team {
    min-height: 42px;
    padding-top: 6px;
    padding-bottom: 6px;
  }

  .wa-ov-team img {
    max-width: 76px;
    max-height: 22px;
  }

  .wa-ov-players {
    font-size: 8px;
    letter-spacing: 0.055em;
  }

  .wa-ov-agent .wa-ov-rank {
    font-size: 13px;
  }

  .wa-ov-table-head {
    min-height: 19px;
  }

  .wa-ov-impact-row {
    min-height: 40px;
    padding-top: 5px;
    padding-bottom: 5px;
  }

  .wa-ov-impact-row strong {
    font-size: 20px;
  }

  .wa-ov-impact-row .wa-ov-unit {
    margin-top: 3px;
    font-size: 7px;
  }

  .wa-ov-impact-row > span {
    font-size: 10px;
  }

  .wa-ov-impact-primary {
    min-height: 56px;
  }

  .wa-ov-impact-primary strong {
    font-size: 38px;
  }

  .wa-ov-impact-primary .wa-ov-unit {
    margin-top: 4px;
    font-size: 8px;
  }

  .wa-ov-impact-primary > span {
    font-size: 10.5px;
  }

  .wa-ov-impact-money,
  .wa-ov-impact-views {
    gap: 6px;
    padding-top: 10px;
    padding-bottom: 9px;
  }

  .wa-ov-impact-money strong,
  .wa-ov-impact-views strong {
    font-size: 29px;
  }

  .wa-ov-impact-v2 .wa-ov-impact-views strong {
    font-size: 43px;
  }

  .wa-ov-impact-v2 .wa-ov-impact-views {
    padding-top: 9px;
    padding-bottom: 8px;
  }

  .wa-ov-impact-v2 .wa-ov-split div {
    padding-top: 8px;
    padding-bottom: 8px;
  }

  .wa-ov-split {
    padding: 5px 0 8px;
  }

  .wa-ov-split div {
    padding: 3px 0;
  }

  .wa-ov-split b {
    font-size: 13px;
  }

  .wa-ov-result {
    padding: 8px 0 9px;
    font-size: 8.5px;
  }

  .wa-ov-receipt {
    width: min(100%, calc(33vh * 1.18));
    margin: 0 auto 0 0;
  }

  .wa-ov-foot {
    padding-top: 11px;
  }

  .wa-shell {
    padding: 20px 0 22px;
  }

  .wa-head .display-title {
    margin-top: 10px;
    font-size: clamp(32px, 4.3vh, 46px);
  }

  .wa-dek {
    font-size: 13px;
  }

  .wa-body {
    margin-top: 14px;
  }

  .wa-field {
    padding-bottom: 28px;
  }

  .wa-metric {
    padding: 8px 0;
  }

  .wa-metric strong {
    font-size: clamp(38px, 6.6vh, 56px);
  }

  .wa-metric-lead strong {
    font-size: clamp(52px, 10vh, 82px);
  }

  .wa-metric span {
    margin-top: 7px;
    font-size: 9.5px;
  }

  .wa-metric small {
    margin-top: 5px;
    font-size: 8.5px;
  }

  .wa-method {
    font-size: 9px;
  }
}

@media (max-width: 820px) {
  .wa-shell {
    width: calc(100% - 40px);
    min-height: 0;
    display: block;
    padding: 40px 0 46px;
  }

  .wa-head {
    display: block;
  }

  .wa-head .display-title {
    font-size: clamp(36px, 9.6vw, 50px);
  }

  .wa-dek {
    margin-top: 18px;
  }

  .wa-body {
    display: block;
    margin-top: 26px;
  }

  .wa-field {
    display: block;
    padding: 0;
  }

  .wa-metric {
    padding: 18px 0 16px;
  }

  .wa-metric strong {
    font-size: clamp(46px, 13vw, 62px);
  }

  .wa-metric-lead strong {
    font-size: clamp(62px, 18vw, 88px);
  }

  .wa-metric span {
    margin-top: 9px;
    font-size: 9.5px;
  }

  .wa-metric small {
    margin-top: 6px;
    font-size: 10px;
  }

  .wa-hero {
    margin-top: 10px;
    overflow: visible;
  }

  .wa-hero-link {
    position: relative;
    inset: auto;
    aspect-ratio: 16 / 10.5;
    overflow: hidden;
  }

  .wa-hero-link img {
    position: absolute;
    inset: 0;
  }

  .wa-disclose {
    top: 10px;
    right: 10px;
  }

  .wa-watch {
    position: absolute;
    right: 0;
    bottom: 0;
    display: flex;
    width: auto;
    margin: 0;
    padding: 12px 14px;
    font-size: 10px;
    background: rgba(0, 0, 0, 0.9);
  }

  .wa-method {
    position: static;
    width: auto;
    margin-top: 28px;
    padding-top: 14px;
    border-top: 1px solid rgba(239, 238, 233, 0.22);
  }
}

/* 07b / WHY AGENT - FOUNDERS ROW */

.wa-founders {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(6px, 1vh, 10px) clamp(26px, 2.8vw, 52px);
  margin-top: clamp(14px, 2.2vh, 26px);
  padding-top: clamp(11px, 1.7vh, 17px);
  border-top: 1px solid rgba(239, 238, 233, 0.22);
}

.wa-founders-k {
  grid-column: 1 / -1;
  color: var(--muted-dark);
  font-style: normal;
  font-size: 9.5px;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.wa-founder {
  min-width: 0;
}

.wa-founder strong {
  display: block;
  color: var(--paper);
  font-size: clamp(15px, 1.3vw, 19px);
  font-weight: 800;
  letter-spacing: -0.015em;
  line-height: 1.1;
}

.wa-founder span {
  display: block;
  margin-top: 5px;
  color: var(--muted-dark);
  font-size: 9.5px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.wa-founder p {
  margin: 7px 0 0;
  color: rgba(239, 238, 233, 0.64);
  font-size: 10.5px;
  line-height: 1.45;
  max-width: 40ch;
}

.wa-founder-capital {
  padding-left: clamp(14px, 1.4vw, 22px);
  border-left: 2px solid var(--red);
}

@media (min-width: 981px) and (max-height: 800px) {
  .wa-founders {
    margin-top: 12px;
    padding-top: 9px;
  }

  .wa-founder strong {
    font-size: 15px;
  }

  .wa-founder span {
    margin-top: 4px;
    font-size: 8.5px;
  }

  .wa-founder p {
    margin-top: 5px;
    font-size: 9.5px;
  }
}

@media (max-width: 820px) {
  .wa-founders {
    grid-template-columns: 1fr;
    gap: 0;
    margin-top: 30px;
    padding-top: 14px;
  }

  .wa-founder {
    padding: 14px 0;
    border-bottom: 1px solid rgba(239, 238, 233, 0.14);
  }

  .wa-founder:last-child {
    border-bottom: 0;
    padding-bottom: 0;
  }

  .wa-founder-capital {
    padding-left: 16px;
    border-left: 2px solid var(--red);
  }
}

/* 09 / COMMERCIAL PLATFORM */

.commercial-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 70px;
  align-items: end;
}

.commercial-head .display-title {
  max-width: 900px;
  font-size: clamp(46px, 4.35vw, 72px);
}

.commercial-callout {
  padding: 22px 0 21px;
  border-top: 1px solid var(--line-light);
  border-bottom: 1px solid var(--line-light);
}

.commercial-callout span,
.commercial-callout small {
  display: block;
}

.commercial-callout span {
  color: var(--red);
  font-size: 9px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  font-weight: 800;
}

.commercial-callout strong {
  display: block;
  margin-top: 12px;
  font-size: 37px;
  line-height: 1;
  letter-spacing: -0.045em;
}

.commercial-callout small {
  margin-top: 9px;
  color: var(--muted-light);
  font-size: 9px;
}

.commercial-gallery {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-top: 34px;
}

.commercial-gallery figure {
  position: relative;
  min-height: min(34vh, 330px);
  margin: 0;
  overflow: hidden;
}

.commercial-gallery img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(0.8) contrast(1.05);
}

.commercial-gallery figure::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(7, 8, 7, 0.74), transparent 56%);
}

.commercial-gallery figcaption {
  position: absolute;
  z-index: 2;
  left: 18px;
  bottom: 17px;
  color: var(--paper);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.commercial-lanes {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin-top: 20px;
  border-top: 1px solid var(--line-light);
  border-bottom: 1px solid var(--line-light);
}

.commercial-lanes > div {
  display: grid;
  grid-template-columns: 28px 1fr;
  gap: 6px 10px;
  min-height: 92px;
  padding: 16px 16px 14px 0;
  border-right: 1px solid var(--line-light);
}

.commercial-lanes > div:not(:first-child) {
  padding-left: 16px;
}

.commercial-lanes > div:last-child {
  border-right: 0;
}

.commercial-lanes b {
  grid-row: 1 / span 2;
  color: var(--red);
  font-size: 8px;
}

.commercial-lanes strong {
  font-size: 15px;
}

.commercial-lanes span {
  color: var(--muted-light);
  font-size: 9px;
  line-height: 1.35;
}

/* 10 / REVENUE */

.revenue {
  display: grid;
  grid-template-columns: 42% 58%;
}

.revenue-visual {
  position: relative;
  min-height: calc(100vh - var(--bar-h));
  overflow: hidden;
}

.revenue-jersey {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 38%;
  filter: saturate(0.82) brightness(0.78);
}

.revenue-sticker {
  position: absolute;
  right: 24px;
  bottom: 24px;
  width: 48%;
  border: 7px solid var(--ink);
  box-shadow: 0 18px 36px rgba(0, 0, 0, 0.35);
}

.revenue-copy {
  min-height: calc(100vh - var(--bar-h));
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 48px 7vw 42px 58px;
}

.revenue-copy .display-title {
  font-size: clamp(43px, 3.8vw, 63px);
}

.revenue-bands {
  margin-top: 31px;
  border-top: 1px solid var(--line-dark);
}

.revenue-bands > div {
  display: grid;
  grid-template-columns: 150px 1fr 210px;
  align-items: center;
  gap: 24px;
  min-height: 88px;
  border-bottom: 1px solid var(--line-dark);
}

.revenue-bands span {
  color: var(--red);
  font-size: 9px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  font-weight: 800;
}

.revenue-bands strong {
  font-size: clamp(30px, 2.8vw, 46px);
  line-height: 1;
  letter-spacing: -0.045em;
}

.revenue-bands small {
  color: var(--muted-dark);
  font-size: 9px;
  line-height: 1.35;
}

.revenue-bands .hot {
  margin: 0 -22px;
  padding: 0 22px;
  color: var(--ink);
  background: var(--paper);
}

.revenue-bands .hot small {
  color: var(--muted-light);
}

.revenue-lanes {
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin-top: 26px;
  border-top: 1px solid var(--line-dark);
  border-bottom: 1px solid var(--line-dark);
}

.revenue-lanes > div {
  display: grid;
  grid-template-columns: 28px 1fr;
  min-height: 46px;
  align-items: center;
  border-right: 1px solid var(--line-dark);
  border-bottom: 1px solid var(--line-dark);
}

.revenue-lanes > div:nth-child(even) {
  padding-left: 16px;
  border-right: 0;
}

.revenue-lanes > div:nth-child(n + 3) {
  border-bottom: 0;
}

.revenue-lanes b {
  color: var(--red);
  font-size: 8px;
}

.revenue-lanes span {
  font-size: 11px;
}

.revenue-engine-head {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(340px, 0.75fr);
  gap: 70px;
  align-items: end;
}

.revenue-engine-head .display-title {
  max-width: 820px;
}

.revenue-engine-head .display-dek {
  max-width: 500px;
  margin-bottom: 2px;
  font-size: clamp(16px, 1.15vw, 19px);
}

.revenue-engine-grid {
  display: grid;
  grid-template-columns: 1.02fr 1fr 1fr;
  margin-top: 38px;
  border: 1px solid var(--line-dark);
}

.revenue-engine-grid article {
  min-width: 0;
  min-height: 400px;
  padding: 28px 28px 24px;
  border-right: 1px solid var(--line-dark);
  background: rgba(7, 8, 7, 0.82);
}

.revenue-engine-grid article:last-child {
  border-right: 0;
}

.revenue-engine-grid article > span {
  display: block;
  color: var(--red);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.revenue-engine-grid article > strong {
  min-height: 98px;
  display: flex;
  align-items: flex-end;
  padding: 17px 0 12px;
  color: var(--paper);
  font-size: clamp(34px, 3vw, 52px);
  font-weight: 760;
  line-height: 0.95;
  letter-spacing: -0.055em;
}

.revenue-engine-grid article > small {
  min-height: 34px;
  display: block;
  margin-bottom: 18px;
  color: var(--muted-dark);
  font-size: 10px;
  line-height: 1.4;
}

.revenue-engine-grid .revenue-base {
  color: var(--ink);
  background: var(--paper);
}

.revenue-engine-grid .revenue-base > strong {
  color: var(--ink);
  font-size: clamp(58px, 5vw, 82px);
}

.revenue-engine-grid .revenue-base > small {
  color: var(--muted-light);
}

.revenue-engine-grid .revenue-major {
  box-shadow: inset 0 3px 0 var(--red);
}

.revenue-line {
  min-height: 43px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  border-top: 1px solid var(--line-dark);
}

.revenue-base .revenue-line {
  border-top-color: var(--line-light);
}

.revenue-line b,
.revenue-line em {
  font-size: 11px;
  font-style: normal;
}

.revenue-line b {
  font-weight: 650;
}

.revenue-line em {
  color: var(--red);
  font-weight: 800;
  text-align: right;
}

.transfer-number {
  min-height: 72px;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 18px;
  align-items: center;
  border-top: 1px solid var(--line-dark);
}

.transfer-number b {
  color: var(--paper);
  font-size: 28px;
  line-height: 1;
  letter-spacing: -0.045em;
  white-space: nowrap;
}

.transfer-number em {
  color: var(--muted-dark);
  font-size: 9px;
  font-style: normal;
  line-height: 1.4;
}

.revenue-transfer .source-row {
  justify-content: flex-start;
  gap: 16px;
  margin-top: 14px;
}

.revenue-engine-footer {
  min-height: 58px;
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 0 2px;
  color: var(--paper);
  border-bottom: 1px solid var(--line-dark);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.revenue-engine-footer i {
  height: 1px;
  flex: 1;
  background: var(--line-dark);
}

.revenue-engine .model-note {
  margin-top: 14px;
  color: var(--muted-dark);
  font-size: 9px;
  line-height: 1.5;
}

.revenue-projection-head {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(340px, 0.7fr);
  gap: 70px;
  align-items: end;
}

.revenue-engine .slide-shell {
  padding-top: 30px;
  padding-bottom: 24px;
}

.revenue-projection-head .display-title {
  max-width: 900px;
  font-size: clamp(48px, 4.25vw, 72px);
}

.revenue-projection-head .display-dek {
  max-width: 470px;
  margin-bottom: 3px;
  font-size: clamp(16px, 1.12vw, 19px);
}

.revenue-projection {
  display: grid;
  grid-template-columns: minmax(260px, 1.25fr) repeat(3, minmax(170px, 0.75fr));
  margin-top: 22px;
  border-top: 1px solid var(--line-dark);
  border-left: 1px solid var(--line-dark);
}

.revenue-projection > div {
  min-width: 0;
  border-right: 1px solid var(--line-dark);
  border-bottom: 1px solid var(--line-dark);
}

.projection-corner {
  display: flex;
  align-items: flex-end;
  padding: 22px 24px;
  color: var(--muted-dark);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.projection-year {
  min-height: 100px;
  display: grid;
  align-content: center;
  gap: 7px;
  padding: 18px 22px;
}

.projection-year span {
  color: var(--red);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.projection-year strong {
  color: var(--paper);
  font-size: clamp(34px, 3.3vw, 54px);
  line-height: 0.9;
  letter-spacing: -0.055em;
}

.projection-year small {
  color: var(--muted-dark);
  font-size: 9px;
}

.projection-label,
.projection-cell {
  min-height: 53px;
  display: flex;
  align-items: center;
}

.projection-label {
  gap: 16px;
  padding: 0 24px;
}

.projection-label b {
  color: var(--red);
  font-size: 8px;
}

.projection-label span {
  color: var(--paper);
  font-size: 13px;
  font-weight: 680;
}

.projection-cell {
  justify-content: flex-end;
  padding: 0 22px;
  color: var(--paper);
  font-size: clamp(19px, 1.6vw, 27px);
  font-weight: 740;
  letter-spacing: -0.035em;
}

.projection-year.hot,
.projection-cell.hot {
  color: var(--ink);
  border-color: var(--line-light);
  background: var(--paper);
}

.projection-year.hot strong,
.projection-year.hot small,
.projection-cell.hot {
  color: var(--ink);
}

.revenue-cards-head {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(360px, 0.75fr);
  gap: 72px;
  align-items: end;
}

.revenue-cards-head .display-title {
  max-width: 860px;
  font-size: clamp(48px, 4.2vw, 70px);
}

.revenue-cards-head .display-dek {
  max-width: 480px;
  margin-bottom: 3px;
  font-size: clamp(15px, 1.08vw, 18px);
}

.revenue-card-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 24px;
  border: 1px solid var(--line-dark);
}

.revenue-card-grid article {
  min-width: 0;
  min-height: 372px;
  padding: 20px 24px 15px;
  border-right: 1px solid var(--line-dark);
  background: rgba(7, 8, 7, 0.76);
}

.revenue-card-grid article:last-child {
  border-right: 0;
}

.revenue-card-grid article.hot {
  color: var(--ink);
  background: var(--paper);
}

.revenue-card-top {
  min-height: 22px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.revenue-card-top span {
  color: var(--red);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.revenue-card-top b {
  color: var(--muted-dark);
  font-size: 8px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.revenue-card-grid article.hot .revenue-card-top b {
  color: var(--muted-light);
}

.revenue-card-grid article > strong {
  display: block;
  margin-top: 14px;
  color: var(--paper);
  font-size: clamp(49px, 4.2vw, 70px);
  line-height: 0.88;
  letter-spacing: -0.06em;
}

.revenue-card-grid article.hot > strong {
  color: var(--ink);
}

.revenue-card-grid article > small {
  display: block;
  margin-top: 8px;
  color: var(--muted-dark);
  font-size: 8px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.revenue-card-grid article.hot > small {
  color: var(--muted-light);
}

.revenue-mix {
  height: 7px;
  display: flex;
  gap: 2px;
  margin-top: 19px;
}

.revenue-mix i {
  flex: var(--mix);
  background: var(--red);
}

.revenue-mix i:nth-child(2) {
  background: #f3efea;
}

.revenue-mix i:nth-child(3) {
  background: #b5b7b2;
}

.revenue-mix i:nth-child(4) {
  background: #777a76;
}

.revenue-mix i:nth-child(5) {
  background: #414440;
}

.revenue-card-grid article.hot .revenue-mix i:nth-child(2) {
  background: var(--ink);
}

.revenue-card-lines {
  margin-top: 16px;
  border-top: 1px solid var(--line-dark);
}

.revenue-card-grid article.hot .revenue-card-lines {
  border-top-color: var(--line-light);
}

.revenue-card-lines > div {
  min-height: 38px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  border-bottom: 1px solid var(--line-dark);
}

.revenue-card-grid article.hot .revenue-card-lines > div {
  border-bottom-color: var(--line-light);
}

.revenue-card-lines span {
  color: var(--muted-dark);
  font-size: 10px;
}

.revenue-card-grid article.hot .revenue-card-lines span {
  color: var(--muted-light);
}

.revenue-card-lines b {
  color: var(--paper);
  font-size: 13px;
  font-variant-numeric: tabular-nums;
}

.revenue-card-grid article.hot .revenue-card-lines b {
  color: var(--ink);
}

.revenue-assumptions {
  min-height: 54px;
  margin-top: 11px;
  padding-top: 10px;
  border-top: 1px solid var(--line-dark);
}

.revenue-card-grid article.hot .revenue-assumptions {
  border-top-color: var(--line-light);
}

.revenue-assumptions span {
  display: block;
  color: var(--red);
  font-size: 7px;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.revenue-card-grid article.hot .revenue-assumptions span {
  color: var(--red);
}

.revenue-assumptions p {
  margin: 7px 0 0;
  color: var(--muted-dark);
  font-size: 9px;
  line-height: 1.35;
}

.revenue-assumptions p b {
  color: var(--paper);
  font-weight: 800;
}

.revenue-card-grid article.hot .revenue-assumptions p {
  color: var(--muted-light);
}

.revenue-card-grid article.hot .revenue-assumptions p b {
  color: var(--ink);
}

.profitability-strip {
  display: grid;
  grid-template-columns: 0.9fr 0.9fr 0.9fr 1.3fr;
  border: 1px solid var(--line-dark);
  border-top: 0;
}

.profitability-strip article {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 4px 14px;
  padding: 12px 24px;
  border-right: 1px solid var(--line-dark);
}

.profitability-strip article:last-child {
  border-right: 0;
}

.profitability-strip span {
  color: var(--muted-dark);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.profitability-strip strong {
  grid-row: 1 / 3;
  grid-column: 2;
  align-self: center;
  color: var(--paper);
  font-size: 18px;
  font-variant-numeric: tabular-nums;
}

.profitability-strip b {
  color: var(--red);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.profitability-strip article.downside {
  background: rgba(241, 31, 45, 0.14);
  box-shadow: inset 0 2px 0 var(--red);
}

.profitability-strip article.downside strong {
  color: var(--red);
  font-size: 22px;
}

.model-note {
  margin: 12px 0 0;
  color: var(--muted-dark);
  font-size: 8px;
  line-height: 1.4;
}

/* 08 / REVENUE FORECAST - INVESTOR READ */

.forecast-v2 {
  background: #070807;
}

.forecast-v2 .fv-shell {
  min-height: calc(100vh - var(--bar-h));
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-top: clamp(28px, 3.8vh, 42px);
  padding-bottom: clamp(20px, 2.7vh, 30px);
}

.fv-head {
  display: grid;
  grid-template-columns: minmax(0, 1.38fr) minmax(340px, 0.62fr);
  gap: clamp(42px, 5vw, 84px);
  align-items: end;
}

.fv-head .section-kicker {
  margin-top: clamp(20px, 2.5vh, 28px);
}

.fv-head .display-title {
  max-width: 920px;
  margin-top: 8px;
  font-size: clamp(43px, 3.75vw, 64px);
  line-height: 0.98;
}

.fv-head .display-dek {
  max-width: 470px;
  margin: 0 0 3px;
  font-size: clamp(14px, 1vw, 17px);
  line-height: 1.55;
}

.fv-legend {
  display: flex;
  justify-content: flex-end;
  gap: 28px;
  margin: clamp(14px, 1.8vh, 20px) 0 8px;
  color: var(--muted-dark);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.fv-legend span {
  display: flex;
  align-items: center;
  gap: 8px;
}

.fv-legend i {
  width: 22px;
  height: 5px;
  display: inline-block;
}

.fv-legend .base {
  background: var(--paper);
}

.fv-legend .major {
  background: var(--red);
}

.fv-trajectory {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border: 1px solid var(--line-dark);
}

.fv-trajectory article {
  min-width: 0;
  display: flex;
  flex-direction: column;
  padding: clamp(16px, 2vh, 22px) clamp(20px, 1.8vw, 28px) clamp(14px, 1.7vh, 18px);
  border-right: 1px solid var(--line-dark);
  background: rgba(7, 8, 7, 0.76);
}

.fv-trajectory article:last-child {
  border-right: 0;
}

.fv-trajectory article.hot {
  color: var(--ink);
  background: var(--paper);
}

.fv-year {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.fv-year span,
.fv-year b {
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.fv-year span {
  color: var(--red);
}

.fv-year b {
  color: var(--muted-dark);
}

.fv-trajectory article.hot .fv-year b {
  color: var(--muted-light);
}

.fv-total {
  display: block;
  margin-top: clamp(10px, 1.5vh, 15px);
  color: var(--paper);
  font-size: clamp(50px, 4.5vw, 72px);
  font-weight: 800;
  letter-spacing: -0.06em;
  line-height: 0.86;
}

.fv-trajectory article.hot .fv-total {
  color: var(--ink);
}

.fv-trajectory article > small {
  display: block;
  margin-top: 8px;
  color: var(--muted-dark);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.fv-trajectory article.hot > small {
  color: var(--muted-light);
}

.fv-split {
  height: 9px;
  display: flex;
  gap: 2px;
  margin-top: clamp(14px, 1.8vh, 20px);
}

.fv-split i,
.fv-split b {
  display: block;
  height: 100%;
}

.fv-split i {
  flex: var(--base);
  background: var(--paper);
}

.fv-split b {
  flex: var(--major);
  background: var(--red);
}

.fv-trajectory article.hot .fv-split i {
  background: var(--ink);
}

.fv-build {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 10px;
}

.fv-build > div {
  min-width: 0;
}

.fv-build > div + div {
  padding-left: 18px;
  border-left: 1px solid var(--line-dark);
}

.fv-trajectory article.hot .fv-build > div + div {
  border-left-color: var(--line-light);
}

.fv-build span,
.fv-build b {
  display: block;
}

.fv-build span {
  color: var(--muted-dark);
  font-size: 8px;
  letter-spacing: 0.06em;
  line-height: 1.25;
  text-transform: uppercase;
}

.fv-build b {
  margin-top: 4px;
  color: var(--paper);
  font-size: clamp(15px, 1.25vw, 20px);
  font-variant-numeric: tabular-nums;
}

.fv-trajectory article.hot .fv-build span {
  color: var(--muted-light);
}

.fv-trajectory article.hot .fv-build b {
  color: var(--ink);
}

.fv-profit {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 3px 16px;
  margin-top: clamp(13px, 1.7vh, 18px);
  padding-top: clamp(10px, 1.3vh, 14px);
  border-top: 1px solid var(--line-dark);
}

.fv-trajectory article.hot .fv-profit {
  border-top-color: var(--line-light);
}

.fv-profit span,
.fv-profit > b {
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.fv-profit span {
  color: var(--muted-dark);
}

.fv-profit > b {
  color: var(--red);
}

.fv-profit strong {
  grid-row: 1 / 3;
  grid-column: 2;
  align-self: center;
  color: var(--paper);
  font-size: clamp(17px, 1.45vw, 24px);
  font-variant-numeric: tabular-nums;
}

.fv-trajectory article.hot .fv-profit span {
  color: var(--muted-light);
}

.fv-trajectory article.hot .fv-profit strong {
  color: var(--ink);
}

.fv-year3 {
  display: grid;
  grid-template-columns: minmax(230px, 0.75fr) minmax(0, 2.25fr);
  margin-top: clamp(12px, 1.6vh, 16px);
  border-top: 2px solid var(--paper);
  border-bottom: 1px solid var(--line-dark);
}

.fv-year3-head {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 12px 22px 12px 0;
  border-right: 1px solid var(--line-dark);
}

.fv-year3-head span {
  color: var(--red);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.fv-year3-head strong {
  margin-top: 7px;
  color: var(--paper);
  font-size: clamp(19px, 1.65vw, 27px);
  line-height: 1;
}

.fv-year3-lines {
  display: grid;
  grid-template-columns: 1.15fr 1.4fr 0.9fr 1fr 1fr;
}

.fv-year3-lines > div {
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 12px clamp(11px, 1.1vw, 18px);
  border-right: 1px solid var(--line-dark);
}

.fv-year3-lines > div:last-child {
  border-right: 0;
}

.fv-year3-lines span {
  color: var(--muted-dark);
  font-size: 8px;
  line-height: 1.25;
}

.fv-year3-lines b {
  margin-top: 6px;
  color: var(--paper);
  font-size: clamp(16px, 1.3vw, 21px);
  font-variant-numeric: tabular-nums;
}

.fv-year3-lines .major b {
  color: var(--red);
}

.fv-downside {
  display: grid;
  grid-template-columns: 0.8fr 0.8fr 1.4fr;
  margin-top: clamp(10px, 1.4vh, 14px);
  border: 1px solid var(--line-dark);
  border-top: 2px solid var(--red);
}

.fv-downside > div {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 3px 14px;
  padding: clamp(9px, 1.2vh, 12px) clamp(14px, 1.4vw, 22px);
  border-right: 1px solid var(--line-dark);
}

.fv-downside > div:last-child {
  border-right: 0;
}

.fv-downside span,
.fv-downside b {
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.fv-downside span {
  color: var(--muted-dark);
}

.fv-downside strong {
  grid-row: 1 / 3;
  grid-column: 2;
  align-self: center;
  color: var(--paper);
  font-size: clamp(19px, 1.7vw, 27px);
  font-variant-numeric: tabular-nums;
}

.fv-downside b {
  color: var(--red);
}

.fv-downside .fv-gap {
  background: rgba(241, 31, 45, 0.09);
}

.forecast-v2 .model-note {
  margin-top: 9px;
  font-size: 8px;
  line-height: 1.35;
}

@media (min-width: 981px) and (max-height: 800px) {
  .forecast-v2 .fv-shell {
    padding-top: 18px;
    padding-bottom: 14px;
  }

  .fv-head .section-kicker {
    margin-top: 12px;
  }

  .fv-head .display-title {
    font-size: clamp(38px, 3.5vw, 49px);
  }

  .fv-head .display-dek {
    font-size: 13px;
  }

  .fv-legend {
    margin-top: 8px;
  }

  .fv-trajectory article {
    padding-top: 11px;
    padding-bottom: 10px;
  }

  .fv-total {
    margin-top: 8px;
    font-size: clamp(44px, 4vw, 55px);
  }

  .fv-split {
    margin-top: 10px;
  }

  .fv-profit {
    margin-top: 9px;
    padding-top: 8px;
  }

  .fv-year3 {
    margin-top: 8px;
  }

  .fv-year3-head,
  .fv-year3-lines > div {
    padding-top: 8px;
    padding-bottom: 8px;
  }

  .fv-downside {
    margin-top: 7px;
  }

  .fv-downside > div {
    padding-top: 7px;
    padding-bottom: 7px;
  }

  .forecast-v2 .model-note {
    margin-top: 6px;
    font-size: 7px;
  }
}

@media (max-width: 980px) {
  .forecast-v2 .fv-shell {
    min-height: 0;
    justify-content: flex-start;
    padding-top: 28px;
    padding-bottom: 38px;
  }

  .fv-head {
    display: block;
  }

  .fv-head .display-title {
    font-size: clamp(38px, 10vw, 56px);
  }

  .fv-head .display-dek {
    max-width: none;
    margin-top: 18px;
  }

  .fv-legend {
    justify-content: flex-start;
    flex-wrap: wrap;
    margin-top: 24px;
  }

  .fv-trajectory {
    grid-template-columns: 1fr;
  }

  .fv-trajectory article {
    border-right: 0;
    border-bottom: 1px solid var(--line-dark);
  }

  .fv-trajectory article:last-child {
    border-bottom: 0;
  }

  .fv-year3 {
    grid-template-columns: 1fr;
  }

  .fv-year3-head {
    border-right: 0;
    border-bottom: 1px solid var(--line-dark);
  }

  .fv-year3-lines {
    grid-template-columns: 1fr;
  }

  .fv-year3-lines > div {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    border-right: 0;
    border-bottom: 1px solid var(--line-dark);
  }

  .fv-year3-lines > div:last-child {
    border-bottom: 0;
  }

  .fv-year3-lines b {
    margin-top: 0;
  }

  .fv-downside {
    grid-template-columns: 1fr;
  }

  .fv-downside > div {
    border-right: 0;
    border-bottom: 1px solid var(--line-dark);
  }

  .fv-downside > div:last-child {
    border-bottom: 0;
  }

  .forecast-v2 .model-note {
    font-size: 9px;
    line-height: 1.5;
  }
}

/* 09 / OPERATING PLAN - CAPITAL COVERAGE */

.op-plan-v2 {
  background: var(--paper);
}

.op-plan-v2 .op-shell {
  min-height: calc(100vh - var(--bar-h));
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-top: clamp(28px, 3.5vh, 40px);
  padding-bottom: clamp(22px, 3vh, 34px);
}

.op-head {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(350px, 0.65fr);
  gap: clamp(46px, 5vw, 86px);
  align-items: end;
}

.op-head .section-kicker {
  margin-top: clamp(18px, 2.4vh, 26px);
  color: var(--navy);
}

.op-head .display-title {
  max-width: 900px;
  margin-top: 8px;
  color: var(--ink);
  font-size: clamp(45px, 3.9vw, 66px);
  line-height: 0.98;
}

.op-head .display-dek {
  max-width: 470px;
  margin: 0 0 4px;
  color: #4f524e;
  font-size: clamp(15px, 1.05vw, 18px);
  line-height: 1.55;
}

.op-body {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(330px, 0.7fr);
  gap: clamp(38px, 4vw, 68px);
  margin-top: clamp(26px, 3.3vh, 36px);
  border-top: 3px solid var(--ink);
  border-bottom: 1px solid var(--line-light);
}

.op-costs {
  min-width: 0;
  padding: clamp(19px, 2.5vh, 27px) 0 clamp(18px, 2.2vh, 24px);
}

.op-costs-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 24px;
}

.op-costs-head span,
.op-label {
  color: var(--navy);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.op-costs-head strong {
  color: var(--ink);
  font-size: clamp(48px, 4.7vw, 78px);
  font-weight: 800;
  letter-spacing: -0.06em;
  line-height: 0.84;
}

.op-stack {
  height: 16px;
  display: flex;
  gap: 3px;
  margin-top: clamp(17px, 2vh, 22px);
  background: #d8d8d3;
}

.op-stack i {
  display: block;
  height: 100%;
  flex: var(--share);
}

.op-stack i:nth-child(1) { background: var(--red); }
.op-stack i:nth-child(2) { background: var(--navy); }
.op-stack i:nth-child(3) { background: #374151; }
.op-stack i:nth-child(4) { background: #6b706c; }
.op-stack i:nth-child(5) { background: #9da19d; }
.op-stack i:nth-child(6) { background: #c2c4c0; }

.op-ledger {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: clamp(30px, 3.5vw, 58px);
  margin-top: clamp(15px, 1.8vh, 20px);
  border-top: 1px solid var(--line-light);
}

.op-ledger > div {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 12px;
  min-height: clamp(42px, 5.1vh, 54px);
  border-bottom: 1px solid var(--line-light);
}

.op-ledger span {
  color: #50534f;
  font-size: clamp(12px, 0.9vw, 14px);
  line-height: 1.25;
}

.op-ledger strong {
  color: var(--ink);
  font-size: clamp(14px, 1.05vw, 17px);
  font-variant-numeric: tabular-nums;
}

.op-ledger b {
  min-width: 28px;
  color: var(--muted-light);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-align: right;
}

.op-capital {
  min-width: 0;
  padding: clamp(19px, 2.5vh, 27px) 0 clamp(18px, 2.2vh, 24px) clamp(28px, 2.7vw, 46px);
  border-left: 3px solid var(--red);
}

.op-label {
  margin: 0;
}

.op-capital-item {
  padding: clamp(13px, 1.7vh, 18px) 0;
  border-bottom: 1px solid var(--line-light);
}

.op-capital-item:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.op-capital-item strong,
.op-capital-item span,
.op-capital-item p {
  display: block;
}

.op-capital-item strong {
  color: var(--ink);
  font-size: clamp(25px, 2.3vw, 38px);
  font-weight: 800;
  letter-spacing: -0.04em;
  line-height: 0.95;
}

.op-capital-item.primary strong {
  color: var(--red);
  font-size: clamp(37px, 3.3vw, 54px);
}

.op-capital-item span {
  margin-top: 7px;
  color: var(--navy);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.17em;
  text-transform: uppercase;
}

.op-capital-item p {
  max-width: 34ch;
  margin: 8px 0 0;
  color: #555853;
  font-size: clamp(11px, 0.82vw, 13px);
  line-height: 1.4;
}

.op-capital-item.upgrades {
  padding-top: clamp(14px, 1.8vh, 20px);
}

.op-capital-item.upgrades span {
  margin-top: 0;
}

.op-close {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  gap: clamp(28px, 3vw, 52px);
  align-items: center;
  padding-top: clamp(17px, 2.2vh, 24px);
}

.op-close span {
  color: var(--red);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.op-close strong {
  max-width: 960px;
  color: var(--ink);
  font-size: clamp(19px, 1.55vw, 27px);
  line-height: 1.2;
}

@media (min-width: 981px) and (max-height: 800px) {
  .op-plan-v2 .op-shell {
    padding-top: 18px;
    padding-bottom: 16px;
  }

  .op-head .section-kicker {
    margin-top: 12px;
  }

  .op-head .display-title {
    font-size: clamp(38px, 3.6vw, 50px);
  }

  .op-head .display-dek {
    font-size: 13px;
  }

  .op-body {
    margin-top: 18px;
  }

  .op-costs,
  .op-capital {
    padding-top: 14px;
    padding-bottom: 12px;
  }

  .op-costs-head strong {
    font-size: 52px;
  }

  .op-stack {
    height: 12px;
    margin-top: 12px;
  }

  .op-ledger {
    margin-top: 10px;
  }

  .op-ledger > div {
    min-height: 34px;
  }

  .op-capital-item {
    padding: 9px 0;
  }

  .op-capital-item.primary strong {
    font-size: 38px;
  }

  .op-capital-item strong {
    font-size: 26px;
  }

  .op-capital-item p {
    margin-top: 5px;
    font-size: 10.5px;
  }

  .op-close {
    padding-top: 12px;
  }

  .op-close strong {
    font-size: 18px;
  }
}

@media (max-width: 980px) {
  .op-plan-v2 .op-shell {
    min-height: 0;
    justify-content: flex-start;
    padding-top: 28px;
    padding-bottom: 38px;
  }

  .op-head {
    display: block;
  }

  .op-head .display-title {
    font-size: clamp(38px, 10vw, 54px);
  }

  .op-head .display-dek {
    max-width: none;
    margin-top: 18px;
  }

  .op-body {
    grid-template-columns: 1fr;
    gap: 0;
    margin-top: 24px;
  }

  .op-ledger {
    grid-template-columns: 1fr;
  }

  .op-capital {
    padding: 22px 0 18px;
    border-top: 3px solid var(--red);
    border-left: 0;
  }

  .op-capital-item p {
    max-width: none;
  }

  .op-close {
    grid-template-columns: 1fr;
    gap: 10px;
    padding-top: 20px;
  }

  .op-close strong {
    font-size: 20px;
  }
}

/* 11 / DEVELOPMENT */

.development-path {
  display: grid;
  grid-template-columns: 1fr 38px 1fr 38px 1fr;
  align-items: stretch;
  margin-top: 40px;
}

.development-path article {
  min-height: 205px;
  padding: 24px;
  border: 1px solid var(--line-light);
}

.development-path article span {
  display: block;
  margin-top: 26px;
  color: var(--red);
  font-size: 8px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-weight: 800;
}

.transfer-benchmarks {
  display: grid;
  grid-template-columns: 0.8fr 0.8fr 1.4fr;
  margin-top: 30px;
  border-top: 1px solid var(--line-light);
  border-bottom: 1px solid var(--line-light);
}

.transfer-benchmarks > div {
  min-height: 124px;
  padding: 20px 22px;
  border-right: 1px solid var(--line-light);
}

.transfer-benchmarks > div:first-child {
  padding-left: 0;
}

.transfer-benchmarks > div:last-child {
  border-right: 0;
}

.transfer-benchmarks span,
.transfer-benchmarks small {
  display: block;
}

.transfer-benchmarks span {
  color: var(--red);
  font-size: 8px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-weight: 800;
}

.transfer-benchmarks strong {
  display: block;
  margin-top: 11px;
  font-size: 42px;
  line-height: 1;
  letter-spacing: -0.045em;
}

.transfer-benchmarks small {
  margin-top: 8px;
  color: var(--muted-light);
  font-size: 9px;
}

.benchmark-note p {
  margin: 0 0 20px;
  color: var(--muted-light);
  font-size: 11px;
  line-height: 1.4;
}

/* 12 / FUNDS */

.funds-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 70px;
}

.funds-head .display-title {
  font-size: clamp(50px, 5vw, 84px);
}

.funds-total {
  min-width: 310px;
  padding: 20px 0;
  border-top: 1px solid var(--line-light);
  border-bottom: 1px solid var(--line-light);
}

.funds-total span {
  display: block;
  color: var(--red);
  font-size: 9px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-weight: 800;
}

.funds-total strong {
  display: block;
  margin-top: 12px;
  font-size: 52px;
  line-height: 1;
  letter-spacing: -0.05em;
}

.allocation-bar {
  display: flex;
  height: 16px;
  margin-top: 38px;
  gap: 2px;
}

.allocation-bar i {
  flex: var(--share);
  background: var(--ink);
}

.allocation-bar i:first-child,
.allocation-bar i:nth-child(2) {
  background: var(--red);
}

.funds-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin-top: 22px;
  border-top: 1px solid var(--line-light);
}

.funds-grid > div {
  display: grid;
  grid-template-columns: 36px 1fr auto;
  align-items: center;
  gap: 14px;
  min-height: 58px;
  padding-right: 22px;
  border-right: 1px solid var(--line-light);
  border-bottom: 1px solid var(--line-light);
}

.funds-grid > div:nth-child(even) {
  padding-left: 22px;
  padding-right: 0;
  border-right: 0;
}

.funds-grid > div:last-child {
  grid-column: 1 / -1;
  padding-left: 0;
  border-right: 0;
}

.funds-grid b {
  color: var(--red);
  font-size: 8px;
}

.funds-grid span {
  font-size: 14px;
}

.funds-grid strong {
  font-size: 18px;
}

.funds-footer {
  display: grid;
  grid-template-columns: 360px 1fr;
  gap: 50px;
  align-items: center;
  margin-top: 28px;
  padding: 19px 0;
  color: var(--paper);
  background: var(--ink);
}

.funds-footer > div {
  padding-left: 24px;
}

.funds-footer span {
  display: block;
  color: var(--red);
  font-size: 8px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-weight: 800;
}

.funds-footer strong {
  display: block;
  margin-top: 8px;
  font-size: 19px;
}

.funds-footer p {
  max-width: 720px;
  margin: 0;
  padding-right: 24px;
  color: var(--muted-dark);
  font-size: 11px;
  line-height: 1.4;
}

.funds-vercel-layout {
  display: grid;
  grid-template-columns: minmax(380px, 0.82fr) minmax(560px, 1.18fr);
  gap: 90px;
  align-items: center;
}

.funds .slide-shell {
  padding-top: 28px;
  padding-bottom: 20px;
}

.funds-story .display-title {
  max-width: 540px;
  font-size: clamp(58px, 5vw, 86px);
}

.funds-story .display-dek {
  max-width: 525px;
  margin-top: 18px;
  font-size: clamp(16px, 1.15vw, 19px);
  line-height: 1.52;
}

.funds-infrastructure {
  position: relative;
  max-width: 520px;
  margin-top: 28px;
  padding: 21px 26px 20px;
  border: 1px solid var(--line-light);
}

.funds-infrastructure::before {
  position: absolute;
  top: -1px;
  left: -1px;
  width: 14px;
  height: 14px;
  border-top: 2px solid var(--red);
  border-left: 2px solid var(--red);
  content: "";
}

.funds-infrastructure span {
  display: block;
  color: var(--red);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.funds-infrastructure strong {
  display: block;
  margin-top: 10px;
  font-size: 20px;
}

.funds-infrastructure p {
  margin: 10px 0 0;
  color: var(--muted-light);
  font-size: 11px;
  line-height: 1.5;
}

.funds-breakdown {
  border-top: 2px solid var(--ink);
}

.fund-row {
  position: relative;
  min-height: 63px;
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-areas:
    "label value"
    "bar bar";
  gap: 8px 24px;
  align-content: center;
  padding: 9px 0;
  border-bottom: 1px solid var(--line-light);
}

.fund-row span {
  grid-area: label;
  color: var(--muted-light);
  font-size: 14px;
}

.fund-row strong {
  grid-area: value;
  font-size: 14px;
  font-variant-numeric: tabular-nums;
}

.fund-row i {
  position: relative;
  grid-area: bar;
  width: 100%;
  height: 3px;
  background: rgba(7, 8, 7, 0.09);
}

.fund-row i::after {
  position: absolute;
  inset: 0 auto 0 0;
  width: calc(var(--share) * 2%);
  background: var(--red);
  content: "";
}

.fund-total-line {
  min-height: 90px;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 30px;
  margin-top: 13px;
  padding-top: 12px;
  border-top: 3px double var(--ink);
}

.fund-total-line span {
  color: var(--muted-light);
  font-size: 9px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.fund-total-line strong {
  color: var(--red);
  font-size: clamp(50px, 4.8vw, 78px);
  line-height: 0.88;
  letter-spacing: -0.055em;
}

/* LEAN OPERATING PLAN */

.funds-lean .slide-shell {
  padding-top: 28px;
  padding-bottom: 24px;
}

.funds-lean-layout {
  display: flex;
  flex-direction: column;
}

.funds-lean-hero {
  display: grid;
  grid-template-columns: minmax(360px, 1.35fr) minmax(220px, 0.8fr) minmax(260px, 0.9fr);
  align-items: stretch;
  margin-top: 32px;
  border-top: 2px solid var(--ink);
  border-bottom: 1px solid var(--line-light);
}

.funds-lean-cost,
.funds-lean-metric {
  min-height: 168px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.funds-lean-cost {
  padding-right: 46px;
}

.funds-lean-cost > span,
.funds-lean-metric > span,
.funds-lean-principle > span {
  color: var(--muted-light);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.14em;
  line-height: 1.4;
  text-transform: uppercase;
}

.funds-lean-cost h2 {
  margin: 5px 0 0;
  color: var(--ink);
  font-family: var(--display);
  font-size: clamp(88px, 9vw, 138px);
  font-weight: 800;
  letter-spacing: -0.065em;
  line-height: 0.84;
}

.funds-lean-metric {
  padding: 0 34px;
  border-left: 1px solid var(--line-light);
}

.funds-lean-metric strong {
  color: var(--ink);
  font-family: var(--display);
  font-size: clamp(30px, 3.1vw, 48px);
  letter-spacing: -0.04em;
  line-height: 0.95;
}

.funds-lean-metric > span {
  max-width: 220px;
  margin-top: 13px;
}

.funds-lean-metric.founder strong {
  color: var(--red);
}

.funds-lean-breakdown {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 72px;
  margin-top: 28px;
  border-top: 1px solid var(--ink);
}

.funds-lean-breakdown .fund-row {
  min-height: 64px;
}

.funds-lean-principle {
  display: grid;
  grid-template-columns: 180px 1fr;
  gap: 30px;
  align-items: center;
  margin-top: auto;
  padding: 20px 0 2px;
  border-top: 2px solid var(--ink);
}

.funds-lean-principle > span {
  color: var(--red);
}

.funds-lean-principle strong {
  max-width: 900px;
  font-size: clamp(17px, 1.45vw, 23px);
  line-height: 1.3;
}

/* 13 / SCALE */

.scale-bg,
.scale-shade {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.scale-bg {
  object-fit: cover;
  filter: saturate(0.65) brightness(0.46);
}

.scale-shade {
  background: linear-gradient(90deg, rgba(5, 6, 5, 0.93), rgba(5, 6, 5, 0.53));
}

.scale .slide-shell {
  display: flex;
  flex-direction: column;
}

.scale-head {
  margin-top: 0;
}

.scale-years {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 42px;
  border-top: 1px solid var(--line-dark);
  border-bottom: 1px solid var(--line-dark);
}

.scale-years article {
  min-height: 295px;
  padding: 23px 24px;
  border-right: 1px solid var(--line-dark);
  backdrop-filter: blur(2px);
}

.scale-years article:first-child {
  padding-left: 0;
}

.scale-years article:last-child {
  border-right: 0;
}

.scale-years span,
.scale-years em {
  display: block;
}

.scale-years span {
  color: var(--red);
  font-size: 9px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-weight: 800;
}

.scale-years strong {
  display: block;
  margin-top: 15px;
  font-size: 49px;
  line-height: 1;
  letter-spacing: -0.05em;
}

.scale-years em {
  margin-top: 28px;
  color: var(--red);
  font-size: 9px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-style: normal;
  font-weight: 800;
}

.scale-years h3 {
  margin: 13px 0 0;
  font-size: 23px;
  line-height: 1.05;
}

.scale-years p {
  margin: 16px 0 0;
  max-width: 330px;
  color: var(--muted-dark);
  font-size: 12px;
  line-height: 1.45;
}

.scale-years .scale-hot {
  padding-left: 24px;
  background: var(--paper);
  color: var(--ink);
}

.scale-years .scale-hot p {
  color: var(--muted-light);
}

.scale-note {
  margin: 22px 0 0;
  color: var(--muted-dark);
  font-size: 9px;
}

/* 10 / COMPOUNDING MODEL */

.compound-slide {
  background:
    linear-gradient(rgba(239, 238, 233, 0.028) 1px, transparent 1px),
    linear-gradient(90deg, rgba(239, 238, 233, 0.028) 1px, transparent 1px),
    radial-gradient(circle at 84% 26%, rgba(241, 31, 45, 0.13), transparent 34%),
    var(--ink);
  background-size: 52px 52px, 52px 52px, auto, auto;
}

.cy10-shell {
  display: flex;
  flex-direction: column;
  padding-top: clamp(30px, 4vh, 48px);
  padding-bottom: clamp(20px, 3vh, 32px);
}

.cy10-head {
  display: block;
}

.cy10-head .display-title {
  max-width: 840px;
  font-size: clamp(40px, 3.9vw, 66px);
}

.cy10-dek {
  position: absolute;
  left: 40%;
  bottom: 13%;
  width: 26%;
  margin: 0;
  padding-top: 14px;
  border-top: 2px solid var(--red);
  color: rgba(239, 238, 233, 0.82);
  font-size: clamp(13px, 0.98vw, 16px);
  line-height: 1.5;
}

.cy10-track {
  position: relative;
  flex: 1 1 auto;
  min-height: clamp(320px, 42vh, 500px);
  margin-top: clamp(22px, 3.2vh, 38px);
}

.cy10-path {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.cy10-path path {
  fill: none;
  vector-effect: non-scaling-stroke;
}

.cy10-emblem {
  position: absolute;
  left: 45%;
  top: 58%;
  height: 84%;
  transform: translate(-50%, -50%);
  opacity: 0.07;
  pointer-events: none;
}

.cy10-climb {
  stroke: rgba(239, 238, 233, 0.78);
  stroke-width: 2px;
}

.cy10-climb-hot {
  stroke: var(--red);
  stroke-width: 2.5px;
}

.cy10-loop {
  stroke: var(--red);
  stroke-width: 3.5px;
}

.cy10-node {
  position: absolute;
  left: 9%;
  top: 88%;
  width: 9px;
  height: 9px;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: var(--paper);
}

.cy10-arr-end {
  position: absolute;
  left: 75.8%;
  top: 13.9%;
  transform: translateY(-50%);
  border-left: 10px solid var(--red);
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
}

.cy10-arr-back {
  position: absolute;
  left: 9.55%;
  top: 90.6%;
  transform: translate(-50%, -60%) rotate(-42deg);
  border-bottom: 11px solid var(--red);
  border-left: 6.5px solid transparent;
  border-right: 6.5px solid transparent;
}

.cy10-input {
  position: absolute;
  top: 88%;
  left: 0;
  width: 8%;
  display: flex;
  align-items: center;
  gap: 8px;
  transform: translateY(-50%);
  color: var(--paper);
}

.cy10-input b {
  font-size: clamp(8px, 0.62vw, 9.5px);
  font-weight: 800;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  white-space: nowrap;
}

.cy10-input i {
  flex: 1;
  height: 2px;
  background: rgba(239, 238, 233, 0.78);
}

.cy10-input::after {
  content: "";
  margin-left: -8px;
  border-left: 7px solid rgba(239, 238, 233, 0.9);
  border-top: 4.5px solid transparent;
  border-bottom: 4.5px solid transparent;
}

.cy10-stage {
  position: absolute;
  width: 11.6%;
  padding-bottom: 32px;
}

.cy10-s1 { left: 9.35%; bottom: 12%; }
.cy10-s2 { left: 21.85%; bottom: 26%; }
.cy10-s3 { left: 34.35%; bottom: 40%; }
.cy10-s4 { left: 46.85%; bottom: 54%; }
.cy10-s5 { left: 59.35%; bottom: 68%; width: 13%; }

.cy10-stage > span {
  position: absolute;
  left: 0;
  bottom: 0;
  transform: translateY(50%);
  padding: 3px 12px 3px 2px;
  background: var(--ink);
  color: var(--paper);
  font-size: clamp(26px, 2.1vw, 34px);
  font-weight: 800;
  line-height: 0.9;
  letter-spacing: -0.02em;
}

.cy10-s3 > span,
.cy10-s4 > span,
.cy10-s5 > span {
  color: var(--red);
}

.cy10-stage h3 {
  margin: 0;
  font-size: clamp(12px, 0.92vw, 14.5px);
  font-weight: 800;
  line-height: 1.3;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.cy10-stage p {
  margin: 7px 0 0;
  color: rgba(239, 238, 233, 0.72);
  font-size: clamp(10.5px, 0.82vw, 12.5px);
  line-height: 1.42;
}

.cy10-outcome {
  position: absolute;
  left: 76.5%;
  right: 0;
  top: 5%;
}

.cy10-outcome > span {
  display: block;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: rgba(239, 238, 233, 0.66);
}

.cy10-outcome strong {
  display: block;
  max-width: 5.6em;
  margin-top: 10px;
  color: var(--red);
  font-size: clamp(34px, 3vw, 52px);
  font-weight: 800;
  line-height: 0.95;
  letter-spacing: -0.04em;
  text-transform: uppercase;
}

.cy10-outcome p {
  margin: 12px 0 0;
  max-width: 235px;
  color: rgba(239, 238, 233, 0.75);
  font-size: clamp(11px, 0.85vw, 13px);
  line-height: 1.45;
}

.cy10-loop-label {
  position: absolute;
  left: 46%;
  top: 95%;
  transform: translate(-50%, -50%);
  padding: 5px 14px;
  background: var(--ink);
  color: var(--red);
  font-size: clamp(9px, 0.7vw, 10.5px);
  font-weight: 800;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  white-space: nowrap;
}

.cy10-loop-label i {
  display: none;
}

.cy10-close {
  margin: clamp(18px, 2.6vh, 28px) 0 0;
  padding-top: clamp(13px, 1.8vh, 19px);
  border-top: 1px solid var(--line-dark);
  font-size: clamp(15px, 1.15vw, 19px);
  font-weight: 800;
  letter-spacing: -0.015em;
}

.cy10-close b {
  color: var(--red);
}

@media (min-width: 821px) and (max-height: 840px) {
  .cy10-shell {
    padding-top: clamp(22px, 3vh, 30px);
    padding-bottom: 18px;
  }

  .cy10-head .display-title {
    font-size: clamp(34px, 4.6vh, 50px);
  }

  .cy10-dek {
    left: 41%;
    width: 29%;
    padding-top: 11px;
    font-size: 12px;
  }

  .cy10-track {
    min-height: clamp(300px, 40vh, 420px);
    margin-top: clamp(16px, 2.6vh, 26px);
  }

  .cy10-stage > span {
    font-size: 24px;
  }

  .cy10-stage {
    padding-bottom: 26px;
  }

  .cy10-stage h3 {
    font-size: 11.5px;
  }

  .cy10-stage p {
    margin-top: 6px;
    font-size: 10px;
  }

  .cy10-outcome strong {
    font-size: clamp(30px, 5.2vh, 40px);
  }

  .cy10-outcome p {
    font-size: 10.5px;
  }

  .cy10-input b {
    font-size: 8px;
  }

  .cy10-loop-label {
    font-size: 8.5px;
  }

  .cy10-close {
    margin-top: clamp(14px, 2vh, 20px);
    padding-top: 13px;
    font-size: 14.5px;
  }
}

@media (max-width: 820px) {
  .cy10-head {
    display: block;
  }

  .cy10-dek {
    position: static;
    width: auto;
    max-width: 520px;
    margin: 0 0 26px;
  }

  .cy10-track {
    min-height: 0;
    margin-top: 24px;
  }

  .cy10-path,
  .cy10-emblem,
  .cy10-node,
  .cy10-arr-end,
  .cy10-arr-back {
    display: none;
  }

  .cy10-input {
    position: static;
    width: auto;
    display: block;
    padding: 0 0 18px 20px;
    border-left: 2px solid rgba(239, 238, 233, 0.55);
    transform: none;
  }

  .cy10-input b {
    font-size: 9.5px;
  }

  .cy10-input i,
  .cy10-input::after {
    display: none;
  }

  .cy10-stage {
    position: static;
    width: auto;
    padding: 0 0 20px 20px;
    border-left: 2px solid rgba(239, 238, 233, 0.55);
  }

  .cy10-s5 {
    width: auto;
  }

  .cy10-stage > span {
    position: static;
    display: block;
    margin-bottom: 8px;
    padding: 0;
    background: transparent;
    transform: none;
    font-size: 24px;
  }

  .cy10-s3,
  .cy10-s4,
  .cy10-s5 {
    border-left-color: var(--red);
  }

  .cy10-stage h3 {
    font-size: 13px;
  }

  .cy10-stage p {
    max-width: 480px;
    font-size: 12px;
  }

  .cy10-outcome {
    position: static;
    padding: 2px 0 20px 19px;
    border-left: 3px solid var(--red);
  }

  .cy10-outcome strong {
    max-width: none;
    font-size: clamp(34px, 9.5vw, 44px);
  }

  .cy10-outcome p {
    max-width: 420px;
    font-size: 12px;
  }

  .cy10-loop-label {
    position: static;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 2px 0 6px 19px;
    background: transparent;
    transform: none;
    white-space: normal;
    border-left: 3px solid var(--red);
  }

  .cy10-loop-label i {
    display: block;
    border-bottom: 9px solid var(--red);
    border-left: 5.5px solid transparent;
    border-right: 5.5px solid transparent;
  }

  .cy10-close {
    margin-top: 26px;
    font-size: 15px;
  }

  .cy10-close b {
    display: block;
    margin-top: 4px;
  }
}

/* 10 / OPERATING MILESTONES */

.milestones {
  background:
    linear-gradient(rgba(7, 8, 7, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(7, 8, 7, 0.035) 1px, transparent 1px),
    var(--paper);
  background-size: 52px 52px, 52px 52px, auto;
}

.milestones-layout {
  padding-top: 34px;
  padding-bottom: 24px;
}

.milestones-head {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(350px, 0.65fr);
  gap: 90px;
  align-items: end;
}

.milestones-head .display-title {
  max-width: 880px;
  font-size: clamp(50px, 4.6vw, 76px);
}

.milestones-head .display-dek {
  max-width: 510px;
  font-size: clamp(15px, 1.08vw, 18px);
}

.milestone-track {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin-top: 38px;
  border-top: 1px solid var(--line-light);
  border-bottom: 1px solid var(--line-light);
}

.milestone-track article {
  position: relative;
  min-height: clamp(280px, 34vh, 360px);
  padding: 24px 26px;
  border-right: 1px solid var(--line-light);
  background: rgba(239, 238, 233, 0.82);
}

.milestone-track article:last-child {
  border-right: 0;
}

.milestone-track article::after {
  position: absolute;
  top: 28px;
  right: -10px;
  z-index: 2;
  width: 20px;
  height: 20px;
  display: grid;
  place-items: center;
  color: var(--red);
  background: var(--paper);
  font-size: 12px;
  content: "→";
}

.milestone-track article:last-child::after {
  display: none;
}

.milestone-track span,
.milestone-track b {
  display: block;
  font-size: 8px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.milestone-track span {
  color: var(--muted-light);
}

.milestone-track b {
  margin-top: 10px;
  color: var(--red);
}

.milestone-track h3 {
  max-width: 270px;
  margin: 78px 0 0;
  font-size: clamp(21px, 1.7vw, 29px);
  line-height: 1;
  letter-spacing: -0.035em;
}

.milestone-track p {
  max-width: 270px;
  margin: 15px 0 0;
  color: var(--muted-light);
  font-size: 11px;
  line-height: 1.4;
}

.milestone-track article.hot {
  color: var(--paper);
  background: var(--ink);
}

.milestone-track article.hot span,
.milestone-track article.hot p {
  color: var(--muted-dark);
}

.milestone-track article.hot::after {
  background: var(--ink);
}

.milestone-proof {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 30px;
  align-items: center;
  min-height: 72px;
  border-bottom: 1px solid var(--line-light);
}

.milestone-proof span {
  color: var(--red);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.milestone-proof strong {
  font-size: 14px;
}

/* 11 / CLOSING */

.closing-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.94fr) minmax(440px, 0.76fr);
  grid-template-rows: 1fr auto;
  column-gap: 90px;
  align-items: center;
}

.closing-left .display-title {
  max-width: 760px;
  font-size: clamp(40px, 4vw, 66px);
}

.closing-raise {
  display: block;
  margin-top: 24px;
  color: var(--red);
  font-size: clamp(74px, 8vw, 132px);
  line-height: 0.85;
  letter-spacing: -0.065em;
}

.closing-founder {
  max-width: 650px;
  margin: 27px 0 0;
  color: var(--muted-light);
  font-size: 16px;
  line-height: 1.45;
}

.closing-terms {
  border-top: 1px solid var(--line-light);
}

.closing-terms > div {
  display: grid;
  grid-template-columns: 140px 1fr;
  gap: 22px;
  padding: 17px 0;
  border-bottom: 1px solid var(--line-light);
}

.closing-terms span,
.ownership > span {
  color: var(--muted-light);
  font-size: 8px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.closing-terms strong {
  font-size: 15px;
  line-height: 1.25;
}

.ownership {
  margin-top: 28px;
}

.ownership > div {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 20px;
  padding: 12px 0;
  border-bottom: 1px solid var(--line-light);
}

.ownership > div:first-of-type {
  margin-top: 10px;
  border-top: 1px solid var(--line-light);
}

.ownership b,
.ownership strong {
  font-size: 18px;
}

.ownership strong {
  color: var(--red);
}

.ownership small {
  display: block;
  margin-top: 12px;
  color: var(--muted-light);
  font-size: 8px;
  line-height: 1.4;
}

.closing-line {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 110px 1fr auto;
  gap: 30px;
  align-items: center;
  padding: 20px 0 0;
  border-top: 1px solid var(--line-light);
}

.closing-line img {
  width: 82px;
  filter: invert(1);
}

.closing-line p {
  margin: 0;
  font-size: 15px;
  font-weight: 600;
}

.closing-line a {
  font-size: 9px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  text-underline-offset: 4px;
}

.closing-vercel {
  background:
    radial-gradient(circle at 64% 10%, rgba(241, 31, 45, 0.12), transparent 32%),
    var(--ink);
}

.closing-vercel-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.14fr) minmax(390px, 0.66fr);
  grid-template-rows: 1fr auto;
  column-gap: 82px;
  align-items: center;
  padding-top: 22px;
  padding-bottom: 16px;
}

.closing-vercel-raise {
  display: block;
  margin-top: 15px;
  color: var(--red);
  font-size: clamp(78px, 8vw, 126px);
  line-height: 0.82;
  letter-spacing: -0.07em;
}

.closing-vercel-dek {
  max-width: 680px;
  margin: 18px 0 0;
  color: var(--muted-dark);
  font-size: clamp(14px, 1.05vw, 17px);
  line-height: 1.45;
}

.closing-vercel-facts {
  max-width: 720px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin-top: 20px;
  border-top: 1px solid var(--line-dark);
}

.closing-vercel-facts > div {
  min-height: 65px;
  padding: 12px 22px 10px 0;
  border-right: 1px solid var(--line-dark);
  border-bottom: 1px solid var(--line-dark);
}

.closing-vercel-facts > div:nth-child(even) {
  padding-left: 24px;
  border-right: 0;
}

.closing-vercel-facts span {
  display: block;
  color: var(--muted-dark);
  font-size: 7px;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.closing-vercel-facts strong {
  display: block;
  margin-top: 7px;
  color: var(--paper);
  font-size: 11px;
  line-height: 1.25;
}

.closing-vercel-facts > div:nth-child(5) strong {
  color: var(--red);
}

.closing-vercel-founder {
  margin: 10px 0 0;
  color: var(--muted-dark);
  font-size: 8px;
  letter-spacing: 0.07em;
}

.ownership-vercel {
  position: relative;
  padding: 24px 26px 20px;
  border: 1px solid var(--line-dark);
  background: rgba(7, 8, 7, 0.58);
}

.ownership-vercel::before {
  position: absolute;
  top: -1px;
  left: -1px;
  width: 15px;
  height: 15px;
  border-top: 2px solid var(--red);
  border-left: 2px solid var(--red);
  content: "";
}

.ownership-vercel-inner > span {
  display: block;
  padding-bottom: 14px;
  color: var(--muted-dark);
  border-bottom: 1px solid var(--line-dark);
  font-size: 8px;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.ownership-vercel-inner > div {
  min-height: 58px;
  display: grid;
  grid-template-columns: 60px 1fr 72px;
  gap: 16px;
  align-items: center;
  padding: 0 12px;
  border-bottom: 1px solid var(--line-dark);
}

.ownership-vercel-inner b,
.ownership-vercel-inner strong {
  font-size: 15px;
}

.ownership-vercel-inner strong {
  color: var(--paper);
  text-align: right;
  font-size: 24px;
  white-space: nowrap;
}

.ownership-vercel-inner i {
  position: relative;
  height: 3px;
  background: rgba(239, 238, 233, 0.15);
}

.ownership-vercel-inner i::after {
  position: absolute;
  inset: 0 auto 0 0;
  width: calc(var(--tier) * 1%);
  background: var(--paper);
  content: "";
}

.ownership-vercel-inner > div.hot {
  margin: 0 -12px;
  padding: 0 24px;
  color: var(--ink);
  background: var(--red);
  border-color: var(--red);
}

.ownership-vercel-inner > div.hot strong {
  color: var(--ink);
}

.ownership-vercel-inner > div.hot i {
  background: rgba(7, 8, 7, 0.28);
}

.ownership-vercel-inner > div.hot i::after {
  background: var(--ink);
}

.ownership-vercel-inner small {
  display: block;
  margin-top: 14px;
  color: var(--muted-dark);
  font-size: 8px;
  line-height: 1.4;
}

.closing-vercel-line {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 120px 1fr auto;
  gap: 30px;
  align-items: center;
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--line-dark);
}

.closing-vercel-line img {
  width: 92px;
}

.closing-vercel-line p {
  margin: 0;
  color: var(--paper);
  font-size: 15px;
  font-weight: 650;
}

.closing-vercel-line a {
  color: var(--muted-dark);
  font-size: 8px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  text-underline-offset: 4px;
}

@media (max-width: 1180px) {
  :root {
    --bar-h: 54px;
  }

  .deckbar {
    grid-template-columns: 220px 1fr 160px;
    padding: 0 24px;
  }

  .deck-meta span {
    display: none;
  }

  .slide-shell,
  .cover-content,
  .demand-copy,
  .demand-body {
    width: min(100% - 90px, 1080px);
  }

  .why-layout,
  .major-top,
  .major-investment-head,
  .vrs-layout,
  .national-proof-head,
  .revenue-projection-head,
  .revenue-cards-head,
  .funds-vercel-layout,
  .development-head,
  .scale-head,
  .milestones-head,
  .roster-head,
  .commercial-head,
  .closing-vercel-layout,
  .closing-layout {
    gap: 44px;
  }

  .distribution-copy,
  .revenue-copy {
    padding-right: 55px;
  }

  .why-layout {
    grid-template-columns: minmax(0, 1fr) minmax(420px, 0.88fr);
    column-gap: 44px;
  }

  .fact-line strong {
    font-size: 42px;
  }

  .fact-line span {
    max-width: 240px;
  }

  .revenue-bands > div {
    grid-template-columns: 125px 1fr;
  }

  .revenue-bands small {
    display: none;
  }
}

@media (max-width: 820px) {
  .grain,
  .deck-rail {
    display: none;
  }

  .deckbar {
    grid-template-columns: 1fr auto;
    padding: 0 17px;
  }

  .deck-current {
    display: none;
  }

  .deck-meta {
    font-size: 8px;
  }

  .deck-brand span {
    font-size: 8px;
  }

  .deck-brand img {
    width: 48px;
  }

  .slide {
    min-height: auto;
    overflow: visible;
  }

  .slide-shell,
  .cover-content,
  .demand-copy,
  .demand-body {
    width: calc(100% - 40px);
  }

  .slide-shell {
    min-height: auto;
    padding: 42px 0;
  }

  .display-title,
  .major-copy .display-title,
  .demand-copy .display-title,
  .roster-head .display-title,
  .commercial-head .display-title,
  .closing-left .display-title {
    font-size: clamp(39px, 11vw, 58px);
  }

  .display-dek {
    font-size: 16px;
  }

  .cover-content {
    --cover-indent: 0px;
    min-height: 100vh;
    padding-top: 100px;
  }

  .cover-lockup {
    width: 100%;
    min-height: 0;
    grid-template-columns: minmax(0, 1fr) 1px minmax(0, 1fr);
    gap: 18px;
    margin: auto 0 24px;
  }

  .cover-lockup > i {
    height: 54px;
  }

  .cover-kicker {
    margin-top: 0;
  }

  .cover h1 {
    font-size: clamp(58px, 16vw, 84px);
  }

  .why-layout,
  .major-top,
  .major-investment-head,
  .vrs-layout,
  .national-proof-head,
  .revenue-projection-head,
  .revenue-cards-head,
  .funds-vercel-layout,
  .development-head,
  .scale-head,
  .milestones-head,
  .roster-head,
  .commercial-head,
  .closing-vercel-layout,
  .closing-layout {
    display: block;
  }

  .commercial-callout,
  .closing-right {
    margin-top: 36px;
  }

  .why-layout {
    padding-bottom: 0;
  }

  .why-copy .display-title {
    font-size: clamp(38px, 10.4vw, 52px);
  }

  .why-copy .display-dek {
    font-size: 15px;
  }

  .fact-line {
    grid-template-rows: none;
    margin-top: 24px;
  }

  .fact-line div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 0;
    padding: 15px 0;
    gap: 18px;
  }

  .fact-line strong {
    font-size: 37px;
  }

  .fact-line span {
    max-width: 58%;
    font-size: 10.5px;
    letter-spacing: 0.11em;
    text-align: right;
  }

  .editorial-image {
    min-height: 0;
    height: 320px;
    margin: 28px -20px 0;
    border-left: 0;
    border-right: 0;
  }

  .video-volume {
    right: 16px;
    bottom: 16px;
  }

  .major-analogy {
    gap: 6px;
    padding: 15px 76px 17px 20px;
  }

  .major-analogy strong {
    font-size: 19px;
  }

  .major-analogy small {
    font-size: 10.5px;
  }


  .why-sources {
    margin-top: 18px;
    gap: 9px 18px;
  }

  .why-sources a {
    font-size: 11.5px;
  }

  .major-economics,
  .demand-stats,
  .audience-grid,
  .commercial-lanes,
  .funds-grid,
  .scale-years,
  .transfer-benchmarks {
    grid-template-columns: 1fr 1fr;
  }

  .major-economics > div,
  .demand-stats > div {
    border-bottom: 1px solid var(--line-light);
  }

  .major-economics .major-highlight {
    grid-column: 1 / -1;
  }

  .major-equation,
  .major-simple-grid,
  .revenue-card-grid,
  .profitability-strip,
  .closing-vercel-facts {
    grid-template-columns: 1fr;
  }

  .profitability-strip article {
    border-right: 0;
    border-bottom: 1px solid var(--line-dark);
  }

  .profitability-strip article:last-child {
    border-bottom: 0;
  }

  .major-equation article,
  .major-equation article.major-equation-primary {
    padding: 24px 20px;
    border-right: 0;
    border-bottom: 1px solid var(--line-light);
  }

  .major-equation article > strong {
    font-size: 46px;
  }

  .major-equation-math {
    min-height: 104px;
    border-right: 0;
    border-bottom: 1px solid var(--line-light);
    border-left: 0;
  }

  .major-simple-grid > div,
  .major-simple-grid > div:first-child {
    padding: 17px 0;
    border-right: 0;
    border-bottom: 1px solid var(--line-light);
  }

  .major-simple-grid .open-circuit {
    padding: 17px;
  }

  .major-layer-callout {
    grid-template-columns: 1fr;
    gap: 9px;
    padding: 19px 0;
  }

  .major-footer {
    align-items: flex-start;
    flex-direction: column;
  }

  .demand {
    display: block;
  }

  .demand-hero {
    height: 520px;
  }

  .demand-copy {
    padding-top: 90px;
  }

  .operating-flow {
    grid-template-columns: 1fr;
  }

  .operating-flow article,
  .operating-flow article:not(:first-child) {
    padding-left: 0;
    border-right: 0;
    border-bottom: 1px solid var(--line-dark);
  }

  .development-path {
    grid-template-columns: 1fr;
  }

  .development-path > i {
    height: 34px;
    transform: rotate(90deg);
  }

  .vrs-board {
    margin-top: 36px;
    padding: 24px 22px 21px;
  }

  .vrs-roster {
    grid-template-columns: repeat(5, 180px);
    margin-top: 36px;
    overflow-x: auto;
  }

  .vrs-roster-label.core {
    grid-column: 1 / 4;
  }

  .vrs-roster-label.upgrades {
    grid-column: 4 / 6;
  }

  .vrs-roster article {
    height: 240px;
  }

  .national-proof-grid,
  .national-commercial-rail {
    grid-template-columns: 1fr;
  }

  .teamusa-card {
    padding-right: 0;
    border-right: 0;
    border-bottom: 1px solid var(--line-dark);
  }

  .teamusa-roster {
    grid-template-columns: repeat(5, minmax(105px, 1fr));
    overflow-x: auto;
  }

  .national-benchmark {
    padding-right: 0;
    padding-left: 0;
  }

  .national-benchmark-media {
    height: 230px;
  }

  .national-benchmark figcaption {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .national-commercial-rail {
    gap: 18px;
  }

  .national-proof .source-row {
    grid-column: auto;
  }

  .national-proof-objective {
    grid-template-columns: 1fr;
    gap: 10px;
    margin-top: 34px;
  }

  .roster-strip {
    grid-template-columns: 1fr 1fr;
  }

  .roster-strip figure:last-child {
    grid-column: 1 / -1;
  }

  .roster-strip img {
    height: 300px;
  }

  .roster-footer {
    align-items: flex-start;
    flex-direction: column;
  }

  .roster-footer i {
    display: none;
  }

  .distribution,
  .revenue {
    display: block;
  }

  .distribution-media,
  .revenue-visual {
    min-height: 520px;
  }

  .distribution-copy,
  .revenue-copy {
    min-height: auto;
    padding: 42px 20px;
  }

  .revenue-projection {
    grid-template-columns: minmax(170px, 1.1fr) repeat(3, minmax(130px, 0.8fr));
    overflow-x: auto;
  }

  .projection-year strong {
    font-size: 32px;
  }

  .revenue-card-grid article {
    min-height: auto;
    border-right: 0;
    border-bottom: 1px solid var(--line-dark);
  }

  .revenue-card-grid article:last-child {
    border-bottom: 0;
  }

  .funds-breakdown {
    margin-top: 20px;
  }


  .milestone-track {
    grid-template-columns: 1fr;
    margin-top: 32px;
  }

  .milestone-track article {
    min-height: 230px;
    border-right: 0;
    border-bottom: 1px solid var(--line-light);
  }

  .milestone-track article::after {
    top: auto;
    right: 22px;
    bottom: -10px;
    transform: rotate(90deg);
  }

  .milestone-track h3 {
    margin-top: 45px;
  }

  .milestone-proof {
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 18px 0;
  }

  .ownership-vercel {
    margin-top: 36px;
  }

  .closing-vercel-facts > div,
  .closing-vercel-facts > div:nth-child(even) {
    padding: 17px 0;
    border-right: 0;
  }

  .closing-vercel-line {
    grid-template-columns: 1fr;
    gap: 16px;
    margin-top: 36px;
  }

  .commercial-gallery {
    grid-template-columns: 1fr;
  }

  .commercial-gallery figure {
    min-height: 310px;
  }

  .commercial-lanes > div:nth-child(even) {
    border-right: 0;
  }

  .funds-total {
    margin-top: 30px;
  }

  .funds-grid > div,
  .funds-grid > div:nth-child(even),
  .funds-grid > div:last-child {
    grid-column: auto;
    padding: 0 12px;
  }

  .funds-footer {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .funds-footer p {
    padding: 0 24px 4px;
  }

  .scale-years .scale-hot {
    grid-column: 1 / -1;
  }

  .closing-line {
    grid-template-columns: 1fr;
    gap: 18px;
    margin-top: 42px;
  }

  .major-stat-strip {
    grid-template-columns: 1fr 1fr;
  }

  .major-stat-strip > div,
  .major-stat-strip > div:first-child {
    min-height: 130px;
    padding: 24px 18px;
    border-bottom: 1px solid var(--line-light);
  }

  .major-stat-strip > div:nth-child(even) {
    border-right: 0;
  }

  .major-stat-strip > div::before,
  .major-stat-strip > div:first-child::before {
    left: 18px;
  }

  .major-benchmark {
    grid-template-columns: 1fr;
    gap: 9px;
    padding: 22px 0;
  }

  .major-value-row {
    grid-template-columns: 1fr;
  }

  .major-value-row article,
  .major-value-row article:last-child {
    grid-template-areas:
      "label"
      "value"
      "description";
    grid-template-columns: 1fr;
    gap: 9px;
    padding: 22px 18px;
    border-right: 0;
  }

  .major-money-grid,
  .revenue-engine-head,
  .revenue-engine-grid {
    grid-template-columns: 1fr;
  }

  .major-money-grid article,
  .major-money-grid article + article {
    min-height: 128px;
    grid-template-areas:
      "label"
      "value"
      "description";
    grid-template-columns: 1fr;
    gap: 9px;
    padding: 22px 18px;
  }

  .major-context-row {
    grid-template-columns: 1fr 1fr;
  }

  .major-context-row span,
  .major-context-row span:first-child {
    padding: 13px 16px;
  }

  .major-context-row span:nth-child(even) {
    border-right: 0;
  }

  .revenue-engine-head {
    gap: 20px;
  }

  .revenue-engine-head .display-dek {
    margin-top: 20px;
  }

  .revenue-engine-grid article {
    min-height: auto;
    border-right: 0;
    border-bottom: 1px solid var(--line-dark);
  }

  .revenue-engine-grid article:last-child {
    border-bottom: 0;
  }

  .revenue-engine-footer {
    flex-wrap: wrap;
    gap: 10px;
    padding: 16px 0;
  }

  .revenue-engine-footer i {
    flex: 0 0 20px;
  }

  .major-sources {
    flex-direction: column;
  }
}

@media (max-width: 980px) {
  .mo-frame {
    display: flex;
    flex-direction: column;
  }

  .mo-grid {
    display: contents;
  }

  .mo-head {
    order: 1;
  }

  .mo-case {
    order: 2;
    margin-top: 24px;
  }

  .mo-partners {
    order: 3;
  }

  .mo-agent {
    order: 4;
  }

  .mo-sources {
    order: 5;
  }

  .mo-exhibit {
    display: flex;
    flex-direction: column;
    order: 1;
    margin-top: 0;
  }

  .mo-photo {
    order: 2;
    margin-top: 26px;
  }

  .mo-photo-frame {
    aspect-ratio: 16 / 9;
  }

  .mo-photo-frame img {
    left: -22%;
    width: 122%;
    max-width: none;
  }

  .mo-partners {
    margin-top: 30px;
  }

  .mo-partner-head {
    align-items: flex-start;
    flex-direction: column;
    gap: 9px;
  }

  .mo-partner-groups {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .mo-partner-group + .mo-partner-group {
    padding-top: 20px;
    padding-left: 0;
    border-top: 1px solid var(--line-light);
    border-left: 0;
  }

  .mo-agent {
    margin-top: 34px;
    padding-top: 20px;
  }

  .mo-agent-leader {
    display: none;
  }

  .mo-agent-mark {
    padding-top: 26px;
  }

  .mo-agent-mark img {
    height: 96px;
  }

  .distribution-event-card {
    right: 20px;
    bottom: 20px;
    left: 20px;
  }

  .agent-proof-strip {
    grid-template-columns: 1fr;
  }

  .agent-proof-strip article,
  .agent-proof-strip article:not(:first-child) {
    padding: 14px 0;
    border-right: 0;
    border-bottom: 1px solid var(--line-dark);
  }

  .agent-proof-strip article:last-child {
    border-bottom: 0;
  }

  .mj-head {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .mj-title {
    max-width: none;
  }

  .mj-dek {
    max-width: 560px;
    margin-bottom: 0;
  }

  .mj-chain,
  .mj-prog-row {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .mj-prog-row {
    border-bottom: 0;
  }

  .mj-arrow {
    align-self: flex-start;
    width: 30px;
    margin: 16px 0;
    line-height: 1;
    text-align: left;
    transform: rotate(90deg);
    transform-origin: 12px center;
  }

  .mj-step > .mj-step-copy {
    margin-top: 0;
  }

  .mj-stage {
    display: flex;
    flex-direction: column;
    grid-row: auto;
    grid-column: auto;
    border-bottom: 2px solid var(--ink);
  }

  .mj-stage > strong {
    align-self: flex-start;
    margin-top: 12px;
  }

  .mj-compound {
    align-self: stretch;
    margin-top: 12px;
  }

  .mj-crowd {
    margin-top: 14px;
  }

  .mj-stage-one + .mj-prog-link,
  .mj-stage-compound + .mj-prog-link {
    grid-row: auto;
    grid-column: auto;
    align-self: flex-start;
    width: 2px;
    height: 26px;
    margin: 16px 0 16px 1px;
    background: var(--red);
  }

  .mj-prog-link::before {
    display: none;
  }

  .mj-prog-link::after {
    top: auto;
    right: auto;
    bottom: -1px;
    left: -4px;
    border-top: 8px solid var(--red);
    border-right: 5px solid transparent;
    border-bottom: 0;
    border-left: 5px solid transparent;
  }

  .mj-proof {
    padding: 16px 0 14px;
  }

  .mj-proof-head {
    display: block;
  }

  .mj-proof-head > span {
    display: block;
    margin-top: 5px;
    text-align: left;
  }

  .mj-proof-row {
    display: block;
    margin-top: 2px;
  }

  .mj-proof-item {
    display: flex;
    align-items: baseline;
    gap: 16px;
    margin-top: 13px;
    padding-top: 13px;
    border-top: 1px solid var(--line-light);
  }

  .mj-proof-item + .mj-proof-item {
    padding-left: 0;
    border-left: 0;
  }

  .mj-proof-item strong {
    align-self: auto;
  }

  .mj-proof-item p {
    margin-top: 0;
  }

  .mj-proof-takeaway {
    margin-top: 13px;
    padding: 13px 0 0;
    border-top: 1px solid var(--line-light);
    border-left: 0;
  }

  .major-payout-band,
  .major-compound {
    grid-template-columns: 1fr;
  }

  .major-payout-band > i {
    min-height: 68px;
    border-top: 1px solid rgba(239, 238, 233, 0.14);
    border-right: 0;
    border-bottom: 1px solid rgba(239, 238, 233, 0.14);
    border-left: 0;
  }

  .major-compound-copy,
  .major-year-three {
    padding: 18px 0;
  }

  .major-compound-lanes {
    border-top: 1px solid var(--line-light);
    border-right: 0;
    border-bottom: 1px solid var(--line-light);
    border-left: 0;
  }

  .major-tier-head {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .major-tier-head .display-title {
    font-size: 46px;
  }

  .major-tier-band {
    grid-template-columns: 1fr;
  }

  .major-tier-band article {
    min-height: 142px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  }

  .major-tier-arrow {
    display: none;
  }

  .major-tier-multiplier {
    min-height: 94px;
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    border-left: 0;
  }

  .major-tier-context,
  .major-agent-path {
    grid-template-columns: 1fr;
  }

  .major-tier-context > span,
  .major-tier-context > span:first-child {
    padding: 16px 0;
    border-right: 0;
    border-bottom: 1px solid var(--line-light);
  }

  .major-agent-path {
    gap: 10px;
    padding: 18px 0;
  }

  .major-agent-path > i {
    text-align: left;
  }

  .vrs-market {
    grid-template-columns: 1fr;
  }

  .vrs-market article {
    min-height: 180px;
    border-right: 0;
    border-bottom: 1px solid var(--line-dark);
  }
}

@media (max-width: 620px) {
  .mo-head .display-dek {
    font-size: 16px;
  }

  .mo-case {
    margin-top: 20px;
  }

  .mo-exhibit-money,
  .mo-exhibit-support {
    grid-template-columns: 1fr;
  }

  .mo-metric,
  .mo-metric + .mo-metric {
    padding: 15px 0;
    border-left: 0;
  }

  .mo-metric + .mo-metric {
    border-top: 1px solid var(--line-light);
  }

  .mo-metric-money strong {
    font-size: 60px;
  }

  .mo-metric-money span {
    margin-top: 9px;
  }

  .mo-exhibit-support .mo-metric {
    padding: 12px 0;
  }

  .mo-photo {
    margin-top: 20px;
  }

  .mo-photo-frame {
    aspect-ratio: 4 / 3;
  }

  .mo-partners {
    margin-top: 26px;
    padding-top: 14px;
  }

  .mo-partner-label {
    font-size: 10.5px;
  }

  .mo-partner-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px 24px;
  }

  .mo-partner-head {
    align-items: flex-start;
    flex-direction: column;
    gap: 9px;
  }

  .mo-partner-groups {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .mo-partner-group + .mo-partner-group {
    padding-top: 20px;
    padding-left: 0;
    border-top: 1px solid var(--line-light);
    border-left: 0;
  }

  .mo-brand span {
    font-size: 9px;
  }

  .mo-logo-redbull {
    height: 36px;
  }

  .mo-logo-livenation {
    height: 26px;
  }

  .mo-logo-alienware {
    height: 34px;
  }

  .mo-logo-mcdonalds {
    height: 40px;
  }

  .mo-logo-monster {
    height: 38px;
  }

  .mo-logo-ralph {
    width: min(100%, 170px);
  }

  .mo-agent {
    margin-top: 30px;
  }

  .mo-agent-line {
    max-width: none;
  }

  .mo-agent-mark {
    padding-top: 24px;
  }

  .mo-agent-mark img {
    height: 84px;
  }

  .mo-sources {
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
  }

  .distribution-event-card {
    padding: 18px;
  }

  .mj-title {
    font-size: clamp(36px, 10vw, 44px);
  }

  .mj-products {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .mj-shot {
    height: clamp(150px, 44vw, 210px);
  }

  .mj-figs strong {
    font-size: 46px;
  }

  .mj-pool-fig strong {
    font-size: 54px;
  }

  .mj-stage > strong {
    font-size: clamp(40px, 11.4vw, 52px);
  }

  .mj-stage-scale > strong {
    font-size: clamp(34px, 9.6vw, 44px);
  }

  .mj-proof-item {
    align-items: flex-start;
    flex-direction: column;
    gap: 7px;
  }

  .major-payout-band article {
    min-width: 0;
    padding: 22px 20px;
  }

  .major-payout-band article > strong {
    font-size: 48px;
    white-space: normal;
  }

  .major-compound-lanes {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .major-compound-lanes > span {
    border-bottom: 1px solid var(--line-light);
  }

  .major-compound-lanes > span:nth-last-child(2) {
    border-bottom: 0;
  }

  .major-compound-lanes > span:last-child {
    grid-column: 1 / -1;
    border-bottom: 0;
  }
}

@media (max-width: 820px) {
  .funds-lean-hero {
    grid-template-columns: 1fr;
  }

  .funds-lean-cost,
  .funds-lean-metric {
    min-height: 130px;
    padding: 24px 0;
  }

  .funds-lean-metric {
    border-top: 1px solid var(--line-light);
    border-left: 0;
  }

  .funds-lean-breakdown {
    grid-template-columns: 1fr;
    column-gap: 0;
  }

  .funds-lean-principle {
    grid-template-columns: 1fr;
    gap: 10px;
  }
}

/* ===== Roster overlay (mirrors .wa-overlay) ===== */

.roster-overlay .wa-ov-shell {
  grid-template-columns: minmax(0, 1.9fr) minmax(360px, 1fr);
}

.ro-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(10px, 1vw, 16px);
  max-width: 880px;
}

.ro-player {
  display: flex;
  flex-direction: column;
  min-width: 0;
  margin: 0;
}

.ro-crop {
  position: relative;
  display: block;
  aspect-ratio: 0.78;
  overflow: hidden;
  background: #0a0a0a;
  border: 1px solid rgba(239, 238, 233, 0.16);
}

.ro-crop img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 10%;
  transform: scale(1.18);
  transform-origin: 50% 8%;
}

.ro-player figcaption {
  display: grid;
  grid-template-columns: 14px minmax(0, auto);
  column-gap: 9px;
  align-items: center;
  justify-content: start;
  padding-top: 9px;
  color: rgba(239, 238, 233, 0.92);
  font-size: clamp(12px, 0.95vw, 15px);
  font-weight: 800;
  letter-spacing: -0.01em;
}

.ro-player figcaption::before {
  content: "";
  grid-column: 1;
  grid-row: 1;
  width: 14px;
  height: 2px;
  background: var(--red);
}

.ro-player figcaption .name-tag {
  grid-column: 2;
  grid-row: 1;
}

.ro-player figcaption .name-real {
  grid-column: 2;
  grid-row: 2;
  margin-top: 2px;
  font-size: clamp(10px, 0.75vw, 12px);
  font-weight: 650;
  color: rgba(239, 238, 233, 0.6);
}

.ro-lane {
  border-top: 2px solid var(--ink);
}

.ro-rows {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 18px;
}

.ro-row {
  padding: 12px 0 13px;
}

.ro-row + .ro-row {
  padding-left: 18px;
  border-left: 1px solid rgba(15, 15, 15, 0.18);
}

.ro-row em {
  display: block;
  font-style: normal;
  font-size: 9px;
  font-weight: 850;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(15, 15, 15, 0.45);
}

.ro-row b {
  display: block;
  margin-top: 6px;
  font-size: clamp(24px, 1.7vw, 30px);
  font-weight: 800;
  line-height: 0.95;
  letter-spacing: -0.03em;
  color: rgba(15, 15, 15, 0.68);
}

.ro-row.hot b {
  color: var(--ink);
}

.ro-row span {
  display: block;
  margin-top: 5px;
  font-size: 9.5px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(15, 15, 15, 0.5);
}

.ro-note {
  margin: 0;
  padding: 10px 0 0;
  border-top: 1px solid rgba(15, 15, 15, 0.18);
  color: rgba(15, 15, 15, 0.62);
  font-size: 11px;
  line-height: 1.5;
}

.ro-note a {
  color: inherit;
  text-underline-offset: 4px;
}

.ro-note a:hover {
  color: var(--navy);
}

.ro-claim {
  margin: 8px 0 0;
  color: var(--ink);
  font-size: 12.5px;
  font-weight: 800;
  letter-spacing: -0.01em;
}

.ro-event {
  border-top: 2px solid var(--ink);
  padding-top: 11px;
}

.ro-event-name {
  margin: 0;
  color: var(--ink);
  font-size: clamp(15px, 1.1vw, 18px);
  font-weight: 800;
  letter-spacing: -0.02em;
}

.ro-event-name span {
  margin-left: 8px;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(15, 15, 15, 0.5);
}

.ro-event-note {
  margin: 6px 0 0;
  color: rgba(15, 15, 15, 0.62);
  font-size: 11.5px;
  line-height: 1.48;
}

.ro-stat {
  display: flex;
  align-items: center;
  gap: clamp(14px, 1.4vw, 22px);
  padding-top: 13px;
  border-top: 2px solid var(--ink);
}

.ro-stat b.ro-hot {
  color: var(--red);
  font-size: clamp(40px, 3vw, 54px);
  font-weight: 800;
  line-height: 0.85;
  letter-spacing: -0.04em;
}

.ro-stat p {
  max-width: 300px;
  margin: 0;
  color: rgba(15, 15, 15, 0.62);
  font-size: 12px;
  line-height: 1.48;
}

.ro-stat p span {
  display: block;
  margin-bottom: 4px;
  font-size: 9px;
  font-weight: 850;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: rgba(15, 15, 15, 0.45);
}

.ro-close-line {
  margin: clamp(14px, 2vh, 20px) 0 0;
  padding-top: 12px;
  border-top: 1px solid rgba(15, 15, 15, 0.18);
  color: var(--ink);
  font-size: clamp(13px, 1vw, 15px);
  font-weight: 800;
  line-height: 1.4;
}

@media (max-width: 820px) {
  .ro-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
  }

  .ro-stat b.ro-hot {
    font-size: 44px;
  }
}

/* Labelled close affordance on the full-screen overlays */
.wa-ov-word {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  line-height: 1;
  order: -1;
}

.wa-ov-word b {
  font-size: 9.5px;
  font-weight: 800;
  letter-spacing: 0.14em;
  padding: 4px 6px;
  border: 1px solid currentColor;
  border-radius: 3px;
  opacity: 0.75;
}

.wa-ov-x {
  font-size: 32px;
  font-weight: 300;
  line-height: 1;
}

@media (max-width: 640px) {
  .wa-ov-word { display: none; }
  .wa-ov-close { padding: 0; width: 46px; justify-content: center; }
}

/* ===== Restored slide 4 + 5 (market / Major economics) ===== */
.c5-flow {
  position: relative;
  flex: 0 1 auto;
  min-height: 0;
  display: grid;
  grid-template-columns:
    minmax(0, 1fr) clamp(26px, 2.6vw, 46px) minmax(0, 1.32fr) clamp(26px, 2.6vw, 46px)
    minmax(0, 0.92fr) clamp(26px, 2.6vw, 46px) minmax(0, 1.06fr);
  border-top: 2px solid var(--ink);
  padding-top: clamp(38px, 5vh, 52px);
}

.c5-return {
  position: absolute;
  top: clamp(10px, 1.5vh, 14px);
  left: 10.7%;
  right: 11.3%;
  height: clamp(20px, 2.8vh, 28px);
  border: 2px solid var(--red);
  border-bottom: none;
  border-radius: 14px 14px 0 0;
  pointer-events: none;
}

.c5-return::before {
  content: "";
  position: absolute;
  left: -7px;
  bottom: -9px;
  border-top: 9px solid var(--red);
  border-left: 5.5px solid transparent;
  border-right: 5.5px solid transparent;
}

.c5-forward {
  margin: 10px 0 0;
  color: var(--muted-light);
  font-family: ui-monospace, "SF Mono", "Cascadia Mono", Consolas, Menlo, monospace;
  font-size: 9.5px;
  font-weight: 500;
  letter-spacing: 0.08em;
  line-height: 1.4;
  text-transform: uppercase;
}

@media (min-width: 981px) and (max-height: 800px) {
  .c5-forward {
      margin-top: 7px;
      font-size: 9px;
    }
}

/* the arc is one directed loop: it leaves step 4 at the dot and re-enters
   step 1 at the arrowhead. Without the dot the right end reads unfinished. */
.c5-return::after {
  content: "";
  position: absolute;
  right: -4px;
  bottom: -4px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--red);
}

.c5-return span {
  position: absolute;
  left: 50%;
  top: -7px;
  transform: translateX(-50%);
  padding: 0 12px;
  background: var(--paper);
  color: var(--red);
  font-size: 9.5px;
  font-weight: 800;
  letter-spacing: 0.16em;
  line-height: 1.4;
  text-transform: uppercase;
  white-space: nowrap;
}

.c5-return-m {
  display: none;
}

.c5-step {
  position: relative;
  min-width: 0;
  display: flex;
  flex-direction: column;
}

.c5-sh {
  display: flex;
  align-items: baseline;
  gap: 12px;
  min-height: 30px;
  margin-bottom: clamp(10px, 1.6vh, 15px);
  color: var(--ink);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.2em;
  line-height: 1.25;
  text-transform: uppercase;
}

.c5-sh b {
  color: var(--red);
}

.c5-exp {
  margin: 0;
  color: var(--muted-light);
  font-size: clamp(11.5px, 0.9vw, 13.5px);
  line-height: 1.55;
}

.c5-line {
  margin: clamp(10px, 1.6vh, 15px) 0 0;
  color: var(--muted-light);
  font-size: clamp(11px, 0.85vw, 12.5px);
  line-height: 1.5;
}

.c5-flow a,
.c5-band a {
  color: inherit;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  text-decoration-color: rgba(7, 8, 7, 0.38);
}

.c5-flow a:hover,
.c5-band a:hover {
  color: var(--red);
  text-decoration-color: var(--red);
}

/* step 01: agent qualifies */

.c5-spots {
  display: flex;
  align-items: baseline;
  gap: 12px;
  margin: clamp(14px, 2.6vh, 26px) 0 0;
}

.c5-spots strong {
  font-size: clamp(50px, 4.4vw, 84px);
  font-weight: 800;
  letter-spacing: -0.06em;
  line-height: 0.85;
  color: var(--red);
}

.c5-spots em {
  font-style: normal;
  font-size: clamp(22px, 1.8vw, 34px);
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--ink);
}

.c5-roster {
  margin: clamp(10px, 1.7vh, 16px) 0 0;
  padding-top: clamp(8px, 1.3vh, 12px);
  border-top: 2px solid var(--navy);
  color: var(--ink);
  font-size: clamp(12.5px, 1vw, 15px);
  font-weight: 800;
  letter-spacing: -0.01em;
  line-height: 1.35;
}

/* step 02: fans buy */

.c5-eq {
  margin-top: clamp(10px, 1.6vh, 15px);
}

.c5-eq p {
  display: grid;
  grid-template-columns: minmax(0, 0.98fr) auto minmax(0, 1.02fr);
  align-items: baseline;
  gap: 10px;
  margin: 0;
  padding: clamp(7px, 1.1vh, 10px) 0;
  border-top: 1px solid var(--line-light);
  color: var(--ink);
  font-size: clamp(10px, 0.8vw, 12px);
  font-weight: 800;
  letter-spacing: 0.09em;
  line-height: 1.3;
  text-transform: uppercase;
}

.c5-eq p:last-child {
  border-bottom: 1px solid var(--line-light);
}

.c5-eq i {
  color: var(--red);
  font-style: normal;
  font-size: 14px;
  line-height: 1;
}

.c5-eq span {
  color: var(--navy);
}

.c5-sticker {
  display: flex;
  align-items: center;
  gap: clamp(14px, 1.5vw, 22px);
  margin: clamp(12px, 2vh, 20px) 0 0;
}

.c5-sticker img {
  flex: 0 0 auto;
  display: block;
  width: clamp(124px, 10.2vw, 178px);
  aspect-ratio: 1 / 1;
  border: 1px solid var(--line-light);
}

.c5-sticker-view {
  flex: 0 0 auto;
  display: block;
  padding: 0;
  border: 0;
  background: none;
  cursor: zoom-in;
  line-height: 0;
}

.c5-sticker-view img {
  transition: filter 0.18s ease, box-shadow 0.18s ease;
}

.c5-sticker-view:hover img {
  filter: brightness(1.04);
  box-shadow: 0 0 0 1px var(--red);
}

.c5-sticker-view:focus-visible {
  outline: 2px solid var(--red);
  outline-offset: 3px;
}

.c5-sticker figcaption {
  min-width: 0;
}

.c5-sticker-cue {
  display: block;
  margin-top: clamp(7px, 1.1vh, 10px);
  color: var(--red);
  font-size: 9.5px;
  font-style: normal;
  font-weight: 800;
  letter-spacing: 0.12em;
  line-height: 1.5;
  text-transform: uppercase;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.c5-sticker-cue {
  width: max-content;
  max-width: 100%;
  cursor: pointer;
}

.c5-flow a.c5-sticker-cue {
  color: var(--red);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-decoration-color: var(--red);
  text-underline-offset: 3px;
}

.c5-flow a.c5-sticker-cue:hover {
  color: var(--ink);
  text-decoration-color: var(--ink);
}

.c5-sticker-cue:focus-visible {
  outline: 2px solid var(--red);
  outline-offset: 3px;
}

.c5-sticker figcaption b {
  display: block;
  color: var(--muted-light);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.c5-sticker figcaption strong {
  display: block;
  margin-top: 4px;
  color: var(--ink);
  font-size: clamp(15px, 1.25vw, 20px);
  font-weight: 800;
  letter-spacing: 0.02em;
  line-height: 1.1;
  text-transform: uppercase;
}

.c5-sticker figcaption strong::after {
  content: "";
  display: block;
  width: 38px;
  height: 2px;
  margin: clamp(7px, 1.1vh, 10px) 0;
  background: var(--red);
}

.c5-sticker figcaption span {
  display: block;
  color: var(--muted-light);
  font-size: 9.5px;
  font-weight: 800;
  letter-spacing: 0.12em;
  line-height: 1.5;
  text-transform: uppercase;
}

/* step 03: money enters a shared pool */

.c5-pool {
  width: max-content;
  max-width: 100%;
  margin: clamp(14px, 2.6vh, 26px) 0 0;
  padding-bottom: clamp(10px, 1.6vh, 15px);
  border-bottom: 1px solid rgba(7, 8, 7, 0.42);
  color: var(--navy);
  font-size: clamp(58px, 4.8vw, 92px);
  font-weight: 800;
  letter-spacing: -0.05em;
  line-height: 0.85;
}

.c5-poolline {
  margin: clamp(10px, 1.6vh, 15px) 0 0;
  color: var(--ink);
  font-size: clamp(12.5px, 1vw, 15px);
  font-weight: 700;
  line-height: 1.5;
}

/* step 04: clubs get paid (open ivory column, strong red top rule) */

/* the two facts are the payoff's own claims, not footnotes: they read at
   claim scale, one step under the figure, above the attribution's voice. */
.c5-paid-facts {
  margin: clamp(13px, 2vh, 22px) 0 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--line-light);
}

.c5-paid-facts li {
  padding: clamp(9px, 1.5vh, 14px) 0;
  border-bottom: 1px solid var(--line-light);
}

.c5-paid-facts b {
  display: block;
  color: var(--ink);
  font-size: clamp(13.5px, 1.1vw, 16.5px);
  font-weight: 800;
  letter-spacing: -0.01em;
  line-height: 1.3;
}

.c5-paid-facts span {
  display: block;
  margin-top: 3px;
  color: var(--muted-light);
  font-size: clamp(11px, 0.85vw, 12.5px);
  font-weight: 600;
  line-height: 1.4;
}

.c5-paid-block {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
}

.c5-paid .c5-paid-block .c5-exp {
  margin-top: clamp(10px, 1.6vh, 15px);
  color: var(--ink);
  font-weight: 600;
}

.c5-payout {
  margin: clamp(14px, 2.6vh, 28px) 0 0;
  color: var(--red);
  font-size: clamp(30px, 2.9vw, 55px);
  font-weight: 800;
  letter-spacing: -0.05em;
  line-height: 0.95;
  white-space: nowrap;
}

.c5-paid .c5-exp {
  margin-top: clamp(10px, 1.6vh, 15px);
  color: var(--ink);
  font-weight: 600;
}

/* step 05: qualify again */

.c5-lead {
  margin: clamp(12px, 2vh, 18px) 0 0;
  color: var(--ink);
  font-size: clamp(13px, 1.05vw, 16px);
  font-weight: 800;
  letter-spacing: -0.01em;
  line-height: 1.4;
}

/* connecting arrows */

.c5-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 2px;
}

.c5-arrow i {
  position: relative;
  width: 100%;
  max-width: 40px;
  height: 3px;
  background: var(--red);
}

.c5-arrow i::after {
  content: "";
  position: absolute;
  right: -2px;
  top: 50%;
  transform: translateY(-50%);
  border-left: 10px solid var(--red);
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
}

/* lower evidence rail */

.c5-band {
  margin-top: clamp(16px, 2.6vh, 28px);
}

.c5-band-label {
  display: flex;
  align-items: center;
  gap: 16px;
  margin: 0;
  color: var(--navy);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

/* one table, three kinds of proof: the 2px rule opens the exhibit the same
   way the cycle above opens, and the kind labels head the columns. */
.c5-bk {
  display: block;
  margin: 0 0 clamp(8px, 1.2vh, 12px);
  color: var(--muted-light);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.2em;
  line-height: 1.3;
  text-transform: uppercase;
}

.c5-band-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-template-rows: auto auto auto auto;
  margin-top: clamp(9px, 1.4vh, 14px);
  padding-top: clamp(10px, 1.6vh, 15px);
  border-top: 2px solid var(--ink);
}

.c5-growth {
  display: flex;
  align-items: baseline;
  gap: clamp(7px, 0.6vw, 11px);
  font-size: clamp(24px, 2.05vw, 38px);
  white-space: nowrap;
}

.c5-growth i {
  color: var(--red);
  font-size: 0.62em;
  font-style: normal;
  font-weight: 800;
}

.c5-spots-bar {
  margin-top: clamp(12px, 1.8vh, 18px);
  height: 7px;
  background: var(--line-light);
}

.c5-spots-bar i {
  display: block;
  width: 28.125%;
  height: 100%;
  background: var(--red);
}

.c5-bp {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 4;
  align-content: start;
  min-width: 0;
  padding-right: clamp(16px, 1.8vw, 30px);
}

.c5-bp + .c5-bp {
  border-left: 1px solid var(--line-light);
  padding-left: clamp(16px, 1.8vw, 30px);
}

.c5-bp > strong {
  align-self: end;
  color: var(--ink);
  font-size: clamp(30px, 2.5vw, 44px);
  font-weight: 800;
  letter-spacing: -0.05em;
  line-height: 0.9;
}

.c5-bp > strong.c5-word {
  padding-bottom: 3px;
  font-size: clamp(18px, 1.55vw, 27px);
  letter-spacing: 0.05em;
  line-height: 1;
  text-transform: uppercase;
}

.c5-bp > b {
  margin-top: 9px;
  color: var(--ink);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.12em;
  line-height: 1.35;
  text-transform: uppercase;
}

.c5-bp > p {
  margin: 7px 0 0;
  color: var(--muted-light);
  font-size: clamp(10.5px, 0.82vw, 12px);
  line-height: 1.5;
}

/* the media-rights disclosure closes the table as a full-width footnote,
   right-aligned so it sits under the Broadcasting column it qualifies. */
.c5-band-note {
  margin: clamp(8px, 1.2vh, 12px) 0 0;
  padding-top: clamp(6px, 0.9vh, 9px);
  border-top: 1px solid var(--line-light);
  color: var(--muted-light);
  opacity: 0.85;
  font-size: 9.5px;
  line-height: 1.45;
  text-align: right;
}

@media (min-width: 821px) and (max-height: 840px) {
  .c5-flow {
      padding-top: 30px;
    }
  .c5-return {
      top: 6px;
      height: 17px;
      border-radius: 11px 11px 0 0;
    }
  .c5-return span {
      top: -6px;
      font-size: 8.5px;
    }
  .c5-sh {
      min-height: 26px;
      margin-bottom: 8px;
      font-size: 10px;
    }
  .c5-exp {
      font-size: 11.5px;
      line-height: 1.5;
    }
  .c5-spots {
      margin-top: 12px;
    }
  .c5-spots strong {
      font-size: 46px;
    }
  .c5-spots em {
      font-size: 20px;
    }
  .c5-line {
      margin-top: 9px;
      font-size: 10.5px;
    }
  .c5-roster {
      margin-top: 10px;
      padding-top: 8px;
      font-size: 12px;
    }
  .c5-eq {
      margin-top: 9px;
    }
  .c5-eq p {
      padding: 6px 0;
      font-size: 10px;
    }
  .c5-sticker {
      margin-top: 11px;
      gap: 12px;
    }
  .c5-sticker img {
      width: 111px;
    }
  .c5-sticker figcaption b {
      font-size: 9px;
    }
  .c5-sticker figcaption strong {
      font-size: 13.5px;
    }
  .c5-sticker figcaption strong::after {
      margin: 6px 0;
    }
  .c5-sticker figcaption span {
      font-size: 8.5px;
    }
  .c5-pool {
      margin-top: 12px;
      padding-bottom: 9px;
      font-size: 50px;
    }
  .c5-poolline {
      margin-top: 9px;
      font-size: 12px;
    }
  .c5-payout {
      margin-top: 12px;
      font-size: 31px;
    }
  .c5-paid .c5-exp {
      margin-top: 9px;
    }
  .c5-paid-facts {
      margin-top: 10px;
    }
  .c5-paid-facts li {
      padding: 7px 0;
    }
  .c5-paid-facts b {
      font-size: 13px;
    }
  .c5-paid-facts span {
      font-size: 10.5px;
    }
  .c5-lead {
      margin-top: 10px;
      font-size: 12.5px;
    }
  .c5-arrow i {
      max-width: 30px;
    }
  .c5-band {
      margin-top: 11px;
    }
  .c5-band-grid {
      margin-top: 7px;
      padding-top: 8px;
    }
  .c5-bk {
      margin-bottom: 6px;
      font-size: 8.5px;
    }
  .c5-bp > strong {
      font-size: 26px;
    }
  .c5-bp > strong.c5-word {
      font-size: 16px;
    }
  .c5-bp > b {
      margin-top: 7px;
      font-size: 9px;
    }
  .c5-bp > p {
      margin-top: 5px;
      font-size: 10px;
    }
  .c5-band-note {
      margin-top: 6px;
      padding-top: 5px;
      font-size: 8.5px;
    }
}

@media (max-width: 820px) {
  .c5-flow {
      display: block;
      padding-top: 16px;
    }
  .c5-return {
      display: none;
    }
  .c5-step {
      padding: 2px 0 4px;
    }
  .c5-sh {
      min-height: 0;
    }
  .c5-spots strong {
      font-size: 56px;
    }
  .c5-arrow {
      padding: 12px 0;
    }
  .c5-arrow i {
      width: 3px;
      max-width: none;
      height: 26px;
    }
  .c5-arrow i::after {
      right: auto;
      top: auto;
      left: 50%;
      bottom: -2px;
      transform: translateX(-50%);
      border-left: 6px solid transparent;
      border-right: 6px solid transparent;
      border-top: 10px solid var(--red);
      border-bottom: 0;
    }
  .c5-payout {
      font-size: clamp(30px, 9vw, 40px);
    }
  .c5-sticker img {
      width: 146px;
    }
  .c5-return-m {
      display: flex;
      align-items: center;
      gap: 12px;
      margin-top: 18px;
      padding-top: 14px;
      border-top: 1px solid var(--line-light);
      color: var(--red);
      font-size: 9.5px;
      font-weight: 800;
      letter-spacing: 0.16em;
      text-transform: uppercase;
    }
  .c5-return-m i {
      position: relative;
      flex: 0 0 auto;
      width: 3px;
      height: 24px;
      background: var(--red);
    }
  .c5-return-m i::after {
      content: "";
      position: absolute;
      top: -2px;
      left: 50%;
      transform: translateX(-50%);
      border-left: 6px solid transparent;
      border-right: 6px solid transparent;
      border-bottom: 10px solid var(--red);
    }
  .c5-band {
      margin-top: 22px;
    }
  .c5-band-grid {
      display: block;
      margin-top: 8px;
      padding-top: 0;
    }
  .c5-bk {
      margin-bottom: 5px;
    }
  .c5-band-note {
      margin-top: 12px;
      padding-top: 8px;
      text-align: left;
    }
  .c5-bp {
      display: block;
      padding: 12px 0 0;
    }
  /* block flow un-blockifies the subgrid items: without this the figure and
       its label run on inline. c5-growth keeps its flex arrow row. */
    .c5-bp > strong:not(.c5-growth),
    .c5-bp > b {
      display: block;
    }
  .c5-bp + .c5-bp {
      margin-top: 12px;
      padding-left: 0;
      border-left: 0;
      border-top: 1px solid var(--line-light);
    }
  .c5-bp > b {
      margin-top: 6px;
    }
}

@media (max-width: 460px) {
  .c5-spots strong {
      font-size: 48px;
    }
  .c5-pool {
      font-size: 54px;
    }
  .c5-sticker {
      gap: 12px;
    }
  .c5-sticker img {
      width: 130px;
    }
  .c5-bp > strong {
      font-size: 30px;
    }
}

/* ===== FULL-SCREEN MEDIA VIEWER ===== */

.media-frame {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  color: inherit;
  font: inherit;
  text-align: inherit;
  cursor: zoom-in;
  background: none;
  border: 0;
}

.media-expand {
  position: absolute;
  z-index: 5;
  top: 12px;
  left: 12px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 6px 11px;
  color: #fff;
  font-family: inherit;
  font-size: 9.5px;
  font-weight: 800;
  letter-spacing: 0.14em;
  line-height: 1;
  text-transform: uppercase;
  cursor: zoom-in;
  background: rgba(0, 0, 0, 0.52);
  border: 1px solid rgba(255, 255, 255, 0.34);
  transition: background 0.18s ease, border-color 0.18s ease;
}

.media-expand i {
  font-size: 12px;
  font-style: normal;
  line-height: 1;
}

.media-expand:hover {
  background: var(--red);
  border-color: var(--red);
}

.media-frame:focus-visible {
  outline: 2px solid var(--red);
  outline-offset: 3px;
}

@media (max-width: 820px) {
  .media-expand {
      top: 10px;
      left: 10px;
      padding: 5px 9px;
      font-size: 9px;
    }
}

/* Contracted column rail: 2026 begins now, 2027 is the larger committed year */
.f4-rail-signed i {
  background: var(--navy);
}

.f4-rail-signed b {
  background: rgba(11, 33, 64, 0.3);
}


.closer-line {
  margin: clamp(18px, 3vh, 34px) 0 0;
  max-width: 20ch;
  font-size: clamp(38px, 5.2vw, 92px);
  font-weight: 800;
  line-height: 0.98;
  letter-spacing: -0.035em;
  color: var(--paper);
}

.closer-line em {
  display: block;
  font-style: normal;
  color: var(--red);
}

.closer-sub {
  margin: clamp(16px, 2.4vh, 26px) 0 0;
  max-width: 56ch;
  font-size: clamp(13px, 1.02vw, 16px);
  line-height: 1.55;
  color: rgba(239, 238, 233, 0.72);
}

@media (max-width: 820px) {
  .closer-line { max-width: none; }
  .closer-sub { max-width: none; }
}

/* Closing slide: the arena carries it, the words caption it */
.closer .cover-shade {
  background: linear-gradient(180deg, rgba(6, 8, 12, 0.5) 0%, rgba(6, 8, 12, 0.12) 38%, rgba(6, 8, 12, 0.9) 100%);
}

.closer-content {
  justify-content: flex-end;
}

.closer-line {
  margin: clamp(10px, 1.6vh, 18px) 0 0;
  max-width: 30ch;
  font-size: clamp(26px, 2.6vw, 46px);
  font-weight: 800;
  line-height: 1.06;
  letter-spacing: -0.025em;
  color: var(--paper);
}

.closer-line em {
  font-style: normal;
  color: var(--red);
}

.closer-sub {
  margin: clamp(10px, 1.4vh, 16px) 0 clamp(20px, 3vh, 38px);
  max-width: 52ch;
  font-size: clamp(12px, 0.9vw, 14.5px);
  line-height: 1.55;
  color: rgba(239, 238, 233, 0.72);
}

@media (max-width: 820px) {
  .closer-line, .closer-sub { max-width: none; }
}

/* Slide 2: single Agent panel, opportunity as scannable facts */
.in2-panels {
  grid-template-columns: minmax(0, 1fr) !important;
}

.in2-arg {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr) minmax(0, 1fr);
  align-items: start;
}

.in2-arg > * {
  min-width: 0;
  padding-right: clamp(22px, 2.4vw, 44px);
}

.in2-arg > * + * {
  padding-left: clamp(22px, 2.4vw, 44px);
  border-left: 1px solid rgba(239, 238, 233, 0.16);
}

.in2-arg > p {
  padding-right: clamp(26px, 3vw, 60px);
}

.in2-fact span {
  display: block;
  font-size: clamp(9px, 0.68vw, 10.5px);
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(239, 238, 233, 0.5);
}

.in2-fact b {
  display: block;
  margin-top: 8px;
  font-size: clamp(15px, 1.25vw, 21px);
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -0.015em;
  color: var(--paper);
}

.in2-fact i {
  display: block;
  margin-top: 6px;
  font-style: normal;
  font-size: clamp(11px, 0.82vw, 13px);
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0;
  color: rgba(239, 238, 233, 0.6);
}

.in2-cost b {
  margin-top: 6px;
  font-size: clamp(25px, 2.1vw, 38px);
  line-height: 0.95;
  letter-spacing: -0.03em;
  color: var(--red);
}

.in2-cost b small {
  display: block;
  margin-top: 7px;
  font-size: clamp(12px, 0.95vw, 15px);
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: -0.01em;
  color: var(--paper);
}

@media (min-width: 821px) and (max-height: 820px) {
  .in2-fact b {
    margin-top: 6px;
    font-size: clamp(13.5px, 1.1vw, 16px);
  }

  .in2-cost b {
    font-size: clamp(21px, 1.8vw, 26px);
  }

  .in2-cost b small {
    margin-top: 5px;
    font-size: 11.5px;
  }

  .in2-fact i {
    margin-top: 4px;
    font-size: 11px;
  }
}

@media (max-width: 820px) {
  .in2-arg {
    grid-template-columns: 1fr;
    row-gap: clamp(14px, 2vh, 18px);
  }

  .in2-arg > * {
    padding-right: 0;
  }

  .in2-arg > p {
    padding-right: 0;
  }

  .in2-arg > * + * {
    padding-left: 0;
    padding-top: clamp(14px, 2vh, 18px);
    border-left: 0;
    border-top: 1px solid rgba(239, 238, 233, 0.16);
  }
}

/* Slide 2: Agent panel beside the championship shot */
.in2-top {
  display: grid;
  grid-template-columns: minmax(0, 1.06fr) minmax(0, 0.94fr);
  column-gap: clamp(34px, 3.6vw, 68px);
  align-items: stretch;
}

.in2-shot {
  margin: 0;
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.in2-crop {
  position: relative;
  display: block;
  flex: 1 1 auto;
  min-height: clamp(180px, 30vh, 340px);
  overflow: hidden;
  background: #000;
}

.in2-crop img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 38%;
}

.in2-shot figcaption {
  margin-top: 10px;
  font-size: clamp(10px, 0.74vw, 11.5px);
  font-weight: 700;
  line-height: 1.4;
  color: rgba(239, 238, 233, 0.72);
}

.in2-shot figcaption i {
  display: block;
  margin-top: 3px;
  font-style: normal;
  font-weight: 500;
  color: rgba(239, 238, 233, 0.45);
}

@media (max-width: 820px) {
  .in2-top {
    grid-template-columns: minmax(0, 1fr);
    row-gap: clamp(18px, 2.6vh, 26px);
  }
  .in2-crop { min-height: 0; aspect-ratio: 16 / 10; }
}

/* Slide 2: clickable championship shot */
.in2-shot {
  cursor: zoom-in;
}

.in2-crop .media-expand {
  position: absolute;
  top: 12px;
  left: 12px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 7px 11px;
  background: rgba(6, 8, 12, 0.72);
  color: var(--paper);
  font-size: 9.5px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  opacity: 0;
  transition: opacity 0.18s ease;
}

.in2-shot:hover .media-expand,
.in2-shot:focus-within .media-expand {
  opacity: 1;
}

/* Slide 2: Agent wordmark as the organization name, and tighter footer rhythm */
.in2-kicker h3.in2-mark {
  display: block;
  line-height: 0;
}

.in2-kicker h3.in2-mark img {
  display: block;
  width: auto;
  height: clamp(34px, 3.1vw, 58px);
}

.slide.thesis .slide-shell.in2-shell {
  justify-content: center;
}

@media (min-width: 821px) and (max-height: 820px) {
  .in2-kicker h3.in2-mark img {
    height: clamp(28px, 2.6vw, 42px);
  }
}

/* ===== Restored closing slide (accepted version) ===== */
.terms-v2 .tm-shell {
  min-height: calc(100vh - var(--bar-h));
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-top: clamp(26px, 3.6vh, 46px);
  padding-bottom: clamp(20px, 3vh, 38px);
}

.tm-head .display-title {
  max-width: none;
  margin: clamp(14px, 2vh, 24px) 0 0;
  font-size: clamp(44px, 4vw, 70px);
  line-height: 0.96;
}

.tm-primary {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
  margin-top: clamp(22px, 3.2vh, 40px);
  padding: clamp(18px, 2.6vh, 30px) 0 clamp(16px, 2.4vh, 26px);
  border-top: 3px solid var(--ink);
  border-bottom: 1px solid var(--line-light);
}

.tm-offer {
  min-width: 0;
}

.tm-offer-alt {
  padding-left: clamp(38px, 4vw, 76px);
  border-left: 1px solid var(--line-light);
}

.tm-offer > span,
.tm-label {
  display: block;
  color: var(--navy);
  font-size: 9.5px;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.tm-offer strong {
  min-height: calc(clamp(54px, 4.8vw, 84px) * 0.84);
  display: flex;
  align-items: flex-end;
  margin-top: clamp(12px, 1.9vh, 20px);
  color: var(--ink);
  font-size: clamp(54px, 4.8vw, 84px);
  font-weight: 800;
  line-height: 0.84;
  letter-spacing: -0.06em;
  white-space: nowrap;
}

.tm-offer-alt strong {
  font-size: clamp(36px, 3.2vw, 56px);
  letter-spacing: -0.04em;
}

.tm-offer small {
  display: block;
  margin-top: 12px;
  color: var(--muted-light);
  font-size: 10.5px;
  line-height: 1.5;
  max-width: 52ch;
}

.tm-use {
  margin-top: clamp(20px, 3vh, 34px);
}

.tm-use-lead {
  margin: clamp(10px, 1.6vh, 16px) 0 0;
  color: var(--ink);
  font-size: clamp(19px, 1.8vw, 30px);
  font-weight: 800;
  line-height: 1.3;
  letter-spacing: -0.015em;
  max-width: 46ch;
}

.tm-use-lead b {
  color: var(--red);
}

.tm-terms {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: clamp(20px, 2.2vw, 36px);
  margin-top: clamp(22px, 3.2vh, 40px);
}

.tm-term {
  min-width: 0;
  padding-top: clamp(10px, 1.5vh, 15px);
  border-top: 1px solid rgba(7, 8, 7, 0.24);
}

.tm-term span {
  display: block;
  color: var(--navy);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.13em;
  line-height: 1.4;
  text-transform: uppercase;
}

.tm-term p {
  margin: 9px 0 0;
  color: var(--ink);
  font-size: 11px;
  font-weight: 600;
  line-height: 1.5;
}

.tm-legal {
  margin: clamp(18px, 2.8vh, 30px) 0 0;
  color: var(--muted-light);
  font-size: 10px;
  line-height: 1.45;
}

.tm-close {
  display: flex;
  align-items: center;
  gap: clamp(22px, 2.4vw, 40px);
  margin-top: clamp(16px, 2.4vh, 28px);
  padding: clamp(15px, 2.1vh, 23px) clamp(24px, 2.2vw, 38px);
  background: var(--navy);
}

.tm-close img {
  display: block;
  height: clamp(15px, 1.6vw, 20px);
  width: auto;
}

.tm-close p {
  margin: 0;
  padding-left: clamp(22px, 2.4vw, 40px);
  border-left: 1px solid rgba(239, 238, 233, 0.28);
  color: var(--paper);
  font-size: clamp(13px, 1.15vw, 17px);
  font-weight: 800;
  letter-spacing: 0.01em;
  line-height: 1.3;
}

.tm-close a {
  margin-left: auto;
  color: rgba(239, 238, 233, 0.66);
  font-size: 9.5px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  text-decoration: none;
  white-space: nowrap;
}

.tm-close a:hover,
.tm-close a:focus-visible {
  color: var(--paper);
}

@media (min-width: 981px) and (max-height: 800px) {
  .terms-v2 .tm-shell {
      padding-top: 16px;
      padding-bottom: 14px;
    }
  .tm-head .display-title {
      margin-top: 10px;
      font-size: clamp(35px, 3.2vw, 46px);
    }
  .tm-primary {
      margin-top: 15px;
      padding-top: 13px;
      padding-bottom: 12px;
    }
  .tm-offer strong {
      min-height: 44px;
      margin-top: 9px;
      font-size: 52px;
    }
  .tm-offer-alt strong {
      font-size: 36px;
    }
  .tm-offer small {
      margin-top: 8px;
      font-size: 10px;
    }
  .tm-use {
      margin-top: 14px;
    }
  .tm-use-lead {
      margin-top: 8px;
      font-size: clamp(17px, 2.6vh, 21px);
    }
  .tm-terms {
      margin-top: 15px;
    }
  .tm-term {
      padding-top: 8px;
    }
  .tm-term p {
      font-size: 10.5px;
    }
  .tm-legal {
      margin-top: 12px;
      font-size: 9px;
    }
  .tm-close {
      margin-top: 11px;
      padding-top: 11px;
      padding-bottom: 11px;
    }
  .tm-close p {
      font-size: 13px;
    }
}

@media (max-width: 980px) {
  .terms-v2 .tm-shell {
      min-height: 0;
      justify-content: flex-start;
      padding-top: 28px;
      padding-bottom: 40px;
    }
  .tm-head .display-title {
      font-size: clamp(38px, 10vw, 54px);
    }
  .tm-primary {
      grid-template-columns: 1fr;
      row-gap: 22px;
      margin-top: 20px;
    }
  .tm-offer strong {
      min-height: 0;
      font-size: clamp(44px, 12vw, 58px);
    }
  .tm-offer-alt {
      padding-left: 0;
      padding-top: 18px;
      border-left: 0;
      border-top: 1px solid rgba(7, 8, 7, 0.1);
    }
  .tm-offer-alt strong {
      font-size: clamp(28px, 8vw, 42px);
    }
  .tm-use {
      margin-top: 24px;
    }
  .tm-use-lead {
      font-size: clamp(17px, 5vw, 22px);
    }
  .tm-terms {
      grid-template-columns: 1fr;
      gap: 14px;
      margin-top: 26px;
    }
  .tm-close {
      flex-wrap: wrap;
      row-gap: 12px;
      padding: 16px 20px;
    }
  .tm-close p {
      flex: 1 1 100%;
      order: 3;
      padding-left: 0;
      border-left: 0;
    }
  .tm-close a {
      margin-left: auto;
    }
}

/* Slide 2: Agent emblem locked up beside the wordmark */
.in2-kicker h3.in2-mark {
  display: flex;
  align-items: center;
  gap: clamp(9px, 0.85vw, 15px);
}

.in2-kicker h3.in2-mark img.in2-emblem {
  height: clamp(40px, 3.7vw, 68px);
  flex: 0 0 auto;
}

.in2-kicker h3.in2-mark img.in2-word {
  height: clamp(30px, 2.7vw, 50px);
  flex: 0 0 auto;
}

@media (min-width: 821px) and (max-height: 820px) {
  .in2-kicker h3.in2-mark img.in2-emblem {
    height: clamp(33px, 3.1vw, 50px);
  }
  .in2-kicker h3.in2-mark img.in2-word {
    height: clamp(25px, 2.3vw, 37px);
  }
}

/* ============================================================
   04 / THE AMERICAN MARKET - AUSTIN REDESIGN (amx)
   Scoped to .slide.market-v2 only. Appended last on purpose so
   nothing earlier in the cascade can silently defeat it.
   ============================================================ */

.slide.market-v2 .slide-shell.amx-shell {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: clamp(12px, 2vh, 24px);
  min-height: calc(100vh - var(--bar-h));
  padding: clamp(26px, 4vh, 52px) 0 clamp(18px, 3vh, 40px);
}

.slide.market-v2 .amx-head {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(0, 0.72fr);
  gap: clamp(24px, 3vw, 60px);
  align-items: end;
}

.slide.market-v2 .amx-title {
  margin: 0;
  font-size: clamp(33px, 3.45vw, 60px);
  line-height: 0.99;
  letter-spacing: -0.05em;
  font-weight: 800;
  max-width: 15ch;
}

.slide.market-v2 .amx-dek {
  margin: 0 0 4px;
  color: var(--muted-light);
  font-size: clamp(13px, 1vw, 17px);
  line-height: 1.5;
}

/* Cinematic band: sold-out arena photo + live crowd inset + mega stats */

.slide.market-v2 .amx-band {
  flex: 1 1 auto;
  min-height: clamp(185px, 24vh, 460px);
  display: grid;
  grid-template-columns: minmax(0, 1.62fr) minmax(0, 1fr);
  gap: clamp(20px, 2.4vw, 44px);
}

.slide.market-v2 .amx-stage {
  position: relative;
  margin: 0;
  min-height: 0;
  overflow: hidden;
  background: var(--ink);
}

.slide.market-v2 .amx-frame {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  background: var(--ink);
  cursor: zoom-in;
}

.slide.market-v2 .amx-frame img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.slide.market-v2 .amx-frame .media-expand {
  position: absolute;
  left: auto;
  right: 12px;
  top: 12px;
}

.slide.market-v2 .amx-inset {
  position: absolute;
  right: clamp(10px, 1.2vw, 18px);
  bottom: clamp(10px, 1.4vh, 18px);
  width: clamp(150px, 27%, 300px);
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border: 2px solid var(--paper);
  box-shadow: 0 10px 28px rgba(7, 8, 7, 0.45);
  pointer-events: none;
}

.slide.market-v2 .amx-inset video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.slide.market-v2 .amx-tag {
  position: absolute;
  left: clamp(10px, 1.2vw, 18px);
  bottom: clamp(10px, 1.4vh, 18px);
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 10px 14px 11px;
  background: rgba(7, 8, 7, 0.84);
  color: var(--paper);
  pointer-events: none;
  max-width: min(62%, 340px);
}

.slide.market-v2 .amx-tag b {
  font-size: clamp(11px, 0.85vw, 13px);
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  line-height: 1.2;
}

.slide.market-v2 .amx-tag span {
  font-size: 9px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  opacity: 0.72;
  line-height: 1.4;
}

.slide.market-v2 .amx-stats {
  display: flex;
  flex-direction: column;
  gap: clamp(8px, 1.2vh, 16px);
  min-height: 0;
}

.slide.market-v2 .amx-stats article {
  flex: 1 1 0;
  min-height: 0;
  border-top: 1px solid var(--ink);
  padding-top: clamp(7px, 1vh, 12px);
  display: flex;
  align-items: baseline;
  gap: clamp(12px, 1.2vw, 22px);
}

.slide.market-v2 .amx-stats strong {
  font-size: clamp(40px, 3.7vw, 68px);
  line-height: 0.92;
  letter-spacing: -0.05em;
  font-weight: 800;
  flex: none;
  min-width: 3.2ch;
}

.slide.market-v2 .amx-stats span {
  display: block;
  font-size: clamp(10px, 0.8vw, 12.5px);
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  line-height: 1.4;
}

.slide.market-v2 .amx-stats small {
  display: block;
  margin-top: 4px;
  font-size: clamp(9px, 0.72vw, 11px);
  font-weight: 400;
  letter-spacing: 0.04em;
  text-transform: none;
  color: var(--muted-light);
}

/* Marquee ticker */

.slide.market-v2 .amx-ticker {
  overflow: hidden;
  border-top: 1px solid var(--ink);
  border-bottom: 1px solid var(--ink);
  padding: clamp(8px, 1.2vh, 13px) 0;
}

.slide.market-v2 .amx-track {
  display: flex;
  width: max-content;
  animation: amx-marquee 36s linear infinite;
  will-change: transform;
}

.slide.market-v2 .amx-seg {
  display: flex;
  align-items: center;
  gap: clamp(22px, 2.2vw, 38px);
  padding-right: clamp(22px, 2.2vw, 38px);
  flex: none;
}

.slide.market-v2 .amx-seg span {
  white-space: nowrap;
  font-size: clamp(11.5px, 0.95vw, 15px);
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  line-height: 1;
}

.slide.market-v2 .amx-seg i {
  width: 6px;
  height: 6px;
  background: var(--ink);
  flex: none;
}

@keyframes amx-marquee {
  to {
    transform: translateX(-50%);
  }
}

@media (prefers-reduced-motion: reduce) {
  .slide.market-v2 .amx-track {
    animation: none;
  }
}

/* Foot: sponsor social proof + the Agent close */

.slide.market-v2 .amx-foot {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
  gap: clamp(24px, 3vw, 60px);
  align-items: start;
}

.slide.market-v2 .amx-brands h3 {
  margin: 0 0 clamp(10px, 1.6vh, 16px);
  font-size: clamp(12px, 0.95vw, 15px);
  font-weight: 800;
  letter-spacing: 0.02em;
}

.slide.market-v2 .amx-brand-wall {
  display: flex;
  align-items: flex-end;
  gap: clamp(18px, 2.4vw, 44px);
  flex-wrap: wrap;
}

.slide.market-v2 .amx-brand-wall figure {
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 7px;
}

.slide.market-v2 .amx-brand-wall img {
  display: block;
  height: clamp(22px, 2.6vh, 30px);
  width: auto;
  object-fit: contain;
  filter: grayscale(1) contrast(1.05);
  opacity: 0.9;
}

.slide.market-v2 .amx-brand-wall img.amx-logo-mcdonalds {
  height: clamp(24px, 2.9vh, 33px);
}

.slide.market-v2 .amx-brand-wall img.amx-logo-ralph {
  height: clamp(14px, 1.7vh, 19px);
}

.slide.market-v2 .amx-brand-wall img.amx-logo-monster {
  height: clamp(30px, 3.6vh, 42px);
}

.slide.market-v2 .amx-brand-wall figcaption {
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted-light);
}

.slide.market-v2 .amx-why {
  border-left: 3px solid var(--ink);
  padding-left: clamp(14px, 1.4vw, 22px);
}

.slide.market-v2 .amx-kicker {
  margin: 0 0 6px;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}

.slide.market-v2 .amx-why h3 {
  margin: 0 0 6px;
  font-size: clamp(16px, 1.35vw, 21px);
  letter-spacing: -0.02em;
  font-weight: 800;
  line-height: 1.1;
}

.slide.market-v2 .amx-why p:last-child {
  margin: 0;
  color: var(--muted-light);
  font-size: clamp(11.5px, 0.88vw, 14px);
  line-height: 1.5;
}

.slide.market-v2 .amx-sources {
  margin: 0;
}

/* Responsive */

@media (min-width: 1101px) {
  /* Hard height so the flexible media band absorbs leftover space
     instead of the shell growing past one viewport. */
  .slide.market-v2 .slide-shell.amx-shell {
    height: calc(100vh - var(--bar-h));
  }
}

@media (max-width: 1100px) {
  .slide.market-v2 .amx-head {
    grid-template-columns: 1fr;
    gap: 14px;
    align-items: start;
  }

  .slide.market-v2 .amx-title {
    max-width: none;
  }

  .slide.market-v2 .amx-band {
    grid-template-columns: 1fr;
    min-height: 0;
    flex: none;
  }

  .slide.market-v2 .amx-stage {
    aspect-ratio: 16 / 9;
    min-height: 200px;
  }

  .slide.market-v2 .amx-stats article {
    flex: none;
  }

  .slide.market-v2 .amx-foot {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .slide.market-v2 .amx-why {
    border-left: 0;
    border-top: 3px solid var(--ink);
    padding-left: 0;
    padding-top: 14px;
  }
}

@media (max-width: 560px) {
  .slide.market-v2 .amx-title {
    font-size: clamp(28px, 8.4vw, 34px);
  }

  .slide.market-v2 .amx-stats article {
    gap: 12px;
  }

  .slide.market-v2 .amx-stats strong {
    font-size: 34px;
  }

  .slide.market-v2 .amx-inset {
    width: 38%;
    min-width: 118px;
  }

  .slide.market-v2 .amx-tag {
    left: 8px;
    bottom: 8px;
    max-width: 58%;
    padding: 8px 10px 9px;
  }

  .slide.market-v2 .amx-brand-wall {
    gap: 16px 26px;
  }
}

/* Slide 4 revisions: full-colour brand wall, stats centred in their cells */
.slide.market-v2 .amx-brand-wall img {
  filter: none;
  opacity: 1;
}

.slide.market-v2 .amx-stats article {
  align-items: center;
}

/* ============================================================
   SLIDE 5 REBUILD / MAJOR ECONOMICS ("mje-" prefix)
   Fan spending -> 50% share -> club payouts, sold around the
   Agent holo sticker rendered in the in-game store.
   Scoped under .slide.major-v2. The old .c5-* / .m5-* rules
   above are inert: the markup no longer uses those classes.
   ============================================================ */

.slide.major-v2 .slide-shell.mje-shell {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: clamp(11px, 1.8vh, 22px);
  min-height: calc(100vh - var(--bar-h));
  padding: clamp(24px, 3.6vh, 48px) 0 clamp(16px, 2.6vh, 36px);
}

.slide.major-v2 .mje-head {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(0, 0.72fr);
  gap: clamp(24px, 3vw, 60px);
  align-items: end;
}

.slide.major-v2 .mje-title {
  margin: 0;
  font-size: clamp(32px, 3.35vw, 58px);
  line-height: 0.99;
  letter-spacing: -0.05em;
  font-weight: 800;
  max-width: 16ch;
}

.slide.major-v2 .mje-dek {
  margin: 0 0 5px;
  color: var(--muted-light);
  font-size: clamp(12.5px, 0.98vw, 16.5px);
  line-height: 1.5;
}

/* The band: three mega numbers on the left, the in-game sticker stage on the right */

.slide.major-v2 .mje-band {
  flex: 1 1 auto;
  min-height: clamp(180px, 23vh, 450px);
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.42fr);
  gap: clamp(20px, 2.6vw, 48px);
}

.slide.major-v2 .mje-rail {
  display: flex;
  flex-direction: column;
  gap: clamp(7px, 1.1vh, 14px);
  min-height: 0;
}

.slide.major-v2 .mje-rail article {
  flex: 1 1 0;
  min-height: 0;
  border-top: 1px solid var(--ink);
  padding-top: clamp(6px, 0.9vh, 11px);
  display: grid;
  grid-template-columns: minmax(0, auto) minmax(0, 1fr);
  grid-template-rows: auto 1fr;
  align-items: center;
  column-gap: clamp(12px, 1.3vw, 24px);
}

.slide.major-v2 .mje-step {
  grid-column: 1 / -1;
  font-style: normal;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--muted-light);
}

.slide.major-v2 .mje-num {
  margin: 0;
  font-size: clamp(38px, 3.6vw, 66px);
  line-height: 0.92;
  letter-spacing: -0.05em;
  font-weight: 800;
  white-space: nowrap;
}

.slide.major-v2 .mje-num i {
  font-style: normal;
  font-size: 0.52em;
  letter-spacing: -0.02em;
  color: var(--muted-light);
}

.slide.major-v2 .mje-num.mje-num-range {
  font-size: clamp(27px, 2.5vw, 46px);
}

.slide.major-v2 .mje-num.mje-num-range i {
  font-size: 0.5em;
  font-weight: 400;
  margin: 0 0.22em;
}

.slide.major-v2 .mje-cap {
  display: block;
  font-size: clamp(9.5px, 0.76vw, 12px);
  font-weight: 800;
  letter-spacing: 0.11em;
  text-transform: uppercase;
  line-height: 1.4;
  min-width: 0;
}

.slide.major-v2 .mje-cap a {
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  text-decoration-color: rgba(7, 8, 7, 0.35);
}

.slide.major-v2 .mje-cap a:hover {
  text-decoration-color: var(--ink);
}

.slide.major-v2 .mje-cap small {
  display: block;
  margin-top: 4px;
  font-size: clamp(9px, 0.7vw, 10.5px);
  font-weight: 400;
  letter-spacing: 0.04em;
  text-transform: none;
  color: var(--muted-light);
}

/* The sticker stage: full-crop in-game store shot + circular sticker chip */

.slide.major-v2 .mje-stage {
  position: relative;
  margin: 0;
  min-height: 0;
  overflow: hidden;
  background: var(--ink);
}

.slide.major-v2 .mje-frame {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  background: var(--ink);
  cursor: zoom-in;
}

.slide.major-v2 .mje-frame img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 38%;
  display: block;
}

.slide.major-v2 .mje-frame .media-expand {
  left: auto;
  right: 12px;
  top: 12px;
}

.slide.major-v2 .mje-inset {
  position: absolute;
  right: clamp(12px, 1.5vw, 24px);
  bottom: clamp(12px, 1.8vh, 24px);
  width: clamp(88px, 17%, 168px);
  aspect-ratio: 1 / 1;
  padding: 0;
  border: 2px solid var(--paper);
  border-radius: 50%;
  overflow: hidden;
  background: var(--ink);
  cursor: zoom-in;
  box-shadow: 0 12px 30px rgba(7, 8, 7, 0.5);
  animation: mje-drift 7s ease-in-out infinite;
}

.slide.major-v2 .mje-inset img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.04);
}

.slide.major-v2 .mje-inset:focus-visible {
  outline: 2px solid var(--red);
  outline-offset: 3px;
}

@keyframes mje-drift {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-7px);
  }
}

.slide.major-v2 .mje-tag {
  position: absolute;
  left: clamp(10px, 1.2vw, 18px);
  bottom: clamp(10px, 1.4vh, 18px);
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 10px 14px 11px;
  background: rgba(7, 8, 7, 0.84);
  color: var(--paper);
  pointer-events: none;
  max-width: min(64%, 360px);
}

.slide.major-v2 .mje-tag b {
  font-size: clamp(11px, 0.85vw, 13px);
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  line-height: 1.2;
}

.slide.major-v2 .mje-tag span {
  font-size: 9px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  opacity: 0.72;
  line-height: 1.4;
}

/* Marquee ticker. Runs the opposite direction of slide 4 for variety. */

.slide.major-v2 .mje-ticker {
  overflow: hidden;
  border-top: 1px solid var(--ink);
  border-bottom: 1px solid var(--ink);
  padding: clamp(7px, 1.1vh, 12px) 0;
}

.slide.major-v2 .mje-track {
  display: flex;
  width: max-content;
  transform: translateX(-50%);
  animation: mje-marquee 38s linear infinite;
  will-change: transform;
}

.slide.major-v2 .mje-seg {
  display: flex;
  align-items: center;
  gap: clamp(22px, 2.2vw, 38px);
  padding-right: clamp(22px, 2.2vw, 38px);
  flex: none;
}

.slide.major-v2 .mje-seg span {
  white-space: nowrap;
  font-size: clamp(11px, 0.92vw, 14.5px);
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  line-height: 1;
}

.slide.major-v2 .mje-seg i {
  width: 6px;
  height: 6px;
  background: var(--ink);
  flex: none;
  transform: rotate(45deg);
}

@keyframes mje-marquee {
  to {
    transform: translateX(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .slide.major-v2 .mje-track {
    animation: none;
    transform: none;
  }

  .slide.major-v2 .mje-inset {
    animation: none;
  }
}

/* Foot: the growing pool + the Agent close */

.slide.major-v2 .mje-foot {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
  gap: clamp(24px, 3vw, 60px);
  align-items: start;
}

.slide.major-v2 .mje-growth h3 {
  margin: 0 0 clamp(7px, 1.1vh, 12px);
  font-size: clamp(12px, 0.95vw, 15px);
  font-weight: 800;
  letter-spacing: 0.02em;
}

.slide.major-v2 .mje-arc {
  margin: 0;
  display: flex;
  align-items: center;
  gap: clamp(12px, 1.4vw, 24px);
  flex-wrap: wrap;
}

.slide.major-v2 .mje-arc span {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.slide.major-v2 .mje-arc strong {
  font-size: clamp(26px, 2.4vw, 42px);
  line-height: 0.92;
  letter-spacing: -0.05em;
  font-weight: 800;
}

.slide.major-v2 .mje-arc small {
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--muted-light);
}

.slide.major-v2 .mje-arc i {
  font-style: normal;
  font-size: clamp(18px, 1.6vw, 28px);
  line-height: 1;
  color: var(--muted-light);
}

.slide.major-v2 .mje-arc b {
  align-self: center;
  margin-left: clamp(2px, 0.6vw, 10px);
  padding: 5px 9px;
  font-size: 9.5px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  border: 1px solid var(--ink);
  line-height: 1;
}

.slide.major-v2 .mje-arc-note {
  margin: clamp(6px, 1vh, 10px) 0 0;
  color: var(--muted-light);
  font-size: clamp(10.5px, 0.8vw, 12.5px);
  line-height: 1.5;
  max-width: 58ch;
}

.slide.major-v2 .mje-why {
  border-left: 3px solid var(--ink);
  padding-left: clamp(14px, 1.4vw, 22px);
}

.slide.major-v2 .mje-kicker {
  margin: 0 0 6px;
  color: var(--red);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}

.slide.major-v2 .mje-why h3 {
  margin: 0 0 6px;
  font-size: clamp(15px, 1.3vw, 20px);
  letter-spacing: -0.02em;
  font-weight: 800;
  line-height: 1.1;
}

.slide.major-v2 .mje-why p:last-child {
  margin: 0;
  color: var(--muted-light);
  font-size: clamp(11px, 0.86vw, 13.5px);
  line-height: 1.5;
}

.slide.major-v2 .mje-sources {
  margin: 0;
}

/* Responsive */

@media (min-width: 1101px) {
  /* Hard height so the sticker stage absorbs leftover space
     instead of the shell growing past one viewport. */
  .slide.major-v2 .slide-shell.mje-shell {
    height: calc(100vh - var(--bar-h));
  }
}

@media (max-width: 1100px) {
  .slide.major-v2 .mje-head {
    grid-template-columns: 1fr;
    gap: 14px;
    align-items: start;
  }

  .slide.major-v2 .mje-title {
    max-width: none;
  }

  .slide.major-v2 .mje-band {
    grid-template-columns: 1fr;
    min-height: 0;
    flex: none;
  }

  .slide.major-v2 .mje-stage {
    order: -1;
    aspect-ratio: 16 / 9;
    min-height: 200px;
  }

  .slide.major-v2 .mje-rail article {
    flex: none;
  }

  .slide.major-v2 .mje-foot {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .slide.major-v2 .mje-why {
    border-left: 0;
    border-top: 3px solid var(--ink);
    padding-left: 0;
    padding-top: 14px;
  }
}

@media (max-width: 560px) {
  .slide.major-v2 .mje-title {
    font-size: clamp(28px, 8.4vw, 34px);
  }

  .slide.major-v2 .mje-num {
    font-size: 36px;
  }

  .slide.major-v2 .mje-num.mje-num-range {
    font-size: 26px;
  }

  .slide.major-v2 .mje-rail article {
    column-gap: 12px;
  }

  .slide.major-v2 .mje-inset {
    width: 26%;
    min-width: 84px;
  }

  .slide.major-v2 .mje-tag {
    left: 8px;
    bottom: 8px;
    max-width: 60%;
    padding: 8px 10px 9px;
  }
}

/* ============================================================
   01 / COVER REBUILD ("cvx-" prefix)
   The opening title of the film. A live Major opening-ceremony
   loop behind a centered Agent title card, a staged load reveal,
   and a marquee leader strip tying the cover to slides 4 and 5.
   Scoped under .slide.cover. The old .cover-image / .cover-shade /
   .cover-content / .cover-lockup / .cover-kicker / .cover-footer
   rules are inert: the markup no longer uses those classes.
   ============================================================ */

.slide.cover {
  height: 100vh;
  min-height: 100vh;
}

/* The stage: still fallback underneath, live loop above it */

.slide.cover .cvx-media {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  background: var(--ink);
  animation: cvx-fade-up 1400ms ease both;
}

.slide.cover .cvx-still,
.slide.cover .cvx-loop {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 42%;
}

.slide.cover .cvx-still {
  filter: grayscale(0.34) saturate(0.8) brightness(0.78) contrast(1.1);
}

.slide.cover .cvx-loop {
  filter: grayscale(0.22) saturate(0.86) brightness(0.82) contrast(1.08);
  animation: cvx-drift 30s ease-in-out infinite alternate;
  will-change: transform;
}

.slide.cover .cvx-shade {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(118% 86% at 50% 42%, transparent 42%, rgba(2, 3, 2, 0.62) 100%),
    linear-gradient(0deg, rgba(2, 3, 2, 0.92) 0%, rgba(2, 3, 2, 0.42) 16%, rgba(2, 3, 2, 0.1) 38%, rgba(2, 3, 2, 0.14) 66%, rgba(2, 3, 2, 0.66) 100%);
}

@keyframes cvx-fade-up {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes cvx-drift {
  from {
    transform: scale(1.02);
  }
  to {
    transform: scale(1.1);
  }
}

/* The title card */

.slide.cover .cvx-content {
  position: relative;
  z-index: 2;
  height: 100vh;
  width: min(1420px, calc(100% - 150px));
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  padding: calc(var(--bar-h) + clamp(16px, 2.6vh, 30px)) 0 clamp(64px, 8.6vh, 86px);
}

.slide.cover .cvx-top {
  display: flex;
  align-items: center;
  gap: clamp(16px, 1.8vw, 28px);
  font-size: 10px;
  line-height: 1;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  font-weight: 800;
  color: var(--paper);
}

.slide.cover .cvx-top i {
  flex: 1;
  height: 1px;
  background: rgba(239, 238, 233, 0.3);
  transform-origin: center;
}

.slide.cover .cvx-hero {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: clamp(14px, 2.6vh, 26px);
}

.slide.cover .cvx-presents {
  margin: 0;
  display: flex;
  align-items: center;
  gap: clamp(14px, 1.4vw, 22px);
  font-size: clamp(10px, 0.8vw, 12px);
  line-height: 1;
  letter-spacing: 0.4em;
  text-indent: 0.4em; /* balances the trailing tracking so the words sit centered */
  text-transform: uppercase;
  font-weight: 600;
  color: rgba(239, 238, 233, 0.82);
}

.slide.cover .cvx-presents i {
  width: clamp(30px, 3.4vw, 58px);
  height: 1px;
  background: rgba(239, 238, 233, 0.34);
}

.slide.cover .cvx-mark {
  margin: 0;
}

.slide.cover .cvx-mark img {
  display: block;
  width: auto;
  max-width: min(880px, 82vw);
  height: clamp(150px, 27vh, 285px);
  object-fit: contain;
  filter: drop-shadow(0 24px 70px rgba(2, 3, 2, 0.72));
}

.slide.cover .cvx-game {
  display: flex;
  align-items: center;
  gap: clamp(18px, 1.9vw, 32px);
}

.slide.cover .cvx-game i {
  width: clamp(54px, 7.2vw, 132px);
  height: 1px;
  background: rgba(239, 238, 233, 0.34);
}

.slide.cover .cvx-game img {
  display: block;
  height: clamp(22px, 3.4vh, 36px);
  width: auto;
  filter: grayscale(1) brightness(0) invert(1);
  opacity: 0.96;
}

.slide.cover .cvx-line {
  margin: 0;
  font-size: clamp(10.5px, 0.82vw, 12.5px);
  line-height: 1.7;
  letter-spacing: 0.24em;
  text-indent: 0.24em;
  text-transform: uppercase;
  font-weight: 600;
  color: rgba(239, 238, 233, 0.78);
  max-width: 46ch;
}

/* The door into the deck */

.slide.cover .cvx-foot {
  display: flex;
  justify-content: center;
}

.slide.cover .cvx-enter {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 14px 26px;
  border: 1px solid rgba(239, 238, 233, 0.42);
  background: rgba(7, 8, 7, 0.36);
  color: var(--paper);
  text-decoration: none;
  font-size: 10px;
  line-height: 1;
  letter-spacing: 0.28em;
  text-indent: 0.28em;
  text-transform: uppercase;
  font-weight: 800;
  transition: background 220ms ease, color 220ms ease, border-color 220ms ease;
}

.slide.cover .cvx-enter b {
  font-weight: 800;
  color: var(--red);
  text-indent: 0;
  animation: cvx-bob 2.2s ease-in-out infinite;
}

.slide.cover .cvx-enter:hover,
.slide.cover .cvx-enter:focus-visible {
  background: var(--paper);
  border-color: var(--paper);
  color: var(--ink);
}

.slide.cover .cvx-enter:hover b,
.slide.cover .cvx-enter:focus-visible b {
  color: var(--red);
}

@keyframes cvx-bob {
  0%,
  100% {
    transform: translateY(-1px);
  }
  50% {
    transform: translateY(3px);
  }
}

/* Marquee leader strip along the floor of the frame */

.slide.cover .cvx-ticker {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 3;
  overflow: hidden;
  padding: clamp(10px, 1.5vh, 15px) 0;
  border-top: 1px solid rgba(239, 238, 233, 0.2);
  background: rgba(4, 5, 4, 0.72);
  animation: cvx-fade-up 900ms ease 1100ms both;
}

.slide.cover .cvx-track {
  display: flex;
  width: max-content;
  animation: cvx-marquee 46s linear infinite;
  will-change: transform;
}

.slide.cover .cvx-seg {
  display: flex;
  align-items: center;
  gap: clamp(26px, 2.6vw, 44px);
  padding-right: clamp(26px, 2.6vw, 44px);
  flex: none;
}

.slide.cover .cvx-seg span {
  white-space: nowrap;
  font-size: 10px;
  line-height: 1;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  font-weight: 800;
  color: rgba(239, 238, 233, 0.72);
}

.slide.cover .cvx-seg i {
  width: 4px;
  height: 4px;
  background: rgba(239, 238, 233, 0.42);
  flex: none;
}

@keyframes cvx-marquee {
  to {
    transform: translateX(-50%);
  }
}

/* Load choreography. The deck script adds .in to each .reveal on
   arrival; the cover children stage themselves off that trigger. */

.slide.cover .reveal {
  transform: none;
  transition: opacity 700ms ease;
}

.slide.cover .cvx-top i {
  transform: scaleX(0);
  transition: transform 1000ms cubic-bezier(0.22, 1, 0.36, 1) 250ms;
}

.slide.cover .cvx-top.in i {
  transform: scaleX(1);
}

.slide.cover .cvx-presents {
  opacity: 0;
  transition: opacity 800ms ease 200ms;
}

.slide.cover .cvx-hero.in .cvx-presents {
  opacity: 1;
}

.slide.cover .cvx-mark img {
  opacity: 0;
  transform: translateY(26px) scale(0.985);
  transition: opacity 1100ms ease 320ms, transform 1100ms cubic-bezier(0.22, 1, 0.36, 1) 320ms;
}

.slide.cover .cvx-hero.in .cvx-mark img {
  opacity: 1;
  transform: none;
}

.slide.cover .cvx-game i {
  transform: scaleX(0);
  transition: transform 900ms cubic-bezier(0.22, 1, 0.36, 1) 700ms;
}

.slide.cover .cvx-hero.in .cvx-game i {
  transform: scaleX(1);
}

.slide.cover .cvx-game img {
  opacity: 0;
  transition: opacity 700ms ease 850ms;
}

.slide.cover .cvx-hero.in .cvx-game img {
  opacity: 0.96;
}

.slide.cover .cvx-line {
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 800ms ease 1000ms, transform 800ms ease 1000ms;
}

.slide.cover .cvx-hero.in .cvx-line {
  opacity: 1;
  transform: none;
}

.slide.cover .cvx-foot {
  transition-delay: 1150ms;
}

/* Responsive */

@media (max-width: 1180px) {
  .slide.cover .cvx-content {
    width: min(100% - 90px, 1080px);
  }
}

@media (max-width: 820px) {
  .slide.cover {
    height: 100vh;
    min-height: 100vh;
  }

  .slide.cover .cvx-content {
    width: calc(100% - 40px);
    height: 100vh;
  }

  .slide.cover .cvx-loop {
    display: none; /* the still carries mobile; one less video on first load */
  }

  .slide.cover .cvx-mark img {
    max-width: 92vw;
    height: auto;
  }

  .slide.cover .cvx-top {
    gap: 12px;
    font-size: 8.5px;
    letter-spacing: 0.2em;
  }

  .slide.cover .cvx-line {
    font-size: 10px;
    letter-spacing: 0.18em;
    text-indent: 0.18em;
    max-width: 34ch;
  }
}

@media (prefers-reduced-motion: reduce) {
  .slide.cover .cvx-media,
  .slide.cover .cvx-loop,
  .slide.cover .cvx-ticker,
  .slide.cover .cvx-track,
  .slide.cover .cvx-enter b {
    animation: none;
  }

  .slide.cover .cvx-loop {
    display: none; /* hold on the still instead of the motion loop */
  }

  .slide.cover .reveal,
  .slide.cover .cvx-top i,
  .slide.cover .cvx-presents,
  .slide.cover .cvx-mark img,
  .slide.cover .cvx-game i,
  .slide.cover .cvx-game img,
  .slide.cover .cvx-line {
    transition: none;
  }
}

/* ============================================================
   07 / WHY AGENT - PROOF REBUILD ("apx-" prefix)
   Scoped to .slide.proof-v2 only. Appended last on purpose so
   nothing earlier in the cascade can silently defeat it.
   The old .wa-shell markup for this slide is gone; those rules
   are inert. The .wa-overlay / DreamHack viewer is kept as-is.
   ============================================================ */

.slide.proof-v2 .slide-shell.apx-shell {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: clamp(11px, 1.8vh, 22px);
  min-height: calc(100vh - var(--bar-h));
  padding: clamp(24px, 3.6vh, 48px) 0 clamp(16px, 2.6vh, 36px);
}

.slide.proof-v2 .apx-head {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(0, 0.72fr);
  gap: clamp(24px, 3vw, 60px);
  align-items: end;
}

.slide.proof-v2 .apx-title {
  margin: 0;
  font-size: clamp(30px, 3.1vw, 54px);
  line-height: 0.99;
  letter-spacing: -0.05em;
  font-weight: 800;
  max-width: 17ch;
}

.slide.proof-v2 .apx-dek {
  margin: 0 0 4px;
  color: var(--muted-dark);
  font-size: clamp(12.5px, 0.95vw, 16px);
  line-height: 1.5;
}

/* Cinematic band: three mega-stats on the left, the ESPN stage
   with a live sound toggle and trophy inset on the right. */

.slide.proof-v2 .apx-band {
  flex: 1 1 auto;
  min-height: clamp(180px, 23vh, 440px);
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.55fr);
  gap: clamp(20px, 2.4vw, 44px);
}

.slide.proof-v2 .apx-stats {
  display: flex;
  flex-direction: column;
  gap: clamp(7px, 1vh, 14px);
  min-height: 0;
}

.slide.proof-v2 .apx-stats article {
  flex: 1 1 0;
  min-height: 0;
  border-top: 1px solid var(--line-dark);
  padding-top: clamp(6px, 0.9vh, 11px);
  display: flex;
  align-items: center;
  gap: clamp(12px, 1.2vw, 22px);
}

.slide.proof-v2 .apx-stats strong {
  font-size: clamp(34px, 3.2vw, 58px);
  line-height: 0.92;
  letter-spacing: -0.05em;
  font-weight: 800;
  flex: none;
  min-width: 3.4ch;
}

.slide.proof-v2 .apx-stats strong.apx-red {
  color: var(--red);
}

.slide.proof-v2 .apx-stats span {
  display: block;
  font-size: clamp(9.5px, 0.78vw, 12px);
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  line-height: 1.35;
}

.slide.proof-v2 .apx-stats small {
  display: block;
  margin-top: 4px;
  font-size: clamp(8.5px, 0.7vw, 10.5px);
  font-weight: 400;
  letter-spacing: 0.04em;
  text-transform: none;
  color: var(--muted-dark);
}

/* The door into the DreamHack proof overlay */

.slide.proof-v2 .apx-watch {
  margin-top: clamp(2px, 0.5vh, 8px);
  display: inline-flex;
  align-items: center;
  gap: 12px;
  align-self: flex-start;
  padding: 10px 16px 10px 13px;
  border: 1px solid rgba(239, 238, 233, 0.45);
  background: transparent;
  color: var(--paper);
  font-size: clamp(9.5px, 0.78vw, 11.5px);
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  line-height: 1;
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.slide.proof-v2 .apx-watch i {
  font-style: normal;
  font-size: 9px;
  color: var(--red);
  transition: transform 0.2s ease;
}

.slide.proof-v2 .apx-watch:hover {
  background: var(--paper);
  border-color: var(--paper);
  color: var(--ink);
}

.slide.proof-v2 .apx-watch:hover i {
  transform: scale(1.15);
}

/* The ESPN stage */

.slide.proof-v2 .apx-stage {
  position: relative;
  margin: 0;
  min-height: 0;
  overflow: hidden;
  background: #000;
}

.slide.proof-v2 .apx-stage > video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.slide.proof-v2 .apx-inset {
  position: absolute;
  left: clamp(10px, 1.2vw, 18px);
  bottom: clamp(10px, 1.4vh, 18px);
  width: clamp(130px, 24%, 260px);
  aspect-ratio: 3 / 2;
  overflow: hidden;
  padding: 0;
  border: 2px solid var(--paper);
  background: #000;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.5);
  cursor: zoom-in;
}

.slide.proof-v2 .apx-inset img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.slide.proof-v2 .apx-tag {
  position: absolute;
  left: clamp(10px, 1.2vw, 18px);
  top: clamp(10px, 1.4vh, 18px);
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 10px 14px 11px;
  background: rgba(0, 0, 0, 0.84);
  color: var(--paper);
  pointer-events: none;
  max-width: min(66%, 360px);
}

.slide.proof-v2 .apx-tag b {
  font-size: clamp(10.5px, 0.85vw, 13px);
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  line-height: 1.2;
}

.slide.proof-v2 .apx-tag span {
  font-size: 9px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  opacity: 0.72;
  line-height: 1.4;
}

/* Marquee ticker of receipts */

.slide.proof-v2 .apx-ticker {
  overflow: hidden;
  border-top: 1px solid var(--line-dark);
  border-bottom: 1px solid var(--line-dark);
  padding: clamp(7px, 1vh, 12px) 0;
}

.slide.proof-v2 .apx-track {
  display: flex;
  width: max-content;
  animation: apx-marquee 44s linear infinite;
  will-change: transform;
}

.slide.proof-v2 .apx-seg {
  display: flex;
  align-items: center;
  gap: clamp(22px, 2.2vw, 38px);
  padding-right: clamp(22px, 2.2vw, 38px);
  flex: none;
}

.slide.proof-v2 .apx-seg span {
  white-space: nowrap;
  font-size: clamp(11px, 0.9vw, 14px);
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  line-height: 1;
}

.slide.proof-v2 .apx-seg i {
  width: 6px;
  height: 6px;
  background: var(--red);
  flex: none;
}

@keyframes apx-marquee {
  to {
    transform: translateX(-50%);
  }
}

/* Foot: brand receipts + the Agent close */

.slide.proof-v2 .apx-foot {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
  gap: clamp(24px, 3vw, 60px);
  align-items: start;
}

.slide.proof-v2 .apx-ledger h3 {
  margin: 0 0 clamp(8px, 1.3vh, 14px);
  font-size: clamp(11.5px, 0.95vw, 15px);
  font-weight: 800;
  letter-spacing: 0.02em;
}

.slide.proof-v2 .apx-receipts {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(14px, 1.6vw, 28px);
}

.slide.proof-v2 .apx-receipts article {
  min-width: 0;
  border-top: 1px solid var(--line-dark);
  padding-top: clamp(6px, 0.9vh, 10px);
}

.slide.proof-v2 .apx-receipts article.apx-hot {
  border-top-color: var(--red);
}

.slide.proof-v2 .apx-receipts em {
  display: block;
  font-style: normal;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted-dark);
}

.slide.proof-v2 .apx-receipts strong {
  display: block;
  margin-top: 5px;
  font-size: clamp(19px, 1.7vw, 28px);
  line-height: 1;
  letter-spacing: -0.04em;
  font-weight: 800;
}

.slide.proof-v2 .apx-receipts strong.apx-red {
  color: var(--red);
}

.slide.proof-v2 .apx-receipts small {
  display: block;
  margin-top: 5px;
  font-size: clamp(8.5px, 0.7vw, 10.5px);
  line-height: 1.45;
  color: var(--muted-dark);
}

.slide.proof-v2 .apx-why {
  border-left: 3px solid var(--red);
  padding-left: clamp(14px, 1.4vw, 22px);
}

.slide.proof-v2 .apx-kicker {
  margin: 0 0 6px;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--red);
}

.slide.proof-v2 .apx-why h3 {
  margin: 0 0 6px;
  font-size: clamp(15px, 1.3vw, 20px);
  letter-spacing: -0.02em;
  font-weight: 800;
  line-height: 1.1;
}

.slide.proof-v2 .apx-why p {
  margin: 0;
  color: var(--muted-dark);
  font-size: clamp(11px, 0.85vw, 13.5px);
  line-height: 1.5;
}

.slide.proof-v2 .apx-people {
  margin-top: clamp(6px, 1vh, 10px);
  font-size: clamp(8.5px, 0.68vw, 10px);
  letter-spacing: 0.05em;
  line-height: 1.55;
  color: var(--muted-dark);
  opacity: 0.85;
}

.slide.proof-v2 .apx-method {
  margin: 0;
  font-size: 9px;
  letter-spacing: 0.06em;
  color: var(--muted-dark);
  opacity: 0.75;
}

/* Responsive */

@media (min-width: 1101px) {
  /* Hard height so the flexible band absorbs leftover space
     instead of the shell growing past one viewport. */
  .slide.proof-v2 .slide-shell.apx-shell {
    height: calc(100vh - var(--bar-h));
  }
}

@media (max-width: 1100px) {
  .slide.proof-v2 .apx-head {
    grid-template-columns: 1fr;
    gap: 12px;
    align-items: start;
  }

  .slide.proof-v2 .apx-title {
    max-width: none;
  }

  .slide.proof-v2 .apx-band {
    grid-template-columns: 1fr;
    min-height: 0;
    flex: none;
  }

  .slide.proof-v2 .apx-stage {
    order: -1;
    aspect-ratio: 16 / 9;
    min-height: 200px;
  }

  .slide.proof-v2 .apx-stats article {
    flex: none;
  }

  .slide.proof-v2 .apx-receipts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 20px;
  }

  .slide.proof-v2 .apx-foot {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .slide.proof-v2 .apx-why {
    border-left: 0;
    border-top: 3px solid var(--red);
    padding-left: 0;
    padding-top: 14px;
  }
}

@media (max-width: 560px) {
  .slide.proof-v2 .apx-title {
    font-size: clamp(27px, 8vw, 33px);
  }

  .slide.proof-v2 .apx-stats article {
    gap: 12px;
  }

  .slide.proof-v2 .apx-stats strong {
    font-size: 32px;
  }

  .slide.proof-v2 .apx-inset {
    width: 34%;
    min-width: 108px;
  }

  .slide.proof-v2 .apx-tag {
    left: 8px;
    top: 8px;
    max-width: 74%;
    padding: 8px 10px 9px;
  }

  .slide.proof-v2 .apx-watch span {
    white-space: normal;
    line-height: 1.35;
    text-align: left;
  }
}

@media (prefers-reduced-motion: reduce) {
  .slide.proof-v2 .apx-track {
    animation: none;
  }

  .slide.proof-v2 .apx-watch,
  .slide.proof-v2 .apx-watch i {
    transition: none;
  }
}

/* Slide 7: brand logos inline in the proof ticker */
.slide.proof-v2 .apx-ticker span.apx-tick-brands {
  display: inline-flex;
  align-items: center;
  gap: clamp(9px, 0.8vw, 16px);
}

.slide.proof-v2 .apx-ticker span.apx-tick-brands img {
  height: clamp(11px, 1.05vh, 16px);
  width: auto;
  display: block;
  filter: brightness(0) invert(1);
  opacity: 0.92;
}

.slide.proof-v2 .apx-ticker span.apx-tick-brands img[alt="Six Flags"] {
  height: clamp(14px, 1.35vh, 21px);
}

.slide.proof-v2 .apx-ticker span.apx-tick-brands img[alt="Hulu"] {
  height: clamp(9px, 0.88vh, 13px);
}

/* ============================================================
   SLIDE 8 REBUILD / REVENUE AND OPERATING PLAN ("rop-" prefix)
   Signed WireCare base -> two projected years -> where the
   money goes. Scoped under .slide.plan-v5; the old .forecast-v4
   / .f4-* rules above are inert: the markup no longer uses them.
   ============================================================ */

.slide.plan-v5 .slide-shell.rop-shell {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: clamp(9px, 1.4vh, 22px);
  min-height: calc(100vh - var(--bar-h));
  padding: clamp(20px, 3.2vh, 48px) 0 clamp(14px, 2.4vh, 36px);
}

.slide.plan-v5 .rop-head {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(0, 0.72fr);
  gap: clamp(24px, 3vw, 60px);
  align-items: end;
}

.slide.plan-v5 .rop-title {
  margin: 0;
  font-size: clamp(31px, 3.2vw, 56px);
  line-height: 0.99;
  letter-spacing: -0.05em;
  font-weight: 800;
  max-width: 16ch;
}

.slide.plan-v5 .rop-head-side {
  display: flex;
  flex-direction: column;
  gap: clamp(8px, 1.2vh, 14px);
  align-items: flex-start;
}

.slide.plan-v5 .rop-dek {
  margin: 0;
  color: var(--muted-light);
  font-size: clamp(12px, 0.92vw, 15.5px);
  line-height: 1.5;
}

.slide.plan-v5 .rop-legend {
  display: flex;
  gap: 22px;
}

.slide.plan-v5 .rop-legend span {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--muted-light);
}

.slide.plan-v5 .rop-legend i {
  width: 22px;
  height: 4px;
  display: block;
  background: var(--ink);
}

.slide.plan-v5 .rop-legend .rop-lg-mj i {
  background: var(--red);
}

/* The ledger band: contracted base + two projected years */

.slide.plan-v5 .rop-band {
  flex: 1 0 auto;
  min-height: max-content;
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(0, 1fr) minmax(0, 1fr);
  border-top: 3px solid var(--ink);
  border-bottom: 1px solid var(--line-light);
}

.slide.plan-v5 .rop-col {
  min-width: 0;
  display: flex;
  flex-direction: column;
  padding: clamp(12px, 1.8vh, 22px) clamp(18px, 1.9vw, 34px) clamp(12px, 1.8vh, 20px);
  border-right: 1px solid var(--line-light);
}

.slide.plan-v5 .rop-col:first-child {
  padding-left: 0;
}

.slide.plan-v5 .rop-col:last-child {
  padding-right: 0;
  border-right: 0;
}

.slide.plan-v5 .rop-col.rop-signed {
  box-shadow: inset 0 3px 0 var(--red);
  margin-top: -3px;
  padding-left: clamp(18px, 1.9vw, 34px);
  background: rgba(241, 31, 45, 0.03);
}

.slide.plan-v5 .rop-tier {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 14px;
}

.slide.plan-v5 .rop-tier span,
.slide.plan-v5 .rop-tier em {
  font-size: 9px;
  font-weight: 800;
  font-style: normal;
  letter-spacing: 0.17em;
  text-transform: uppercase;
}

.slide.plan-v5 .rop-tier em {
  color: var(--muted-light);
}

.slide.plan-v5 .rop-tier em.rop-tier-hot {
  color: var(--red);
}

.slide.plan-v5 .rop-big {
  margin: clamp(8px, 1.3vh, 16px) 0 0;
  font-size: clamp(42px, 3.9vw, 70px);
  line-height: 0.9;
  letter-spacing: -0.05em;
  font-weight: 800;
}

.slide.plan-v5 .rop-big.rop-red {
  color: var(--red);
}

.slide.plan-v5 .rop-cap {
  display: block;
  margin-top: 7px;
  font-size: clamp(8.5px, 0.7vw, 10.5px);
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted-light);
}

.slide.plan-v5 .rop-mix {
  display: flex;
  height: 6px;
  margin-top: clamp(10px, 1.5vh, 18px);
}

.slide.plan-v5 .rop-mix i,
.slide.plan-v5 .rop-mix b {
  display: block;
  height: 100%;
  flex-grow: var(--share, 1);
}

.slide.plan-v5 .rop-mix i {
  background: var(--ink);
}

.slide.plan-v5 .rop-mix b {
  background: var(--red);
  margin-left: 3px;
}

.slide.plan-v5 .rop-ledger {
  margin-top: clamp(10px, 1.5vh, 18px);
}

.slide.plan-v5 .rop-ledger > div {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 14px;
  padding: clamp(4px, 0.7vh, 7px) 0;
  border-top: 1px solid var(--line-light);
}

.slide.plan-v5 .rop-ledger span {
  font-size: clamp(10px, 0.8vw, 12.5px);
  line-height: 1.3;
  color: var(--ink-soft);
}

.slide.plan-v5 .rop-ledger b {
  font-size: clamp(12px, 1vw, 16px);
  font-weight: 800;
  letter-spacing: -0.02em;
}

.slide.plan-v5 .rop-ledger .rop-mjrow span {
  font-weight: 800;
}

.slide.plan-v5 .rop-ledger .rop-mjrow b {
  color: var(--red);
}

.slide.plan-v5 .rop-signed-note {
  margin: auto 0 0;
  padding-top: clamp(8px, 1.2vh, 14px);
  font-size: clamp(10px, 0.78vw, 12px);
  line-height: 1.5;
  color: var(--muted-light);
  max-width: 30ch;
}

.slide.plan-v5 .rop-signed-note b {
  color: var(--ink);
}

.slide.plan-v5 .rop-net {
  margin-top: auto;
  padding-top: clamp(8px, 1.2vh, 14px);
}

.slide.plan-v5 .rop-net > div {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 14px;
  padding: clamp(5px, 0.8vh, 8px) 0;
}

.slide.plan-v5 .rop-net .rop-cost {
  border-top: 1px dashed rgba(7, 8, 7, 0.4);
}

.slide.plan-v5 .rop-net .rop-left {
  border-top: 2px solid var(--ink);
}

.slide.plan-v5 .rop-net span {
  font-size: clamp(8.5px, 0.7vw, 10.5px);
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.slide.plan-v5 .rop-net span em {
  display: block;
  margin-top: 3px;
  font-size: clamp(8px, 0.62vw, 9.5px);
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0.06em;
  text-transform: none;
  color: var(--muted-light);
}

.slide.plan-v5 .rop-net .rop-cost b {
  font-size: clamp(14px, 1.15vw, 19px);
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--muted-light);
}

.slide.plan-v5 .rop-net .rop-left b {
  font-size: clamp(19px, 1.7vw, 28px);
  font-weight: 800;
  letter-spacing: -0.04em;
}

/* Marquee ticker */

.slide.plan-v5 .rop-ticker {
  overflow: hidden;
  border-top: 1px solid var(--ink);
  border-bottom: 1px solid var(--ink);
  padding: clamp(7px, 1vh, 12px) 0;
}

.slide.plan-v5 .rop-track {
  display: flex;
  width: max-content;
  animation: rop-marquee 40s linear infinite;
  will-change: transform;
}

.slide.plan-v5 .rop-seg {
  display: flex;
  align-items: center;
  gap: clamp(22px, 2.2vw, 38px);
  padding-right: clamp(22px, 2.2vw, 38px);
  flex: none;
}

.slide.plan-v5 .rop-seg span {
  white-space: nowrap;
  font-size: clamp(11px, 0.9vw, 14px);
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  line-height: 1;
}

.slide.plan-v5 .rop-seg i {
  width: 6px;
  height: 6px;
  background: var(--red);
  flex: none;
}

@keyframes rop-marquee {
  to {
    transform: translateX(-50%);
  }
}

/* Foot: where the money goes + the with-or-without close */

.slide.plan-v5 .rop-foot {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
  gap: clamp(24px, 3vw, 60px);
  align-items: start;
}

.slide.plan-v5 .rop-costs h3 {
  margin: 0 0 clamp(8px, 1.3vh, 14px);
  font-size: clamp(11.5px, 0.95vw, 15px);
  font-weight: 800;
  letter-spacing: 0.02em;
}

.slide.plan-v5 .rop-bars {
  display: flex;
  flex-direction: column;
  gap: clamp(5px, 0.8vh, 9px);
}

.slide.plan-v5 .rop-bar {
  display: grid;
  grid-template-columns: minmax(120px, 168px) minmax(0, 1fr) 52px;
  align-items: center;
  gap: clamp(10px, 1.1vw, 18px);
}

.slide.plan-v5 .rop-bar span {
  font-size: clamp(9px, 0.74vw, 11px);
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  line-height: 1.25;
}

.slide.plan-v5 .rop-bar i {
  display: block;
  height: 10px;
  background: rgba(7, 8, 7, 0.08);
}

.slide.plan-v5 .rop-bar u {
  display: block;
  height: 100%;
  width: var(--w, 0%);
  background: var(--ink);
  text-decoration: none;
}

.slide.plan-v5 .rop-bar b {
  font-size: clamp(12px, 1vw, 16px);
  font-weight: 800;
  letter-spacing: -0.02em;
  text-align: right;
}

.slide.plan-v5 .rop-payroll {
  margin: clamp(7px, 1.1vh, 12px) 0 0;
  font-size: clamp(9px, 0.72vw, 11px);
  color: var(--muted-light);
}

.slide.plan-v5 .rop-why {
  border-left: 3px solid var(--red);
  padding-left: clamp(14px, 1.4vw, 22px);
}

.slide.plan-v5 .rop-kicker {
  margin: 0 0 6px;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--red);
}

.slide.plan-v5 .rop-why h3 {
  margin: 0 0 6px;
  font-size: clamp(15px, 1.3vw, 20px);
  letter-spacing: -0.02em;
  font-weight: 800;
  line-height: 1.1;
}

.slide.plan-v5 .rop-why p:last-child {
  margin: 0;
  color: var(--muted-light);
  font-size: clamp(11px, 0.85vw, 13.5px);
  line-height: 1.5;
}

.slide.plan-v5 .rop-method {
  margin: 0;
  font-size: 9px;
  letter-spacing: 0.06em;
  color: var(--muted-light);
  opacity: 0.8;
}

/* Responsive */

@media (min-width: 1101px) {
  /* Hard height so the ledger band absorbs leftover space
     instead of the shell growing past one viewport. */
  .slide.plan-v5 .slide-shell.rop-shell {
    height: calc(100vh - var(--bar-h));
  }
}

@media (max-width: 1100px) {
  .slide.plan-v5 .rop-head {
    grid-template-columns: 1fr;
    gap: 12px;
    align-items: start;
  }

  .slide.plan-v5 .rop-title {
    max-width: none;
  }

  .slide.plan-v5 .rop-band {
    grid-template-columns: 1fr;
    flex: none;
  }

  .slide.plan-v5 .rop-col {
    padding: 16px 0 18px;
    border-right: 0;
    border-bottom: 1px solid var(--line-light);
  }

  .slide.plan-v5 .rop-col.rop-signed {
    padding-left: 0;
    padding-top: 19px;
  }

  .slide.plan-v5 .rop-col:last-child {
    border-bottom: 0;
  }

  .slide.plan-v5 .rop-signed-note,
  .slide.plan-v5 .rop-net {
    margin-top: 0;
  }

  .slide.plan-v5 .rop-foot {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .slide.plan-v5 .rop-why {
    border-left: 0;
    border-top: 3px solid var(--red);
    padding-left: 0;
    padding-top: 14px;
  }
}

@media (max-width: 560px) {
  .slide.plan-v5 .rop-title {
    font-size: clamp(27px, 8vw, 33px);
  }

  .slide.plan-v5 .rop-big {
    font-size: 40px;
  }

  .slide.plan-v5 .rop-bar {
    grid-template-columns: minmax(104px, 128px) minmax(0, 1fr) 46px;
    gap: 10px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .slide.plan-v5 .rop-track {
    animation: none;
  }
}

/* Slide 8: spread ledger rows so the projection columns do not leave a void */
.slide.plan-v5 .rop-col .rop-ledger {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  justify-content: space-evenly;
  min-height: 0;
}

/* ============================================================
   09 / COMPOUNDING MODEL - CYCLE REBUILD ("cpx-" prefix)
   Scoped to .slide.compound-v2 only and appended last on
   purpose so nothing earlier in the cascade can defeat it.
   The old .compound-slide / .cy10-* markup is gone; those
   rules are inert.
   ============================================================ */

.slide.compound-v2 {
  background: var(--ink);
}

/* Full-bleed arena backdrop, heavily shaded so type stays crisp */

.slide.compound-v2 .cpx-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

.slide.compound-v2 .cpx-bg img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 38%;
  opacity: 0.42;
}

.slide.compound-v2 .cpx-shade {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse at 50% 8%, rgba(7, 8, 7, 0.3), rgba(7, 8, 7, 0.72) 70%),
    linear-gradient(180deg, rgba(7, 8, 7, 0.88) 0%, rgba(7, 8, 7, 0.55) 42%, rgba(7, 8, 7, 0.93) 100%);
}

.slide.compound-v2 .slide-shell.cpx-shell {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: clamp(11px, 1.8vh, 24px);
  min-height: calc(100vh - var(--bar-h));
  padding: clamp(24px, 3.6vh, 48px) 0 clamp(16px, 2.6vh, 36px);
}

/* Head: big statement left, dek offset right */

.slide.compound-v2 .cpx-head {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(0, 0.72fr);
  gap: clamp(24px, 3vw, 60px);
  align-items: end;
}

.slide.compound-v2 .cpx-title {
  margin: 0;
  font-size: clamp(30px, 3.1vw, 54px);
  line-height: 0.99;
  letter-spacing: -0.05em;
  font-weight: 800;
  max-width: 19ch;
}

.slide.compound-v2 .cpx-dek {
  margin: 0 0 4px;
  color: var(--muted-dark);
  font-size: clamp(12.5px, 0.95vw, 16px);
  line-height: 1.5;
}

/* The cycle: four stages left to right, then a return line
   looping back under them to stage one */

.slide.compound-v2 .cpx-cycle {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: clamp(10px, 1.6vh, 20px);
}

.slide.compound-v2 .cpx-stages {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(20px, 2.4vw, 44px);
}

.slide.compound-v2 .cpx-stages li {
  position: relative;
  min-width: 0;
  border-top: 1px solid rgba(239, 238, 233, 0.34);
  padding-top: clamp(8px, 1.2vh, 14px);
}

.slide.compound-v2 .cpx-stages li + li::before {
  content: "\2192";
  position: absolute;
  top: clamp(14px, 2vh, 22px);
  left: calc(clamp(20px, 2.4vw, 44px) * -0.5);
  transform: translateX(-50%);
  font-size: clamp(14px, 1.2vw, 20px);
  line-height: 1;
  color: rgba(239, 238, 233, 0.55);
}

.slide.compound-v2 .cpx-stages em {
  display: block;
  font-style: normal;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.22em;
  color: var(--muted-dark);
}

.slide.compound-v2 .cpx-stages h3 {
  margin: clamp(4px, 0.8vh, 9px) 0 clamp(4px, 0.8vh, 8px);
  font-size: clamp(19px, 1.9vw, 32px);
  line-height: 0.95;
  letter-spacing: -0.03em;
  text-transform: uppercase;
  font-weight: 800;
}

.slide.compound-v2 .cpx-stages p {
  margin: 0;
  font-size: clamp(10.5px, 0.82vw, 13px);
  line-height: 1.5;
  color: var(--muted-dark);
}

/* Return loop drawn as a U of hairlines with an arrowhead
   pointing back up at stage one */

.slide.compound-v2 .cpx-return {
  position: relative;
  height: clamp(30px, 4.6vh, 48px);
}

.slide.compound-v2 .cpx-return-line {
  position: absolute;
  inset: 0 clamp(24px, 4vw, 80px);
  display: block;
  border: 1px solid rgba(239, 238, 233, 0.38);
  border-top: 0;
}

.slide.compound-v2 .cpx-return-line::before {
  content: "";
  position: absolute;
  top: -3px;
  left: -5.5px;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-bottom: 8px solid rgba(239, 238, 233, 0.85);
}

.slide.compound-v2 .cpx-return-label {
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translate(-50%, 50%);
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 5px 16px;
  background: var(--ink);
  border: 1px solid rgba(239, 238, 233, 0.3);
  font-size: clamp(8.5px, 0.72vw, 10.5px);
  font-weight: 800;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  white-space: nowrap;
  color: var(--paper);
}

.slide.compound-v2 .cpx-return-label img {
  width: clamp(12px, 1vw, 16px);
  height: auto;
  flex: none;
}

/* Foot: the three compounding proofs + the Agent aside */

.slide.compound-v2 .cpx-foot {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr);
  gap: clamp(24px, 3vw, 60px);
  align-items: start;
}

.slide.compound-v2 .cpx-label {
  display: block;
  margin: 0 0 clamp(8px, 1.3vh, 14px);
  font-style: normal;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--muted-dark);
}

.slide.compound-v2 .cpx-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(14px, 1.6vw, 28px);
}

.slide.compound-v2 .cpx-grid article {
  min-width: 0;
  border-top: 1px solid var(--line-dark);
  padding-top: clamp(6px, 0.9vh, 10px);
}

.slide.compound-v2 .cpx-grid em {
  display: block;
  font-style: normal;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted-dark);
}

.slide.compound-v2 .cpx-grid strong {
  display: block;
  margin-top: 5px;
  font-size: clamp(17px, 1.55vw, 26px);
  line-height: 1;
  letter-spacing: -0.04em;
  font-weight: 800;
  white-space: nowrap;
}

.slide.compound-v2 .cpx-grid strong i {
  font-style: normal;
  font-weight: 400;
  font-size: 0.55em;
  letter-spacing: 0.04em;
  color: var(--muted-dark);
  padding: 0 1px;
}

.slide.compound-v2 .cpx-grid strong.cpx-red {
  color: var(--red);
}

.slide.compound-v2 .cpx-grid strong.cpx-red i {
  color: var(--red);
  opacity: 0.75;
}

.slide.compound-v2 .cpx-grid small {
  display: block;
  margin-top: 5px;
  font-size: clamp(8.5px, 0.7vw, 10.5px);
  line-height: 1.45;
  color: var(--muted-dark);
}

.slide.compound-v2 .cpx-why {
  border-left: 3px solid var(--red);
  padding-left: clamp(14px, 1.4vw, 22px);
}

.slide.compound-v2 .cpx-kicker {
  margin: 0 0 6px;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--red);
}

.slide.compound-v2 .cpx-why h3 {
  margin: 0 0 6px;
  font-size: clamp(15px, 1.3vw, 20px);
  letter-spacing: -0.02em;
  font-weight: 800;
  line-height: 1.1;
}

.slide.compound-v2 .cpx-why p:last-child {
  margin: 0;
  color: var(--muted-dark);
  font-size: clamp(11px, 0.85vw, 13.5px);
  line-height: 1.5;
}

.slide.compound-v2 .cpx-method {
  margin: 0;
  font-size: 9px;
  letter-spacing: 0.06em;
  color: var(--muted-dark);
  opacity: 0.75;
}

/* Responsive */

@media (min-width: 1101px) {
  /* Hard height so the cycle band absorbs leftover space
     instead of the shell growing past one viewport. */
  .slide.compound-v2 .slide-shell.cpx-shell {
    height: calc(100vh - var(--bar-h));
  }
}

@media (max-width: 1100px) {
  .slide.compound-v2 .cpx-head {
    grid-template-columns: 1fr;
    gap: 12px;
    align-items: start;
  }

  .slide.compound-v2 .cpx-title {
    max-width: none;
  }

  .slide.compound-v2 .cpx-cycle {
    flex: none;
  }

  .slide.compound-v2 .cpx-stages {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px 20px;
  }

  .slide.compound-v2 .cpx-stages li + li::before {
    content: none;
  }

  .slide.compound-v2 .cpx-return {
    height: auto;
  }

  .slide.compound-v2 .cpx-return-line {
    display: none;
  }

  .slide.compound-v2 .cpx-return-label {
    position: static;
    transform: none;
    display: flex;
    justify-content: center;
    white-space: normal;
    text-align: center;
  }

  .slide.compound-v2 .cpx-foot {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .slide.compound-v2 .cpx-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .slide.compound-v2 .cpx-why {
    border-left: 0;
    border-top: 3px solid var(--red);
    padding-left: 0;
    padding-top: 14px;
  }
}

@media (max-width: 560px) {
  .slide.compound-v2 .cpx-title {
    font-size: clamp(27px, 8vw, 33px);
  }

  .slide.compound-v2 .cpx-stages {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .slide.compound-v2 .cpx-grid strong {
    font-size: 22px;
  }
}

/* Large-canvas tune: at tall desktop viewports the cycle band
   scales up so the centered flex area reads as a stage, not a void */

@media (min-width: 1600px) and (min-height: 950px) {
  .slide.compound-v2 .cpx-stages h3 {
    font-size: clamp(32px, 2.2vw, 44px);
  }

  .slide.compound-v2 .cpx-stages p {
    font-size: 14px;
    max-width: 34ch;
  }

  .slide.compound-v2 .cpx-stages li {
    padding-top: 18px;
  }

  .slide.compound-v2 .cpx-cycle {
    gap: 30px;
  }

  .slide.compound-v2 .cpx-return {
    height: 62px;
  }

  .slide.compound-v2 .cpx-return-label {
    font-size: 11px;
    padding: 7px 20px;
  }

  .slide.compound-v2 .cpx-grid strong {
    font-size: 32px;
  }

  .slide.compound-v2 .cpx-grid small {
    font-size: 11.5px;
  }

  .slide.compound-v2 .cpx-grid em,
  .slide.compound-v2 .cpx-label {
    font-size: 10px;
  }
}

@media (min-width: 1600px) and (min-height: 950px) {
  /* Let the arena read through the breathing room so the open
     space plays as atmosphere, not blank ink */
  .slide.compound-v2 .cpx-bg img {
    opacity: 0.55;
    object-position: 50% 30%;
  }

  .slide.compound-v2 .cpx-shade {
    background:
      radial-gradient(ellipse at 50% 6%, rgba(7, 8, 7, 0.42), rgba(7, 8, 7, 0.6) 74%),
      linear-gradient(180deg, rgba(7, 8, 7, 0.9) 0%, rgba(7, 8, 7, 0.38) 44%, rgba(7, 8, 7, 0.94) 100%);
  }
}

/* Slide 9: keep the cycle centred, tighten the shell so the voids are smaller */
.slide.compound-v2 .slide-shell.cpx-shell {
  padding: clamp(30px, 5vh, 74px) 0 clamp(26px, 4.4vh, 62px);
}

/* ==================================================================
   DreamHack Dallas overlay redesign (dhx-), scoped under #waOverlay.
   #rosterOverlay keeps the earlier wa-ov-* rules; nothing above this
   block was edited. The Fortnite attribution is structural here:
   game chip on the video, tag in the kicker, labelled result table.
   ================================================================== */

#waOverlay {
  padding: 0;
  background: #000;
}

#waOverlay .dhx-shell {
  display: grid;
  grid-template-columns: minmax(0, 2.02fr) minmax(360px, 1fr);
  width: 100%;
  height: 100%;
  min-height: 0;
  border-top: 2px solid var(--red);
}

/* Left: full-bleed match footage on black */

#waOverlay .dhx-stage {
  position: relative;
  margin: 0;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  background: #000;
}

#waOverlay .dhx-stage video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #000;
}

#waOverlay .dhx-game {
  position: absolute;
  top: clamp(16px, 2.4vh, 28px);
  left: clamp(16px, 1.6vw, 30px);
  z-index: 2;
  display: inline-flex;
  align-items: center;
  padding: 8px 13px 7px;
  color: var(--ink);
  font-size: 10.5px;
  font-weight: 850;
  letter-spacing: 0.26em;
  line-height: 1;
  text-transform: uppercase;
  background: var(--paper);
}

#waOverlay .dhx-cap {
  position: absolute;
  left: clamp(16px, 1.6vw, 30px);
  top: calc(clamp(16px, 2.4vh, 28px) + 38px);
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 5px;
  max-width: min(74%, 430px);
  padding: 11px 15px 12px;
  background: rgba(7, 8, 7, 0.88);
  border-left: 2px solid var(--paper);
}

#waOverlay .dhx-cap b {
  color: var(--paper);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.015em;
  line-height: 1.25;
}

#waOverlay .dhx-cap span {
  color: var(--muted-dark);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

/* Right: ivory proof panel */

#waOverlay .dhx-proof {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
  padding: clamp(18px, 2.8vh, 32px) clamp(22px, 1.8vw, 36px) clamp(14px, 2vh, 22px);
  color: var(--ink);
  background: var(--paper);
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: rgba(7, 8, 7, 0.3) transparent;
}

#waOverlay .dhx-head {
  margin: 0;
}

#waOverlay .wa-ov-close {
  z-index: 6;
}

#waOverlay .dhx-kicker {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 9px 14px;
  margin: 0;
  padding-right: 150px;
}

#waOverlay .dhx-kicker > span {
  white-space: nowrap;
}

#waOverlay .dhx-kicker > span {
  color: var(--red);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}

#waOverlay .dhx-kicker > em {
  flex: 0 0 auto;
  padding: 5px 10px 4px;
  color: var(--ink);
  font-size: 9px;
  font-style: normal;
  font-weight: 850;
  letter-spacing: 0.2em;
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
  border: 1px solid var(--ink);
}

#waOverlay .dhx-title {
  max-width: 30ch;
  margin: clamp(9px, 1.4vh, 14px) 0 0;
  color: var(--ink);
  font-size: clamp(21px, 1.55vw, 29px);
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: -0.03em;
  text-wrap: balance;
}

#waOverlay .dhx-layer {
  margin: clamp(13px, 2vh, 22px) 0 7px;
  color: var(--navy);
  font-size: 9px;
  font-weight: 850;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

/* Tournament result table */

#waOverlay .dhx-standings {
  display: flex;
  flex-direction: column;
  border-top: 2px solid var(--ink);
}

#waOverlay .dhx-thead {
  display: grid;
  grid-template-columns: 34px minmax(88px, 0.62fr) minmax(0, 1fr) minmax(52px, auto);
  column-gap: 14px;
  align-items: center;
  min-height: 24px;
  color: rgba(15, 15, 15, 0.4);
  font-size: 7px;
  font-weight: 850;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  border-bottom: 1px solid rgba(15, 15, 15, 0.18);
}

#waOverlay .dhx-thead span:last-child {
  text-align: right;
}

#waOverlay .dhx-team {
  display: grid;
  grid-template-columns: 34px minmax(88px, 0.62fr) minmax(0, 1fr) minmax(52px, auto);
  column-gap: 14px;
  align-items: center;
  min-height: clamp(42px, 4.8vh, 52px);
  padding: 7px 0;
  border-bottom: 1px solid rgba(15, 15, 15, 0.22);
}

#waOverlay .dhx-rank {
  color: rgba(15, 15, 15, 0.42);
  font-size: 12px;
  font-weight: 850;
  letter-spacing: 0.13em;
}

#waOverlay .dhx-team img {
  display: block;
  width: auto;
  max-width: min(104px, 100%);
  max-height: clamp(24px, 3.4vh, 32px);
  object-fit: contain;
  object-position: left center;
  filter: grayscale(1) brightness(0);
}

#waOverlay .dhx-players {
  color: rgba(15, 15, 15, 0.62);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1.55;
  text-transform: uppercase;
}

#waOverlay .dhx-prize {
  color: var(--ink);
  font-size: 15px;
  font-weight: 800;
  letter-spacing: -0.025em;
  line-height: 1;
  text-align: right;
  font-variant-numeric: tabular-nums;
}

#waOverlay .dhx-agent {
  margin-left: -16px;
  padding-left: 16px;
  box-shadow: inset 3px 0 0 var(--red);
}

#waOverlay .dhx-agent .dhx-rank {
  color: var(--red);
  font-size: 15px;
}

#waOverlay .dhx-agent .dhx-players {
  color: rgba(15, 15, 15, 0.78);
}

#waOverlay .dhx-agent img {
  max-width: min(100px, 100%);
}

#waOverlay .dhx-tnote {
  margin: 8px 0 0;
  color: rgba(15, 15, 15, 0.52);
  font-size: 8.5px;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.55;
  text-transform: uppercase;
}

/* Commercial result ledger */

#waOverlay .dhx-ledger {
  display: block;
  border-top: 2px solid var(--ink);
  border-bottom: 1px solid rgba(15, 15, 15, 0.26);
}

#waOverlay .dhx-row {
  display: grid;
  grid-template-columns: minmax(104px, 0.72fr) minmax(0, 1.28fr);
  align-items: center;
  gap: 18px;
  min-height: 48px;
  padding: 8px 0;
  border-bottom: 1px solid rgba(15, 15, 15, 0.17);
}

#waOverlay .dhx-ledger .dhx-row:last-child {
  border-bottom: 0;
}

#waOverlay .dhx-row strong {
  color: var(--ink);
  font-size: clamp(21px, 1.65vw, 27px);
  font-weight: 800;
  line-height: 0.95;
  letter-spacing: -0.03em;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

#waOverlay .dhx-row strong em {
  display: block;
  margin: 4px 0 0;
  color: var(--navy);
  font-size: 7.5px;
  font-style: normal;
  font-weight: 850;
  letter-spacing: 0.18em;
  line-height: 1;
  text-transform: uppercase;
}

#waOverlay .dhx-row > span {
  color: rgba(15, 15, 15, 0.62);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.005em;
  line-height: 1.5;
}

#waOverlay .dhx-primary {
  min-height: clamp(64px, 8vh, 88px);
}

#waOverlay .dhx-primary strong {
  color: var(--red);
  font-size: clamp(40px, 2.9vw, 56px);
  letter-spacing: -0.04em;
}

#waOverlay .dhx-primary strong em {
  margin-top: 5px;
  font-size: 9px;
}

#waOverlay .dhx-primary > span {
  color: rgba(15, 15, 15, 0.84);
  font-size: 11.5px;
  font-weight: 650;
}

/* Community reaction receipt */

#waOverlay .dhx-receipt {
  display: block;
  width: min(100%, calc(37vh * 1.19));
  margin: 0;
  padding: 0;
  cursor: zoom-in;
  background: none;
  border: 1px solid rgba(15, 15, 15, 0.3);
}

#waOverlay .dhx-receipt:hover,
#waOverlay .dhx-receipt:focus-visible {
  border-color: var(--red);
  outline: none;
}

#waOverlay .dhx-receipt-crop {
  display: block;
  background: #000;
}

#waOverlay .dhx-receipt-crop img {
  display: block;
  width: 100%;
  height: auto;
}

/* Foot */

#waOverlay .dhx-foot {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  margin-top: auto;
  padding-top: clamp(10px, 1.6vh, 16px);
}

#waOverlay .dhx-source {
  color: var(--ink);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-decoration: underline;
  text-underline-offset: 4px;
  text-transform: uppercase;
}

#waOverlay .dhx-source:hover,
#waOverlay .dhx-source:focus-visible {
  color: var(--red);
}

#waOverlay .dhx-note {
  color: rgba(15, 15, 15, 0.45);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-align: right;
  text-transform: uppercase;
}

/* Entrance, honouring reduced motion */

@media (prefers-reduced-motion: no-preference) {
  #waOverlay.open .dhx-shell {
    animation: dhxShellIn 0.3s ease both;
  }

  @keyframes dhxShellIn {
    from {
      opacity: 0;
      transform: translateY(10px);
    }
    to {
      opacity: 1;
      transform: none;
    }
  }
}

/* Short desktop viewports: keep 1366x768 and 1280x720 inside the frame */

@media (min-width: 821px) and (max-height: 800px) {
  #waOverlay .dhx-proof {
    padding: 16px 24px 13px;
  }

  #waOverlay .dhx-title {
    margin-top: 8px;
    font-size: 19px;
  }

  #waOverlay .dhx-layer {
    margin: 11px 0 6px;
  }

  #waOverlay .dhx-thead {
    min-height: 19px;
  }

  #waOverlay .dhx-team {
    min-height: 38px;
    padding-top: 5px;
    padding-bottom: 5px;
  }

  #waOverlay .dhx-team img {
    max-width: 76px;
    max-height: 21px;
  }

  #waOverlay .dhx-players {
    font-size: 8px;
    letter-spacing: 0.055em;
  }

  #waOverlay .dhx-agent .dhx-rank {
    font-size: 13px;
  }

  #waOverlay .dhx-tnote {
    margin-top: 6px;
    font-size: 7.5px;
  }

  #waOverlay .dhx-row {
    min-height: 38px;
    padding-top: 4px;
    padding-bottom: 4px;
  }

  #waOverlay .dhx-row strong {
    font-size: 19px;
  }

  #waOverlay .dhx-row > span {
    font-size: 10px;
  }

  #waOverlay .dhx-primary {
    min-height: 52px;
  }

  #waOverlay .dhx-primary strong {
    font-size: 36px;
  }

  #waOverlay .dhx-primary > span {
    font-size: 10.5px;
  }

  #waOverlay .dhx-receipt {
    width: min(100%, calc(29vh * 1.19));
  }

  #waOverlay .dhx-foot {
    padding-top: 8px;
  }

  #waOverlay .dhx-cap b {
    font-size: 12px;
  }
}

/* Mobile: stacked, internally scrollable, page untouched */

@media (max-width: 820px) {
  #waOverlay {
    align-items: stretch;
    overflow-y: auto;
  }

  #waOverlay.open {
    display: block;
  }

  #waOverlay .dhx-shell {
    display: flex;
    flex-direction: column;
    height: auto;
    min-height: 100%;
  }

  #waOverlay .dhx-stage {
    display: flex;
    flex-direction: column;
    flex: 0 0 auto;
    padding-top: 56px;
    overflow: visible;
  }

  #waOverlay .dhx-stage video {
    position: static;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
  }

  #waOverlay .dhx-game {
    position: static;
    align-self: flex-start;
    margin: 0 0 10px 16px;
  }

  #waOverlay .dhx-cap {
    position: static;
    max-width: none;
    margin: 0;
    padding: 12px 16px 13px;
    border-left: 0;
    border-top: 1px solid rgba(239, 238, 233, 0.2);
  }

  #waOverlay .dhx-proof {
    flex: 1 1 auto;
    padding: 24px 20px 20px;
    overflow: visible;
  }

  #waOverlay .dhx-title {
    max-width: none;
    font-size: 24px;
  }

  #waOverlay .dhx-thead,
  #waOverlay .dhx-team {
    grid-template-columns: 26px minmax(58px, auto) minmax(0, 1fr) minmax(44px, auto);
    column-gap: 10px;
  }

  #waOverlay .dhx-team img {
    max-width: min(72px, 100%);
    max-height: 24px;
  }

  #waOverlay .dhx-players {
    font-size: 8.5px;
  }

  #waOverlay .dhx-agent {
    margin-left: -12px;
    padding-left: 12px;
  }

  #waOverlay .dhx-row {
    grid-template-columns: 112px minmax(0, 1fr);
    gap: 14px;
  }

  #waOverlay .dhx-primary strong {
    font-size: 36px;
  }

  #waOverlay .dhx-receipt {
    width: 100%;
  }

  #waOverlay .dhx-foot {
    flex-wrap: wrap;
    row-gap: 8px;
    margin-top: 22px;
  }
}

/* Slide 7 trigger chip: the longer Fortnite-attributed label wraps to two lines; align it like copy, not a centered lockup */

.slide.proof-v2 .apx-watch {
  text-align: left;
}

.slide.proof-v2 .apx-watch span {
  line-height: 1.5;
}

/* Slide 6 (was 7): watch chip reads as a real button, receipts rebalance to three */
.slide.proof-v2 .apx-stats button.apx-watch {
  background: var(--paper);
  border-color: var(--paper);
  color: var(--ink);
  cursor: pointer;
  transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}

.slide.proof-v2 .apx-stats button.apx-watch i {
  color: var(--red);
}

.slide.proof-v2 .apx-stats button.apx-watch span {
  color: var(--ink);
}

.slide.proof-v2 .apx-stats button.apx-watch:hover,
.slide.proof-v2 .apx-stats button.apx-watch:focus-visible {
  transform: translateY(-1px);
  box-shadow: 0 8px 22px rgba(7, 8, 7, 0.45);
}

.slide.proof-v2 .apx-receipts {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (prefers-reduced-motion: reduce) {
  .slide.proof-v2 .apx-stats button.apx-watch {
    transition: none;
  }
  .slide.proof-v2 .apx-stats button.apx-watch:hover,
  .slide.proof-v2 .apx-stats button.apx-watch:focus-visible {
    transform: none;
  }
}

/* ==================================================================
   DreamHack overlay elevation pass (dhx-, appended).
   The old layout let all leftover panel height pool in one seam via
   .dhx-foot { margin-top: auto }. Sections are now grouped (.dhx-sec
   keeps each label glued to its block) and the column distributes
   free space across every seam with space-between, so stretched
   panels breathe evenly at any width instead of leaving one void.
   ================================================================== */

#waOverlay .dhx-proof {
  justify-content: space-between;
}

#waOverlay .dhx-sec {
  display: flex;
  flex-direction: column;
  min-width: 0;
  margin-top: clamp(12px, 1.9vh, 22px);
}

#waOverlay .dhx-sec .dhx-layer {
  margin-top: 0;
}

#waOverlay .dhx-foot {
  margin-top: clamp(10px, 1.6vh, 18px);
}

/* Community reaction reads as evidence: the FaZe Banks reply is
   typeset under the receipt, quoted verbatim from the post. The
   receipt crop is flexible: the post screenshot sits on pure black,
   so object-fit letterboxing is invisible and the crop can absorb
   whatever height is left over at any viewport, growing the proof
   instead of leaving a void, and shrinking under pressure. */

#waOverlay .dhx-sec-react {
  flex: 1 1 auto;
  min-height: 0;
}

#waOverlay .dhx-receipt {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  width: 100%;
  min-height: 0;
  font: inherit;
  text-align: left;
}

#waOverlay .dhx-receipt-crop {
  position: relative;
  flex: 1 1 auto;
  aspect-ratio: 1202 / 1008;
  min-height: 108px;
  max-height: 46vh;
}

#waOverlay .dhx-receipt-crop img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: left top;
}

#waOverlay .dhx-receipt-cap {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 9px 12px 10px;
  background: var(--paper);
  border-top: 1px solid rgba(15, 15, 15, 0.18);
}

#waOverlay .dhx-quote {
  color: var(--ink);
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: -0.005em;
  line-height: 1.4;
}

#waOverlay .dhx-quote-by {
  color: rgba(15, 15, 15, 0.5);
  font-size: 8px;
  font-weight: 850;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

/* Short desktop viewports: the caption adds height, so the receipt
   image gives a little back to keep 1366x768 and 1280x720 scroll-free. */

/* Narrow desktop panels: keep the kicker clear of the CLOSE control */

@media (min-width: 821px) and (max-width: 1160px) {
  #waOverlay .dhx-kicker {
    padding-right: 128px;
  }

  #waOverlay .dhx-kicker > span {
    white-space: normal;
  }

  #waOverlay .dhx-primary strong {
    font-size: 34px;
  }
}

@media (min-width: 821px) and (max-height: 800px) {
  #waOverlay .dhx-quote {
    font-size: 10.5px;
  }

  #waOverlay .dhx-receipt-cap {
    padding: 7px 10px 8px;
  }

  #waOverlay .dhx-sec {
    margin-top: 10px;
  }
}

/* ==================================================================
   Roster overlay rebuild (rox-, appended 2026-08-12).
   Counterpart to the DreamHack dhx- panel: a full-bleed black stage
   holding the whole five-player lineup, with the ivory ledger panel
   on the right carrying standing, qualification math and next event.
   The legacy ro-* / .wa-ov-shell rules are now inert for this dialog
   because the markup no longer uses those classes. Every rule here is
   scoped under #rosterOverlay so the shared wa-ov-* rules DreamHack
   still relies on are untouched.
   The stage anchors three things vertically: game chip pinned top,
   lineup centered, caption pinned bottom, so leftover height frames
   the portraits evenly instead of pooling under them.
   ================================================================== */

#rosterOverlay {
  padding: 0;
  background: #000;
}

#rosterOverlay .rox-shell {
  display: grid;
  grid-template-columns: minmax(0, 2.1fr) minmax(360px, 1fr);
  width: 100%;
  height: 100%;
  min-height: 0;
  border-top: 2px solid var(--red);
}

#rosterOverlay .wa-ov-close {
  z-index: 6;
}

/* Left: the lineup on black */

#rosterOverlay .rox-stage {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  min-height: 0;
  padding: clamp(56px, 8vh, 92px) clamp(18px, 2.2vw, 46px);
  background: #000;
  overflow: hidden;
}

#rosterOverlay .rox-game {
  position: absolute;
  top: clamp(16px, 2.4vh, 28px);
  left: clamp(16px, 1.6vw, 30px);
  z-index: 2;
  display: inline-flex;
  align-items: center;
  padding: 8px 13px 7px;
  color: var(--ink);
  font-size: 10.5px;
  font-weight: 850;
  letter-spacing: 0.26em;
  line-height: 1;
  text-transform: uppercase;
  background: var(--paper);
}

#rosterOverlay .rox-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: clamp(10px, 1.1vw, 18px);
  align-items: start;
}

#rosterOverlay .rox-player {
  display: flex;
  flex-direction: column;
  min-width: 0;
  margin: 0;
}

#rosterOverlay .rox-crop {
  position: relative;
  display: block;
  aspect-ratio: 0.78;
  max-height: 60vh;
  overflow: hidden;
  background: #0a0a0a;
  border: 1px solid rgba(239, 238, 233, 0.16);
}

#rosterOverlay .rox-crop img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 12%;
  transform: scale(1.14);
  transform-origin: 50% 8%;
}

/* Portraits 04 and 05 were shot wider; zoom them to match the
   head scale of the first three so the rank reads as one shoot. */

#rosterOverlay .rox-player:nth-child(4) .rox-crop img {
  transform: scale(1.24);
  transform-origin: 50% 6%;
}

#rosterOverlay .rox-player:nth-child(5) .rox-crop img {
  object-position: 50% 6%;
  transform: scale(1.5);
  transform-origin: 50% 4%;
}

#rosterOverlay .rox-player figcaption {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  column-gap: 9px;
  align-items: baseline;
  margin-top: 9px;
  padding-top: 8px;
  border-top: 1px solid rgba(239, 238, 233, 0.28);
}

#rosterOverlay .rox-player figcaption i {
  color: rgba(239, 238, 233, 0.4);
  font-size: 10px;
  font-style: normal;
  font-weight: 850;
  letter-spacing: 0.13em;
  font-variant-numeric: tabular-nums;
}

#rosterOverlay .rox-name {
  color: rgba(239, 238, 233, 0.94);
  font-size: clamp(13px, 1.05vw, 17px);
  font-weight: 800;
  letter-spacing: -0.01em;
  line-height: 1.1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#rosterOverlay .rox-real {
  display: block;
  grid-column: 2;
  margin-top: 2px;
  color: rgba(239, 238, 233, 0.55);
  font-size: clamp(10px, 0.75vw, 12px);
  font-weight: 650;
}

#rosterOverlay .rox-player figcaption em {
  grid-column: 2;
  margin-top: 4px;
  color: rgba(239, 238, 233, 0.5);
  font-size: 8.5px;
  font-style: normal;
  font-weight: 850;
  letter-spacing: 0.2em;
  line-height: 1;
  text-transform: uppercase;
}

#rosterOverlay .rox-cap {
  position: absolute;
  left: clamp(16px, 1.6vw, 30px);
  bottom: clamp(14px, 2.2vh, 24px);
  color: var(--muted-dark);
  font-size: 9.5px;
  font-weight: 800;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

/* Right: ivory ledger panel, space distributed across every seam */

#rosterOverlay .rox-proof {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-width: 0;
  min-height: 0;
  padding: clamp(18px, 2.8vh, 32px) clamp(22px, 1.8vw, 36px) clamp(14px, 2vh, 22px);
  color: var(--ink);
  background: var(--paper);
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: rgba(7, 8, 7, 0.3) transparent;
}

#rosterOverlay .rox-head {
  margin: 0;
}

#rosterOverlay .rox-kicker {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 9px 14px;
  margin: 0;
  padding-right: 150px;
}

#rosterOverlay .rox-kicker > span {
  color: var(--red);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  white-space: nowrap;
}

#rosterOverlay .rox-kicker > em {
  flex: 0 0 auto;
  padding: 5px 10px 4px;
  color: var(--ink);
  font-size: 9px;
  font-style: normal;
  font-weight: 850;
  letter-spacing: 0.2em;
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
  border: 1px solid var(--ink);
}

#rosterOverlay .rox-title {
  max-width: 26ch;
  margin: clamp(9px, 1.4vh, 14px) 0 0;
  color: var(--ink);
  font-size: clamp(21px, 1.55vw, 29px);
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: -0.03em;
  text-wrap: balance;
}

#rosterOverlay .rox-sub {
  margin: clamp(8px, 1.2vh, 12px) 0 0;
  color: rgba(15, 15, 15, 0.62);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.5;
}

#rosterOverlay .rox-sec {
  display: flex;
  flex-direction: column;
  min-width: 0;
  margin-top: clamp(12px, 1.9vh, 22px);
}

#rosterOverlay .rox-layer {
  margin: 0 0 7px;
  color: var(--navy);
  font-size: 9px;
  font-weight: 850;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

#rosterOverlay .rox-rows {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 18px;
  border-top: 2px solid var(--ink);
}

#rosterOverlay .rox-row {
  padding: 11px 0 12px;
}

#rosterOverlay .rox-row + .rox-row {
  padding-left: 18px;
  border-left: 1px solid rgba(15, 15, 15, 0.18);
}

#rosterOverlay .rox-row em {
  display: block;
  color: rgba(15, 15, 15, 0.45);
  font-size: 9px;
  font-style: normal;
  font-weight: 850;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

#rosterOverlay .rox-row b {
  display: block;
  margin-top: 6px;
  color: rgba(15, 15, 15, 0.68);
  font-size: clamp(24px, 1.8vw, 32px);
  font-weight: 800;
  line-height: 0.95;
  letter-spacing: -0.03em;
}

#rosterOverlay .rox-row.hot b {
  color: var(--ink);
}

#rosterOverlay .rox-row span {
  display: block;
  margin-top: 5px;
  color: rgba(15, 15, 15, 0.5);
  font-size: 9.5px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

#rosterOverlay .rox-note {
  margin: 0;
  padding-top: 9px;
  border-top: 1px solid rgba(15, 15, 15, 0.18);
  color: rgba(15, 15, 15, 0.62);
  font-size: 11px;
  font-weight: 600;
  line-height: 1.5;
}

#rosterOverlay .rox-note a {
  color: inherit;
  text-underline-offset: 4px;
}

#rosterOverlay .rox-note a:hover,
#rosterOverlay .rox-note a:focus-visible {
  color: var(--navy);
}

#rosterOverlay .rox-claim {
  margin: 8px 0 0;
  color: var(--ink);
  font-size: 12.5px;
  font-weight: 800;
  letter-spacing: -0.01em;
}

#rosterOverlay .rox-event {
  margin: 0 0 8px;
  padding-top: 11px;
  border-top: 2px solid var(--ink);
  color: var(--ink);
  font-size: clamp(15px, 1.1vw, 18px);
  font-weight: 800;
  letter-spacing: -0.02em;
}

#rosterOverlay .rox-event span {
  margin-left: 8px;
  color: rgba(15, 15, 15, 0.5);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

#rosterOverlay .rox-sec .rox-event + .rox-note {
  border-top: 0;
  padding-top: 0;
}

#rosterOverlay .rox-close-line {
  margin: clamp(12px, 1.9vh, 20px) 0 0;
  padding-top: 12px;
  border-top: 1px solid rgba(15, 15, 15, 0.18);
  color: var(--ink);
  font-size: clamp(13px, 1vw, 15px);
  font-weight: 800;
  line-height: 1.4;
}

/* Entrance, honouring reduced motion */

@media (prefers-reduced-motion: no-preference) {
  #rosterOverlay.open .rox-shell {
    animation: roxShellIn 0.3s ease both;
  }

  @keyframes roxShellIn {
    from {
      opacity: 0;
      transform: translateY(10px);
    }
    to {
      opacity: 1;
      transform: none;
    }
  }
}

/* Narrow desktop panels: the five-across rank runs out of width, so
   the lineup regroups as a centered three-plus-two block and the
   kicker keeps clear of the CLOSE control. */

@media (min-width: 821px) and (max-width: 1160px) {
  #rosterOverlay .rox-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    row-gap: clamp(14px, 2.4vh, 24px);
  }

  #rosterOverlay .rox-player {
    grid-column: span 2;
  }

  #rosterOverlay .rox-player:nth-child(4) {
    grid-column: 2 / span 2;
  }

  #rosterOverlay .rox-player:nth-child(5) {
    grid-column: 4 / span 2;
  }

  #rosterOverlay .rox-crop {
    max-height: 30vh;
  }

  #rosterOverlay .rox-kicker {
    padding-right: 128px;
  }

  #rosterOverlay .rox-kicker > span {
    white-space: normal;
  }
}

/* Short desktop viewports: keep 1366x768 and 1280x720 inside the frame */

@media (min-width: 821px) and (max-height: 800px) {
  #rosterOverlay .rox-proof {
    padding: 16px 24px 13px;
  }

  #rosterOverlay .rox-title {
    margin-top: 8px;
    font-size: 19px;
  }

  #rosterOverlay .rox-sub {
    margin-top: 7px;
    font-size: 11px;
  }

  #rosterOverlay .rox-sec {
    margin-top: 10px;
  }

  #rosterOverlay .rox-row {
    padding: 8px 0 9px;
  }

  #rosterOverlay .rox-row b {
    font-size: 22px;
  }

  #rosterOverlay .rox-note {
    padding-top: 7px;
    font-size: 10px;
  }

  #rosterOverlay .rox-claim {
    font-size: 11.5px;
  }

  #rosterOverlay .rox-event {
    padding-top: 8px;
    font-size: 15px;
  }

  #rosterOverlay .rox-close-line {
    padding-top: 9px;
    font-size: 12.5px;
  }
}

/* Mobile: stacked, internally scrollable, page untouched */

@media (max-width: 820px) {
  #rosterOverlay {
    align-items: stretch;
    overflow-y: auto;
  }

  #rosterOverlay.open {
    display: block;
  }

  #rosterOverlay .rox-shell {
    display: flex;
    flex-direction: column;
    height: auto;
    min-height: 100%;
  }

  #rosterOverlay .rox-stage {
    flex: 0 0 auto;
    justify-content: flex-start;
    padding: 56px 16px 46px;
    overflow: visible;
  }

  #rosterOverlay .rox-game {
    position: static;
    align-self: flex-start;
    margin: 0 0 14px;
  }

  #rosterOverlay .rox-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 10px;
    row-gap: 16px;
  }

  #rosterOverlay .rox-player {
    grid-column: span 2;
  }

  #rosterOverlay .rox-player:nth-child(4) {
    grid-column: 2 / span 2;
  }

  #rosterOverlay .rox-player:nth-child(5) {
    grid-column: 4 / span 2;
  }

  #rosterOverlay .rox-crop {
    max-height: none;
  }

  #rosterOverlay .rox-name {
    font-size: 12px;
  }

  #rosterOverlay .rox-cap {
    left: 16px;
    bottom: 16px;
  }

  #rosterOverlay .rox-proof {
    flex: 1 1 auto;
    padding: 24px 20px 20px;
    overflow: visible;
  }

  #rosterOverlay .rox-kicker {
    padding-right: 0;
  }

  #rosterOverlay .rox-title {
    max-width: none;
    font-size: 24px;
  }
}

/* Click-to-expand affordances on video stages, and a real button for the roster CTA */
.zoom-cue {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 4;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 7px 12px;
  border: 0;
  background: rgba(7, 8, 7, 0.72);
  color: var(--paper);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background 0.18s ease;
}

.zoom-cue i {
  font-style: normal;
  font-size: 12px;
}

.zoom-cue:hover,
.zoom-cue:focus-visible {
  background: rgba(7, 8, 7, 0.92);
}

.slide.market-v2 button.amx-inset-btn {
  padding: 0;
  cursor: pointer;
  pointer-events: auto;
  transition: transform 0.18s ease, border-color 0.18s ease;
}

.slide.market-v2 button.amx-inset-btn:hover,
.slide.market-v2 button.amx-inset-btn:focus-visible {
  transform: translateY(-2px);
  border-color: var(--red);
}

.slide.thesis .in2-cell-cta button.th-roster-btn {
  background: var(--paper);
  border-color: var(--paper);
  color: var(--ink);
  cursor: pointer;
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.slide.thesis .in2-cell-cta button.th-roster-btn:hover,
.slide.thesis .in2-cell-cta button.th-roster-btn:focus-visible {
  transform: translateY(-1px);
  box-shadow: 0 8px 22px rgba(7, 8, 7, 0.45);
}

@media (prefers-reduced-motion: reduce) {
  .zoom-cue,
  .slide.market-v2 button.amx-inset-btn,
  .slide.thesis .in2-cell-cta button.th-roster-btn {
    transition: none;
  }
  .slide.market-v2 button.amx-inset-btn:hover,
  .slide.thesis .in2-cell-cta button.th-roster-btn:hover {
    transform: none;
  }
}

/* ==================================================================
   Roster overlay right panel v2 (rox2-, appended 2026-08-12).
   Three-beat ledger replacing the four flat data blocks: the mega
   ranking, the 9-of-32 Major spot diagram, and the budget-not-talent
   gap, closing on the next event. The beats column flexes and
   distributes leftover height evenly so short viewports never pool
   dead space at the bottom. All scoped under #rosterOverlay; the
   shared wa-ov-* rules and the dhx- DreamHack panel are untouched.
   ================================================================== */

#rosterOverlay .rox2-beats {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  justify-content: space-evenly;
  min-height: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

#rosterOverlay .rox2-beat {
  margin-top: clamp(10px, 1.7vh, 20px);
  padding-top: clamp(9px, 1.4vh, 14px);
  border-top: 2px solid var(--ink);
}

#rosterOverlay .rox2-tag {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin: 0;
  color: var(--navy);
  font-size: 9px;
  font-weight: 850;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

#rosterOverlay .rox2-tag i {
  color: rgba(15, 15, 15, 0.4);
  font-style: normal;
  font-variant-numeric: tabular-nums;
}

#rosterOverlay .rox2-mega {
  display: flex;
  align-items: baseline;
  gap: 12px;
  margin: clamp(5px, 0.9vh, 9px) 0 0;
}

#rosterOverlay .rox2-mega b {
  color: var(--ink);
  font-size: clamp(40px, 3.4vw, 60px);
  font-weight: 800;
  line-height: 0.9;
  letter-spacing: -0.04em;
  font-variant-numeric: tabular-nums;
}

#rosterOverlay .rox2-mega em {
  color: rgba(15, 15, 15, 0.55);
  font-size: 10.5px;
  font-style: normal;
  font-weight: 850;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

#rosterOverlay .rox2-plain {
  margin: clamp(5px, 0.9vh, 9px) 0 0;
  color: rgba(15, 15, 15, 0.78);
  font-size: 12.5px;
  font-weight: 650;
  line-height: 1.5;
}

#rosterOverlay .rox2-strong {
  color: var(--ink);
  font-weight: 750;
}

#rosterOverlay .rox2-fine {
  margin: clamp(6px, 1vh, 10px) 0 0;
  color: rgba(15, 15, 15, 0.6);
  font-size: 11px;
  font-weight: 600;
  line-height: 1.5;
}

#rosterOverlay .rox2-fine a {
  color: inherit;
  text-underline-offset: 4px;
}

#rosterOverlay .rox2-fine a:hover,
#rosterOverlay .rox2-fine a:focus-visible {
  color: var(--navy);
}

#rosterOverlay .rox2-dots {
  display: grid;
  grid-template-columns: repeat(16, minmax(0, 1fr));
  gap: 4px;
  margin-top: clamp(8px, 1.2vh, 12px);
}

#rosterOverlay .rox2-dots i {
  display: block;
  aspect-ratio: 1;
  border: 1px solid rgba(15, 15, 15, 0.35);
  background: transparent;
}

#rosterOverlay .rox2-dots i.am {
  border-color: var(--ink);
  background: var(--ink);
}

#rosterOverlay .rox2-dotcap {
  margin: clamp(7px, 1.1vh, 11px) 0 0;
  color: rgba(15, 15, 15, 0.6);
  font-size: 11px;
  font-weight: 600;
  line-height: 1.5;
}

#rosterOverlay .rox2-dotcap b {
  color: var(--ink);
  font-weight: 800;
}

#rosterOverlay .rox2-capital {
  margin: clamp(7px, 1.1vh, 11px) 0 0;
  padding-top: clamp(6px, 1vh, 9px);
  border-top: 1px solid rgba(15, 15, 15, 0.18);
  color: var(--red);
  font-size: 12.5px;
  font-weight: 800;
  letter-spacing: -0.01em;
}

#rosterOverlay .rox2-foot {
  margin-top: clamp(10px, 1.7vh, 20px);
  padding-top: clamp(9px, 1.4vh, 14px);
  border-top: 2px solid var(--ink);
}

#rosterOverlay .rox2-event {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px 10px;
  margin: 0;
}

#rosterOverlay .rox2-event small {
  color: rgba(15, 15, 15, 0.45);
  font-size: 9px;
  font-weight: 850;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

#rosterOverlay .rox2-event b {
  color: var(--ink);
  font-size: clamp(15px, 1.1vw, 18px);
  font-weight: 800;
  letter-spacing: -0.02em;
}

#rosterOverlay .rox2-event span {
  color: rgba(15, 15, 15, 0.5);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

#rosterOverlay .rox2-closeline {
  margin: clamp(6px, 1vh, 10px) 0 0;
  color: rgba(15, 15, 15, 0.62);
  font-size: 11px;
  font-weight: 600;
  line-height: 1.5;
}

/* Short desktop viewports: compact the beats so 1366x768 and 1280x720
   hold the whole ledger without internal scroll. */

@media (min-width: 821px) and (max-height: 800px) {
  #rosterOverlay .rox2-beat {
    margin-top: 8px;
    padding-top: 8px;
  }

  #rosterOverlay .rox2-mega b {
    font-size: 36px;
  }

  #rosterOverlay .rox2-plain {
    font-size: 11.5px;
  }

  #rosterOverlay .rox2-fine,
  #rosterOverlay .rox2-dotcap,
  #rosterOverlay .rox2-closeline {
    font-size: 10px;
  }

  #rosterOverlay .rox2-dots {
    gap: 3px;
    margin-top: 7px;
  }

  #rosterOverlay .rox2-capital {
    font-size: 11.5px;
  }

  #rosterOverlay .rox2-foot {
    margin-top: 8px;
    padding-top: 8px;
  }

  #rosterOverlay .rox2-event b {
    font-size: 14px;
  }
}

/* Mobile: the panel flows in the stacked page scroll; keep beats from
   stretching apart when the flex column has spare height. */

@media (max-width: 820px) {
  #rosterOverlay .rox2-beats {
    justify-content: flex-start;
  }

  #rosterOverlay .rox2-beat {
    margin-top: 18px;
    padding-top: 12px;
  }

  #rosterOverlay .rox2-foot {
    margin-top: 18px;
    padding-top: 12px;
  }
}

/* Full-screen video viewer inside the shared lightbox */
.mj-lightbox .mj-lb-video {
  max-width: min(92vw, 1600px);
  max-height: 84vh;
  width: auto;
  height: auto;
  display: block;
  background: #000;
}

.mj-lightbox .mj-lb-video[hidden] {
  display: none;
}

.mj-lightbox .mj-lb-src {
  position: absolute;
  left: 50%;
  bottom: 4vh;
  transform: translateX(-50%);
  color: var(--paper);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  text-decoration: none;
  border-bottom: 1px solid currentColor;
  padding-bottom: 3px;
}

.mj-lightbox .mj-lb-src[hidden] {
  display: none;
}

/* 09 / INVESTMENT TERMS - tw rebuild: decision-point close (tm-* rules above are inert) */

.slide.terms-v2 .tw-shell {
  min-height: calc(100vh - var(--bar-h));
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding-top: clamp(24px, 3.4vh, 44px);
  padding-bottom: clamp(18px, 2.8vh, 36px);
}

.slide.terms-v2 .tw-head .display-title {
  max-width: none;
  margin: clamp(12px, 1.8vh, 22px) 0 0;
  font-size: clamp(42px, 3.9vw, 68px);
  line-height: 0.96;
}

.slide.terms-v2 .tw-primary {
  display: grid;
  grid-template-columns: minmax(0, 0.94fr) minmax(0, 1.12fr) minmax(0, 0.94fr);
  column-gap: clamp(28px, 3vw, 56px);
  margin-top: clamp(18px, 2.6vh, 34px);
  padding: clamp(16px, 2.4vh, 28px) 0 clamp(14px, 2.2vh, 24px);
  border-top: 3px solid var(--ink);
  border-bottom: 1px solid var(--line-light);
}

.slide.terms-v2 .tw-offer {
  min-width: 0;
}

.slide.terms-v2 .tw-offer + .tw-offer {
  padding-left: clamp(28px, 3vw, 56px);
  border-left: 1px solid var(--line-light);
}

.slide.terms-v2 .tw-offer > span,
.slide.terms-v2 .tw-label {
  display: block;
  color: var(--navy);
  font-size: 9.5px;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.slide.terms-v2 .tw-offer strong {
  min-height: calc(clamp(46px, 4.2vw, 74px) * 0.84);
  display: flex;
  align-items: flex-end;
  margin-top: clamp(10px, 1.7vh, 18px);
  color: var(--ink);
  font-size: clamp(46px, 4.2vw, 74px);
  font-weight: 800;
  line-height: 0.84;
  letter-spacing: -0.06em;
  white-space: nowrap;
}

.slide.terms-v2 .tw-offer:nth-child(2) strong {
  font-size: clamp(30px, 2.7vw, 48px);
  letter-spacing: -0.04em;
}

.slide.terms-v2 .tw-offer-rev strong {
  color: var(--red);
}

.slide.terms-v2 .tw-offer small {
  display: block;
  margin-top: 11px;
  color: var(--muted-light);
  font-size: 10.5px;
  line-height: 1.5;
  max-width: 44ch;
}

.slide.terms-v2 .tw-next {
  margin-top: clamp(18px, 2.8vh, 32px);
}

.slide.terms-v2 .tw-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(22px, 2.4vw, 44px);
  margin: clamp(12px, 1.9vh, 20px) 0 0;
  padding: 0;
  list-style: none;
  counter-reset: none;
}

.slide.terms-v2 .tw-step {
  min-width: 0;
  padding-top: clamp(10px, 1.6vh, 16px);
  border-top: 2px solid var(--ink);
}

.slide.terms-v2 .tw-step-tag {
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin: 0;
}

.slide.terms-v2 .tw-step-tag i {
  color: var(--muted-light);
  font-size: 10px;
  font-weight: 800;
  font-style: normal;
  letter-spacing: 0.08em;
}

.slide.terms-v2 .tw-step-tag span {
  color: var(--ink);
  font-size: clamp(13px, 1.05vw, 16px);
  font-weight: 800;
  letter-spacing: -0.01em;
  line-height: 1.2;
}

.slide.terms-v2 .tw-step > p:not(.tw-step-tag) {
  margin: clamp(8px, 1.3vh, 12px) 0 0;
  color: var(--muted-light);
  font-size: clamp(11px, 0.85vw, 13px);
  font-weight: 600;
  line-height: 1.55;
}

.slide.terms-v2 .tw-terms {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(20px, 2.2vw, 36px);
  margin-top: clamp(18px, 2.8vh, 32px);
}

.slide.terms-v2 .tw-term {
  min-width: 0;
  padding-top: clamp(9px, 1.4vh, 14px);
  border-top: 1px solid rgba(7, 8, 7, 0.24);
}

.slide.terms-v2 .tw-term span {
  display: block;
  color: var(--navy);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.13em;
  line-height: 1.4;
  text-transform: uppercase;
}

.slide.terms-v2 .tw-term p {
  margin: 8px 0 0;
  color: var(--ink);
  font-size: 11px;
  font-weight: 600;
  line-height: 1.5;
}

.slide.terms-v2 .tw-legal {
  margin: clamp(14px, 2.2vh, 26px) 0 0;
  color: var(--muted-light);
  font-size: 10px;
  line-height: 1.45;
}

.slide.terms-v2 .tw-close {
  display: flex;
  align-items: center;
  gap: clamp(22px, 2.4vw, 40px);
  margin-top: clamp(14px, 2.2vh, 26px);
  padding: clamp(15px, 2.1vh, 23px) clamp(24px, 2.2vw, 38px);
  background: var(--navy);
}

.slide.terms-v2 .tw-close img {
  display: block;
  height: clamp(15px, 1.6vw, 20px);
  width: auto;
}

.slide.terms-v2 .tw-close p {
  margin: 0;
  padding-left: clamp(22px, 2.4vw, 40px);
  border-left: 1px solid rgba(239, 238, 233, 0.28);
  color: var(--paper);
  font-size: clamp(13px, 1.1vw, 16px);
  font-weight: 800;
  letter-spacing: 0.01em;
  line-height: 1.35;
}

.slide.terms-v2 .tw-close a {
  margin-left: auto;
  color: rgba(239, 238, 233, 0.66);
  font-size: 9.5px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  text-decoration: none;
  white-space: nowrap;
}

.slide.terms-v2 .tw-close a:hover,
.slide.terms-v2 .tw-close a:focus-visible {
  color: var(--paper);
}

@media (min-width: 981px) and (max-height: 800px) {
  .slide.terms-v2 .tw-shell {
    padding-top: 15px;
    padding-bottom: 13px;
  }
  .slide.terms-v2 .tw-head .display-title {
    margin-top: 9px;
    font-size: clamp(33px, 3.1vw, 44px);
  }
  .slide.terms-v2 .tw-primary {
    margin-top: 13px;
    padding-top: 11px;
    padding-bottom: 11px;
  }
  .slide.terms-v2 .tw-offer strong {
    min-height: 40px;
    margin-top: 8px;
    font-size: 48px;
  }
  .slide.terms-v2 .tw-offer:nth-child(2) strong {
    font-size: 31px;
  }
  .slide.terms-v2 .tw-offer small {
    margin-top: 7px;
    font-size: 10px;
  }
  .slide.terms-v2 .tw-next {
    margin-top: 13px;
  }
  .slide.terms-v2 .tw-steps {
    margin-top: 9px;
  }
  .slide.terms-v2 .tw-step {
    padding-top: 8px;
  }
  .slide.terms-v2 .tw-step-tag span {
    font-size: 13px;
  }
  .slide.terms-v2 .tw-step > p:not(.tw-step-tag) {
    margin-top: 6px;
    font-size: 10.5px;
    line-height: 1.5;
  }
  .slide.terms-v2 .tw-terms {
    margin-top: 13px;
  }
  .slide.terms-v2 .tw-term {
    padding-top: 7px;
  }
  .slide.terms-v2 .tw-term p {
    font-size: 10.5px;
  }
  .slide.terms-v2 .tw-legal {
    margin-top: 10px;
    font-size: 9px;
  }
  .slide.terms-v2 .tw-close {
    margin-top: 10px;
    padding-top: 10px;
    padding-bottom: 10px;
  }
  .slide.terms-v2 .tw-close p {
    font-size: 12.5px;
  }
}

@media (max-width: 980px) {
  .slide.terms-v2 .tw-shell {
    min-height: 0;
    justify-content: flex-start;
    padding-top: 28px;
    padding-bottom: 40px;
  }
  .slide.terms-v2 .tw-head .display-title {
    font-size: clamp(36px, 9.6vw, 52px);
  }
  .slide.terms-v2 .tw-primary {
    grid-template-columns: 1fr;
    row-gap: 20px;
    margin-top: 20px;
  }
  .slide.terms-v2 .tw-offer strong {
    min-height: 0;
    font-size: clamp(42px, 11.5vw, 56px);
    white-space: normal;
  }
  .slide.terms-v2 .tw-offer + .tw-offer {
    padding-left: 0;
    padding-top: 18px;
    border-left: 0;
    border-top: 1px solid rgba(7, 8, 7, 0.1);
  }
  .slide.terms-v2 .tw-offer:nth-child(2) strong {
    font-size: clamp(26px, 7.4vw, 40px);
  }
  .slide.terms-v2 .tw-steps {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .slide.terms-v2 .tw-terms {
    grid-template-columns: 1fr;
    gap: 14px;
    margin-top: 24px;
  }
  .slide.terms-v2 .tw-close {
    flex-wrap: wrap;
    row-gap: 12px;
    padding: 16px 20px;
  }
  .slide.terms-v2 .tw-close p {
    flex: 1 1 100%;
    order: 3;
    padding-left: 0;
    border-left: 0;
  }
  .slide.terms-v2 .tw-close a {
    margin-left: auto;
  }
}

/* ==================================================================
   09 / CLOSING SLIDE REBUILD ("clx-" prefix, appended 2026-08-12).
   The term-sheet close: the deck read back in five ledger lines on
   the left, the deal on the right under a red rule, the five roster
   faces as a photographic strip, and the next step stated in one
   sentence. No filled color bands. All rules scoped to
   .slide.close-v3 so nothing leaks into the other eight slides.
   Leftover viewport height is distributed by the shell flex gaps
   and by space-between inside both ledger columns, never pooled.
   ================================================================== */

.slide.close-v3 .clx-shell {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: clamp(14px, 2.2vh, 30px);
  padding-top: clamp(30px, 4vh, 52px);
  padding-bottom: clamp(22px, 3vh, 40px);
}

.slide.close-v3 .clx-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.slide.close-v3 .clx-conf {
  color: var(--muted-light);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.24em;
  text-transform: uppercase;
}

.slide.close-v3 .clx-head {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
  align-items: end;
  gap: clamp(24px, 3vw, 56px);
}

.slide.close-v3 .clx-title {
  margin: 0;
  font-size: clamp(46px, 4.9vw, 88px);
  line-height: 0.94;
  letter-spacing: -0.055em;
  font-weight: 800;
}

.slide.close-v3 .clx-dek {
  justify-self: end;
  max-width: 430px;
  margin: 0 0 6px;
  color: var(--muted-light);
  font-size: clamp(13.5px, 1vw, 16.5px);
  line-height: 1.5;
}

.slide.close-v3 .clx-main {
  flex: 1 1 auto;
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(0, 1.06fr) minmax(0, 1fr);
  gap: clamp(28px, 3.2vw, 60px);
  align-items: stretch;
}

.slide.close-v3 .clx-case,
.slide.close-v3 .clx-deal {
  min-width: 0;
  display: flex;
  flex-direction: column;
  border-top: 3px solid var(--ink);
}

.slide.close-v3 .clx-deal {
  border-top-color: var(--red);
}

.slide.close-v3 .clx-label {
  margin: clamp(8px, 1.2vh, 13px) 0 0;
  font-size: 9px;
  font-style: normal;
  font-weight: 800;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--muted-light);
}

.slide.close-v3 .clx-label-deal {
  color: var(--red);
}

.slide.close-v3 .clx-lines {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  margin: clamp(4px, 0.8vh, 8px) 0 0;
  padding: 0;
  list-style: none;
}

.slide.close-v3 .clx-lines li {
  display: grid;
  grid-template-columns: 26px minmax(0, 1fr) auto;
  align-items: center;
  gap: clamp(12px, 1.2vw, 20px);
  padding: clamp(7px, 1.15vh, 13px) 0;
}

.slide.close-v3 .clx-lines li + li {
  border-top: 1px solid var(--line-light);
}

.slide.close-v3 .clx-lines i {
  color: var(--muted-light);
  font-size: 9px;
  font-style: normal;
  font-weight: 800;
  letter-spacing: 0.08em;
  font-variant-numeric: tabular-nums;
}

.slide.close-v3 .clx-lines span {
  display: block;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.slide.close-v3 .clx-lines em {
  display: block;
  margin-top: 3px;
  color: var(--muted-light);
  font-size: clamp(11px, 0.85vw, 13px);
  font-style: normal;
  line-height: 1.4;
}

.slide.close-v3 .clx-lines b {
  font-size: clamp(24px, 2.1vw, 38px);
  font-weight: 800;
  line-height: 0.9;
  letter-spacing: -0.04em;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

.slide.close-v3 .clx-ask {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: end;
  gap: clamp(18px, 1.8vw, 30px);
  margin-top: clamp(6px, 1vh, 12px);
}

.slide.close-v3 .clx-ask strong {
  color: var(--red);
  font-size: clamp(78px, 7.6vw, 138px);
  font-weight: 800;
  line-height: 0.8;
  letter-spacing: -0.06em;
  white-space: nowrap;
}

.slide.close-v3 .clx-ask span {
  max-width: 320px;
  margin-bottom: 4px;
  color: var(--muted-light);
  font-size: clamp(11.5px, 0.88vw, 13.5px);
  line-height: 1.45;
}

.slide.close-v3 .clx-ask span b {
  color: var(--ink);
  font-weight: 800;
}

.slide.close-v3 .clx-rows {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  margin: clamp(8px, 1.3vh, 16px) 0 0;
}

.slide.close-v3 .clx-rows > div {
  display: grid;
  grid-template-columns: clamp(108px, 9vw, 140px) minmax(0, 1fr);
  gap: clamp(14px, 1.4vw, 24px);
  align-items: baseline;
  padding: clamp(7px, 1.15vh, 13px) 0;
  border-top: 1px solid var(--line-light);
}

.slide.close-v3 .clx-rows dt {
  font-size: 9.5px;
  font-weight: 800;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.slide.close-v3 .clx-rows dd {
  margin: 0;
  color: var(--ink-soft);
  font-size: clamp(11.5px, 0.9vw, 13.5px);
  line-height: 1.45;
}

.slide.close-v3 .clx-roster {
  display: grid;
  grid-template-columns: minmax(200px, 0.92fr) repeat(5, minmax(0, 1fr));
  gap: clamp(6px, 0.7vw, 10px);
  align-items: stretch;
}

.slide.close-v3 .clx-roster-note {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 6px;
  padding-right: clamp(10px, 1.4vw, 24px);
}

.slide.close-v3 .clx-roster-note em {
  font-size: 9px;
  font-style: normal;
  font-weight: 800;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.slide.close-v3 .clx-roster-note p {
  margin: 0;
  color: var(--muted-light);
  font-size: clamp(11px, 0.85vw, 13px);
  line-height: 1.45;
}

.slide.close-v3 .clx-roster figure {
  margin: 0;
  min-width: 0;
}

.slide.close-v3 .clx-roster figure > span {
  display: block;
  height: clamp(62px, 9.6vh, 118px);
  overflow: hidden;
  background: var(--ink);
}

.slide.close-v3 .clx-roster img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 11%;
}

.slide.close-v3 .clx-roster figcaption {
  display: flex;
  align-items: baseline;
  gap: 7px;
  margin-top: 6px;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.slide.close-v3 .clx-roster figcaption b {
  color: var(--muted-light);
  font-size: 7.5px;
  font-weight: 800;
  letter-spacing: 0.18em;
}

.slide.close-v3 .clx-foot {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
  gap: clamp(24px, 3vw, 56px);
  align-items: start;
  padding-top: clamp(10px, 1.6vh, 18px);
  border-top: 1px solid var(--line-light);
}

.slide.close-v3 .clx-next {
  max-width: 660px;
  margin: 0;
  font-size: clamp(13.5px, 1.05vw, 16.5px);
  font-weight: 650;
  line-height: 1.5;
}

.slide.close-v3 .clx-next em {
  display: block;
  margin-bottom: 6px;
  color: var(--red);
  font-size: 9px;
  font-style: normal;
  font-weight: 800;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.slide.close-v3 .clx-fine {
  justify-self: end;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 10px;
  text-align: right;
}

.slide.close-v3 .clx-fine p {
  max-width: 380px;
  margin: 0;
  color: var(--muted-light);
  font-size: 10px;
  line-height: 1.5;
}

.slide.close-v3 .clx-fine a {
  color: var(--ink);
  font-size: 9.5px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  text-decoration: none;
  border-bottom: 1px solid var(--ink);
  padding-bottom: 2px;
}

.slide.close-v3 .clx-fine a:hover,
.slide.close-v3 .clx-fine a:focus-visible {
  color: var(--red);
  border-bottom-color: var(--red);
}

@media (min-width: 821px) and (max-height: 800px) {
  .slide.close-v3 .clx-shell {
    gap: clamp(10px, 1.7vh, 18px);
    padding-top: 24px;
    padding-bottom: 18px;
  }
  .slide.close-v3 .clx-title {
    font-size: clamp(38px, 4.1vw, 60px);
  }
  .slide.close-v3 .clx-dek {
    font-size: 12.5px;
  }
  .slide.close-v3 .clx-ask strong {
    font-size: clamp(64px, 6.6vw, 96px);
  }
  .slide.close-v3 .clx-lines li,
  .slide.close-v3 .clx-rows > div {
    padding: 6px 0;
  }
  .slide.close-v3 .clx-lines em {
    font-size: 11px;
  }
  .slide.close-v3 .clx-lines b {
    font-size: clamp(21px, 1.9vw, 30px);
  }
  .slide.close-v3 .clx-roster figure > span {
    height: clamp(50px, 8.4vh, 76px);
  }
  .slide.close-v3 .clx-roster img {
    object-position: 50% 7%;
  }
  .slide.close-v3 .clx-next {
    font-size: 12.5px;
  }
  .slide.close-v3 .clx-fine p {
    font-size: 9.5px;
  }
}

@media (max-width: 820px) {
  .slide.close-v3 .clx-shell {
    width: calc(100% - 38px);
    min-height: 0;
    gap: 22px;
    padding: 24px 0 40px;
  }
  .slide.close-v3 .clx-head {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .slide.close-v3 .clx-title {
    font-size: clamp(38px, 10.5vw, 54px);
  }
  .slide.close-v3 .clx-dek {
    justify-self: start;
    max-width: none;
    margin: 0;
  }
  .slide.close-v3 .clx-main {
    grid-template-columns: 1fr;
    gap: 26px;
  }
  .slide.close-v3 .clx-ask strong {
    font-size: clamp(64px, 19vw, 92px);
  }
  .slide.close-v3 .clx-roster {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 5px;
  }
  .slide.close-v3 .clx-roster-note {
    grid-column: 1 / -1;
    padding-right: 0;
    margin-bottom: 4px;
  }
  .slide.close-v3 .clx-roster figure > span {
    height: clamp(56px, 8vh, 76px);
  }
  .slide.close-v3 .clx-roster figcaption {
    gap: 4px;
    font-size: 7.5px;
    letter-spacing: 0.08em;
  }
  .slide.close-v3 .clx-roster figcaption b {
    display: none;
  }
  .slide.close-v3 .clx-foot {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .slide.close-v3 .clx-fine {
    justify-self: start;
    align-items: flex-start;
    text-align: left;
  }
}

/* Slide 09: plain close */
.slide.close-v4 .slide-shell.cz-shell {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: calc(100vh - var(--bar-h));
  padding: clamp(28px, 4.4vh, 60px) 0 clamp(24px, 3.6vh, 48px);
}

.slide.close-v4 .cz-body {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: clamp(18px, 3vh, 40px);
  max-width: 900px;
}

.slide.close-v4 .cz-title {
  margin: 0;
  font-size: clamp(44px, 6.4vw, 116px);
  line-height: 0.92;
  letter-spacing: -0.045em;
  font-weight: 800;
}

.slide.close-v4 .cz-ask {
  margin: 0;
  display: flex;
  align-items: baseline;
  gap: clamp(12px, 1.4vw, 24px);
  flex-wrap: wrap;
  border-top: 2px solid var(--ink);
  padding-top: clamp(12px, 1.8vh, 22px);
}

.slide.close-v4 .cz-ask strong {
  font-size: clamp(46px, 5.6vw, 96px);
  line-height: 0.9;
  letter-spacing: -0.05em;
  font-weight: 800;
  color: var(--red);
  font-variant-numeric: tabular-nums;
}

.slide.close-v4 .cz-ask span {
  font-size: clamp(13px, 1.05vw, 18px);
  color: var(--ink-soft);
}

.slide.close-v4 .cz-terms {
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: clamp(10px, 1.5vh, 18px);
}

.slide.close-v4 .cz-terms > div {
  display: grid;
  grid-template-columns: minmax(0, 0.28fr) minmax(0, 1fr);
  gap: clamp(14px, 1.6vw, 30px);
  border-top: 1px solid var(--line-light);
  padding-top: clamp(9px, 1.3vh, 14px);
}

.slide.close-v4 .cz-terms dt {
  font-size: clamp(10px, 0.78vw, 12px);
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: var(--ink);
}

.slide.close-v4 .cz-terms dd {
  margin: 0;
  font-size: clamp(13px, 1.02vw, 17px);
  line-height: 1.5;
  color: var(--ink-soft);
}

.slide.close-v4 .cz-foot {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: clamp(20px, 3vw, 60px);
  border-top: 1px solid var(--line-light);
  padding-top: clamp(12px, 1.6vh, 18px);
}

.slide.close-v4 .cz-note {
  margin: 0;
  max-width: 62ch;
  font-size: clamp(10px, 0.76vw, 12px);
  line-height: 1.5;
  color: var(--muted-light);
}

.slide.close-v4 .cz-back {
  flex: none;
  font-size: clamp(10px, 0.78vw, 12px);
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: var(--ink);
  text-decoration: none;
  border-bottom: 1px solid currentColor;
  padding-bottom: 3px;
}

@media (max-width: 820px) {
  .slide.close-v4 .cz-terms > div {
    grid-template-columns: 1fr;
    gap: 5px;
  }
  .slide.close-v4 .cz-foot {
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
  }
}

/* ==================================================================
   Roster overlay condensation + mobile pass (mbx-, appended 2026-08-12).
   1) rox2 panel: shorter copy shipped in index.html; the mega rank and
      the 9-of-32 diagram get more visual weight now that the prose
      around them is tighter. Both viewport branches are defined here
      so the earlier short-viewport overrides cannot win by accident.
   2) Phone-width fixes for slides 3, 4 and 7 plus larger tap targets.
   Everything scoped tightly; the shared wa-ov-* rules are untouched.
   ================================================================== */

#rosterOverlay .rox2-mega b {
  font-size: clamp(46px, 3.9vw, 70px);
}

#rosterOverlay .rox2-dots i {
  border-radius: 1px;
}

@media (min-width: 821px) and (max-height: 800px) {
  #rosterOverlay .rox2-mega b {
    font-size: 42px;
  }
}

@media (max-width: 820px) {
  /* Slide 7: the ESPN stage is ~200px tall at phone width and carried
     four overlays. The caption moves to the bottom-left corner, the
     duplicated trophy inset (full-bleed on slide 2 already) is dropped,
     leaving caption, sound and full-screen controls clear of each other. */
  .slide.proof-v2 .apx-inset {
    display: none;
  }

  .slide.proof-v2 .apx-tag {
    top: auto;
    bottom: 8px;
    left: 8px;
    max-width: calc(100% - 84px);
  }

  /* Larger tap target for every full-screen cue on touch widths */
  .zoom-cue {
    padding: 12px 15px;
    font-size: 10.5px;
  }
}

@media (max-width: 560px) {
  /* Slide 4: the sponsor logo wall wrapped into a ragged run. A firm
     two-column grid keeps each logo with its club label. */
  .slide.market-v2 .amx-brand-wall {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px 18px;
    align-items: end;
  }
}

/* ============================================================
   S8 / REVENUE AND OPERATING PLAN - VISUAL POLISH PASS (f4p)
   Same content, same structure. Catches the slide up to the
   amx/mje/apx/cpx/clx visual language: confident number type,
   tabular numerals, wide-tracked micro-labels, hairline ledger
   rules on var(--line-light), thinner composition rails, and
   even vertical distribution inside the three columns.
   ============================================================ */

/* Numerals: hero totals keep proportional figures with tight
   tracking (matching the clx/tm hero numbers); ledger money is
   tabular via the existing base rules. */

.slide.forecast-v4 .f4-total {
  font-variant-numeric: normal;
  letter-spacing: -0.055em;
}

.slide.forecast-v4 .f4-summary strong {
  font-variant-numeric: normal;
  letter-spacing: -0.05em;
}

/* Micro-labels: unify tracking with the rebuilt slides */

.slide.forecast-v4 .f4-year span,
.slide.forecast-v4 .f4-year em {
  font-size: 9px;
  letter-spacing: 0.2em;
}

.slide.forecast-v4 .f4-cap {
  font-size: 9px;
  letter-spacing: 0.18em;
}

.slide.forecast-v4 .f4-legend span {
  font-size: 9px;
  letter-spacing: 0.18em;
}

.slide.forecast-v4 .f4-legend i {
  height: 4px;
}

.slide.forecast-v4 .f4-cl-k {
  font-size: 9px;
  letter-spacing: 0.2em;
}

.slide.forecast-v4 .f4-summary span {
  letter-spacing: 0.15em;
}

/* Ledger rows: hairline rules, slightly firmer money */

.slide.forecast-v4 .f4-ledger > div {
  border-bottom-color: var(--line-light);
}

.slide.forecast-v4 .f4-op .cost {
  border-top-color: var(--line-light);
}

.slide.forecast-v4 .f4-ledger > div b {
  font-size: 13px;
  font-weight: 700;
}

.slide.forecast-v4 .f4-signed .f4-ledger > div b {
  font-weight: 800;
}

.slide.forecast-v4 .f4-ledger > div.major b,
.slide.forecast-v4 .f4-op .left b {
  font-size: 16px;
}

/* Composition rails: thinner, quieter, same split */

.slide.forecast-v4 .f4-rail {
  height: 6px;
  gap: 2px;
}

/* Summary rule weight matches the 3px column-top rules */

.slide.forecast-v4 .f4-summary {
  border-top-width: 3px;
}

/* Desktop: let the band own the leftover height and distribute
   it through the ledger rows instead of pooling in one seam */

@media (min-width: 981px) {
  .slide.forecast-v4 .f4-years {
    flex: 1 1 auto;
    min-height: 0;
  }

  .slide.forecast-v4 .f4-years > article {
    display: flex;
    flex-direction: column;
  }

  .slide.forecast-v4 .f4-ledger {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
  }

  .slide.forecast-v4 .f4-ledger > div {
    flex: 1 1 auto;
  }

  .slide.forecast-v4 .f4-signed .f4-ledger,
  .slide.forecast-v4 .f4-signed .f4-ledger > div {
    flex: 0 0 auto;
  }

  .slide.forecast-v4 .f4-signed-note {
    margin-top: auto;
    padding-top: clamp(14px, 2vh, 20px);
  }

  .slide.forecast-v4 .f4-op {
    margin-top: auto;
    padding-top: clamp(8px, 1.2vh, 12px);
  }
}

/* Tall desktop only: the hero numbers get the rebuilt-slide scale.
   Short viewports keep the existing compact sizing untouched. */

@media (min-width: 981px) and (min-height: 801px) {
  .slide.forecast-v4 .f4-head .display-title {
    font-size: clamp(46px, 4.2vw, 74px);
    letter-spacing: -0.055em;
  }

  .slide.forecast-v4 .f4-total {
    min-height: clamp(72px, 9.4vh, 102px);
    font-size: clamp(50px, 4.8vw, 86px);
  }

  .slide.forecast-v4 .f4-summary strong {
    font-size: clamp(32px, 2.9vw, 52px);
  }
}

/* Cover loop plays on phones too. The still stays underneath as the poster
   and as the fallback if autoplay is blocked (low power mode, data saver). */
@media (max-width: 820px) {
  .slide.cover .cvx-loop {
    display: block;
  }
}

/* Reduced motion still holds on the still image, which is the correct behaviour. */
@media (prefers-reduced-motion: reduce) {
  .slide.cover .cvx-loop {
    display: none;
  }
}

/* Slide 2: the contracted partner sits beside the roster and cost facts */
.slide.thesis .in2-fact.in2-signed b {
  color: var(--red);
}

/* Roster lineup is now four players, not five */
#rosterOverlay .rox-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  max-width: 1180px;
}

@media (max-width: 1160px) {
  #rosterOverlay .rox-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 620px;
  }
}

/* ==================================================================
   Roster overlay: four-player lineup + selling panel (rox3-, appended
   2026-08-13). Left: the four portraits regroup as a centered,
   deliberate rank (the caption keeps the five-player roster honest).
   Right: the ledger gains a three-cell sport-scale strip and a fourth
   beat, so short viewports get their own compaction pass here.
   Everything scoped under #rosterOverlay; the shared wa-ov-* rules and
   the dhx- DreamHack panel are untouched. The stale three-plus-two
   nth-child placements from the five-player era are neutralised in
   both media ranges below.
   ================================================================== */

#rosterOverlay .rox-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  width: min(100%, 1120px);
  max-width: none;
  margin-inline: auto;
  gap: clamp(14px, 1.5vw, 28px);
}

#rosterOverlay .rox-player,
#rosterOverlay .rox-player:nth-child(4) {
  grid-column: auto;
}

/* Narrow desktop: a centered two-by-two block reads intentional */

@media (min-width: 821px) and (max-width: 1160px) {
  #rosterOverlay .rox-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: min(100%, 520px);
    gap: 16px;
    row-gap: clamp(14px, 2.2vh, 22px);
  }

  #rosterOverlay .rox-player,
  #rosterOverlay .rox-player:nth-child(4) {
    grid-column: auto;
  }

  #rosterOverlay .rox-crop {
    max-height: 30vh;
  }
}

/* Phones: same two-by-two block, centered in the stacked page */

@media (max-width: 820px) {
  #rosterOverlay .rox-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: min(100%, 520px);
    max-width: none;
    margin-inline: auto;
    gap: 12px;
    row-gap: 18px;
  }

  #rosterOverlay .rox-player,
  #rosterOverlay .rox-player:nth-child(4) {
    grid-column: auto;
  }
}

/* Right panel: sport-scale strip under the header */

#rosterOverlay .rox3-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: 14px;
  margin-top: clamp(10px, 1.6vh, 16px);
  padding-top: clamp(8px, 1.3vh, 12px);
  border-top: 2px solid var(--ink);
}

#rosterOverlay .rox3-strip > div {
  min-width: 0;
}

#rosterOverlay .rox3-strip > div + div {
  padding-left: 14px;
  border-left: 1px solid rgba(15, 15, 15, 0.18);
}

#rosterOverlay .rox3-strip b {
  display: block;
  color: var(--ink);
  font-size: clamp(19px, 1.45vw, 26px);
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.03em;
  font-variant-numeric: tabular-nums;
}

#rosterOverlay .rox3-strip span {
  display: block;
  margin-top: 5px;
  color: rgba(15, 15, 15, 0.55);
  font-size: 9.5px;
  font-weight: 700;
  line-height: 1.35;
}

/* Four beats plus the strip: recompact the short desktop viewports */

@media (min-width: 821px) and (max-height: 800px) {
  #rosterOverlay .rox-proof {
    padding: 13px 22px 11px;
  }

  #rosterOverlay .rox-title {
    margin-top: 7px;
    font-size: 17.5px;
  }

  #rosterOverlay .rox-sub {
    margin-top: 5px;
    font-size: 10.5px;
    line-height: 1.4;
  }

  #rosterOverlay .rox3-strip {
    margin-top: 8px;
    padding-top: 7px;
  }

  #rosterOverlay .rox3-strip b {
    font-size: 17px;
  }

  #rosterOverlay .rox3-strip span {
    margin-top: 3px;
    font-size: 8.5px;
  }

  #rosterOverlay .rox2-beat {
    margin-top: 6px;
    padding-top: 6px;
  }

  #rosterOverlay .rox2-mega {
    margin-top: 3px;
  }

  #rosterOverlay .rox2-mega b {
    font-size: 30px;
  }

  #rosterOverlay .rox2-plain {
    margin-top: 3px;
    font-size: 10.5px;
    line-height: 1.42;
  }

  #rosterOverlay .rox2-fine,
  #rosterOverlay .rox2-dotcap,
  #rosterOverlay .rox2-closeline {
    margin-top: 4px;
    font-size: 9.5px;
    line-height: 1.4;
  }

  #rosterOverlay .rox2-dots {
    gap: 2px;
    margin-top: 5px;
  }

  #rosterOverlay .rox2-capital {
    margin-top: 4px;
    padding-top: 4px;
    font-size: 10.5px;
  }

  #rosterOverlay .rox2-foot {
    margin-top: 6px;
    padding-top: 6px;
  }

  #rosterOverlay .rox2-event b {
    font-size: 13px;
  }
}

/* Narrow desktop panels: the right column is at its 360px minimum, so
   the ledger gets the same compaction the short viewports use,
   independent of height. */

@media (min-width: 821px) and (max-width: 1160px) {
  #rosterOverlay .rox-proof {
    padding: 14px 20px 12px;
  }

  #rosterOverlay .rox-title {
    margin-top: 7px;
    font-size: 17px;
  }

  #rosterOverlay .rox-sub {
    margin-top: 5px;
    font-size: 10.5px;
    line-height: 1.4;
  }

  #rosterOverlay .rox3-strip {
    margin-top: 8px;
    padding-top: 7px;
    column-gap: 10px;
  }

  #rosterOverlay .rox3-strip > div + div {
    padding-left: 10px;
  }

  #rosterOverlay .rox3-strip b {
    font-size: 16px;
  }

  #rosterOverlay .rox3-strip span {
    margin-top: 3px;
    font-size: 8.5px;
  }

  #rosterOverlay .rox2-beat {
    margin-top: 6px;
    padding-top: 6px;
  }

  #rosterOverlay .rox2-mega {
    margin-top: 3px;
  }

  #rosterOverlay .rox2-mega b {
    font-size: 30px;
  }

  #rosterOverlay .rox2-plain {
    margin-top: 3px;
    font-size: 10.5px;
    line-height: 1.42;
  }

  #rosterOverlay .rox2-fine,
  #rosterOverlay .rox2-dotcap,
  #rosterOverlay .rox2-closeline {
    margin-top: 4px;
    font-size: 9.5px;
    line-height: 1.4;
  }

  #rosterOverlay .rox2-dots {
    gap: 2px;
    margin-top: 5px;
  }

  #rosterOverlay .rox2-capital {
    margin-top: 4px;
    padding-top: 4px;
    font-size: 10.5px;
  }

  #rosterOverlay .rox2-foot {
    margin-top: 6px;
    padding-top: 6px;
  }

  #rosterOverlay .rox2-event b {
    font-size: 13px;
  }
}

/* cs2 variant: the ask and structure cells are removed from the thesis band,
   so the row carries only the roster control. Left aligned, no dividers. */
.in2-band.in2-band-solo {
  grid-template-columns: auto;
  justify-content: start;
}

.in2-band.in2-band-solo .in2-cell {
  padding-right: 0;
}
