// Monoline geometric icons — current-color, 22px viewbox, used in service cards & nav.
const Icon = {
  Agent: (p) => (
    <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.4" strokeLinecap="round" strokeLinejoin="round" {...p}>
      <rect x="4" y="7" width="16" height="11" rx="2.5" />
      <circle cx="9" cy="12.5" r="1" />
      <circle cx="15" cy="12.5" r="1" />
      <path d="M12 4v3" />
      <path d="M12 4l-1 -1M12 4l1 -1" />
      <path d="M4 12H2.5M21.5 12H20" />
    </svg>
  ),
  LLM: (p) => (
    <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.4" strokeLinecap="round" strokeLinejoin="round" {...p}>
      <path d="M4 6.5C4 5.7 4.7 5 5.5 5h13c.8 0 1.5.7 1.5 1.5v9c0 .8 -.7 1.5 -1.5 1.5H13l-3.5 3v-3H5.5C4.7 17 4 16.3 4 15.5v-9z" />
      <path d="M8 10h8" />
      <path d="M8 13h5" />
    </svg>
  ),
  Product: (p) => (
    <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.4" strokeLinecap="round" strokeLinejoin="round" {...p}>
      <path d="M12 3.5 4 7.5l8 4 8 -4 -8 -4z" />
      <path d="M4 12l8 4 8 -4" />
      <path d="M4 16.5l8 4 8 -4" />
    </svg>
  ),
  Data: (p) => (
    <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.4" strokeLinecap="round" strokeLinejoin="round" {...p}>
      <ellipse cx="12" cy="6" rx="7" ry="2.5" />
      <path d="M5 6v6c0 1.4 3.1 2.5 7 2.5s7 -1.1 7 -2.5V6" />
      <path d="M5 12v6c0 1.4 3.1 2.5 7 2.5s7 -1.1 7 -2.5V12" />
    </svg>
  ),
  Automation: (p) => (
    <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.4" strokeLinecap="round" strokeLinejoin="round" {...p}>
      <circle cx="6" cy="6" r="2" />
      <circle cx="18" cy="6" r="2" />
      <circle cx="12" cy="18" r="2" />
      <path d="M8 6h8" />
      <path d="M6 8v3a3 3 0 0 0 3 3h6a3 3 0 0 0 3 -3v-3" />
      <path d="M12 14v2" />
    </svg>
  ),
  Cloud: (p) => (
    <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.4" strokeLinecap="round" strokeLinejoin="round" {...p}>
      <path d="M7 17h10a4 4 0 0 0 .8 -7.9A6 6 0 0 0 6 9.4 4 4 0 0 0 7 17z" />
      <path d="M10 13l2 -2 2 2" />
      <path d="M12 11v4" />
    </svg>
  ),
  ArrowUR: (p) => (
    <svg width="14" height="14" viewBox="0 0 14 14" fill="none" stroke="currentColor" strokeWidth="1.5" strokeLinecap="round" strokeLinejoin="round" {...p}>
      <path d="M4 10l6 -6" />
      <path d="M5 4h5v5" />
    </svg>
  ),
  ArrowR: (p) => (
    <svg width="14" height="14" viewBox="0 0 14 14" fill="none" stroke="currentColor" strokeWidth="1.5" strokeLinecap="round" strokeLinejoin="round" {...p}>
      <path d="M3 7h8" />
      <path d="M7.5 3.5L11 7l-3.5 3.5" />
    </svg>
  ),
  Copy: (p) => (
    <svg width="14" height="14" viewBox="0 0 14 14" fill="none" stroke="currentColor" strokeWidth="1.4" strokeLinecap="round" strokeLinejoin="round" {...p}>
      <rect x="2.5" y="2.5" width="7" height="7" rx="1.2" />
      <path d="M5 11.5h6c.5 0 .9 -.4 .9 -.9V5" />
    </svg>
  ),
  Check: (p) => (
    <svg width="14" height="14" viewBox="0 0 14 14" fill="none" stroke="currentColor" strokeWidth="1.6" strokeLinecap="round" strokeLinejoin="round" {...p}>
      <path d="M3 7.5l2.8 2.8L11 5" />
    </svg>
  ),
  // Process step glyphs
  Glyph1: (p) => (
    <svg width="44" height="20" viewBox="0 0 44 20" fill="none" stroke="currentColor" strokeWidth="1.2" strokeLinecap="round" {...p}>
      <circle cx="10" cy="10" r="6" />
      <path d="M14.2 14.2l4 4" />
      <path d="M28 6h12" /><path d="M28 10h8" /><path d="M28 14h10" />
    </svg>
  ),
  Glyph2: (p) => (
    <svg width="44" height="20" viewBox="0 0 44 20" fill="none" stroke="currentColor" strokeWidth="1.2" strokeLinecap="round" {...p}>
      <rect x="2" y="3" width="14" height="14" rx="1.5" />
      <path d="M6 7h6M6 10h6M6 13h4" />
      <path d="M22 10h6" />
      <path d="M32 6l4 4l-4 4" />
      <path d="M28 10h8" />
    </svg>
  ),
  Glyph3: (p) => (
    <svg width="44" height="20" viewBox="0 0 44 20" fill="none" stroke="currentColor" strokeWidth="1.2" strokeLinecap="round" strokeLinejoin="round" {...p}>
      <path d="M3 14l4 -4 3 3 5 -5 3 3" />
      <path d="M22 6l4 4 -4 4" />
      <path d="M30 6h10M30 10h7M30 14h9" />
    </svg>
  ),
  Glyph4: (p) => (
    <svg width="44" height="20" viewBox="0 0 44 20" fill="none" stroke="currentColor" strokeWidth="1.2" strokeLinecap="round" strokeLinejoin="round" {...p}>
      <path d="M3 17l3 -4l3 2l3 -6l3 4" />
      <circle cx="3" cy="17" r="1" /><circle cx="6" cy="13" r="1" /><circle cx="9" cy="15" r="1" /><circle cx="12" cy="9" r="1" /><circle cx="15" cy="13" r="1" />
      <path d="M22 10h6" />
      <path d="M32 4v12" /><path d="M36 7v9" /><path d="M40 10v6" />
    </svg>
  ),
  Logo: (p) => (
    <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.6" strokeLinecap="round" strokeLinejoin="round" {...p}>
      <path d="M19 7.5A8 8 0 1 0 19 16.5" />
      <circle cx="12" cy="12" r="3" fill="currentColor" stroke="none" />
    </svg>
  ),
};

window.Icon = Icon;
