:root {
  --exchange-green-950: #245c49;
  --exchange-green-900: #34765e;
  --exchange-green-800: #4a8a72;
  --exchange-green-100: #e4f0ea;
  --exchange-green-50: #f4f8f6;
  --exchange-gold: #d2a11d;
  --exchange-gold-soft: #f7eac0;
  --exchange-ink: #1e342c;
  --exchange-muted: #60736a;
  --exchange-line: #d6e2dc;
  --exchange-surface: rgba(255, 255, 252, .94);
}

html { scroll-behavior: smooth; }
.exchange-concept-page { color: var(--exchange-ink); background: #eef4ef; }
.exchange-concept-page::before { content: ""; position: fixed; inset: 0; z-index: -2; background: linear-gradient(90deg, rgba(250,252,249,.93), rgba(241,248,243,.82)), url('/assets/zgtn-development-background-1440.webp') center / cover no-repeat; }
.exchange-concept-page main { overflow: hidden; }
.exchange-concept-page :where(h1,h2,h3,p) { margin-top: 0; }
.exchange-hero { position: relative; padding: clamp(2.4rem, 5vw, 5.4rem) 1.25rem 3.2rem; background: radial-gradient(circle at 15% 12%, rgba(255,255,255,.95), rgba(247,251,247,.7) 46%, rgba(226,241,231,.72)); }
.exchange-hero::after { content: ""; position: absolute; right: -12rem; bottom: -17rem; width: 38rem; height: 38rem; border: 1px solid rgba(210,161,29,.27); border-radius: 50%; box-shadow: 0 0 0 5rem rgba(210,161,29,.04), 0 0 0 10rem rgba(74,138,114,.04); pointer-events: none; }
.exchange-hero-grid, .exchange-workspace, .exchange-outcomes, .exchange-closing, .exchange-trust-strip { width: min(1420px, calc(100% - 2.5rem)); margin-inline: auto; }
.exchange-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, .95fr) minmax(31rem, 1.05fr); gap: clamp(2.5rem, 6vw, 6rem); align-items: center; }
.exchange-hero-copy { max-width: 41rem; }
.exchange-kicker, .exchange-eyebrow { color: #7b5b06; font-size: .76rem; font-weight: 900; letter-spacing: .13em; line-height: 1.4; text-transform: uppercase; }
.exchange-kicker { display: flex; gap: .6rem; align-items: center; margin-bottom: 1.3rem; }
.exchange-kicker > span { width: .55rem; height: .55rem; border-radius: 50%; background: #32a36a; box-shadow: 0 0 0 .3rem rgba(50,163,106,.13); }
.exchange-hero h1 { max-width: 18ch; margin-bottom: 1rem; color: var(--exchange-green-950); font-family: Georgia, 'Times New Roman', serif; font-size: clamp(2rem, 3.2vw, 3.1rem); font-weight: 700; letter-spacing: -.032em; line-height: 1.02; text-wrap: balance; }
.exchange-lede { max-width: 38rem; margin-bottom: 1.5rem; color: #4f665c; font-size: clamp(.96rem, 1.2vw, 1.08rem); line-height: 1.68; }
.exchange-hero-actions, .exchange-closing-actions { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; }
.exchange-button { display: inline-flex; min-height: 2.7rem; align-items: center; justify-content: center; padding: .68rem 1rem; border: 1px solid var(--exchange-green-900); border-radius: .65rem; color: #fff; background: var(--exchange-green-900); font: inherit; font-size: .86rem; font-weight: 800; text-decoration: none; cursor: pointer; transition: transform .18s ease, background .18s ease, box-shadow .18s ease; }
.exchange-button:hover, .exchange-button:focus-visible { transform: translateY(-2px); color: #fff; background: var(--exchange-green-950); box-shadow: 0 .6rem 1.4rem rgba(36,92,73,.16); }
.exchange-button--light { color: var(--exchange-green-950); background: rgba(255,255,255,.88); border-color: #b9ccc0; }
.exchange-button--light:hover, .exchange-button--light:focus-visible { color: var(--exchange-green-950); background: #fff; }
.exchange-value-list { display: flex; flex-wrap: wrap; gap: .65rem 1rem; margin: 1.5rem 0 0; padding: 0; list-style: none; color: #425a4f; font-size: .84rem; font-weight: 700; }
.exchange-value-list li { display: flex; gap: .4rem; align-items: center; }
.exchange-value-list span { color: var(--exchange-green-800); }

.exchange-snapshot { overflow: hidden; border: 1px solid rgba(52,118,94,.18); border-radius: 1.4rem; background: rgba(255,255,252,.96); box-shadow: 0 1.8rem 4rem rgba(36,92,73,.14); }
.exchange-snapshot-photo { min-height: 16rem; display: flex; flex-direction: column; justify-content: flex-end; padding: 1.5rem; color: white; background: linear-gradient(180deg, transparent 15%, rgba(36,92,73,.88)), url('/assets/zgtn-project-collaboration-960.webp') center 42% / cover no-repeat; }
.exchange-snapshot-photo span { margin-bottom: .35rem; color: #f8d76f; font-size: .74rem; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.exchange-snapshot-photo strong { max-width: 18ch; font-family: Georgia, serif; font-size: 1.45rem; line-height: 1.1; }
.exchange-snapshot-body { padding: 1.25rem 1.4rem 1.4rem; }
.exchange-live-line { display: flex; gap: .5rem; align-items: center; margin-bottom: 1rem; color: var(--exchange-green-900); font-size: .69rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.exchange-live-line span { width: .5rem; height: .5rem; border-radius: 50%; background: #2fa869; box-shadow: 0 0 0 .28rem rgba(47,168,105,.13); }
.exchange-snapshot-metrics { display: grid; grid-template-columns: repeat(3,1fr); margin-bottom: 1.2rem; padding-bottom: 1.2rem; border-bottom: 1px solid var(--exchange-line); }
.exchange-snapshot-metrics div { padding-inline: 1rem; border-left: 1px solid var(--exchange-line); }
.exchange-snapshot-metrics div:first-child { padding-left: 0; border-left: 0; }
.exchange-snapshot-metrics strong { display: block; color: var(--exchange-green-900); font-family: Georgia, serif; font-size: 1.6rem; }
.exchange-snapshot-metrics span { display: block; color: var(--exchange-muted); font-size: .72rem; font-weight: 700; }
.exchange-activity-list { display: grid; gap: .75rem; margin: 0; padding: 0; list-style: none; }
.exchange-activity-list li { display: grid; grid-template-columns: 2.1rem 1fr; gap: .75rem; align-items: center; }
.exchange-activity-list li > span { display: grid; width: 2.1rem; height: 2.1rem; place-items: center; border-radius: .55rem; color: #6a5009; background: var(--exchange-gold-soft); font-size: .68rem; font-weight: 900; }
.exchange-activity-list strong, .exchange-activity-list small { display: block; }
.exchange-activity-list strong { font-size: .83rem; }
.exchange-activity-list small { margin-top: .12rem; color: var(--exchange-muted); font-size: .73rem; }

.exchange-trust-strip { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 1.5rem; align-items: center; margin-top: -1rem; margin-bottom: 2rem; padding: 1.15rem 1.3rem; border: 1px solid #d3dfd7; border-radius: 1rem; background: rgba(255,255,252,.96); box-shadow: 0 .75rem 2rem rgba(33,72,52,.08); }
.exchange-trust-strip strong, .exchange-trust-strip span { display: block; }
.exchange-trust-strip strong { font-family: Georgia, serif; font-size: 1.05rem; }
.exchange-trust-strip div span { margin-top: .2rem; color: var(--exchange-muted); font-size: .75rem; }
.exchange-trust-strip p { margin: 0; padding-left: 1.25rem; border-left: 3px solid var(--exchange-gold); color: #596a61; font-size: .78rem; line-height: 1.5; }
.exchange-trust-strip p span { display: inline; color: #6d5108; font-weight: 900; }

.exchange-workspace { margin-block: 3.5rem; padding: clamp(1.15rem, 3vw, 2.4rem); border: 1px solid rgba(52,118,94,.17); border-radius: 1.5rem; background: var(--exchange-surface); box-shadow: 0 1.4rem 3.5rem rgba(49,103,81,.09); }
.exchange-section-heading { display: grid; grid-template-columns: 1fr minmax(20rem, .65fr); gap: 2rem; align-items: end; margin-bottom: 1.6rem; }
.exchange-section-heading h2, .exchange-outcomes h2, .exchange-closing h2 { margin-bottom: 0; color: var(--exchange-green-950); font-family: Georgia, serif; font-size: clamp(1.35rem, 1.9vw, 1.9rem); letter-spacing: -.018em; line-height: 1.15; text-wrap: balance; }
.exchange-section-heading h2 { max-width: 28ch; }
.exchange-section-heading > p { max-width: 39rem; margin-bottom: .15rem; color: var(--exchange-muted); font-size: .92rem; line-height: 1.6; }
.exchange-eyebrow { margin-bottom: .6rem; }
.exchange-tabs { display: grid; grid-template-columns: repeat(5, 1fr); gap: .5rem; margin-bottom: 1.25rem; padding: .4rem; border: 1px solid var(--exchange-line); border-radius: .9rem; background: #f2f6f3; }
.exchange-tabs button { display: flex; gap: .6rem; align-items: center; justify-content: center; min-height: 2.7rem; padding: .62rem .78rem; border: 0; border-radius: .65rem; color: #52635a; background: transparent; font: inherit; font-size: .8rem; font-weight: 800; cursor: pointer; }
.exchange-tabs button span { color: #887025; font-size: .65rem; }
.exchange-tabs button[aria-selected="true"] { color: #fff; background: var(--exchange-green-900); box-shadow: 0 .4rem 1rem rgba(52,118,94,.17); }
.exchange-tabs button[aria-selected="true"] span { color: #f5d56e; }
.exchange-tab-panel { padding-top: 1rem; }
.exchange-toolbar { display: grid; grid-template-columns: minmax(15rem, 1fr) 13rem 13rem; gap: .75rem; }
.exchange-toolbar label { display: grid; gap: .35rem; color: var(--exchange-muted); font-size: .7rem; font-weight: 900; text-transform: uppercase; }
.exchange-toolbar input, .exchange-toolbar select { width: 100%; height: 2.8rem; padding: 0 .82rem; border: 1px solid #c7d6cc; border-radius: .65rem; color: var(--exchange-ink); background: #fff; font: inherit; font-size: .8rem; }
.exchange-search { position: relative; align-self: end; }
.exchange-search b { position: absolute; left: .9rem; top: 1.02rem; color: var(--exchange-green-800); font-size: 1.1rem; transform: rotate(-20deg); }
.exchange-search input { padding-left: 2.7rem; }
.exchange-toolbar :is(input,select):focus { outline: 3px solid rgba(210,161,29,.23); border-color: var(--exchange-green-800); }
.exchange-result-line { display: flex; justify-content: space-between; align-items: center; margin: 1rem 0 .75rem; color: var(--exchange-muted); font-size: .78rem; }
.exchange-result-line p { margin: 0; }
.exchange-result-line strong { color: var(--exchange-green-900); font-size: 1.1rem; }
.trust-legend { margin: -.1rem 0 .9rem; border: 1px solid #dbe5de; border-radius: .7rem; background: #f8faf8; }
.trust-legend summary { padding: .7rem .85rem; color: var(--exchange-green-900); font-size: .72rem; font-weight: 900; cursor: pointer; }
.trust-legend-grid { display: grid; grid-template-columns: repeat(5,1fr); gap: .55rem; padding: .1rem .75rem .75rem; }
.trust-legend-grid > div { display: grid; grid-template-columns: 1.35rem 1fr; gap: .4rem; padding: .55rem; border-radius: .55rem; background: white; }
.trust-legend-grid i { display: grid; width: 1.25rem; height: 1.25rem; place-items: center; border-radius: 50%; color: var(--exchange-green-900); background: #dff1e6; font-size: .62rem; font-style: normal; font-weight: 900; }
.trust-legend-grid .pending i { color: #7a5b07; background: #faecc1; }
.trust-legend-grid .authority i { color: #35556b; background: #e3edf3; }
.trust-legend-grid strong, .trust-legend-grid small { display: block; }
.trust-legend-grid strong { margin-bottom: .16rem; color: var(--exchange-ink); font-size: .67rem; }
.trust-legend-grid small { color: var(--exchange-muted); font-size: .6rem; line-height: 1.38; }
.supplier-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: .85rem; }
.supplier-card { display: flex; min-height: 19.5rem; flex-direction: column; padding: 1.05rem; border: 1px solid var(--exchange-line); border-radius: .9rem; background: #fff; transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.supplier-card:hover { transform: translateY(-3px); border-color: #a6c3af; box-shadow: 0 .8rem 1.8rem rgba(31,71,50,.1); }
.supplier-card-header { display: grid; grid-template-columns: 2.85rem 1fr auto; gap: .7rem; align-items: start; }
.supplier-logo { display: grid; width: 2.85rem; height: 2.85rem; place-items: center; border-radius: .65rem; color: white; background: linear-gradient(145deg, var(--exchange-green-800), var(--exchange-green-950)); font-family: Georgia, serif; font-weight: 900; }
.supplier-card h3 { margin-bottom: .15rem; color: var(--exchange-green-950); font-size: 1.02rem; line-height: 1.2; }
.supplier-card-header p { margin: 0; color: var(--exchange-muted); font-size: .72rem; }
.example-pill { padding: .25rem .42rem; border-radius: 999px; color: #725708; background: #fbf1d4; font-size: .58rem; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.supplier-summary { margin: .9rem 0; color: #55675e; font-size: .8rem; line-height: 1.55; }
.supplier-capabilities { display: flex; flex-wrap: wrap; gap: .35rem; margin-bottom: .85rem; }
.supplier-capabilities span { padding: .3rem .45rem; border-radius: .4rem; color: #315843; background: #edf5f0; font-size: .65rem; font-weight: 800; }
.supplier-verification { display: grid; gap: .4rem; margin-top: auto; padding-top: .8rem; border-top: 1px solid #e3eae5; }
.supplier-verification span { display: flex; gap: .4rem; align-items: center; color: #56675f; font-size: .68rem; }
.supplier-verification i { display: grid; width: 1rem; height: 1rem; place-items: center; border-radius: 50%; color: var(--exchange-green-900); background: #dff1e6; font-size: .58rem; font-style: normal; font-weight: 900; }
.supplier-verification span.pending i { color: #8a6810; background: #fbefca; }
.supplier-card-footer { display: flex; justify-content: space-between; align-items: center; gap: .75rem; margin-top: .85rem; }
.supplier-card-footer small { color: var(--exchange-muted); font-size: .65rem; }
.exchange-card-button, .exchange-text-button { border: 0; color: var(--exchange-green-900); background: transparent; font: inherit; font-weight: 900; cursor: pointer; }
.exchange-card-button { padding: .52rem .7rem; border: 1px solid #b9cfc1; border-radius: .5rem; font-size: .72rem; }
.exchange-card-button:hover, .exchange-card-button:focus-visible { background: var(--exchange-green-50); }
.exchange-empty-state { padding: 3rem 1rem; text-align: center; color: var(--exchange-muted); }

.rfq-intro { display: flex; justify-content: space-between; gap: 2rem; align-items: end; margin-bottom: 1rem; padding: 1.2rem; border-radius: .9rem; color: white; background: linear-gradient(125deg, var(--exchange-green-950), #559178); }
.rfq-intro h3 { margin-bottom: .3rem; font-family: Georgia, serif; font-size: 1.4rem; }
.rfq-intro p { max-width: 42rem; margin-bottom: 0; color: rgba(255,255,255,.78); }
.rfq-intro .exchange-eyebrow { color: #f0c84e; }
.rfq-intro .exchange-button { color: var(--exchange-green-950); background: #fff; border-color: #fff; white-space: nowrap; }
.rfq-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .85rem; }
.rfq-card { display: grid; grid-template-columns: 1fr auto; gap: 1rem; padding: 1.05rem; border: 1px solid var(--exchange-line); border-radius: .85rem; background: white; }
.rfq-meta { display: flex; flex-wrap: wrap; gap: .4rem; margin-bottom: .65rem; }
.rfq-meta span { padding: .28rem .45rem; border-radius: .35rem; color: #445b4f; background: #edf4ef; font-size: .62rem; font-weight: 800; }
.rfq-meta span:first-child { color: #765806; background: #fbefc9; }
.rfq-card h3 { margin-bottom: .4rem; color: var(--exchange-green-950); font-size: 1.05rem; }
.rfq-card p { margin-bottom: .75rem; color: var(--exchange-muted); font-size: .78rem; line-height: 1.5; }
.rfq-facts { display: flex; flex-wrap: wrap; gap: .55rem; color: #4f6258; font-size: .68rem; }
.rfq-side { display: flex; min-width: 6.5rem; flex-direction: column; align-items: flex-end; justify-content: space-between; padding-left: .8rem; border-left: 1px solid #e0e8e2; }
.rfq-side strong { color: var(--exchange-green-900); font-family: Georgia, serif; font-size: 1.5rem; }
.rfq-side small { color: var(--exchange-muted); font-size: .62rem; text-align: right; }

.deal-room-header { display: flex; justify-content: space-between; gap: 1.5rem; align-items: center; margin-bottom: .85rem; padding: 1.1rem 1.2rem; border-radius: .85rem; color: white; background: linear-gradient(120deg, var(--exchange-green-950), var(--exchange-green-800)); }
.deal-room-header .exchange-eyebrow { color: #f0ca53; }
.deal-room-header h3 { margin-bottom: .25rem; font-family: Georgia, serif; font-size: 1.3rem; }
.deal-room-header p { max-width: 47rem; margin-bottom: 0; color: rgba(255,255,255,.76); font-size: .78rem; line-height: 1.5; }
.deal-room-status { display: flex; flex: 0 0 auto; gap: .45rem; align-items: center; padding: .55rem .7rem; border: 1px solid rgba(255,255,255,.25); border-radius: 999px; background: rgba(255,255,255,.1); font-size: .68rem; font-weight: 900; }
.deal-room-status i { width: .5rem; height: .5rem; border-radius: 50%; background: #f2cc55; box-shadow: 0 0 0 .23rem rgba(242,204,85,.15); }
.transaction-progress { display: grid; grid-template-columns: repeat(8,1fr); margin: 0 0 .85rem; padding: .8rem .7rem; border: 1px solid var(--exchange-line); border-radius: .75rem; background: white; list-style: none; }
.transaction-progress li { position: relative; display: grid; gap: .32rem; justify-items: center; color: #819087; text-align: center; }
.transaction-progress li::before { content: ""; position: absolute; z-index: 0; top: .82rem; right: 50%; width: 100%; height: 2px; background: #dce5df; }
.transaction-progress li:first-child::before { display: none; }
.transaction-progress span { position: relative; z-index: 1; display: grid; width: 1.7rem; height: 1.7rem; place-items: center; border-radius: 50%; background: #e7ede9; font-size: .62rem; font-weight: 900; }
.transaction-progress small { font-size: .58rem; font-weight: 800; }
.transaction-progress li.complete { color: var(--exchange-green-900); }
.transaction-progress li.complete::before, .transaction-progress li.current::before { background: #79ae89; }
.transaction-progress li.complete span { color: white; background: var(--exchange-green-800); }
.transaction-progress li.current { color: #785a07; }
.transaction-progress li.current span { color: #5c4509; background: #f2cf62; box-shadow: 0 0 0 .23rem rgba(242,207,98,.2); }
.deal-room-grid { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(22rem,.95fr); gap: .85rem; }
.deal-room-card { padding: 1rem; border: 1px solid var(--exchange-line); border-radius: .8rem; background: white; }
.deal-room-card-heading { display: flex; justify-content: space-between; gap: .75rem; align-items: start; margin-bottom: .75rem; padding-bottom: .7rem; border-bottom: 1px solid #e1e9e3; }
.deal-room-card-heading h3 { margin-bottom: 0; color: var(--exchange-green-950); font-size: 1rem; }
.deal-room-card-heading > span { padding: .3rem .45rem; border-radius: .4rem; color: #52665b; background: #edf4ef; font-size: .62rem; font-weight: 800; }
.deal-message { display: grid; grid-template-columns: 2.2rem 1fr; gap: .65rem; margin-bottom: .65rem; padding: .7rem; border-radius: .65rem; background: #f4f7f5; }
.deal-message > span { display: grid; width: 2.2rem; height: 2.2rem; place-items: center; border-radius: .55rem; color: white; background: var(--exchange-green-800); font-size: .66rem; font-weight: 900; }
.deal-message strong { display: block; color: var(--exchange-green-950); font-size: .75rem; }
.deal-message p { margin: .18rem 0; color: #4e6157; font-size: .72rem; line-height: 1.45; }
.deal-message small { color: #7a8981; font-size: .59rem; }
.deal-message--supplier { margin-left: 2rem; background: #eef5f0; }
.deal-message--supplier > span { color: #5f480a; background: #f1d26d; }
.deal-room-actions { display: flex; flex-wrap: wrap; gap: .5rem; justify-content: flex-end; margin-top: .8rem; }
.deal-room-actions button:disabled { cursor: not-allowed; opacity: .55; }
.compliance-room ul { display: grid; gap: .45rem; margin: 0; padding: 0; list-style: none; }
.compliance-room li { display: grid; grid-template-columns: 1.55rem 1fr auto; gap: .55rem; align-items: center; padding: .52rem; border-radius: .55rem; background: #f6f9f7; }
.compliance-room li > i { display: grid; width: 1.4rem; height: 1.4rem; place-items: center; border-radius: 50%; color: var(--exchange-green-900); background: #dff0e4; font-size: .62rem; font-style: normal; font-weight: 900; }
.compliance-room li.pending > i { color: #755808; background: #f8e9b9; }
.compliance-room strong, .compliance-room small { display: block; }
.compliance-room strong { font-size: .69rem; }
.compliance-room small { margin-top: .1rem; color: var(--exchange-muted); font-size: .59rem; }
.compliance-room em { color: #4d6859; font-size: .58rem; font-style: normal; font-weight: 900; text-transform: uppercase; }
.compliance-room li.pending em { color: #8a6300; }
.role-permission-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: .6rem; margin-top: .75rem; }
.role-permission-grid article { padding: .8rem; border: 1px solid var(--exchange-line); border-radius: .65rem; background: #f9fbf9; }
.role-permission-grid span { color: #8a6608; font-size: .62rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.role-permission-grid h3 { margin: .3rem 0; color: var(--exchange-green-950); font-size: .82rem; }
.role-permission-grid p { margin: 0; color: var(--exchange-muted); font-size: .67rem; line-height: 1.45; }
.deal-room-boundary { margin: .75rem 0 0; padding: .7rem .8rem; border-left: 3px solid var(--exchange-gold); color: #645d49; background: #fff9e9; font-size: .68rem; line-height: 1.5; }

.workflow-layout { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(18rem,.75fr); gap: 1rem; }
.workflow-steps { display: grid; gap: .55rem; }
.workflow-steps article { display: grid; grid-template-columns: 2.6rem 1fr; gap: .85rem; padding: .85rem; border: 1px solid var(--exchange-line); border-radius: .75rem; background: white; }
.workflow-steps article > span { display: grid; width: 2.6rem; height: 2.6rem; place-items: center; border-radius: .6rem; color: #755908; background: var(--exchange-gold-soft); font-size: .68rem; font-weight: 900; }
.workflow-steps h3 { margin-bottom: .2rem; color: var(--exchange-green-950); font-size: .96rem; }
.workflow-steps p { margin-bottom: 0; color: var(--exchange-muted); font-size: .77rem; line-height: 1.5; }
.diaspora-card { padding: 1.35rem; border-radius: .9rem; color: white; background: linear-gradient(180deg, rgba(52,118,94,.72), rgba(36,92,73,.95)), url('/assets/harare-cbd-evening-960.webp') center / cover no-repeat; }
.diaspora-card .exchange-eyebrow { color: #f1ce5c; }
.diaspora-card h3 { font-family: Georgia, serif; font-size: 1.55rem; }
.diaspora-card p { color: rgba(255,255,255,.78); line-height: 1.65; }
.diaspora-card ul { display: grid; gap: .65rem; margin: 1.25rem 0; padding: 0; list-style: none; }
.diaspora-card li { padding-bottom: .6rem; border-bottom: 1px solid rgba(255,255,255,.18); font-size: .8rem; }
.diaspora-card .exchange-text-button { padding: 0; color: #f5d66f; }

.roadmap-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: .85rem; }
.roadmap-card { padding: 1.2rem; border: 1px solid var(--exchange-line); border-radius: .85rem; background: white; }
.roadmap-card--now { color: white; background: var(--exchange-green-950); border-color: var(--exchange-green-950); }
.roadmap-card > p { margin-bottom: .55rem; color: #a47808; font-size: .68rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.roadmap-card--now > p { color: #f2cc56; }
.roadmap-card h3 { margin-bottom: .8rem; font-family: Georgia, serif; font-size: 1.25rem; }
.roadmap-card ul { display: grid; gap: .55rem; margin: 0; padding-left: 1.05rem; color: var(--exchange-muted); font-size: .75rem; line-height: 1.45; }
.roadmap-card--now ul { color: rgba(255,255,255,.78); }
.pilot-targets { display: grid; grid-template-columns: repeat(4,1fr); gap: .5rem; margin-top: .75rem; }
.pilot-targets span { padding: .65rem .75rem; border: 1px solid var(--exchange-line); border-radius: .6rem; color: var(--exchange-muted); background: white; font-size: .65rem; font-weight: 700; }
.pilot-targets strong { margin-right: .25rem; color: var(--exchange-green-900); font-family: Georgia, serif; font-size: 1.1rem; }
.exchange-guardrail { display: grid; grid-template-columns: 2.6rem 1fr; gap: 1rem; margin-top: .9rem; padding: 1rem; border: 1px solid #ead493; border-radius: .8rem; background: #fff9e7; }
.exchange-guardrail > span { display: grid; width: 2.6rem; height: 2.6rem; place-items: center; border-radius: 50%; color: #6d5108; background: #f3d66f; font-family: Georgia, serif; font-weight: 900; }
.exchange-guardrail strong { display: block; margin-bottom: .25rem; color: #4c3b0c; }
.exchange-guardrail p { margin: 0; color: #6b6044; font-size: .76rem; line-height: 1.55; }
.operations-strip { display: grid; grid-template-columns: minmax(14rem,.65fr) minmax(0,1.35fr); gap: 1rem; align-items: center; margin-top: .9rem; padding: 1rem; border: 1px solid var(--exchange-line); border-radius: .8rem; background: #f6f9f7; }
.operations-strip h3 { margin: 0 0 .2rem; color: var(--exchange-green-950); font-family: Georgia, serif; font-size: 1.2rem; }
.operations-strip p:last-child { margin: 0; color: var(--exchange-muted); font-size: .7rem; }
.operations-strip ul { display: flex; flex-wrap: wrap; gap: .4rem; margin: 0; padding: 0; list-style: none; }
.operations-strip li { padding: .38rem .5rem; border: 1px solid #d5e1d8; border-radius: .45rem; color: #3f5d4d; background: white; font-size: .62rem; font-weight: 800; }
.ecosystem-heading { display: flex; justify-content: space-between; gap: 1rem; align-items: end; margin-top: 1.4rem; }
.ecosystem-heading h3 { margin-bottom: .5rem; color: var(--exchange-green-950); font-family: Georgia, serif; font-size: 1.45rem; }
.ecosystem-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: .65rem; }
.ecosystem-grid article { position: relative; padding: .9rem; border: 1px solid var(--exchange-line); border-radius: .7rem; background: white; }
.ecosystem-grid article:not(:last-child)::after { content: "→"; position: absolute; z-index: 2; top: 50%; right: -.55rem; display: grid; width: 1.05rem; height: 1.05rem; place-items: center; border-radius: 50%; color: var(--exchange-green-900); background: #f4d568; font-size: .66rem; font-weight: 900; }
.ecosystem-grid article.active { color: white; background: var(--exchange-green-950); border-color: var(--exchange-green-950); }
.ecosystem-grid span { color: #8a6708; font-size: .58rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.ecosystem-grid article.active span { color: #f1ca50; }
.ecosystem-grid h3 { margin: .35rem 0; font-size: .82rem; }
.ecosystem-grid p { margin: 0; color: var(--exchange-muted); font-size: .66rem; line-height: 1.45; }
.ecosystem-grid article.active p { color: rgba(255,255,255,.75); }
.vertical-note { margin: .65rem 0 0; color: var(--exchange-muted); font-size: .68rem; line-height: 1.5; }

.exchange-outcomes { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap: 2rem; align-items: center; margin-block: 3rem; padding: 2rem; border-radius: 1.4rem; color: white; background: linear-gradient(120deg, rgba(36,92,73,.94), rgba(74,138,114,.88)), url('/assets/harare-skyline-day-1440.webp') center / cover no-repeat; box-shadow: 0 1.3rem 3rem rgba(36,92,73,.15); }
.exchange-outcomes .exchange-eyebrow { color: #f1ca50; }
.exchange-outcomes h2 { max-width: 27ch; color: white; }
.outcome-list { display: grid; grid-template-columns: repeat(2,1fr); gap: .7rem; }
.outcome-list span { padding: .8rem 1rem; border: 1px solid rgba(255,255,255,.22); border-radius: .65rem; background: rgba(255,255,255,.08); font-size: .78rem; font-weight: 800; }
.outcome-list span:nth-last-child(-n+2) { grid-column: auto; }
.exchange-closing { display: grid; grid-template-columns: 1fr auto; gap: 2rem; align-items: center; margin-block: 3rem 4rem; padding: clamp(1.4rem,3vw,2.3rem); border: 1px solid var(--exchange-line); border-radius: 1.4rem; background: rgba(255,255,252,.93); }
.exchange-closing h2 { max-width: 32ch; }
.exchange-closing p { max-width: 47rem; margin: .75rem 0 0; color: var(--exchange-muted); line-height: 1.6; }

.exchange-dialog { width: min(46rem, calc(100% - 2rem)); max-height: min(88vh, 52rem); padding: 0; border: 0; border-radius: 1.1rem; color: var(--exchange-ink); background: white; box-shadow: 0 2rem 6rem rgba(5,40,25,.3); }
.exchange-dialog::backdrop { background: rgba(3,31,19,.68); backdrop-filter: blur(3px); }
.exchange-dialog-close { position: sticky; z-index: 2; top: .8rem; float: right; width: 2.5rem; height: 2.5rem; margin: .8rem .8rem -3.3rem 0; padding: 0; border: 1px solid #ccd9d0; border-radius: 50%; color: var(--exchange-green-950); background: white; font-size: 1.5rem; cursor: pointer; }
.exchange-dialog-content, [data-dialog-content] { padding: 1.7rem; }
.dialog-kicker { margin-bottom: .45rem; color: #7a5a07; font-size: .7rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
[data-dialog-content] h2 { margin: 0 3rem .45rem 0; color: var(--exchange-green-950); font-family: Georgia, serif; font-size: 1.55rem; line-height: 1.08; }
.dialog-lede { margin-bottom: 1.2rem; color: var(--exchange-muted); line-height: 1.6; }
.passport-status { display: flex; flex-wrap: wrap; gap: .45rem; margin-bottom: 1rem; }
.passport-status span { padding: .4rem .55rem; border-radius: .45rem; color: #24583b; background: #e5f2e9; font-size: .68rem; font-weight: 900; }
.passport-status span.pending { color: #725606; background: #fbefc9; }
.passport-grid, .quote-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: .7rem; }
.passport-grid div, .quote-card { padding: .8rem; border: 1px solid var(--exchange-line); border-radius: .65rem; background: #f8faf8; }
.passport-grid dt { margin-bottom: .2rem; color: var(--exchange-muted); font-size: .62rem; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
.passport-grid dd { margin: 0; font-size: .8rem; font-weight: 700; }
.passport-documents { margin-top: 1rem; }
.passport-documents > div { display: grid; grid-template-columns: repeat(2,1fr); gap: .45rem; }
.passport-documents span { display: grid; grid-template-columns: 1.25rem 1fr auto; gap: .4rem; align-items: center; padding: .55rem; border: 1px solid var(--exchange-line); border-radius: .55rem; color: #3f5549; background: #f8faf8; font-size: .68rem; font-weight: 800; }
.passport-documents i { display: grid; width: 1.15rem; height: 1.15rem; place-items: center; border-radius: 50%; color: var(--exchange-green-900); background: #e1f1e6; font-size: .56rem; font-style: normal; }
.passport-documents small { color: var(--exchange-muted); font-size: .56rem; }
.dialog-note { margin: 1rem 0 0; padding: .75rem; border-left: 3px solid var(--exchange-gold); color: #655b40; background: #fff9e9; font-size: .72rem; line-height: 1.55; }
.quote-card strong, .quote-card span, .quote-card small { display: block; }
.quote-card strong { color: var(--exchange-green-950); font-size: .85rem; }
.quote-card span { margin: .4rem 0; color: var(--exchange-green-900); font-family: Georgia, serif; font-size: 1.35rem; }
.quote-card small { color: var(--exchange-muted); font-size: .68rem; line-height: 1.45; }
.quote-card--recommended { border-color: #7fb28f; background: #eef7f1; }
.exchange-form { display: grid; gap: .8rem; }
.exchange-form-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: .7rem; }
.exchange-form label { display: grid; gap: .3rem; color: #45594e; font-size: .7rem; font-weight: 900; }
.exchange-form label.wide { grid-column: 1 / -1; }
.exchange-form :is(input,select,textarea) { width: 100%; padding: .72rem; border: 1px solid #c7d6cc; border-radius: .55rem; color: var(--exchange-ink); background: white; font: inherit; font-size: .82rem; }
.exchange-form textarea { min-height: 6.2rem; resize: vertical; }
.exchange-form-status { min-height: 1.25rem; margin: 0; color: var(--exchange-green-900); font-size: .74rem; font-weight: 800; }

@media (max-width: 1050px) {
  .exchange-hero-grid { grid-template-columns: 1fr 1fr; gap: 2rem; }
  .exchange-hero h1 { font-size: clamp(2rem, 4.4vw, 3.1rem); }
  .supplier-grid { grid-template-columns: repeat(2,1fr); }
  .trust-legend-grid { grid-template-columns: repeat(2,1fr); }
  .exchange-section-heading { grid-template-columns: 1fr; gap: .75rem; }
  .deal-room-grid { grid-template-columns: 1fr; }
  .ecosystem-grid { grid-template-columns: repeat(2,1fr); }
  .ecosystem-grid article:nth-child(2)::after { display: none; }
  .operations-strip { grid-template-columns: 1fr; }
}
@media (max-width: 780px) {
  .exchange-concept-page::before { background-image: linear-gradient(90deg, rgba(250,252,249,.94), rgba(241,248,243,.84)), url('/assets/zgtn-development-background-960.webp'); }
  .exchange-hero { padding: 2rem .75rem 2.4rem; }
  .exchange-hero-grid { width: min(100%, 42rem); grid-template-columns: 1fr; }
  .exchange-hero-copy { max-width: none; }
  .exchange-hero h1 { max-width: 18ch; font-size: clamp(1.9rem, 7.5vw, 2.35rem); line-height: 1.04; }
  .exchange-snapshot-photo { min-height: 13rem; }
  .exchange-trust-strip { width: calc(100% - 1.5rem); grid-template-columns: 1fr; margin-top: 1rem; }
  .exchange-trust-strip p { padding: .8rem 0 0; border-top: 1px solid #dce5df; border-left: 0; }
  .exchange-workspace, .exchange-outcomes, .exchange-closing { width: calc(100% - 1.5rem); }
  .exchange-workspace { margin-block: 2rem; }
  .exchange-tabs { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; }
  .exchange-tabs button { min-width: 10rem; flex: 1; scroll-snap-align: start; }
  .exchange-toolbar { grid-template-columns: repeat(2,1fr); }
  .exchange-search { grid-column: 1 / -1; }
  .supplier-grid, .roadmap-grid { grid-template-columns: 1fr; }
  .rfq-grid, .workflow-layout, .exchange-outcomes, .exchange-closing, .role-permission-grid { grid-template-columns: 1fr; }
  .pilot-targets { grid-template-columns: repeat(2,1fr); }
  .transaction-progress { grid-template-columns: repeat(4,1fr); gap: .75rem 0; }
  .transaction-progress li:nth-child(5)::before { display: none; }
  .exchange-closing-actions { align-items: stretch; }
  .exchange-closing-actions .exchange-button { width: 100%; }
}
@media (max-width: 520px) {
  .exchange-hero-actions { align-items: stretch; }
  .exchange-hero-actions .exchange-button { width: 100%; }
  .exchange-value-list { display: grid; }
  .exchange-snapshot-metrics div { padding-inline: .55rem; }
  .exchange-snapshot-metrics strong { font-size: 1.4rem; }
  .exchange-workspace { padding: .85rem; border-radius: 1rem; }
  .exchange-section-heading h2, .exchange-outcomes h2, .exchange-closing h2 { font-size: 1.45rem; }
  .exchange-toolbar { grid-template-columns: 1fr; }
  .exchange-search { grid-column: auto; }
  .exchange-result-line span { display: none; }
  .supplier-card { min-height: 0; }
  .trust-legend-grid, .ecosystem-grid, .passport-documents > div { grid-template-columns: 1fr; }
  .ecosystem-grid article::after { display: none !important; }
  .supplier-card-header { grid-template-columns: 2.7rem 1fr; }
  .example-pill { grid-column: 2; justify-self: start; }
  .rfq-intro { align-items: stretch; flex-direction: column; }
  .deal-room-header { align-items: flex-start; flex-direction: column; }
  .transaction-progress { padding-inline: .3rem; }
  .transaction-progress small { font-size: .52rem; }
  .deal-message--supplier { margin-left: .8rem; }
  .rfq-card { grid-template-columns: 1fr; }
  .rfq-side { min-width: 0; flex-direction: row; align-items: center; padding: .75rem 0 0; border-top: 1px solid #e0e8e2; border-left: 0; }
  .workflow-steps article { grid-template-columns: 2.3rem 1fr; }
  .exchange-outcomes { padding: 1.3rem; }
  .outcome-list { grid-template-columns: 1fr; }
  .outcome-list span:last-child { grid-column: auto; }
  .exchange-form-grid, .passport-grid, .quote-grid { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .exchange-button, .supplier-card { transition: none; }
}
