// Icons.jsx — minimal line icons for services
const Icons = {
  Research: () => (
    <svg width="100%" height="100%" viewBox="0 0 40 40" fill="none" stroke="currentColor" strokeWidth="1.4" strokeLinecap="round" strokeLinejoin="round">
      <circle cx="17" cy="17" r="10" />
      <path d="M25 25 L33 33" />
      <path d="M12 17 H22 M17 12 V22" />
    </svg>
  ),
  Donor: () => (
    <svg width="100%" height="100%" viewBox="0 0 40 40" fill="none" stroke="currentColor" strokeWidth="1.4" strokeLinecap="round" strokeLinejoin="round">
      <circle cx="20" cy="20" r="14" />
      <path d="M6 20 H34 M20 6 C25 12, 25 28, 20 34 C15 28, 15 12, 20 6 Z" />
    </svg>
  ),
  Grant: () => (
    <svg width="100%" height="100%" viewBox="0 0 40 40" fill="none" stroke="currentColor" strokeWidth="1.4" strokeLinecap="round" strokeLinejoin="round">
      <path d="M10 6 H26 L32 12 V34 H10 Z" />
      <path d="M26 6 V12 H32" />
      <path d="M14 18 H28 M14 23 H28 M14 28 H22" />
    </svg>
  ),
  MEL: () => (
    <svg width="100%" height="100%" viewBox="0 0 40 40" fill="none" stroke="currentColor" strokeWidth="1.4" strokeLinecap="round" strokeLinejoin="round">
      <path d="M6 32 V8 M6 32 H34" />
      <path d="M10 26 L16 20 L22 24 L30 12" />
      <circle cx="30" cy="12" r="2" fill="currentColor" />
    </svg>
  ),
  Programme: () => (
    <svg width="100%" height="100%" viewBox="0 0 40 40" fill="none" stroke="currentColor" strokeWidth="1.4" strokeLinecap="round" strokeLinejoin="round">
      <rect x="6" y="6" width="12" height="12" />
      <rect x="22" y="6" width="12" height="12" />
      <rect x="6" y="22" width="12" height="12" />
      <rect x="22" y="22" width="12" height="12" />
      <path d="M18 12 H22 M18 28 H22 M12 18 V22 M28 18 V22" />
    </svg>
  ),
  Impact: () => (
    <svg width="100%" height="100%" viewBox="0 0 40 40" fill="none" stroke="currentColor" strokeWidth="1.4" strokeLinecap="round" strokeLinejoin="round">
      <circle cx="20" cy="20" r="3" fill="currentColor" />
      <circle cx="20" cy="20" r="9" />
      <circle cx="20" cy="20" r="15" />
    </svg>
  ),
  Stakeholder: () => (
    <svg width="100%" height="100%" viewBox="0 0 40 40" fill="none" stroke="currentColor" strokeWidth="1.4" strokeLinecap="round" strokeLinejoin="round">
      <circle cx="12" cy="12" r="4" />
      <circle cx="28" cy="12" r="4" />
      <circle cx="12" cy="28" r="4" />
      <circle cx="28" cy="28" r="4" />
      <path d="M16 12 H24 M12 16 V24 M28 16 V24 M16 28 H24 M16 16 L24 24 M24 16 L16 24" strokeOpacity="0.5" />
    </svg>
  ),
  Arrow: () => (
    <svg width="14" height="14" viewBox="0 0 14 14" fill="none" stroke="currentColor" strokeWidth="1.5" strokeLinecap="round" strokeLinejoin="round">
      <path d="M2 7 H12" />
      <path d="M7 2 L12 7 L7 12" />
    </svg>
  ),
  ArrowSmall: () => (
    <svg width="11" height="11" viewBox="0 0 14 14" fill="none" stroke="currentColor" strokeWidth="1.6" strokeLinecap="round" strokeLinejoin="round">
      <path d="M3 11 L11 3 M5 3 H11 V9" />
    </svg>
  ),
  ArrowDown: () => (
    <svg width="12" height="12" viewBox="0 0 14 14" fill="none" stroke="currentColor" strokeWidth="1.5" strokeLinecap="round" strokeLinejoin="round">
      <path d="M7 2 V12" />
      <path d="M2 7 L7 12 L12 7" />
    </svg>
  ),
  Mail: () => (
    <svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" strokeWidth="1.4" strokeLinecap="round" strokeLinejoin="round">
      <rect x="2" y="3.5" width="12" height="9" />
      <path d="M2 4 L8 9 L14 4" />
    </svg>
  ),
};

// Brand mark — letter "O" with origin/compass cross
const BrandMark = ({ color }) => (
  <svg width="100%" height="100%" viewBox="0 0 28 28" fill="none">
    <circle cx="14" cy="14" r="12" stroke={color || "currentColor"} strokeWidth="1.4" />
    <path d="M14 4 V24 M4 14 H24" stroke={color || "currentColor"} strokeWidth="0.8" opacity="0.5" />
    <circle cx="14" cy="14" r="3" fill={color || "currentColor"} />
  </svg>
);

window.Icons = Icons;
window.BrandMark = BrandMark;
