.cm-business,
.cm-gtm,
.cm-financials {
  overflow: hidden;
}

.cm-head {
  position: relative;
  z-index: 1;
}

.cm-head h2 em {
  color: var(--berry, #9d4167);
}

.cm-kicker,
.cm-stage-name,
.cm-icp-line span,
.cm-raise-card > span,
.cm-funding-dependency > span,
.cm-scope-grid span,
.cm-funding-detail span,
.cm-financial-control span {
  display: block;
  font-size: 11px;
  line-height: 1.2;
  letter-spacing: .12em;
  font-weight: 700;
}

.cm-business::before,
.cm-gtm::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(109, 92, 83, .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(109, 92, 83, .045) 1px, transparent 1px);
  background-size: 58px 58px;
}

.cm-business-system {
  display: grid;
  grid-template-columns: minmax(285px, .72fr) 84px minmax(600px, 1.55fr);
  gap: 0;
  align-items: stretch;
}

.cm-map-contract {
  position: relative;
  min-height: 410px;
  padding: 30px 34px;
  border: 1px solid #cfa8b7;
  border-radius: 14px;
  background: #edd2dc;
  color: #4a2032;
}

.cm-map-contract h3,
.cm-package h3,
.cm-proof-route h3,
.cm-funding-detail h3,
.cm-scope-grid h3 {
  font-family: var(--serif);
  font-weight: 400;
}

.cm-map-contract h3 {
  margin: 40px 0 14px;
  font-size: clamp(42px, 4vw, 64px);
  line-height: .92;
  letter-spacing: -.045em;
}

.cm-map-contract > p {
  max-width: 300px;
  font-size: 15px;
  line-height: 1.45;
  color: #71475a;
}

.cm-map-contract > small {
  display: block;
  margin-top: 16px;
  font-size: 11px;
  line-height: 1.35;
  color: #80586a;
}

.cm-map-mark {
  position: absolute;
  top: 28px;
  right: 28px;
  display: grid;
  grid-template-columns: repeat(3, 8px);
  gap: 5px;
}

.cm-map-mark i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #9d4167;
  opacity: .26;
}

.cm-map-mark i:nth-child(5) { opacity: 1; }

.cm-price-line {
  display: flex;
  align-items: end;
  gap: 15px;
  margin-top: 34px;
  padding-top: 19px;
  border-top: 1px solid rgba(91, 42, 63, .22);
}

.cm-price-line strong {
  font: 400 38px/1 var(--serif);
}

.cm-price-line span {
  font-size: 11px;
  line-height: 1.3;
  color: #71475a;
}

.cm-contract-bridge {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #9d4167;
  font-size: 10px;
  line-height: 1.3;
  text-align: center;
}

.cm-contract-bridge i {
  position: relative;
  display: block;
  width: 54px;
  height: 1px;
  margin-top: 12px;
  background: #b68197;
}

.cm-contract-bridge i::after {
  content: "";
  position: absolute;
  right: -1px;
  top: -4px;
  width: 8px;
  height: 8px;
  border-top: 1px solid #b68197;
  border-right: 1px solid #b68197;
  transform: rotate(45deg);
}

.cm-platform-contract {
  padding: 29px 30px 22px;
  border: 1px solid #d2c8bd;
  border-radius: 14px;
  background: rgba(255, 253, 250, .8);
}

.cm-platform-contract > .cm-kicker { color: #6f6066; }

.cm-package-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 13px;
  margin-top: 25px;
}

.cm-package {
  min-height: 284px;
  padding: 23px 22px;
  border: 1px solid rgba(80, 65, 57, .13);
  border-radius: 10px;
}

.cm-package > span {
  font-size: 11px;
  color: rgba(44, 37, 34, .55);
}

.cm-package h3 {
  margin: 43px 0 8px;
  font-size: 37px;
  line-height: 1;
}

.cm-package p {
  min-height: 47px;
  font-size: 14px;
  line-height: 1.4;
}

.cm-package strong {
  display: block;
  margin-top: 37px;
  font: 400 27px/1 var(--serif);
}

.cm-package small {
  display: block;
  margin-top: 7px;
  font-size: 9px;
  color: rgba(44, 37, 34, .6);
}

.cm-live { background: #d8e7e5; color: #20534f; }
.cm-calibrate { background: #e8ded0; color: #5d472b; }
.cm-connect { background: #e5d7e9; color: #5d3f67; }

.cm-platform-line {
  margin: 20px 2px 0;
  font: 400 20px/1.2 var(--serif);
  color: #4f4347;
}

.cm-claim {
  position: relative;
  z-index: 1;
}

.cm-gtm {
  color: #193f3b;
  background: #cce1df;
}

.cm-gtm .eyebrow,
.cm-gtm .cm-head h2 em { color: #9c3f65; }

.cm-proof-route {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}

.cm-proof-route::before {
  content: "";
  position: absolute;
  top: 42px;
  left: 4%;
  right: 4%;
  height: 1px;
  background: rgba(31, 81, 75, .28);
}

.cm-proof-route article {
  position: relative;
  min-height: 330px;
  padding: 27px 24px 24px;
  border: 1px solid rgba(26, 74, 69, .21);
  border-radius: 12px;
  background: rgba(247, 244, 238, .78);
}

.cm-proof-route article:nth-child(2),
.cm-proof-route article:nth-child(4) { margin-top: 34px; }

.cm-proof-route b {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 31px;
  height: 31px;
  margin-bottom: 24px;
  border-radius: 50%;
  color: #fff;
  background: #9c3f65;
  font-size: 10px;
}

.cm-stage-name { color: #6b555d; }

.cm-proof-route h3 {
  margin: 42px 0 15px;
  font-size: 31px;
  line-height: 1.04;
  letter-spacing: -.03em;
}

.cm-proof-route p {
  font-size: 14px;
  line-height: 1.5;
  color: #41615d;
}

.cm-proof-route small {
  position: absolute;
  left: 24px;
  bottom: 22px;
  padding-top: 12px;
  border-top: 1px solid rgba(31, 81, 75, .18);
  width: calc(100% - 48px);
  color: #9c3f65;
  font-size: 11px;
  font-weight: 700;
}

.cm-icp-line {
  display: grid;
  grid-template-columns: 1fr 1fr auto;
  gap: 30px;
  align-items: center;
  margin-top: 38px;
  padding-top: 22px;
  border-top: 1px solid rgba(31, 81, 75, .23);
}

.cm-icp-line span { margin-bottom: 7px; color: #9c3f65; }
.cm-icp-line strong { font-size: 14px; font-weight: 500; }
.cm-gtm .explore { color: #193f3b; border-color: rgba(25, 63, 59, .32); }

.cm-capital-scene {
  display: grid;
  grid-template-columns: .68fr 1.35fr .88fr;
  gap: 24px;
  align-items: stretch;
}

.cm-raise-card,
.cm-funding-dependency {
  padding: 29px;
  border: 1px solid rgba(216, 168, 185, .42);
  border-radius: 12px;
  background: rgba(255, 255, 255, .035);
}

.cm-raise-card > span,
.cm-funding-dependency > span { color: var(--pink); }

.cm-raise-card > strong {
  display: block;
  margin-top: 42px;
  font: 400 clamp(78px, 8vw, 126px)/.75 var(--serif);
  color: var(--paper);
  letter-spacing: -.07em;
}

.cm-raise-card > strong small { font-size: .34em; }
.cm-raise-card > p { margin-top: 35px; font: 400 24px/1.2 var(--serif); }
.cm-raise-card > em { display: block; margin-top: 25px; font-size: 11px; line-height: 1.5; color: #c8bdc2; font-style: normal; }

.cm-proof-ladder {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
}

.cm-proof-ladder article {
  position: relative;
  min-height: 146px;
  padding: 24px;
  border: 1px solid rgba(255, 255, 255, .13);
  border-radius: 10px;
  background: #1a2025;
}

.cm-proof-ladder article:nth-child(2),
.cm-proof-ladder article:nth-child(3) { background: #252028; }

.cm-proof-ladder b {
  display: block;
  color: var(--pink);
  font-size: 11px;
}

.cm-proof-ladder span {
  position: absolute;
  left: 24px;
  right: 24px;
  bottom: 23px;
  font: 400 24px/1.13 var(--serif);
}

.cm-funding-dependency {
  border-color: rgba(216, 168, 185, .62);
  background: #2d2028;
}

.cm-funding-dependency > strong {
  display: block;
  margin-top: 38px;
  font: 400 39px/1 var(--serif);
}

.cm-funding-dependency > strong small {
  display: block;
  margin-top: 10px;
  font: 600 10px/1.2 var(--sans);
  color: #c6b6bd;
  letter-spacing: .07em;
}

.cm-funding-dependency p {
  margin-top: 35px;
  font-size: 14px;
  line-height: 1.55;
  color: #d5cbd0;
}

.cm-funding-dependency div {
  margin-top: 25px;
  padding-top: 17px;
  border-top: 1px solid rgba(216, 168, 185, .26);
  font-size: 12px;
  line-height: 1.45;
  color: var(--pink);
}

.cm-financials .cm-claim small { color: #a99fa4; }
.cm-financials .cm-claim > div { display: flex; gap: 12px; }

.cm-scope-grid,
.cm-funding-detail,
.cm-financial-control {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-bottom: 34px;
}

.cm-scope-grid article,
.cm-funding-detail article,
.cm-financial-control article {
  padding: 24px;
  border: 1px solid #d9ccd1;
  border-radius: 10px;
  background: #faf7f3;
}

.cm-scope-grid span,
.cm-funding-detail span,
.cm-financial-control span { color: #9d4167; }
.cm-scope-grid h3,
.cm-funding-detail h3 { margin: 25px 0 12px; font-size: 28px; line-height: 1.1; }
.cm-scope-grid p,
.cm-funding-detail p,
.cm-financial-control p { font-size: 14px; line-height: 1.5; color: #6e6166; }
.cm-financial-control strong { display: block; margin: 18px 0 10px; font: 400 23px/1.15 var(--serif); }

.cm-phase-roadmap { grid-template-columns: repeat(4, 1fr); }

@media (max-width: 1100px) {
  .cm-business-system { grid-template-columns: 1fr; gap: 18px; }
  .cm-contract-bridge { flex-direction: row; gap: 12px; padding: 0 20px; }
  .cm-contract-bridge i { flex: 1; margin: 0; }
  .cm-proof-route { grid-template-columns: repeat(2, 1fr); }
  .cm-proof-route article:nth-child(2), .cm-proof-route article:nth-child(4) { margin-top: 0; }
  .cm-capital-scene { grid-template-columns: 1fr 1.5fr; }
  .cm-funding-dependency { grid-column: 1 / -1; }
}

@media (max-width: 720px) {
  .cm-business::before, .cm-gtm::before { background-size: 44px 44px; }
  .cm-map-contract { min-height: 0; padding: 25px; }
  .cm-map-contract h3 { margin-top: 45px; }
  .cm-platform-contract { padding: 24px; }
  .cm-package-grid { grid-template-columns: 1fr; }
  .cm-package { min-height: 190px; }
  .cm-package h3 { margin-top: 25px; }
  .cm-package p { min-height: 0; }
  .cm-package strong { margin-top: 22px; }
  .cm-proof-route { grid-template-columns: 1fr; }
  .cm-proof-route article { min-height: 360px; }
  .cm-proof-route::before { display: none; }
  .cm-icp-line { grid-template-columns: 1fr; gap: 20px; }
  .cm-capital-scene { grid-template-columns: 1fr; }
  .cm-proof-ladder { grid-template-columns: 1fr; }
  .cm-proof-ladder article { min-height: 125px; }
  .cm-financials .cm-claim > div { flex-direction: column; width: 100%; }
  .cm-scope-grid, .cm-funding-detail, .cm-financial-control, .cm-phase-roadmap { grid-template-columns: 1fr; }
}

@media print {
  .cm-business-system { grid-template-columns: .72fr 55px 1.55fr; }
  .cm-map-contract { min-height: 340px; }
  .cm-package { min-height: 230px; }
  .cm-proof-route article { min-height: 270px; }
  .cm-capital-scene { grid-template-columns: .68fr 1.35fr .88fr; }
}
