/* =========================================================
   Invent City — Market Story Revision
   Version: 2026-07-21
   Purpose:
   - Make the Urban Trade Mart the core business.
   - Clarify the buyer/seller transaction.
   - Standardize the vocabulary and conversion path.
========================================================= */

/* ---------------------------------------------------------
   HERO: THE COMPLETE PROPOSITION IN ONE VIEW
--------------------------------------------------------- */
#hero-bg {
  min-height: 100svh;
  display: grid;
  align-items: center;
  isolation: isolate;
}

#hero-bg::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0) 50%,
    rgba(0, 0, 0, 0.82) 100%
  );
}

#hero-bg .hero-content--story {
  position: static;
  width: min(100%, 1600px) !important;
  margin-inline: auto;
  padding: clamp(5.5rem, 9vw, 9rem) clamp(1.25rem, 5vw, 5rem) clamp(4rem, 7vw, 7rem);
  z-index: 3;
}

.hero-content--story .hero-logo-stack {
  position: static;
  display: grid;
  justify-items: start;
  text-align: left !important;
  gap: clamp(1.25rem, 2vw, 2rem);
}

.hero-content--story .hero-logo-button {
  display: inline-flex;
  width: clamp(8rem, 13vw, 13rem);
}

.hero-content--story .hero-logo {
  width: 100% !important;
  height: auto;
}

/* Independently timed industry names beneath the centered hero logo. */
.hero-industry-field {
  position: absolute;
  inset-inline: 0;
  top: var(--hero-industry-top, 58%);
  bottom: 0;
  z-index: 4;
  width: 100vw;
  max-width: none !important;
  height: auto;
  margin: 0;
  overflow: hidden;
  background: transparent;
  color: #fff;
  pointer-events: none;
}

.hero-industry-field.is-disabled {
  display: none !important;
}

.hero-industry-field span {
  position: absolute;
  left: var(--industry-x);
  top: var(--industry-y);
  margin: 0;
  font-family: var(--h6-font, var(--font-base));
  width: max-content;
  max-width: min(90vw, 44rem);
  font-size: var(--fs-fluid-industry);
  font-weight: 300;
  line-height: 1.15;
  text-align: center;
  opacity: 0;
  visibility: hidden;
  transform: translateY(0.7em);
  transition: opacity 0.65s ease, transform 0.85s ease, visibility 0s linear 0.65s;
  will-change: opacity, transform;
}

.hero-industry-field span.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  transition-delay: 0s;
}

@keyframes heroIndustryAppear {
  0%, 100% {
    opacity: 0;
    transform: translate(-50%, 0.7em);
  }

  5%, 20% {
    opacity: 1;
    transform: translate(-50%, 0);
  }

  24% {
    opacity: 0;
    transform: translate(-50%, -0.15em);
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero-industry-field span {
    display: none;
    animation: none;
  }

  .hero-industry-field span:first-child {
    display: block;
    left: 50%;
    top: 35%;
    opacity: 1;
    transform: translateY(0);
  }
}

.hero-story {
  width: min(100%, 78rem);
  color: #fff;
}

.hero-story__eyebrow,
.market-side__label,
.product-horizon__label,
.operating-model__num,
.launch-phases__phase {
  margin: 0 0 0.75rem;
  font-family: var(--font-ui, "PT Mono", monospace);
  font-size: var(--fs-fluid-label);
  line-height: 1.2;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.story-kicker {
  margin: 0 0 var(--heading-gap, 1rem);
  font-family: var(--h5-font, var(--font-base));
  font-size: var(--h5-fs, 0.9rem);
  line-height: var(--h5-lh, 1.2);
  font-weight: var(--h5-fw, 400);
  letter-spacing: 0;
  text-transform: none;
}

#mission-desc {
  --mission-title-fs: clamp(2.4rem, 6vw, 6.8rem);
  --mission-title-line-gap: 24px;
}

#mission-desc > .story-kicker {
  margin-bottom: var(--story-kicker-title-gap, 72px);
}

.hero-story__title {
  max-width: 18ch;
  margin: 0 0 calc((1.04727 - 1) * 1em);
  color: #fff;
  text-wrap: balance;
}

#hero-story-title {
  margin-top: var(--mission-title-grid-adjustment, 0px);
}

.mission-title-last-line {
  display: block;
  white-space: nowrap;
}

#mission-desc .hero-story {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
}

.hero-story__deck {
  max-width: 58rem;
  margin-top: var(--mission-deck-grid-adjustment, 0px);
  margin-bottom: 0.8rem;
  font-size: var(--mission-deck-fs, clamp(1.05rem, 1.65vw, 1.65rem));
  line-height: 1.35;
}

#mission-deck-text {
  display: block;
}

/* Carries .section-hero-title so it matches the other lead headlines
   exactly — same family, size, weight, line-height and -0.045em tracking.
   That class sets `margin: 0`, which at (0,1,0) beats the h1 element rule's
   margin-bottom and would collapse the gap under the word. This selector is
   (1,0,1), so it puts the gap back. */
#mission-objectives > h1 {
  margin-top: 0;
  margin-bottom: var(--heading-gap-lg);
  color: var(--h1-color-on-dark);
}

#mission-objectives p {
  position: relative;
  padding-left: 1.35em;
  font-size: var(--mission-deck-fs, clamp(1.05rem, 1.65vw, 1.65rem));
}

#mission-objectives p::before {
  content: "\25B6";
  position: absolute;
  top: 0;
  left: 0;
  line-height: inherit;
}

.hero-story__signature {
  margin-bottom: clamp(1.5rem, 3vw, 2.5rem);
  font-size: var(--fs-fluid-lede);
  font-weight: 600;
}

.hero-story__proof {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: min(100%, 62rem);
  margin-bottom: 1.5rem;
  border-block: 1px solid rgba(255, 255, 255, 0.55);
}

.hero-story__proof span {
  display: grid;
  gap: 0.15rem;
  padding: 0.85rem clamp(0.5rem, 1.5vw, 1.25rem);
  font-size: var(--fs-fluid-label);
  line-height: 1.25;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.hero-story__proof span + span {
  border-left: 1px solid rgba(255, 255, 255, 0.35);
}

.hero-story__proof strong {
  font-size: var(--fs-fluid-figure);
  line-height: 1;
  letter-spacing: -0.03em;
}

.hero-story__actions,
.story-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.story-action,
.story-cta__actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 3rem;
  padding: 0.75rem 1.1rem;
  border: 1px solid currentColor;
  color: inherit;
  font-family: var(--font-ui, "PT Mono", monospace);
  font-size: var(--fs-sm);
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.04em;
  text-decoration: none;
  text-transform: uppercase;
  transition: background-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.story-action:hover,
.story-action:focus-visible,
.story-cta__actions a:hover,
.story-cta__actions a:focus-visible {
  transform: translateY(-2px);
}

.story-action--primary {
  background: #fff;
  color: #000;
}

.story-action--secondary {
  background: rgba(0, 0, 0, 0.15);
  color: #fff;
}

/* ---------------------------------------------------------
   CORE MARKET LANGUAGE
--------------------------------------------------------- */
.story-proposition h3 {
  margin-bottom: 1.25rem;
}

.story-proposition p {
  max-width: 62rem;
}

.section-lead {
  margin: 0 0 var(--p-gap);
  font-family: var(--p-font);
  font-size: var(--section-lead-fs);
  font-weight: 400;
  line-height: var(--section-lead-lh);
}

.sub-section-lead {
  margin: 0 0 var(--p-gap);
  font-family: var(--p-font);
  font-size: var(--p-fs);
  font-style: normal;
  font-weight: 400;
  line-height: var(--p-lh);
}

.market-loop {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  margin-top: clamp(2rem, 5vw, 5rem);
  border-block: 1px solid rgba(255, 255, 255, 0.55);
}

.market-loop > :is(h4, h5, span) {
  position: relative;
  display: grid;
  place-items: center;
  min-height: clamp(4rem, 7vw, 7rem);
  padding: 0.75rem 0.25rem;
  margin: 0;
  /* Matched to .story-kicker ("1. MISSION"), which is the h5 tier — same
     family, size, leading and weight, so the two read at one height. */
  font-family: var(--h5-font, var(--font-base));
  font-size: var(--h5-fs, 0.9rem);
  line-height: var(--h5-lh, 1.2);
  font-weight: var(--h5-fw, 400);
  letter-spacing: 0;
  text-align: center;
}

.market-loop > :is(h4, h5, span):not(:last-child)::after {
  content: "→";
  position: absolute;
  right: -0.35em;
  font-size: 1.2em;
}

.market-loop.market-loop--compact {
  margin-top: 1.5rem;
  border-block: 1px solid rgba(0, 0, 0, 0.55);
  color: var(--accordion-default-grey, var(--accordion-header-text-color, #adadad));
}

.market-loop--compact span {
  min-height: 4.25rem;
}

.market-definition {
  max-width: 66rem;
  margin-top: 1.25rem;
  font-size: var(--fs-fluid-lede);
}

.trade-mart-core {
  align-items: center;
} #S23-map .map-filter-buttons {
  padding-bottom: 1.5rem;
}

.market-sides,
.product-horizon,
.operating-model,
.launch-phases {
  display: grid;
  gap: 1rem;
}

.market-sides {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 1.25rem;
}

/* Trade Mart offcanvas: stack all four comparison cards. */

.market-side,
.product-horizon section,
.operating-model section,
.launch-phases section {
  border: 1px solid currentColor;
  padding: clamp(1rem, 2.5vw, 2rem);
}

.market-side h4,
.product-horizon h4,
.operating-model h3 {
  margin-bottom: 0.75rem;
}

.market-side p:last-child,
.product-horizon p:last-child,
.operating-model p:last-child,
.launch-phases p:last-child {
  margin-bottom: 0;
}

.product-horizon {
  --product-horizon-circle-size: clamp(7rem, 10vw, 9rem);
  --product-horizon-pad-y: clamp(1rem, 2.5vw, 2rem);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  margin-block: 1.5rem 2rem;
  border-block: 0;
}

.product-horizon section {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  border: 0;
  padding: var(--product-horizon-pad-y) clamp(0.75rem, 2vw, 1.5rem);
  text-align: center;
}

.product-horizon .product-horizon__circle {
  display: grid;
  place-items: center;
  width: var(--product-horizon-circle-size);
  aspect-ratio: 1;
  margin: 0 0 1rem;
  padding: 1rem;
  border: 1px solid currentColor;
  border-radius: 50%;
  font-weight: 600;
  line-height: 1.1;
  text-align: center;
  white-space: nowrap;
  cursor: help;
}

.product-horizon .product-horizon__summary {
  margin-bottom: 0.5rem;
  font-weight: 600;
  text-align: center;
}

.product-horizon section:not(:last-child)::after {
  content: "→";
  position: absolute;
  top: var(--product-horizon-pad-y);
  right: -0.35em;
  z-index: 1;
  display: grid;
  place-items: center;
  height: var(--product-horizon-circle-size);
  font-family: var(--font-ui, "PT Mono", monospace);
  font-size: 1.2em;
  line-height: 1;
  transform: none;
}

/* ---------------------------------------------------------
   LAUNCH / OPERATING MODEL
--------------------------------------------------------- */
#launch-bg.story-launch-bg {
  --accordion-header-text-color: var(--accordion-header-ink-on-dark);
  --section-heading-label-color: #fff;
  --accordion-header-line-color: var(--accordion-header-ink-on-dark);
  --accordion-header-line-hover-color: #fff;
  --accordion-header-line-active-color: #fff;
  --acc-secondary-header-rule-color: var(--accordion-header-ink-on-dark);
  --inline-rule-color: #fff;
  --bs-body-color: #fff;
  --bs-emphasis-color: #fff;
  --bs-border-color: #fff;

  background: #000;
  color: #fff;
  border-top: 1px solid #fff;
  border-bottom: 0;
}

#benefits-bg {
  --accordion-header-text-color: var(--accordion-header-ink-on-light);
  --section-heading-label-color: #000;
  --accordion-header-line-color: var(--accordion-header-ink-on-light);
  --accordion-header-line-hover-color: #000;
  --accordion-header-line-active-color: #000;
  --accordion-header-line-benefits-color: #000;
  --acc-secondary-header-rule-color: var(--accordion-header-ink-on-light);
  --inline-rule-color: #000;
  --bs-body-color: #000;
  --bs-emphasis-color: #000;
  --bs-border-color: #000;

  background: #fff;
  color: #000;
}

#benefits-bg::before {
  background: #fff;
}

#benefits-bg .section-divider--inverse::before,
#benefits-bg .section-divider::before {
  border-top-color: #000 !important;
}

#benefits-bg .section-divider--inverse .section-divider__label,
#benefits-bg .section-divider--inverse .section-divider__button,
#benefits-bg .section-divider .section-divider__label,
#benefits-bg .section-divider .section-divider__button {
  background: #fff !important;
  color: #000 !important;
  border-color: #000 !important;
}

#benefits-bg .section-divider--inverse .section-divider__label[aria-expanded="true"],
#benefits-bg .section-divider--inverse .section-divider__button[aria-expanded="true"],
#benefits-bg .section-divider .section-divider__label[aria-expanded="true"],
#benefits-bg .section-divider .section-divider__button[aria-expanded="true"] {
  background: #fff !important;
  color: #000 !important;
}

#benefits-bg .benefits-intro-grid {
  align-items: start;
  padding-bottom: var(--section-hero-title-accordion-gap, 75px);
}

#benefits-bg .benefits-intro-copy > :last-child {
  margin-bottom: 0;
  padding-bottom: 0;
}

#benefits-bg .benefits-intro-media img {
  display: block;
  width: 100%;
  height: auto;
}

/* ---------------------------------------------------------
   SHARED STORY-SECTION VERTICAL RHYTHM
   Keep the first text and final content edge consistently inset in sections
   1–4. The same extra top clearance is added to every story section.
   Background bands remain full bleed and padding-free.
--------------------------------------------------------- */
#mission-bg,
#strategy-bg,
#tactics-bg,
#launch-bg.story-launch-bg,
#benefits-bg {
  --story-section-top-extra: 3rem;
  padding-block: 0 !important;
}

#mission-bg > #intro,
#strategy-bg > #strategy,
#tactics-bg > #tactics,
#launch-bg > #launch,
#benefits-bg > #benefits {
  padding-top: calc(var(--section-pad-top, 6rem) + var(--story-section-top-extra, 3rem)) !important;
  padding-bottom: var(--section-pad-bottom, 6rem) !important;
}

#mission-bg > #intro {
  padding-bottom: max(
    10rem,
    calc(
      var(--section-pad-bottom, 6rem) +
      var(--mission-grid-bottom-adjustment, 0px)
    )
  ) !important;
}

/* Reclaim unused lower-section space after anchoring the Mission headline
   farther down the baseline grid. */
#mission-bg #m-img-attract {
  margin-bottom: 0 !important;
}

#mission-bg .market-loop {
  margin-top: 0 !important;
}

@media (max-width: 767.98px) {
  #mission-bg > #intro,
  #strategy-bg > #strategy,
  #tactics-bg > #tactics,
  #launch-bg > #launch,
  #benefits-bg > #benefits {
    padding-top: calc(var(--section-pad-top-mobile, 4rem) + var(--story-section-top-extra, 3rem)) !important;
    padding-bottom: var(--section-pad-bottom-mobile, 4rem) !important;
  }

  #mission-bg > #intro {
    padding-bottom: max(
      10rem,
      calc(
        var(--section-pad-bottom-mobile, 4rem) +
        var(--mission-grid-bottom-adjustment, 0px)
      )
    ) !important;
  }

  /* Use the Benefits kicker rhythm for all three phone section labels. */
  #mission-desc > .story-kicker,
  #strategy .story-kicker,
  #tactics .story-kicker,
  #benefits-desc > .story-kicker {
    margin-top: 0;
    margin-bottom: var(--story-kicker-title-gap, 2.42rem);
  }
}

.operating-model {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 2rem;
}

.story-subsection,
.story-cta {
  margin-top: clamp(3rem, 7vw, 7rem);
}

.story-subsection > h2,
.story-cta > h2 {
  margin-bottom: 1rem;
}

.impact-clarifier {
  max-width: 62rem;
  margin-bottom: 1.5rem;
  font-size: var(--fs-fluid-body);
  line-height: 1.45;
  opacity: 0.76;
}

.impact-clarifier--inverse {
  color: #fff;
}

.revenue-model {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
}

.revenue-model span {
  padding: 0.6rem 0.8rem;
  border: 1px solid currentColor;
  font-family: var(--font-ui, "PT Mono", monospace);
  font-size: var(--fs-sm);
  line-height: 1.2;
  text-transform: uppercase;
}

.launch-phases {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.story-cta {
  padding: clamp(1.5rem, 4vw, 3.5rem);
  border: 2px solid currentColor;
}

.launch-help-market-offcanvas .story-cta {
  padding: clamp(0.75rem, 2vw, 1.75rem);
  border-width: 1px;
}

.launch-help-market-offcanvas .partnership-form-wrap {
  margin-top: 0;
  border-top: 0;
  padding-top: 0;
}

.launch-help-market-offcanvas .partnership-form input,
.launch-help-market-offcanvas .partnership-form select,
.launch-help-market-offcanvas .partnership-form textarea {
  border: 1px dotted currentColor;
}

.story-cta__actions a {
  background: #000;
  color: #fff;
}

.footer-contact-stack--story {
  max-width: 65rem;
  margin-inline: auto;
  text-align: center;
}

.footer-contact-stack--story h2 {
  margin-bottom: 1.5rem;
}

/* ---------------------------------------------------------
   RESPONSIVE
--------------------------------------------------------- */
@media (max-width: 1000px) {
  .operating-model,
  .launch-phases {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {

  #hero-bg {
    min-height: auto;
  }

  #hero-bg .hero-content--story {
    padding-top: 5.5rem;
    padding-bottom: 5rem;
  }

  .hero-story__title {
    max-width: 100%;
  }

  .market-loop {
    grid-template-columns: 1fr;
    border: 1px solid currentColor;
  }

  .market-loop > :is(h4, h5, span) {
    min-height: 3rem;
    border-bottom: 1px solid currentColor;
  }

  .market-loop > :is(h4, h5, span):last-child {
    border-bottom: 0;
  }

  .market-loop > :is(h4, h5, span):not(:last-child)::after {
    content: "↓";
    right: 0.8rem;
  }

  .market-loop.market-loop--compact {
    border-width: 1px;
  }

  .market-loop.market-loop--compact span {
    border-bottom-width: 1px;
  }

  .market-sides,
  .product-horizon,
  .operating-model,
  .launch-phases {
    grid-template-columns: 1fr;
  }

  .product-horizon {
    border: 0;
  }

  .product-horizon section:not(:last-child)::after {
    content: "↓";
    top: auto;
    right: 0.8rem;
    bottom: -0.6em;
    height: auto;
    transform: none;
  }

  .story-action,
  .story-cta__actions a {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .story-action,
  .story-cta__actions a {
    transition: none;
  }
}

/* =========================================================
   Execution order 1–6 additions — 2026-07-21
========================================================= */
.hero-story__methodology {
  max-width: 62rem;
  margin: -0.5rem 0 1.25rem;
  font-size: var(--fs-fluid-label);
}
.hero-story__methodology a { color: inherit; text-underline-offset: 0.2em; }

.impact-methodology {
  margin-bottom: clamp(2rem, 5vw, 5rem);
  padding: 0;
  border: 0;
}
.impact-methodology__intro {
  max-width: 68rem;
  padding-bottom: 0.25rem;
}
.impact-methodology__intro .story-kicker {
  margin-bottom: 0.6rem;
  font-size: var(--fs-fluid-label-sm);
  font-weight: 600;
  letter-spacing: 0.05em;
}
.impact-methodology__intro h2 {
  margin: 0;
  font-size: var(--fs-fluid-figure-sm);
  line-height: 1.15;
}
.impact-methodology__table { margin: 1.5rem 0 1rem; }
.impact-methodology__table :is(th, td) { vertical-align: top; text-align: left; }
.impact-methodology__table thead th { text-align: left; }
.impact-methodology__table th:last-child,
.impact-methodology__table td:last-child { white-space: normal; text-align: left; }
.impact-methodology__table thead th:last-child { text-align: left; }
.impact-methodology__table thead h4 { margin: 0 0 0.25rem; color: inherit; }
.impact-methodology__table thead span { display: block; font-size: var(--copy-sm-fs, 0.9rem); font-weight: 400; }
.impact-methodology__metric,
.impact-methodology__value,
.impact-methodology__source { display: block; }
.impact-methodology__metric { margin-bottom: 0.3rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.04em; }
.impact-methodology__value { margin-bottom: 0.35rem; font-size: var(--h2-fs); line-height: 1.05; }
.impact-methodology__source { margin-top: 0.45rem; font-size: var(--copy-sm-fs, 0.9rem); line-height: 1.35; opacity: 0.68; }
.impact-methodology__assumptions caption { color: inherit; font-size: var(--fs-sm); font-weight: 600; }
.impact-methodology__assumptions p { margin: 0 0 0.7rem; }
.impact-methodology__assumptions p:last-child { margin-bottom: 0; }
.impact-methodology__totals caption { color: inherit; font-size: var(--h4-fs); font-weight: var(--h4-fw); }
.impact-methodology__totals tbody td { text-align: left; }
.impact-methodology__totals .impact-methodology__value { font-size: var(--fs-fluid-figure); }

.impact-summary {
  width: 100%;
  margin: 1.5rem 0 1rem;
}

.impact-summary__title {
  margin: 0 0 0.7rem;
  color: inherit;
  font-size: var(--fs-sm);
  line-height: 1.25;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.impact-summary__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-block: 1px solid currentColor;
}

.impact-summary__item {
  min-width: 0;
  padding: 0.85rem clamp(0.5rem, 1.5vw, 1.25rem);
}

.impact-summary__item + .impact-summary__item {
  border-left: 1px solid currentColor;
}

.impact-summary__value,
.impact-summary__label,
.impact-summary__source {
  display: block;
}

.impact-summary__value {
  font-family: var(--font-ui, "PT Mono", monospace);
  font-size: var(--fs-fluid-figure);
  line-height: 1;
  letter-spacing: -0.03em;
}

.impact-summary__label {
  margin-top: 0.15rem;
  font-size: var(--fs-fluid-label);
  line-height: 1.25;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.impact-summary__item p {
  margin: 0.8rem 0 0;
  font-size: var(--copy-sm-fs, 0.9rem);
  line-height: 1.35;
}

.impact-summary__source {
  margin-top: 0.45rem;
  font-size: var(--fs-fluid-label-sm);
  line-height: 1.3;
  opacity: 0.68;
}

@media (max-width: 767.98px) {
  .impact-summary__grid {
    grid-template-columns: 1fr;
  }

  .impact-summary__item + .impact-summary__item {
    border-top: 1px solid currentColor;
    border-left: 0;
  }
}

.impact-methodology__note {
  max-width: 72rem;
  margin: 1.5rem 0 0;
  padding-top: 1rem;
  border-top: 1px solid currentColor;
  font-size: var(--fs-fluid-label-sm);
  line-height: 1.45;
}

.partnership-form-wrap {
  margin-top: clamp(2rem, 5vw, 4rem);
  padding-top: clamp(2rem, 4vw, 3rem);
  border-top: 1px solid currentColor;
}
.partnership-form { display: grid; gap: 1rem; max-width: 72rem; }
.partnership-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1rem; }
.partnership-form label { display: grid; gap: 0.45rem; font-family: var(--font-ui, "PT Mono", monospace); font-size: var(--fs-sm); font-weight: 600; letter-spacing: 0.03em; }
.partnership-form input,
.partnership-form select,
.partnership-form textarea {
  width: 100%; border: 1px solid currentColor; border-radius: 0; padding: 0.8rem; background: transparent; color: inherit; font: inherit;
}
.partnership-form textarea { resize: vertical; }
.partnership-form__consent { grid-template-columns: auto 1fr; align-items: start; }
.partnership-form__consent input { width: 1rem; margin-top: 0.15rem; }
.partnership-form__trap { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.partnership-form-status { padding: 0.85rem 1rem; border: 1px solid currentColor; }
.partnership-form__alternate { margin: 0; font-size: var(--copy-sm-fs, 0.9rem); }

@media (max-width: 760px) {
  .partnership-form__grid { grid-template-columns: 1fr; }
  .impact-methodology__table { min-width: 44rem; }
}

/* =========================================================
   SECTION PROOF BANDS + CHIP SETS (2026-07-28)
   The mission section works because numbers lead and prose
   follows. These reuse that grammar inside the accordions:
   .section-proof  = the mission stat band, currentColor so it
                     reads on light accordion backgrounds.
   .market-loop--set = the loop chips without the arrows, for
                     unordered sets (cluster players, revenue
                     lines) rather than sequences.
========================================================= */
.section-proof {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: 100%;
  margin: 0 0 var(--section-proof-gap, clamp(1.5rem, 3vw, 2.5rem));
  border-block: 1px solid currentColor;
}

.section-intro + .section-proof {
  margin-top: var(--section-proof-gap, clamp(1.5rem, 3vw, 2.5rem));
}

.section-proof span {
  display: grid;
  gap: 0.15rem;
  padding: 0.85rem clamp(0.5rem, 1.5vw, 1.25rem);
  font-size: var(--fs-fluid-label);
  line-height: 1.25;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.section-proof span + span {
  border-left: 1px solid currentColor;
}

.section-proof strong {
  font-family: var(--font-ui, "PT Mono", monospace);
  font-size: var(--fs-fluid-figure-sm);
  line-height: 1;
  letter-spacing: -0.02em;
}

.s211-economics-band {
  margin-bottom: clamp(1.5rem, 3vw, 2.5rem);
}

.market-loop--set span:not(:last-child)::after {
  content: none;
}

@media (max-width: 767.98px) {
  .market-loop--set span:not(:last-child)::after {
    content: none;
  }
}

/* =========================================================
   PROOF BANDS — ALWAYS HORIZONTAL (2026-07-29)
   Stat bands keep their three-across layout at every width,
   phone included. Labels shrink via clamp() instead of stacking.
========================================================= */

/* =========================================================
   PHONE MISSION PROCESS (2026-07-29)
   The Impact Bridge is now accordion item 3.1 and remains
   available at every breakpoint.
========================================================= */
@media (max-width: 767.98px) {
  #mission-bg .market-loop {
    display: none;
  }
}
