<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="110 75 980 514" width="1200" height="630" font-family="Helvetica, Arial, sans-serif">
  <defs>
    <!-- Background Gradient -->
    <linearGradient id="bgGrad" x1="0%" y1="0%" x2="100%" y2="100%">
      <stop offset="0%" style="stop-color:#0F172A"/>
      <stop offset="50%" style="stop-color:#1E293B"/>
      <stop offset="100%" style="stop-color:#0B1120"/>
    </linearGradient>
    
    <!-- Accent Gradient -->
    <linearGradient id="accentGrad" x1="0%" y1="0%" x2="100%" y2="0%">
      <stop offset="0%" style="stop-color:#38BDF8"/>
      <stop offset="100%" style="stop-color:#818CF8"/>
    </linearGradient>

    <!-- MCP Gateway Gradient -->
    <linearGradient id="mcpGrad" x1="0%" y1="0%" x2="0%" y2="100%">
      <stop offset="0%" style="stop-color:#3B82F6"/>
      <stop offset="100%" style="stop-color:#1D4ED8"/>
    </linearGradient>

    <!-- Task Gradient -->
    <linearGradient id="taskGrad" x1="0%" y1="0%" x2="0%" y2="100%">
      <stop offset="0%" style="stop-color:#F59E0B"/>
      <stop offset="100%" style="stop-color:#B45309"/>
    </linearGradient>

    <filter id="glow" x="-20%" y="-20%" width="140%" height="140%">
      <feGaussianBlur stdDeviation="15" result="blur" />
      <feComposite in="SourceGraphic" in2="blur" operator="over" />
    </filter>

    <filter id="shadow" x="-10%" y="-10%" width="120%" height="120%">
      <feDropShadow dx="3" dy="5" stdDeviation="4" flood-color="#000" flood-opacity="0.5"/>
    </filter>
  </defs>

  <!-- Background -->
  <rect width="1200" height="630" fill="url(#bgGrad)"/>
  
  <!-- Subtle background mesh/grid for technical feel -->
  <g stroke="#334155" stroke-width="1" opacity="0.3">
    <!-- Horizontal lines -->
    <line x1="0" y1="105" x2="1200" y2="105"/>
    <line x1="0" y1="210" x2="1200" y2="210"/>
    <line x1="0" y1="315" x2="1200" y2="315"/>
    <line x1="0" y1="420" x2="1200" y2="420"/>
    <line x1="0" y1="525" x2="1200" y2="525"/>
    <!-- Vertical lines -->
    <line x1="200" y1="0" x2="200" y2="630"/>
    <line x1="400" y1="0" x2="400" y2="630"/>
    <line x1="600" y1="0" x2="600" y2="630"/>
    <line x1="800" y1="0" x2="800" y2="630"/>
    <line x1="1000" y1="0" x2="1000" y2="630"/>
  </g>

  <!-- ================= SAFE AREA (120px L/R, 70px T/B) ================= -->
  <!-- Everything critical stays inside x:120-1080 and y:70-560 -->
  <g transform="translate(120, 95)">
    
    <!-- Title Area -->
    <text x="480" y="55" text-anchor="middle" font-size="52" font-weight="900" fill="#F8FAFC" letter-spacing="-1">Aspect-Oriented</text>
    <text x="480" y="112" text-anchor="middle" font-size="52" font-weight="900" fill="#F8FAFC" letter-spacing="-1">Process Management</text>
    <rect x="0" y="125" width="960" height="4" fill="url(#accentGrad)" rx="2"/>

    <text x="480" y="159" text-anchor="middle" font-size="26" font-weight="500" fill="#94A3B8" letter-spacing="1">BEYOND THE SERIAL CONTROLLER TO MCP-ENABLED SWARMS</text>

    <!-- Abstract Graphic Representation of AOPM -->
    <!-- Central MCP Gateway -->
    <g transform="translate(480, 305)" filter="url(#glow)">
      <!-- Pulsing rings -->
      <circle cx="0" cy="0" r="140" fill="none" stroke="#38BDF8" stroke-width="2" stroke-dasharray="10 10" opacity="0.3"/>
      <circle cx="0" cy="0" r="175" fill="none" stroke="#818CF8" stroke-width="1" stroke-dasharray="5 15" opacity="0.2"/>
      
      <circle cx="0" cy="0" r="90" fill="url(#mcpGrad)" filter="url(#shadow)"/>
      <text x="0" y="-15" text-anchor="middle" font-size="32" font-weight="bold" fill="#FFFFFF">MCP</text>
      <text x="0" y="15" text-anchor="middle" font-size="24" font-weight="bold" fill="#DBEAFE">Gateway</text>
      <text x="0" y="45" text-anchor="middle" font-size="18" font-weight="normal" fill="#93C5FD">Weaver</text>
    </g>

    <!-- Aspects Flowing In (Left side) -->
    <g transform="translate(150, 305)">
      <path d="M 0 -100 Q 150 -100 270 -30" fill="none" stroke="#38BDF8" stroke-width="3" stroke-dasharray="6 4" opacity="0.7"/>
      <path d="M 0 0 Q 150 0 270 0" fill="none" stroke="#38BDF8" stroke-width="3" stroke-dasharray="6 4" opacity="0.7"/>
      <path d="M 0 100 Q 150 100 270 30" fill="none" stroke="#38BDF8" stroke-width="3" stroke-dasharray="6 4" opacity="0.7"/>
      
      <!-- Aspect Pills -->
      <rect x="-100" y="-120" width="200" height="40" rx="20" fill="#1E293B" stroke="#38BDF8" stroke-width="3"/>
      <text x="0" y="-93" text-anchor="middle" font-size="20" font-weight="bold" fill="#E2E8F0">Semantic Lineage</text>

      <rect x="-100" y="-20" width="200" height="40" rx="20" fill="#1E293B" stroke="#38BDF8" stroke-width="3"/>
      <text x="0" y="7" text-anchor="middle" font-size="20" font-weight="bold" fill="#E2E8F0">Strategic Policy</text>

      <rect x="-100" y="80" width="200" height="40" rx="20" fill="#1E293B" stroke="#38BDF8" stroke-width="3"/>
      <text x="0" y="107" text-anchor="middle" font-size="20" font-weight="bold" fill="#E2E8F0">Goal Taxonomy</text>
    </g>

    <!-- Swarming Tasks (Right side) -->
    <!-- 3 tasks, each 60px tall, with 30px even gaps: positions -105, -15, 75 -->
    <!-- Centers at: -75, 15, 105 -->
    <g transform="translate(810, 305)">
      <!-- Broadcast lines: solid to tasks 1, 2, 3 -->
      <path d="M -270 -30 Q -150 -75 0 -75" fill="none" stroke="#F59E0B" stroke-width="4" opacity="0.8"/>
      <path d="M -270 0 Q -150 15 0 15" fill="none" stroke="#F59E0B" stroke-width="4" opacity="0.8"/>
      <path d="M -270 30 Q -150 105 0 105" fill="none" stroke="#F59E0B" stroke-width="4" opacity="0.8"/>

      <!-- Task 1: y=-105, center=-75 -->
      <rect x="-100" y="-105" width="200" height="60" rx="10" fill="url(#taskGrad)" filter="url(#shadow)"/>
      <text x="0" y="-68" text-anchor="middle" font-size="24" font-weight="bold" fill="#FFFFFF">Agent Task</text>

      <!-- Task 2: y=-15, center=15 -->
      <rect x="-100" y="-15" width="200" height="60" rx="10" fill="url(#taskGrad)" filter="url(#shadow)"/>
      <text x="0" y="22" text-anchor="middle" font-size="24" font-weight="bold" fill="#FFFFFF">Agent Task</text>

      <!-- Task 3: y=75, center=105 -->
      <rect x="-100" y="75" width="200" height="60" rx="10" fill="url(#taskGrad)" filter="url(#shadow)"/>
      <text x="0" y="112" text-anchor="middle" font-size="24" font-weight="bold" fill="#FFFFFF">Agent Task</text>

    </g>

    <!-- Bottom summary line -->
    <text x="480" y="485" text-anchor="middle" font-size="28" font-weight="bold" fill="#CBD5E1">
      "Policy travels with the aspect, not with the diagram."
    </text>

  </g>
  <!-- ================= END SAFE AREA ================= -->

</svg>
