/* IMWL-CP2F — full-page campaign composition for the release-bearing core pages */
.launch-page .eyebrow {
  margin: 0 0 18px;
  font-size: var(--type-label);
  line-height: 1.25;
  font-weight: 650;
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
}
.launch-page h1,
.launch-page h2,
.launch-page h3 { text-wrap: balance; }
.launch-page h1 {
  margin: 0;
  max-width: 850px;
  font-size: var(--type-display-xl);
  line-height: var(--leading-display-xl);
  letter-spacing: var(--tracking-display-xl);
  font-weight: 535;
}
.launch-page h2 {
  margin: 0;
  max-width: 820px;
  font-size: var(--type-display-lg);
  line-height: var(--leading-display-lg);
  letter-spacing: var(--tracking-display-lg);
  font-weight: 535;
}
.launch-page h3 {
  margin: 0;
  font-size: var(--type-display-md);
  line-height: var(--leading-display-md);
  letter-spacing: var(--tracking-display-md);
  font-weight: 560;
}
.launch-page p { text-wrap: pretty; }
.launch-page .lede {
  margin: 0;
  max-width: 720px;
  font-size: var(--type-lede);
  line-height: 1.54;
}
.launch-page .manifesto {
  margin: 0;
  font-size: clamp(24px,2.3vw,32px);
  line-height: 1.31;
  letter-spacing: -.022em;
  font-weight: 470;
}

/* Shared campaign grammar */
.campaign-hero { padding-block: clamp(92px,9vw,142px); }
.campaign-hero__grid {
  display: grid;
  grid-template-columns: minmax(0,1.04fr) minmax(360px,.76fr);
  gap: clamp(62px,8vw,132px);
  align-items: end;
}
.campaign-hero__copy { display: grid; gap: 28px; }
.campaign-hero__copy .lede { margin-top: 3px; }
.campaign-hero__support { display: grid; gap: 28px; align-self: end; padding-bottom: 4px; }
.campaign-thesis {
  margin: 0;
  padding-top: 23px;
  border-top: 1px solid currentColor;
  color: var(--muted);
  font-size: var(--type-body-sm);
  line-height: 1.58;
  font-weight: 560;
}
.field--black .campaign-thesis { color: rgba(255,255,255,.62); border-color: rgba(255,255,255,.18); }
.campaign-intro {
  display: grid;
  grid-template-columns: minmax(0,.88fr) minmax(360px,.7fr);
  gap: clamp(56px,8vw,126px);
  align-items: start;
}
.campaign-intro--wide { grid-template-columns: minmax(0,.95fr) minmax(400px,.75fr); }
.campaign-intro > p,
.campaign-intro > div:last-child > p {
  margin: 0;
  color: var(--muted);
  font-size: var(--type-body-lg);
  line-height: 1.6;
}
.campaign-intro--dark > p { color: rgba(255,255,255,.64); }
.launch-closing {
  display: grid;
  grid-template-columns: [full-start] minmax(var(--pad),1fr) [rail-start] minmax(0,var(--max)) [rail-end] minmax(var(--pad),1fr) [full-end];
}
.launch-closing > * { grid-column: rail; }
.launch-closing__inner {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: end;
  gap: clamp(48px,7vw,110px);
}
.launch-closing__inner > div:first-child { max-width: 850px; }
.launch-closing__inner > div:first-child > p:not(.eyebrow) {
  max-width: 680px;
  color: rgba(255,255,255,.64);
  font-size: var(--type-body);
}
.launch-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 14px 20px; }
.launch-actions a {
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  font-size: var(--type-control);
  font-weight: 620;
}
.launch-actions__primary { padding: 0 17px; border: 1px solid currentColor; }
.launch-actions a:not(.launch-actions__primary) { border-bottom: 1px solid currentColor; }
.field--black .launch-actions__primary { background: #f2efe7; color: #171714; border-color: #f2efe7; }

/* Product — the complete anatomy of a real application */
.product-hero { border-bottom: 1px solid var(--line-light); }
.product-hero .campaign-hero__grid { grid-template-columns: minmax(0,1.12fr) minmax(390px,.72fr); align-items: end; }
.product-promise {
  min-height: 0;
  display: grid;
  gap: 30px;
  padding: 8px 0 8px clamp(32px,4vw,58px);
  border-left: 1px solid var(--line-light);
}
.product-promise__label {
  margin: 0;
  color: #746555;
  font-size: var(--type-label);
  line-height: 1.3;
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
  font-weight: 650;
}
.product-promise__statement {
  margin: auto 0;
  font-size: var(--type-display-md);
  line-height: var(--leading-display-md);
  letter-spacing: var(--tracking-display-md);
  font-weight: 520;
}
.product-promise dl { margin: 0; border-top: 1px solid var(--line-light); }
.product-promise dl > div {
  display: grid;
  grid-template-columns: 150px 1fr;
  gap: 20px;
  padding: 15px 0;
  border-bottom: 1px solid var(--line-light);
}
.product-promise dt { color: var(--muted); font-size: var(--type-label); font-weight: 650; }
.product-promise dd { margin: 0; font-size: var(--type-body-sm); line-height: 1.5; }
.product-anatomy-section { row-gap: clamp(58px,7vw,100px); padding-top: clamp(88px,8.5vw,126px); }
.application-system {
  margin: 0;
  border: 1px solid var(--line-light);
  background: rgba(255,255,255,.38);
  box-shadow: 0 34px 90px rgba(40,36,27,.11);
}
.application-system figcaption {
  padding: 16px 22px;
  border-bottom: 1px solid var(--line-light);
  color: var(--muted);
  font-size: var(--type-label);
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
  font-weight: 650;
}
.application-system__experience { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
.application-system__experience > div {
  min-height: 144px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 30px;
  padding: clamp(27px,3vw,42px);
  background: linear-gradient(145deg,rgba(255,255,255,.65),rgba(235,230,218,.62));
}
.application-system__experience > div + div { border-left: 1px solid var(--line-light); }
.application-system span {
  color: #746555;
  font-size: var(--type-label);
  line-height: 1.3;
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
  font-weight: 650;
}
.application-system strong { font-size: var(--type-body-lg); line-height: 1.4; font-weight: 610; }
.application-system__work {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  border-top: 1px solid var(--line-light);
  border-bottom: 1px solid var(--line-light);
  background: #efeadd;
}
.application-system__work > div { min-height: 220px; padding: clamp(28px,3vw,42px); }
.application-system__work > div + div { border-left: 1px solid var(--line-light); }
.application-system__work strong { display: block; margin-top: 52px; }
.application-system__work p { margin: 12px 0 0; color: var(--muted); font-size: var(--type-body-sm); line-height: 1.55; }
.application-system__settlement {
  min-height: 124px;
  display: grid;
  grid-template-columns: 148px repeat(3,minmax(0,1fr) auto);
  gap: 18px;
  align-items: center;
  padding: 28px clamp(27px,3vw,42px);
  background: linear-gradient(100deg,rgba(101,128,119,.11),rgba(255,255,255,.46));
}
.application-system__settlement i { color: #657f76; font-style: normal; font-size: var(--type-body-lg); }
.product-thesis-section { padding-block: clamp(92px,9vw,138px); }
.product-thesis { display: grid; grid-template-columns: minmax(0,.78fr) minmax(420px,.92fr); gap: clamp(64px,9vw,140px); }
.product-thesis header { align-self: start; }
.product-thesis .manifesto { max-width: 730px; }
.product-principles { grid-column: 1 / -1; margin-top: 12px; border-top: 1px solid rgba(255,255,255,.18); }
.product-principles article {
  display: grid;
  grid-template-columns: minmax(270px,.6fr) minmax(0,1fr);
  gap: 48px;
  padding: 25px 0;
  border-bottom: 1px solid rgba(255,255,255,.18);
}
.product-principles h3 { font-size: var(--type-lede); line-height: 1.35; letter-spacing: -.012em; }
.product-principles p { margin: 0; color: rgba(255,255,255,.62); font-size: var(--type-body); line-height: 1.58; }
.product-examples-section { row-gap: clamp(54px,6vw,86px); }
.application-comparison { border-top: 1px solid var(--line-light); }
.application-comparison__head,
.application-comparison article {
  display: grid;
  grid-template-columns: minmax(260px,.78fr) minmax(0,.9fr) minmax(0,.9fr);
  gap: 34px;
  border-bottom: 1px solid var(--line-light);
}
.application-comparison__head { padding: 13px 0; }
.application-comparison__head span {
  color: var(--muted);
  font-size: var(--type-label);
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
  font-weight: 650;
}
.application-comparison article { padding: 29px 0; align-items: start; }
.application-comparison article > div span { display: block; font-size: var(--type-lede); line-height: 1.3; font-weight: 600; }
.application-comparison article p { margin: 0; color: var(--muted); font-size: var(--type-body-sm); line-height: 1.57; }
.application-comparison article > div p { margin-top: 8px; }
.application-comparison article p strong { display: block; margin-bottom: 6px; color: var(--ink); font-size: var(--type-label); text-transform: uppercase; letter-spacing: .05em; }
.application-record-zoom {
  display: grid;
  grid-template-columns: minmax(280px,.58fr) minmax(540px,1.1fr);
  gap: clamp(56px,8vw,124px);
  align-items: center;
  padding-top: clamp(20px,3vw,44px);
}
.application-record-zoom__copy h3 { margin-top: 4px; }
.application-record-zoom__copy > p:not(.eyebrow) { margin: 20px 0 0; color: var(--muted); font-size: var(--type-body); }
.application-record-zoom__copy a { min-height: 44px; display: inline-flex; align-items: center; margin-top: 24px; border-bottom: 1px solid currentColor; font-size: var(--type-nav); font-weight: 580; }
.institutional-record,
.settlement-record {
  background: linear-gradient(150deg,#fbfaf6,#ebe6da);
  color: var(--ink);
  border: 1px solid var(--line-light);
  box-shadow: 0 34px 86px rgba(40,36,27,.15);
}
.institutional-record header,
.settlement-record header {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: center;
  padding: 22px 25px;
  border-bottom: 1px solid var(--line-light);
}
.institutional-record header span,
.settlement-record header span {
  color: var(--muted);
  font-size: var(--type-label);
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
  font-weight: 650;
}
.institutional-record header strong { padding: 6px 10px; border: 1px solid #59746b; color: #3f6458; font-size: var(--type-label); text-transform: uppercase; letter-spacing: .05em; }
.institutional-record dl { margin: 0; }
.institutional-record dl > div {
  display: grid;
  grid-template-columns: 130px minmax(0,1fr);
  gap: 24px;
  padding: 16px 25px;
  border-bottom: 1px solid var(--line-light);
}
.institutional-record dl > div:last-child { border-bottom: 0; }
.institutional-record dt { color: var(--muted); font-size: var(--type-label); font-weight: 650; }
.institutional-record dd { margin: 0; font-size: var(--type-body-sm); line-height: 1.5; }

/* How It Works — one continuous custody procession */
.how-hero .campaign-hero__support { color: #fff; }
.how-hero .campaign-thesis { color: rgba(255,255,255,.62); }
.whole-act-section { row-gap: clamp(56px,6vw,88px); }
.act-process { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line-light); }
.act-process li {
  display: grid;
  grid-template-columns: 78px minmax(190px,.44fr) minmax(0,1fr) minmax(190px,.48fr);
  gap: 30px;
  align-items: start;
  min-height: 155px;
  padding: 26px 0;
  border-bottom: 1px solid var(--line-light);
}
.act-process__index { position: relative; align-self: stretch; }
.act-process__index span { color: #746555; font: 590 var(--type-label)/1.3 var(--font-mono); }
.act-process__index i { position: absolute; left: 8px; top: 30px; bottom: -27px; width: 1px; background: var(--line-light); }
.act-process__index i::after { content: ""; position: absolute; left: -3px; bottom: 0; width: 7px; height: 7px; background: #657f76; }
.act-process__title { display: grid; gap: 7px; }
.act-process__title strong { font-size: var(--type-display-md); line-height: 1.05; letter-spacing: var(--tracking-display-md); font-weight: 550; }
.act-process__title small,
.act-process__output span { color: var(--muted); font-size: var(--type-label); line-height: 1.42; letter-spacing: .04em; text-transform: uppercase; }
.act-process li > p { margin: 0; color: var(--muted); font-size: var(--type-body); line-height: 1.58; }
.act-process__output { display: grid; gap: 8px; padding-left: 22px; border-left: 1px solid var(--line-light); }
.act-process__output strong { font-size: var(--type-body-sm); line-height: 1.45; }
.seams-section { padding-block: clamp(88px,8.5vw,128px); }
.seams-composition { display: grid; grid-template-columns: minmax(360px,.72fr) minmax(0,1fr); gap: clamp(70px,9vw,145px); }
.seams-composition header .manifesto { margin-top: 32px; max-width: 640px; }
.seam-propositions { border-top: 1px solid var(--line-light); }
.seam-propositions article { padding: 24px 0; border-bottom: 1px solid var(--line-light); }
.seam-propositions article > span,
.seam-propositions article > strong { font-size: var(--type-lede); line-height: 1.3; font-weight: 570; }
.seam-propositions article > strong { margin: 0 7px; color: #746555; font-weight: 470; }
.seam-propositions p { margin: 11px 0 0; max-width: 660px; color: var(--muted); font-size: var(--type-body-sm); line-height: 1.55; }
.outcome-section { padding-block: clamp(92px,9vw,136px); }
.outcome-composition { display: grid; grid-template-columns: minmax(300px,.6fr) minmax(560px,1.05fr); gap: clamp(62px,9vw,140px); align-items: center; }
.outcome-composition__copy > p:not(.eyebrow) { margin-top: 26px; }
.outcome-composition__copy a { min-height: 44px; display: inline-flex; align-items: center; margin-top: 28px; border-bottom: 1px solid currentColor; font-size: var(--type-nav); font-weight: 580; }
.settlement-record header strong { font-size: var(--type-body-lg); line-height: 1.35; font-weight: 610; }
.settlement-record header em { flex: 0 0 auto; padding: 6px 9px; border: 1px solid #8b7652; color: #765f38; font-style: normal; font-size: var(--type-label); text-transform: uppercase; letter-spacing: .045em; }
.settlement-record__objective { display: grid; grid-template-columns: 150px 1fr; gap: 26px; padding: 22px 25px; border-bottom: 1px solid var(--line-light); }
.settlement-record__objective span,
.settlement-record__contributions span,
.settlement-record footer span { color: var(--muted); font-size: var(--type-label); text-transform: uppercase; letter-spacing: .045em; font-weight: 650; }
.settlement-record__objective p { margin: 0; font-size: var(--type-body-sm); }
.settlement-record__contributions { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-bottom: 1px solid var(--line-light); }
.settlement-record__contributions > div { min-height: 150px; padding: 22px 20px; }
.settlement-record__contributions > div + div { border-left: 1px solid var(--line-light); }
.settlement-record__contributions p { margin: 22px 0 0; font-size: var(--type-body-sm); line-height: 1.5; }
.settlement-record footer { display: grid; gap: 7px; padding: 22px 25px; }
.settlement-record footer strong { font-size: var(--type-body-sm); line-height: 1.5; }

/* Platform — one dependency architecture, two governed entry points */
.platform-architecture-section { row-gap: clamp(56px,6vw,90px); }
.platform-architecture { margin: 0; padding: 28px 0 0; }
.platform-architecture figcaption { margin-bottom: 15px; color: rgba(255,255,255,.47); font-size: var(--type-label); letter-spacing: var(--tracking-label); text-transform: uppercase; }
.platform-architecture__layer {
  position: relative;
  display: grid;
  grid-template-columns: 160px minmax(280px,.65fr) minmax(0,1fr);
  gap: 30px;
  align-items: center;
  min-height: 102px;
  padding: 22px 28px;
  border: 1px solid rgba(255,255,255,.16);
  border-bottom: 0;
  background: rgba(255,255,255,.025);
}
.platform-architecture__layer:last-child { border-bottom: 1px solid rgba(255,255,255,.16); }
.platform-architecture__layer + .platform-architecture__layer { margin-top: 0; }
.platform-architecture__layer--engine { margin-inline: 22px; background: rgba(198,159,105,.085); }
.platform-architecture__layer--api { margin-inline: 44px; background: rgba(255,255,255,.055); }
.platform-architecture__layer--services { margin-inline: 22px; background: rgba(101,128,119,.075); }
.platform-architecture__layer span { color: #b7aa93; font-size: var(--type-label); letter-spacing: .05em; text-transform: uppercase; font-weight: 650; }
.platform-architecture__layer strong { font-size: var(--type-lede); line-height: 1.35; font-weight: 600; }
.platform-architecture__layer p { margin: 0; color: rgba(255,255,255,.6); font-size: var(--type-body-sm); line-height: 1.52; }
.platform-entry-section { row-gap: clamp(58px,7vw,100px); }
.platform-entry-composition { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); grid-template-areas: "core core" "api engine"; gap: 0; align-items: stretch; }
.platform-entry { min-height: 560px; display: flex; flex-direction: column; padding: clamp(30px,3.5vw,48px); border: 1px solid var(--line-light); border-top: 0; background: rgba(255,255,255,.35); }
.platform-entry--api { grid-area: api; }
.platform-entry--engine { grid-area: engine; border-left: 0; background: linear-gradient(145deg,rgba(101,128,119,.08),rgba(255,255,255,.42)); }
.platform-entry header span,
.platform-entry-composition__core span,
.app-surface span,
.estate-map span { color: #746555; font-size: var(--type-label); line-height: 1.3; letter-spacing: var(--tracking-label); text-transform: uppercase; font-weight: 650; }
.platform-entry header h3 { margin-top: 10px; }
.platform-entry > p { margin: 24px 0 0; color: var(--muted); font-size: var(--type-body); line-height: 1.58; }
.platform-entry dl { margin: 38px 0 0; border-top: 1px solid var(--line-light); }
.platform-entry dl > div { display: grid; grid-template-columns: 100px 1fr; gap: 18px; padding: 15px 0; border-bottom: 1px solid var(--line-light); }
.platform-entry dt { font-size: var(--type-label); font-weight: 650; }
.platform-entry dd { margin: 0; color: var(--muted); font-size: var(--type-body-sm); line-height: 1.48; }
.platform-entry > a { min-height: 44px; display: inline-flex; align-items: center; margin-top: auto; align-self: flex-start; border-bottom: 1px solid currentColor; font-size: var(--type-nav); font-weight: 580; }
.platform-entry-composition__core {
  grid-area: core;
  display: grid;
  grid-template-columns: 190px minmax(320px,.85fr) minmax(0,1fr);
  gap: clamp(24px,4vw,58px);
  align-items: start;
  padding: 26px clamp(30px,3.5vw,48px);
  border: 1px solid var(--line-light);
  background: linear-gradient(100deg,rgba(198,159,105,.12),rgba(101,128,119,.08));
  text-align: left;
}
.platform-entry-composition__core strong { display: block; margin: 0; font-size: var(--type-body-lg); line-height: 1.42; }
.platform-entry-composition__core p { margin: 0; color: var(--muted); font-size: var(--type-body-sm); line-height: 1.55; }
.app-surface { margin-top: 34px; border: 1px solid var(--line-light); background: #f5f2ea; }
.app-surface__top,.app-surface__bottom { display: grid; gap: 8px; padding: 17px 18px; }
.app-surface__top { border-bottom: 1px solid var(--line-light); }
.app-surface__bottom { border-top: 1px solid var(--line-light); background: rgba(101,128,119,.08); }
.app-surface__body { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
.app-surface__body > div { min-height: 132px; display: grid; align-content: space-between; gap: 25px; padding: 18px; }
.app-surface__body > div + div { border-left: 1px solid var(--line-light); }
.app-surface strong { font-size: var(--type-body-sm); line-height: 1.45; }
.platform-estate-section { padding-block: clamp(92px,9vw,136px); }
.estate-recognition { display: grid; gap: clamp(50px,6vw,86px); }
.estate-recognition header { display: grid; grid-template-columns: minmax(0,.88fr) minmax(360px,.7fr); gap: clamp(60px,8vw,126px); align-items: end; }
.estate-recognition header > p:last-child { margin: 0; color: var(--muted); font-size: var(--type-body-lg); line-height: 1.58; }
.estate-map { border-top: 1px solid var(--line-light); }
.estate-map > div {
  display: grid;
  grid-template-columns: 190px minmax(300px,.7fr) minmax(0,1fr);
  gap: 30px;
  padding: 25px 0;
  border-bottom: 1px solid var(--line-light);
  align-items: start;
}
.estate-map strong { font-size: var(--type-body-lg); line-height: 1.42; font-weight: 590; }
.estate-map p { margin: 0; color: var(--muted); font-size: var(--type-body-sm); line-height: 1.55; }
.estate-recognition__actions { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding: 24px 28px; border-left: 4px solid #657f76; background: rgba(101,128,119,.09); }
.estate-recognition__actions strong { font-size: var(--type-lede); line-height: 1.35; }
.estate-recognition__actions a { min-height: 44px; display: inline-flex; align-items: center; flex: 0 0 auto; border-bottom: 1px solid currentColor; font-size: var(--type-nav); font-weight: 580; }

/* Deployment — custody spectrum, explicit boundary, ordered public journey */
.deployment-postures-section { row-gap: clamp(58px,7vw,100px); }
.posture-spectrum { display: grid; gap: 20px; }
.posture-spectrum__axis { display: grid; grid-template-columns: auto 1fr auto; gap: 18px; align-items: center; color: var(--muted); font-size: var(--type-label); letter-spacing: .04em; text-transform: uppercase; }
.posture-spectrum__axis i { height: 1px; background: linear-gradient(90deg,#746555,#657f76); }
.posture-spectrum__options { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border: 1px solid var(--line-light); }
.posture-spectrum__options article { min-height: 440px; display: flex; flex-direction: column; padding: 27px 24px; background: rgba(255,255,255,.34); }
.posture-spectrum__options article + article { border-left: 1px solid var(--line-light); }
.posture-spectrum__options article:nth-child(3) { background: linear-gradient(145deg,rgba(101,128,119,.1),rgba(255,255,255,.42)); }
.posture-spectrum__options header span { color: #746555; font-size: var(--type-label); letter-spacing: .05em; text-transform: uppercase; font-weight: 650; }
.posture-spectrum__options h3 { margin-top: 12px; font-size: var(--type-lede); line-height: 1.3; letter-spacing: -.012em; }
.posture-spectrum__options article > p { margin: 23px 0 0; color: var(--muted); font-size: var(--type-body-sm); line-height: 1.55; }
.posture-spectrum__options dl { margin: auto 0 0; border-top: 1px solid var(--line-light); }
.posture-spectrum__options dl > div { padding: 14px 0; border-bottom: 1px solid var(--line-light); }
.posture-spectrum__options dt { font-size: var(--type-label); font-weight: 650; }
.posture-spectrum__options dd { margin: 5px 0 0; color: var(--muted); font-size: var(--type-body-sm); line-height: 1.47; }
.custody-section { padding-block: clamp(92px,9vw,138px); }
.custody-composition { display: grid; gap: clamp(54px,6vw,88px); }
.custody-composition > header { display: grid; grid-template-columns: minmax(0,.88fr) minmax(360px,.7fr); gap: clamp(60px,8vw,126px); align-items: end; }
.custody-composition > header .lede { color: rgba(255,255,255,.66); }
.control-map { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-top: 1px solid rgba(255,255,255,.18); border-bottom: 1px solid rgba(255,255,255,.18); }
.control-map section { min-height: 320px; display: flex; flex-direction: column; justify-content: space-between; gap: 44px; padding: 30px 28px; }
.control-map section + section { border-left: 1px solid rgba(255,255,255,.18); }
.control-map section:nth-child(2) { background: rgba(198,159,105,.065); }
.control-map section:nth-child(3) { background: rgba(101,128,119,.065); }
.control-map span { color: #b7aa93; font-size: var(--type-label); letter-spacing: .05em; text-transform: uppercase; font-weight: 650; }
.control-map h3 { font-size: var(--type-lede); line-height: 1.32; letter-spacing: -.012em; }
.control-map p { margin: 0; color: rgba(255,255,255,.62); font-size: var(--type-body-sm); line-height: 1.58; }
.control-invariants { display: grid; grid-template-columns: minmax(260px,.58fr) minmax(0,1fr) auto; gap: 34px; align-items: center; padding: 26px 28px; border-left: 4px solid #657f76; background: rgba(101,128,119,.1); }
.control-invariants strong { font-size: var(--type-lede); line-height: 1.35; }
.control-invariants p { margin: 0; color: rgba(255,255,255,.65); font-size: var(--type-body-sm); line-height: 1.55; }
.control-invariants a { min-height: 44px; display: inline-flex; align-items: center; border-bottom: 1px solid currentColor; white-space: nowrap; font-size: var(--type-nav); font-weight: 580; }
.deployment-journey-section { row-gap: clamp(56px,6vw,88px); }
.deployment-process { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line-light); }
.deployment-process li { display: grid; grid-template-columns: 76px minmax(0,1fr) 190px; gap: 32px; align-items: center; padding: 25px 0; border-bottom: 1px solid var(--line-light); }
.deployment-process li > span { color: #746555; font: 590 var(--type-label)/1.3 var(--font-mono); }
.deployment-process li > div { display: grid; grid-template-columns: 180px minmax(0,1fr); gap: 32px; align-items: baseline; }
.deployment-process strong { font-size: var(--type-lede); line-height: 1.3; }
.deployment-process p { margin: 0; color: var(--muted); font-size: var(--type-body-sm); line-height: 1.55; }
.deployment-process em { justify-self: end; color: var(--muted); font-style: normal; font-size: var(--type-label); letter-spacing: .04em; text-transform: uppercase; }

@media (max-width: 1080px) {
  .campaign-hero__grid,
  .campaign-intro,
  .campaign-intro--wide,
  .product-thesis,
  .application-record-zoom,
  .seams-composition,
  .outcome-composition,
  .estate-recognition header,
  .custody-composition > header { grid-template-columns: 1fr; }
  .campaign-hero__support,
  .campaign-intro > p,
  .product-thesis .manifesto,
  .outcome-composition__copy { max-width: 820px; }
  .product-thesis .manifesto { grid-row: 2; }
  .product-principles { grid-row: 3; }
  .application-record-zoom { align-items: start; }
  .application-record-zoom__copy { max-width: 650px; }
  .act-process li { grid-template-columns: 70px minmax(180px,.42fr) minmax(0,1fr); }
  .act-process__output { grid-column: 3; margin-top: 8px; padding-left: 0; border-left: 0; }
  .platform-entry-composition { grid-template-columns: 1fr; grid-template-areas: "core" "api" "engine"; gap: 0; }
  .platform-entry { min-height: auto; border-left: 1px solid var(--line-light); }
  .platform-entry--engine { border-top: 0; }
  .platform-entry-composition__core { grid-template-columns: 160px 1fr; }
  .platform-entry-composition__core p { grid-column: 2; }
  .posture-spectrum__options { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .posture-spectrum__options article:nth-child(3) { border-left: 0; border-top: 1px solid var(--line-light); }
  .posture-spectrum__options article:nth-child(4) { border-top: 1px solid var(--line-light); }
  .control-invariants { grid-template-columns: 1fr; }
  .control-invariants a { justify-self: start; }
  .launch-closing__inner { grid-template-columns: 1fr; }
  .launch-actions { justify-content: flex-start; }
}

@media (max-width: 760px) {
  .campaign-hero { padding-block: 68px; }
  .launch-page h1 { font-size: clamp(42px,12vw,52px); }
  .launch-page h2 { font-size: clamp(31px,9vw,40px); }
  .campaign-hero__grid { gap: 34px; }
  .product-hero .campaign-hero__grid { grid-template-columns: 1fr; }
  .product-promise { padding: 28px 0 0; border-left: 0; border-top: 1px solid var(--line-light); }
  .product-promise dl > div { grid-template-columns: 1fr; gap: 5px; }
  .application-system__experience,
  .application-system__work { grid-template-columns: 1fr; }
  .application-system__experience > div + div,
  .application-system__work > div + div { border-left: 0; border-top: 1px solid var(--line-light); }
  .application-system__work > div { min-height: 0; }
  .application-system__work strong { margin-top: 28px; }
  .application-system__settlement { grid-template-columns: 1fr; gap: 9px; }
  .application-system__settlement i { transform: rotate(90deg); justify-self: start; }
  .product-principles article { grid-template-columns: 1fr; gap: 10px; }
  .application-comparison__head { display: none; }
  .application-comparison article { grid-template-columns: 1fr; gap: 17px; }
  .institutional-record dl > div { grid-template-columns: 1fr; gap: 5px; }
  .act-process li { grid-template-columns: 46px minmax(0,1fr); gap: 16px; }
  .act-process__title { grid-column: 2; }
  .act-process li > p,
  .act-process__output { grid-column: 2; }
  .act-process__index i { left: 7px; }
  .seam-propositions article > span,
  .seam-propositions article > strong { font-size: var(--type-body-lg); }
  .settlement-record header { align-items: flex-start; flex-direction: column; }
  .settlement-record__objective { grid-template-columns: 1fr; gap: 7px; }
  .settlement-record__contributions { grid-template-columns: 1fr; }
  .settlement-record__contributions > div + div { border-left: 0; border-top: 1px solid var(--line-light); }
  .platform-architecture__layer,
  .platform-architecture__layer--engine,
  .platform-architecture__layer--api,
  .platform-architecture__layer--services { margin-inline: 0; grid-template-columns: 1fr; gap: 7px; padding: 18px; }
  .platform-entry { padding: 25px 21px; }
  .platform-entry-composition__core { grid-template-columns: 1fr; gap: 9px; padding: 22px 21px; }
  .platform-entry-composition__core p { grid-column: auto; }
  .platform-entry dl > div { grid-template-columns: 1fr; gap: 5px; }
  .app-surface__body { grid-template-columns: 1fr; }
  .app-surface__body > div + div { border-left: 0; border-top: 1px solid var(--line-light); }
  .estate-map > div { grid-template-columns: 1fr; gap: 8px; }
  .estate-recognition__actions { align-items: flex-start; flex-direction: column; }
  .posture-spectrum__axis { grid-template-columns: 1fr; gap: 7px; }
  .posture-spectrum__axis span:last-child { text-align: right; }
  .posture-spectrum__options { grid-template-columns: 1fr; }
  .posture-spectrum__options article + article { border-left: 0; border-top: 1px solid var(--line-light); }
  .posture-spectrum__options article { min-height: 0; }
  .posture-spectrum__options dl { margin-top: 32px; }
  .control-map { grid-template-columns: 1fr; }
  .control-map section { min-height: 0; }
  .control-map section + section { border-left: 0; border-top: 1px solid rgba(255,255,255,.18); }
  .deployment-process li { grid-template-columns: 45px minmax(0,1fr); gap: 15px; align-items: start; }
  .deployment-process li > div { grid-template-columns: 1fr; gap: 8px; }
  .deployment-process em { grid-column: 2; justify-self: start; }
  .launch-actions { display: grid; grid-template-columns: 1fr; }
  .launch-actions a { justify-content: center; }
}

/* IMWL-CP2G — content integration and restrained material depth */
.campaign-hero__support .lede,
.campaign-intro > p,
.campaign-intro > div:last-child > p {
  font-size: clamp(17px,1.45vw,19.5px);
  line-height: 1.64;
}
.product-promise__statement { max-width: 520px; }
.application-system__experience > div { justify-content: flex-start; gap: 18px; }
.application-system__experience p {
  max-width: 520px;
  margin: auto 0 0;
  color: var(--muted);
  font-size: var(--type-body-sm);
  line-height: 1.55;
}
.application-system__settlement p {
  grid-column: 2 / -1;
  margin: -3px 0 0;
  color: var(--muted);
  font-size: var(--type-body-sm);
  line-height: 1.5;
}
.product-principles p,
.application-comparison article p,
.application-record-zoom__copy > p:not(.eyebrow),
.act-process li > p,
.seam-propositions p,
.estate-map p,
.posture-spectrum__options article > p,
.posture-spectrum__options dd,
.control-map p,
.deployment-process p {
  font-size: clamp(14.5px,1.12vw,16px);
  line-height: 1.6;
}
.application-comparison article { padding-block: 33px; }
.application-comparison article > div span { font-size: clamp(19px,1.65vw,23px); }
.platform-stack,
.application-system,
.institutional-record,
.settlement-record,
.posture-spectrum__options {
  box-shadow: 0 30px 82px rgba(40,36,27,.12);
}
.platform-entry-composition__core,
.estate-recognition__actions,
.control-invariants {
  box-shadow: inset 0 1px rgba(255,255,255,.34);
}

@media (max-width: 760px) {
  .application-system__settlement p { grid-column: 1; margin-top: 8px; }
}


/* IMWL-CP2G — relationship-led section headers */
.campaign-hero__support .lede,
.campaign-intro > p,
.campaign-intro > div:last-child > p {
  line-height: 1.58;
}
.estate-recognition header,
.custody-composition > header {
  grid-template-columns: minmax(0,.88fr) minmax(360px,.72fr);
  column-gap: clamp(60px,8vw,126px);
  row-gap: 14px;
  align-items: start;
}
.estate-recognition header > .eyebrow,
.custody-composition > header > .eyebrow {
  grid-column: 1;
  grid-row: 1;
  align-self: end;
}
.estate-recognition header > h2,
.custody-composition > header > h2 {
  grid-column: 1;
  grid-row: 2;
  max-width: 680px;
}
.estate-recognition header > p:last-child,
.custody-composition > header > p:last-child {
  grid-column: 2;
  grid-row: 1 / span 2;
  align-self: end;
  max-width: 620px;
}
@media (max-width: 1080px) {
  .estate-recognition header > .eyebrow,
  .estate-recognition header > h2,
  .estate-recognition header > p:last-child,
  .custody-composition > header > .eyebrow,
  .custody-composition > header > h2,
  .custody-composition > header > p:last-child {
    grid-column: auto;
    grid-row: auto;
  }
}

@media (max-width: 1080px) {
  .estate-recognition header,
  .custody-composition > header {
    grid-template-columns: minmax(0,1fr);
    gap: 14px;
  }
}

/* IMWL-CP2H — bounded campaign typography and exemplar application presentation */
.campaign-intro h2 { max-width: 720px; font-size: clamp(37px,3.15vw,46px); }
.product-thesis { grid-template-columns: minmax(0,.95fr) minmax(390px,.78fr); gap: clamp(58px,7vw,108px); }
.product-thesis h2 { max-width: 640px; font-size: clamp(37px,3.1vw,45px); }
.launch-closing h2 { max-width: 760px; font-size: clamp(37px,3.15vw,46px); }
.product-examples-section .example-app-grid { margin-top: 4px; }
.product-examples-boundary { max-width: 720px; margin-top: 4px; }
.application-comparison { display: none; }

@media (max-width: 1080px) {
  .product-thesis { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .campaign-intro h2,
  .product-thesis h2,
  .launch-closing h2 { font-size: clamp(31px,9vw,39px); }
}


/* IMWL-CP2H — mobile line-budget repair */
@media (max-width: 760px) {
  .campaign-intro h2 { font-size: clamp(30px,8.35vw,33px); line-height: 1.08; }
}

/* IMWL-CP2H — product manifesto containment */
@media (max-width: 760px) {
  .product-thesis h2 { font-size: clamp(29px,7.8vw,32px); line-height: 1.08; }
}

/* IMWL-CP2H — core-page rendered line-budget repair */
@media (min-width: 1081px) {
  .campaign-hero h1 { font-size: clamp(52px,4vw,58px); line-height: 1; }
  .seams-composition { grid-template-columns: minmax(460px,.82fr) minmax(0,1fr); gap: clamp(64px,7vw,112px); }
  .seams-composition h2 { max-width: 510px; font-size: clamp(38px,3vw,43px); line-height: 1.06; }
  .outcome-composition { grid-template-columns: minmax(440px,.78fr) minmax(520px,1fr); gap: clamp(58px,7vw,106px); }
  .outcome-composition__copy h2 { max-width: 470px; font-size: clamp(36px,2.85vw,41px); line-height: 1.07; }
  .estate-recognition header { grid-template-columns: minmax(0,1fr) minmax(340px,.62fr); column-gap: clamp(52px,6vw,94px); }
  .estate-recognition header > h2 { max-width: 700px; font-size: clamp(39px,3vw,43px); line-height: 1.06; }
  .campaign-intro h2 { font-size: clamp(38px,2.85vw,41px); line-height: 1.07; }
}

/* IMWL-CP2H — core mobile display containment */
@media (max-width: 760px) {
  .campaign-hero h1 { font-size: clamp(38px,10vw,42px); line-height: 1.02; }
  .launch-closing h2 { font-size: clamp(29px,7.8vw,32px); line-height: 1.08; }
}
