<svg viewBox="0 0 1312 600" xmlns="http://www.w3.org/2000/svg" role="img" aria-labelledby="diagram-title diagram-desc">
  <title id="diagram-title">Opportunity status lifecycle</title>
  <desc id="diagram-desc">Opportunities move left to right through eight statuses: New, Investigating, Reviewed, Planned, In progress, For review, Shipped, and Measured. At any point an opportunity can transition to a Dismissed state when it is out of scope, weak, duplicate, or no longer relevant. A feedback loop returns outcomes and learnings to improve future discovery.</desc>

  <defs>
    <marker id="arrow" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="8" markerHeight="8" orient="auto-start-reverse">
      <path d="M0,0 L10,5 L0,10 Z" fill="#13294b" />
    </marker>
    <marker id="arrow-muted" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse">
      <path d="M0,0 L10,5 L0,10 Z" fill="#6f7480" />
    </marker>
    <marker id="arrow-success" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="8" markerHeight="8" orient="auto-start-reverse">
      <path d="M0,0 L10,5 L0,10 Z" fill="#0a7640" />
    </marker>
  </defs>

  <!-- ============ Title ============ -->
  <text x="656" y="34" text-anchor="middle"
        font-family="Gellix, 'IBM Plex Sans', system-ui, -apple-system, Segoe UI, sans-serif"
        font-size="18" font-weight="600" fill="#13294b">Opportunity status lifecycle</text>

  <!-- ============ Status row ============
       8 nodes, width 140, gap 16, pitch 156. x-tops: 40,196,352,508,664,820,976,1132.
       Node top y=80, height 78, center y=119. Body text left-padded 16px (interior padding),
       so the longest line ("approved and queued") clears the right border by ~18px. -->

  <!-- 1. New (x=40, cx=110) -->
  <g>
    <rect x="40" y="80" width="140" height="78" rx="8" ry="8" fill="#ffffff" stroke="#dedfe2" stroke-width="1" />
    <circle cx="62" cy="100" r="9" fill="#1e61f0" />
    <text x="62" y="104" text-anchor="middle" font-family="Gellix, 'IBM Plex Sans', system-ui, sans-serif" font-size="11" font-weight="600" fill="#ffffff">1</text>
    <text x="78" y="104" font-family="Gellix, 'IBM Plex Sans', system-ui, sans-serif" font-size="13" font-weight="600" fill="#13294b">New</text>
    <text x="56" y="128" font-family="'IBM Plex Sans', system-ui, sans-serif" font-size="11" font-weight="400" fill="#6f7480">Discovered and</text>
    <text x="56" y="143" font-family="'IBM Plex Sans', system-ui, sans-serif" font-size="11" font-weight="400" fill="#6f7480">ready to review</text>
  </g>

  <!-- 2. Investigating (x=196, cx=266) -->
  <g>
    <rect x="196" y="80" width="140" height="78" rx="8" ry="8" fill="#ffffff" stroke="#dedfe2" stroke-width="1" />
    <circle cx="218" cy="100" r="9" fill="#1e61f0" />
    <text x="218" y="104" text-anchor="middle" font-family="Gellix, 'IBM Plex Sans', system-ui, sans-serif" font-size="11" font-weight="600" fill="#ffffff">2</text>
    <text x="234" y="104" font-family="Gellix, 'IBM Plex Sans', system-ui, sans-serif" font-size="13" font-weight="600" fill="#13294b">Investigating</text>
    <text x="212" y="128" font-family="'IBM Plex Sans', system-ui, sans-serif" font-size="11" font-weight="400" fill="#6f7480">Evidence or plan</text>
    <text x="212" y="143" font-family="'IBM Plex Sans', system-ui, sans-serif" font-size="11" font-weight="400" fill="#6f7480">is being refined</text>
  </g>

  <!-- 3. Reviewed (x=352, cx=422) -->
  <g>
    <rect x="352" y="80" width="140" height="78" rx="8" ry="8" fill="#ffffff" stroke="#dedfe2" stroke-width="1" />
    <circle cx="374" cy="100" r="9" fill="#1e61f0" />
    <text x="374" y="104" text-anchor="middle" font-family="Gellix, 'IBM Plex Sans', system-ui, sans-serif" font-size="11" font-weight="600" fill="#ffffff">3</text>
    <text x="390" y="104" font-family="Gellix, 'IBM Plex Sans', system-ui, sans-serif" font-size="13" font-weight="600" fill="#13294b">Reviewed</text>
    <text x="368" y="128" font-family="'IBM Plex Sans', system-ui, sans-serif" font-size="11" font-weight="400" fill="#6f7480">Problem is real</text>
    <text x="368" y="143" font-family="'IBM Plex Sans', system-ui, sans-serif" font-size="11" font-weight="400" fill="#6f7480">and a priority</text>
  </g>

  <!-- 4. Planned (x=508, cx=578) -->
  <g>
    <rect x="508" y="80" width="140" height="78" rx="8" ry="8" fill="#ffffff" stroke="#dedfe2" stroke-width="1" />
    <circle cx="530" cy="100" r="9" fill="#1e61f0" />
    <text x="530" y="104" text-anchor="middle" font-family="Gellix, 'IBM Plex Sans', system-ui, sans-serif" font-size="11" font-weight="600" fill="#ffffff">4</text>
    <text x="546" y="104" font-family="Gellix, 'IBM Plex Sans', system-ui, sans-serif" font-size="13" font-weight="600" fill="#13294b">Planned</text>
    <text x="524" y="128" font-family="'IBM Plex Sans', system-ui, sans-serif" font-size="11" font-weight="400" fill="#6f7480">Solution has been</text>
    <text x="524" y="143" font-family="'IBM Plex Sans', system-ui, sans-serif" font-size="11" font-weight="400" fill="#6f7480">approved and queued</text>
  </g>

  <!-- 5. In progress (x=664, cx=734) -->
  <g>
    <rect x="664" y="80" width="140" height="78" rx="8" ry="8" fill="#ffffff" stroke="#dedfe2" stroke-width="1" />
    <circle cx="686" cy="100" r="9" fill="#1e61f0" />
    <text x="686" y="104" text-anchor="middle" font-family="Gellix, 'IBM Plex Sans', system-ui, sans-serif" font-size="11" font-weight="600" fill="#ffffff">5</text>
    <text x="702" y="104" font-family="Gellix, 'IBM Plex Sans', system-ui, sans-serif" font-size="13" font-weight="600" fill="#13294b">In progress</text>
    <text x="680" y="128" font-family="'IBM Plex Sans', system-ui, sans-serif" font-size="11" font-weight="400" fill="#6f7480">Work has</text>
    <text x="680" y="143" font-family="'IBM Plex Sans', system-ui, sans-serif" font-size="11" font-weight="400" fill="#6f7480">started</text>
  </g>

  <!-- 6. For review (x=820, cx=890) -->
  <g>
    <rect x="820" y="80" width="140" height="78" rx="8" ry="8" fill="#ffffff" stroke="#dedfe2" stroke-width="1" />
    <circle cx="842" cy="100" r="9" fill="#1e61f0" />
    <text x="842" y="104" text-anchor="middle" font-family="Gellix, 'IBM Plex Sans', system-ui, sans-serif" font-size="11" font-weight="600" fill="#ffffff">6</text>
    <text x="858" y="104" font-family="Gellix, 'IBM Plex Sans', system-ui, sans-serif" font-size="13" font-weight="600" fill="#13294b">For review</text>
    <text x="836" y="128" font-family="'IBM Plex Sans', system-ui, sans-serif" font-size="11" font-weight="400" fill="#6f7480">PR, plan, or</text>
    <text x="836" y="143" font-family="'IBM Plex Sans', system-ui, sans-serif" font-size="11" font-weight="400" fill="#6f7480">change is ready</text>
  </g>

  <!-- 7. Shipped (x=976, cx=1046) -->
  <g>
    <rect x="976" y="80" width="140" height="78" rx="8" ry="8" fill="#ffffff" stroke="#dedfe2" stroke-width="1" />
    <circle cx="998" cy="100" r="9" fill="#1e61f0" />
    <text x="998" y="104" text-anchor="middle" font-family="Gellix, 'IBM Plex Sans', system-ui, sans-serif" font-size="11" font-weight="600" fill="#ffffff">7</text>
    <text x="1014" y="104" font-family="Gellix, 'IBM Plex Sans', system-ui, sans-serif" font-size="13" font-weight="600" fill="#13294b">Shipped</text>
    <text x="992" y="128" font-family="'IBM Plex Sans', system-ui, sans-serif" font-size="11" font-weight="400" fill="#6f7480">Change has</text>
    <text x="992" y="143" font-family="'IBM Plex Sans', system-ui, sans-serif" font-size="11" font-weight="400" fill="#6f7480">landed</text>
  </g>

  <!-- 8. Measured (x=1132, cx=1202) -->
  <g>
    <rect x="1132" y="80" width="140" height="78" rx="8" ry="8" fill="#ffffff" stroke="#dedfe2" stroke-width="1" />
    <circle cx="1154" cy="100" r="9" fill="#1e61f0" />
    <text x="1154" y="104" text-anchor="middle" font-family="Gellix, 'IBM Plex Sans', system-ui, sans-serif" font-size="11" font-weight="600" fill="#ffffff">8</text>
    <text x="1170" y="104" font-family="Gellix, 'IBM Plex Sans', system-ui, sans-serif" font-size="13" font-weight="600" fill="#13294b">Measured</text>
    <text x="1148" y="128" font-family="'IBM Plex Sans', system-ui, sans-serif" font-size="11" font-weight="400" fill="#6f7480">Impact is tied</text>
    <text x="1148" y="143" font-family="'IBM Plex Sans', system-ui, sans-serif" font-size="11" font-weight="400" fill="#6f7480">back to metrics</text>
  </g>

  <!-- ============ Forward arrows (solid ink), horizontal at y=119 ============ -->
  <line x1="180" y1="119" x2="196" y2="119" stroke="#13294b" stroke-width="1.5" marker-end="url(#arrow)" />
  <line x1="336" y1="119" x2="352" y2="119" stroke="#13294b" stroke-width="1.5" marker-end="url(#arrow)" />
  <line x1="492" y1="119" x2="508" y2="119" stroke="#13294b" stroke-width="1.5" marker-end="url(#arrow)" />
  <line x1="648" y1="119" x2="664" y2="119" stroke="#13294b" stroke-width="1.5" marker-end="url(#arrow)" />
  <line x1="804" y1="119" x2="820" y2="119" stroke="#13294b" stroke-width="1.5" marker-end="url(#arrow)" />
  <line x1="960" y1="119" x2="976" y2="119" stroke="#13294b" stroke-width="1.5" marker-end="url(#arrow)" />
  <line x1="1116" y1="119" x2="1132" y2="119" stroke="#13294b" stroke-width="1.5" marker-end="url(#arrow)" />

  <!-- ============ Dashed "can be dismissed" connectors (merged manifold) ============
       Drops from Investigating(266), Reviewed(422), Planned(578), In progress(734), For review(890)
       merge into one collector bus (y=276); one trunk carries the only arrowhead into Dismissed (578,300). -->
  <g stroke="#6f7480" stroke-width="1" stroke-dasharray="4 4" opacity="0.85" fill="none">
    <line x1="266" y1="158" x2="266" y2="276" />
    <line x1="422" y1="158" x2="422" y2="276" />
    <line x1="578" y1="158" x2="578" y2="276" />
    <line x1="734" y1="158" x2="734" y2="276" />
    <line x1="890" y1="158" x2="890" y2="276" />
    <line x1="266" y1="276" x2="890" y2="276" />
    <line x1="578" y1="276" x2="578" y2="300" marker-end="url(#arrow-muted)" />
  </g>

  <!-- ============ Dismissed node (off-path branch, centered at 578) ============ -->
  <g>
    <rect x="394" y="300" width="368" height="64" rx="8" ry="8" fill="#F8F9FB" stroke="#dedfe2" stroke-width="1" />
    <text x="578" y="326" text-anchor="middle" font-family="Gellix, 'IBM Plex Sans', system-ui, sans-serif" font-size="14" font-weight="600" fill="#13294b">Dismissed</text>
    <text x="578" y="347" text-anchor="middle" font-family="'IBM Plex Sans', system-ui, sans-serif" font-size="11" font-weight="400" fill="#6f7480">Out of scope, weak, duplicate, or no longer relevant.</text>
  </g>

  <!-- ============ Feedback loop (success green) ============
       From Measured (1202) down to y=420, across to New (110), up into New. -->
  <path d="M1202,158 V420 H110 V158" fill="none" stroke="#0a7640" stroke-width="1.5" marker-end="url(#arrow-success)" />
  <rect x="491" y="411" width="330" height="18" fill="#ffffff" />
  <text x="656" y="424" text-anchor="middle" font-family="'IBM Plex Sans', system-ui, sans-serif" font-size="11" font-weight="500" fill="#0a7640">Outcomes and feedback improve future discovery</text>

  <!-- ============ "How it works" note (info, soft muted box) ============ -->
  <g>
    <rect x="40" y="466" width="720" height="110" rx="8" ry="8" fill="#F8F9FB" stroke="#dedfe2" stroke-width="1" stroke-dasharray="4 4" />
    <circle cx="66" cy="492" r="9" fill="none" stroke="#1e61f0" stroke-width="1.4" />
    <text x="66" y="496" text-anchor="middle" font-family="Gellix, 'IBM Plex Sans', system-ui, sans-serif" font-size="12" font-weight="700" fill="#1e61f0">i</text>
    <text x="84" y="491" font-family="'IBM Plex Sans', system-ui, sans-serif" font-size="10" font-weight="600" fill="#6f7480" letter-spacing="1.2">HOW IT WORKS</text>
    <text x="60" y="518" font-family="'IBM Plex Sans', system-ui, sans-serif" font-size="12" font-weight="400" fill="#1e2024">Opportunities move forward through the lifecycle as they are validated and progressed.</text>
    <text x="60" y="538" font-family="'IBM Plex Sans', system-ui, sans-serif" font-size="12" font-weight="400" fill="#1e2024">They can be Dismissed at any point when they are out of scope, weak, duplicate,</text>
    <text x="60" y="558" font-family="'IBM Plex Sans', system-ui, sans-serif" font-size="12" font-weight="400" fill="#1e2024">or no longer relevant.</text>
  </g>

  <!-- ============ Legend (bottom-right, ends at content right edge 1272) ============ -->
  <g>
    <rect x="832" y="466" width="440" height="110" rx="8" ry="8" fill="#ffffff" stroke="#dedfe2" stroke-width="1" />
    <text x="854" y="491" font-family="'IBM Plex Sans', system-ui, sans-serif" font-size="10" font-weight="600" fill="#6f7480" letter-spacing="1.2">LEGEND</text>

    <line x1="854" y1="512" x2="892" y2="512" stroke="#13294b" stroke-width="1.5" marker-end="url(#arrow)" />
    <text x="904" y="516" font-family="'IBM Plex Sans', system-ui, sans-serif" font-size="11" font-weight="400" fill="#1e2024">Forward progress</text>

    <line x1="854" y1="534" x2="892" y2="534" stroke="#6f7480" stroke-width="1" stroke-dasharray="4 4" marker-end="url(#arrow-muted)" />
    <text x="904" y="538" font-family="'IBM Plex Sans', system-ui, sans-serif" font-size="11" font-weight="400" fill="#1e2024">Can transition to Dismissed</text>

    <line x1="854" y1="556" x2="892" y2="556" stroke="#0a7640" stroke-width="1.5" marker-end="url(#arrow-success)" />
    <text x="904" y="560" font-family="'IBM Plex Sans', system-ui, sans-serif" font-size="11" font-weight="400" fill="#1e2024">Feedback loop</text>
  </g>
</svg>
