// Shared logo components for Anthony Intelligence.
// Five directions, all expose ({ size, color, accent, muted }) props.

const AI_INK = '#0B0C0E';
const AI_PAPER = '#F6F5F2';
const AI_ACCENT = '#0E5BA8';
const AI_MUTED = 'rgba(11,12,14,0.55)';

// ───────── 1. Wordmark — clean lowercase grotesk with a centered dot
function LogoWordmark({ size = 32, color = AI_INK, accent = AI_ACCENT, muted }) {
  const m = muted || (color === AI_INK ? AI_MUTED : 'rgba(255,255,255,0.55)');
  return (
    <span style={{
      fontFamily: '"Inter", system-ui, sans-serif',
      color,
      display: 'inline-flex',
      alignItems: 'center',
      gap: size * 0.22,
      lineHeight: 1,
      whiteSpace: 'nowrap',
    }}>
      <span style={{ fontWeight: 600, fontSize: size, letterSpacing: '-0.045em', fontFeatureSettings: '"ss01"' }}>anthony</span>
      <span style={{ display: 'inline-block', width: size * 0.18, height: size * 0.18, borderRadius: '50%', background: accent, marginBottom: size * 0.04 }} />
      <span style={{ fontWeight: 400, fontSize: size * 0.62, letterSpacing: '-0.015em', color: m }}>intelligence</span>
    </span>
  );
}

// ───────── 2. Mark + wordmark — solid "A" triangle with a horizontal signal rule
function LogoTriangle({ size = 32, color = AI_INK, accent = AI_ACCENT, muted }) {
  const m = muted || (color === AI_INK ? AI_MUTED : 'rgba(255,255,255,0.55)');
  const h = size * 1.15;
  return (
    <span style={{ display: 'inline-flex', alignItems: 'center', gap: size * 0.42, color, fontFamily: '"Inter", system-ui, sans-serif', lineHeight: 1, whiteSpace: 'nowrap' }}>
      <svg width={h} height={h} viewBox="0 0 40 40" style={{ display: 'block', flex: '0 0 auto' }}>
        <path d="M20 5 L36 33 L4 33 Z" fill={color} />
        <rect x="4" y="24.5" width="32" height="1.6" fill={accent} />
      </svg>
      <span style={{ fontSize: size * 0.9, fontWeight: 600, letterSpacing: '-0.035em' }}>
        Anthony<span style={{ fontWeight: 400, color: m, marginLeft: size * 0.18 }}>Intelligence</span>
      </span>
    </span>
  );
}

// ───────── 3. Stacked editorial — tracked uppercase with rule
function LogoStacked({ size = 32, color = AI_INK, accent = AI_ACCENT, muted }) {
  const m = muted || (color === AI_INK ? AI_MUTED : 'rgba(255,255,255,0.6)');
  return (
    <span style={{ display: 'inline-flex', flexDirection: 'column', alignItems: 'stretch', color, fontFamily: '"Inter", system-ui, sans-serif', lineHeight: 1 }}>
      <span style={{ fontSize: size, fontWeight: 500, letterSpacing: '0.22em', textAlign: 'center' }}>ANTHONY</span>
      <span style={{ display: 'flex', alignItems: 'center', gap: size * 0.35, margin: `${size * 0.32}px 0` }}>
        <span style={{ flex: 1, height: 1, background: 'currentColor', opacity: 0.35 }} />
        <span style={{ width: size * 0.18, height: size * 0.18, background: accent, borderRadius: '50%' }} />
        <span style={{ flex: 1, height: 1, background: 'currentColor', opacity: 0.35 }} />
      </span>
      <span style={{ fontSize: size * 0.42, fontWeight: 400, letterSpacing: '0.42em', color: m, textAlign: 'center' }}>INTELLIGENCE</span>
    </span>
  );
}

// ───────── 4. Serif legacy — italic display serif with sans subtag
function LogoSerif({ size = 32, color = AI_INK, accent = AI_ACCENT, muted }) {
  const m = muted || (color === AI_INK ? AI_MUTED : 'rgba(255,255,255,0.62)');
  return (
    <span style={{ display: 'inline-flex', alignItems: 'baseline', gap: size * 0.45, color, lineHeight: 1, whiteSpace: 'nowrap' }}>
      <span style={{ fontFamily: '"Instrument Serif", "Times New Roman", serif', fontStyle: 'italic', fontSize: size * 1.55, letterSpacing: '-0.025em' }}>Anthony</span>
      <span style={{ display: 'inline-flex', alignItems: 'baseline', gap: size * 0.28 }}>
        <span style={{ display: 'inline-block', width: 1, height: size * 0.75, background: accent, transform: 'translateY(0.1em)' }} />
        <span style={{ fontFamily: '"Inter", system-ui, sans-serif', fontSize: size * 0.4, fontWeight: 500, letterSpacing: '0.36em', color: m }}>INTELLIGENCE</span>
      </span>
    </span>
  );
}

// ───────── 5. Signet monogram — square frame, classical "A" with a beam
function LogoSignet({ size = 32, color = AI_INK, accent = AI_ACCENT, muted }) {
  const m = muted || (color === AI_INK ? AI_MUTED : 'rgba(255,255,255,0.6)');
  const h = size * 1.25;
  return (
    <span style={{ display: 'inline-flex', alignItems: 'center', gap: size * 0.45, color, fontFamily: '"Inter", system-ui, sans-serif', lineHeight: 1, whiteSpace: 'nowrap' }}>
      <svg width={h} height={h} viewBox="0 0 44 44" style={{ display: 'block', flex: '0 0 auto' }}>
        <rect x="1.5" y="1.5" width="41" height="41" rx="2" fill="none" stroke={color} strokeWidth="1.5" />
        {/* Serif-style "A" */}
        <path d="M22 9 L31 35 M22 9 L13 35 M16.5 27 L27.5 27" stroke={color} strokeWidth="2.2" fill="none" strokeLinecap="square" />
        <circle cx="22" cy="38.5" r="1.2" fill={accent} />
      </svg>
      <span style={{ display: 'inline-flex', flexDirection: 'column', gap: size * 0.18 }}>
        <span style={{ fontSize: size * 0.78, fontWeight: 600, letterSpacing: '-0.025em' }}>Anthony</span>
        <span style={{ fontSize: size * 0.32, fontWeight: 500, letterSpacing: '0.32em', color: m }}>INTELLIGENCE</span>
      </span>
    </span>
  );
}

// ───────── 6. Long-bar — small mark + extended cobalt rule + tracked wordmark
function LogoBar({ size = 32, color = AI_INK, accent = AI_ACCENT, muted }) {
  const m = muted || (color === AI_INK ? AI_MUTED : 'rgba(255,255,255,0.6)');
  const h = size * 0.85;
  return (
    <span style={{ display: 'inline-flex', alignItems: 'center', gap: size * 0.32, color, fontFamily: '"Inter", system-ui, sans-serif', lineHeight: 1, whiteSpace: 'nowrap' }}>
      <svg width={h} height={h} viewBox="0 0 32 32" style={{ display: 'block', flex: '0 0 auto' }}>
        <path d="M16 4 L28 26 L4 26 Z" fill={color} />
      </svg>
      <span style={{ width: size * 1.4, height: 1.5, background: accent, flex: '0 0 auto' }} />
      <span style={{ fontSize: size * 0.5, fontWeight: 500, letterSpacing: '0.28em', textTransform: 'uppercase' }}>
        Anthony<span style={{ color: m, marginLeft: '0.6em' }}>Intelligence</span>
      </span>
    </span>
  );
}

// ───────── 7. Arch — solid Romanesque arch (architectural / legacy)
function LogoArch({ size = 32, color = AI_INK, accent = AI_ACCENT, muted }) {
  const m = muted || (color === AI_INK ? AI_MUTED : 'rgba(255,255,255,0.55)');
  const h = size * 1.15;
  return (
    <span style={{ display: 'inline-flex', alignItems: 'center', gap: size * 0.42, color, fontFamily: '"Inter", system-ui, sans-serif', lineHeight: 1, whiteSpace: 'nowrap' }}>
      <svg width={h * 0.95} height={h} viewBox="0 0 38 40" style={{ display: 'block', flex: '0 0 auto' }}>
        {/* Arch silhouette: half-circle top, vertical sides, baseline */}
        <path d="M3 38 L3 19 A 16 16 0 0 1 35 19 L 35 38 Z" fill={color} />
        <rect x="3" y="38" width="32" height="1.6" fill={accent} />
      </svg>
      <span style={{ fontSize: size * 0.9, fontWeight: 600, letterSpacing: '-0.035em' }}>
        Anthony<span style={{ fontWeight: 400, color: m, marginLeft: size * 0.18 }}>Intelligence</span>
      </span>
    </span>
  );
}

// ───────── 8. Compass — precision crosshair circle (instrument vocabulary)
function LogoCompass({ size = 32, color = AI_INK, accent = AI_ACCENT, muted }) {
  const m = muted || (color === AI_INK ? AI_MUTED : 'rgba(255,255,255,0.55)');
  const h = size * 1.2;
  return (
    <span style={{ display: 'inline-flex', alignItems: 'center', gap: size * 0.42, color, fontFamily: '"Inter", system-ui, sans-serif', lineHeight: 1, whiteSpace: 'nowrap' }}>
      <svg width={h} height={h} viewBox="0 0 40 40" style={{ display: 'block', flex: '0 0 auto' }}>
        <circle cx="20" cy="20" r="16" fill="none" stroke={color} strokeWidth="1.6" />
        {/* tick marks N/E/S/W */}
        <line x1="20" y1="0" x2="20" y2="6"  stroke={color} strokeWidth="1.6" />
        <line x1="20" y1="34" x2="20" y2="40" stroke={color} strokeWidth="1.6" />
        <line x1="0"  y1="20" x2="6"  y2="20" stroke={color} strokeWidth="1.6" />
        <line x1="34" y1="20" x2="40" y2="20" stroke={color} strokeWidth="1.6" />
        {/* small "A" apex inside the dial */}
        <path d="M14 26 L20 12 L26 26 M16.5 21 L23.5 21" stroke={color} strokeWidth="1.6" fill="none" strokeLinecap="square" />
        <circle cx="20" cy="20" r="1.4" fill={accent} />
      </svg>
      <span style={{ fontSize: size * 0.88, fontWeight: 600, letterSpacing: '-0.03em' }}>
        Anthony<span style={{ fontWeight: 400, color: m, marginLeft: size * 0.18 }}>Intelligence</span>
      </span>
    </span>
  );
}

// ───────── 9. AI Initials — geometric "AI" ligature mark
function LogoInitials({ size = 32, color = AI_INK, accent = AI_ACCENT, muted }) {
  const m = muted || (color === AI_INK ? AI_MUTED : 'rgba(255,255,255,0.6)');
  const h = size * 1.35;
  return (
    <span style={{ display: 'inline-flex', alignItems: 'center', gap: size * 0.5, color, fontFamily: '"Inter", system-ui, sans-serif', lineHeight: 1, whiteSpace: 'nowrap' }}>
      <svg width={h * 1.25} height={h} viewBox="0 0 56 44" style={{ display: 'block', flex: '0 0 auto' }}>
        {/* A: two diagonals + crossbar, geometric */}
        <path d="M3 41 L20 3 L37 41 M10 28 L30 28" stroke={color} strokeWidth="3.5" fill="none" strokeLinejoin="miter" strokeLinecap="square" />
        {/* I: solid cobalt bar */}
        <rect x="46" y="3" width="6" height="38" fill={accent} />
      </svg>
      <span style={{ display: 'inline-flex', flexDirection: 'column', gap: size * 0.18 }}>
        <span style={{ fontSize: size * 0.78, fontWeight: 600, letterSpacing: '-0.025em' }}>Anthony</span>
        <span style={{ fontSize: size * 0.32, fontWeight: 500, letterSpacing: '0.32em', color: m }}>INTELLIGENCE</span>
      </span>
    </span>
  );
}

// ───────── 10. Notch — solid square with triangular notch cut from top (A neg-space)
function LogoNotch({ size = 32, color = AI_INK, accent = AI_ACCENT, muted }) {
  const m = muted || (color === AI_INK ? AI_MUTED : 'rgba(255,255,255,0.6)');
  const h = size * 1.2;
  return (
    <span style={{ display: 'inline-flex', alignItems: 'center', gap: size * 0.42, color, fontFamily: '"Inter", system-ui, sans-serif', lineHeight: 1, whiteSpace: 'nowrap' }}>
      <svg width={h} height={h} viewBox="0 0 40 40" style={{ display: 'block', flex: '0 0 auto' }}>
        {/* Square with triangular notch cut from top edge */}
        <path d="M0 0 L13 0 L20 14 L27 0 L40 0 L40 40 L0 40 Z" fill={color} />
        <rect x="6" y="33" width="28" height="1.6" fill={accent} />
      </svg>
      <span style={{ fontSize: size * 0.9, fontWeight: 600, letterSpacing: '-0.035em' }}>
        Anthony<span style={{ fontWeight: 400, color: m, marginLeft: size * 0.18 }}>Intelligence</span>
      </span>
    </span>
  );
}

// ═════════ Geometric A variations ═════════════════════════════════════
// Five close siblings of LogoTriangle — same lockup, mark varied.

// ───────── 11. Outline A — hairline triangle
function LogoOutline({ size = 32, color = AI_INK, accent = AI_ACCENT, muted }) {
  const m = muted || (color === AI_INK ? AI_MUTED : 'rgba(255,255,255,0.55)');
  const h = size * 1.15;
  return (
    <span style={{ display: 'inline-flex', alignItems: 'center', gap: size * 0.42, color, fontFamily: '"Inter", system-ui, sans-serif', lineHeight: 1, whiteSpace: 'nowrap' }}>
      <svg width={h} height={h} viewBox="0 0 40 40" style={{ display: 'block', flex: '0 0 auto' }}>
        <path d="M20 5 L36 33 L4 33 Z" fill="none" stroke={color} strokeWidth="2.2" strokeLinejoin="miter" />
        <rect x="4" y="24.5" width="32" height="1.6" fill={accent} />
      </svg>
      <span style={{ fontSize: size * 0.9, fontWeight: 600, letterSpacing: '-0.035em' }}>
        Anthony<span style={{ fontWeight: 400, color: m, marginLeft: size * 0.18 }}>Intelligence</span>
      </span>
    </span>
  );
}

// ───────── 12. Slit A — accent slit carved through the solid triangle
function LogoSlit({ size = 32, color = AI_INK, accent = AI_ACCENT, muted }) {
  const m = muted || (color === AI_INK ? AI_MUTED : 'rgba(255,255,255,0.55)');
  const h = size * 1.15;
  return (
    <span style={{ display: 'inline-flex', alignItems: 'center', gap: size * 0.42, color, fontFamily: '"Inter", system-ui, sans-serif', lineHeight: 1, whiteSpace: 'nowrap' }}>
      <svg width={h} height={h} viewBox="0 0 40 40" style={{ display: 'block', flex: '0 0 auto' }}>
        <path d="M20 5 L36 33 L4 33 Z" fill={color} />
        {/* slit carved through the lower-third — sits on top of the triangle */}
        <rect x="10" y="23.5" width="20" height="2.2" fill={accent} />
      </svg>
      <span style={{ fontSize: size * 0.9, fontWeight: 600, letterSpacing: '-0.035em' }}>
        Anthony<span style={{ fontWeight: 400, color: m, marginLeft: size * 0.18 }}>Intelligence</span>
      </span>
    </span>
  );
}

// ───────── 13. Capped A — small architectural cap above the apex
function LogoCapped({ size = 32, color = AI_INK, accent = AI_ACCENT, muted }) {
  const m = muted || (color === AI_INK ? AI_MUTED : 'rgba(255,255,255,0.55)');
  const h = size * 1.25;
  return (
    <span style={{ display: 'inline-flex', alignItems: 'center', gap: size * 0.42, color, fontFamily: '"Inter", system-ui, sans-serif', lineHeight: 1, whiteSpace: 'nowrap' }}>
      <svg width={h * 0.95} height={h} viewBox="0 0 40 44" style={{ display: 'block', flex: '0 0 auto' }}>
        {/* cap above apex */}
        <rect x="14" y="2" width="12" height="2.2" fill={color} />
        <path d="M20 8 L36 36 L4 36 Z" fill={color} />
        <rect x="4" y="28" width="32" height="1.6" fill={accent} />
      </svg>
      <span style={{ fontSize: size * 0.9, fontWeight: 600, letterSpacing: '-0.035em' }}>
        Anthony<span style={{ fontWeight: 400, color: m, marginLeft: size * 0.18 }}>Intelligence</span>
      </span>
    </span>
  );
}

// ───────── 14. Vertical A — stacked badge lockup: mark / rule / name
function LogoVertical({ size = 32, color = AI_INK, accent = AI_ACCENT, muted }) {
  const m = muted || (color === AI_INK ? AI_MUTED : 'rgba(255,255,255,0.55)');
  return (
    <span style={{ display: 'inline-flex', flexDirection: 'column', alignItems: 'center', color, fontFamily: '"Inter", system-ui, sans-serif', lineHeight: 1, gap: size * 0.34 }}>
      <svg width={size * 1.25} height={size * 1.25} viewBox="0 0 40 40" style={{ display: 'block' }}>
        <path d="M20 5 L36 33 L4 33 Z" fill={color} />
      </svg>
      <span style={{ width: size * 1.9, height: 1.5, background: accent }} />
      <span style={{ fontSize: size * 0.55, fontWeight: 500, letterSpacing: '0.28em', textTransform: 'uppercase', whiteSpace: 'nowrap' }}>
        Anthony<span style={{ color: m, marginLeft: '0.6em' }}>Intelligence</span>
      </span>
    </span>
  );
}

// ───────── 15. Echo A — hairline accent triangle offset behind a solid front
function LogoEcho({ size = 32, color = AI_INK, accent = AI_ACCENT, muted }) {
  const m = muted || (color === AI_INK ? AI_MUTED : 'rgba(255,255,255,0.55)');
  const h = size * 1.2;
  return (
    <span style={{ display: 'inline-flex', alignItems: 'center', gap: size * 0.45, color, fontFamily: '"Inter", system-ui, sans-serif', lineHeight: 1, whiteSpace: 'nowrap' }}>
      <svg width={h * 1.15} height={h} viewBox="0 0 46 40" style={{ display: 'block', flex: '0 0 auto' }}>
        {/* echo behind, hairline cobalt */}
        <path d="M28 7 L44 33 L12 33 Z" fill="none" stroke={accent} strokeWidth="1.6" strokeLinejoin="miter" />
        {/* solid front triangle */}
        <path d="M20 5 L36 33 L4 33 Z" fill={color} />
      </svg>
      <span style={{ fontSize: size * 0.9, fontWeight: 600, letterSpacing: '-0.035em' }}>
        Anthony<span style={{ fontWeight: 400, color: m, marginLeft: size * 0.18 }}>Intelligence</span>
      </span>
    </span>
  );
}

// Shared wordmark helper for mark-first variants
function AfterMark({ size, color, m }) {
  return (
    <span style={{ fontSize: size * 0.9, fontWeight: 600, letterSpacing: '-0.035em' }}>
      Anthony<span style={{ fontWeight: 400, color: m, marginLeft: size * 0.18 }}>Intelligence</span>
    </span>
  );
}

// ───────── 16. Bisect A — solid triangle with a vertical cobalt centerline
function LogoBisect({ size = 32, color = AI_INK, accent = AI_ACCENT, muted }) {
  const m = muted || (color === AI_INK ? AI_MUTED : 'rgba(255,255,255,0.55)');
  const h = size * 1.15;
  return (
    <span style={{ display: 'inline-flex', alignItems: 'center', gap: size * 0.42, color, fontFamily: '"Inter", system-ui, sans-serif', lineHeight: 1, whiteSpace: 'nowrap' }}>
      <svg width={h} height={h} viewBox="0 0 40 40" style={{ display: 'block', flex: '0 0 auto' }}>
        <path d="M20 5 L36 33 L4 33 Z" fill={color} />
        <line x1="20" y1="5" x2="20" y2="33" stroke={accent} strokeWidth="1.8" />
      </svg>
      <AfterMark size={size} color={color} m={m} />
    </span>
  );
}

// ───────── 17. Stepped A — triangle built from stacked horizontal bars
function LogoStepped({ size = 32, color = AI_INK, accent = AI_ACCENT, muted }) {
  const m = muted || (color === AI_INK ? AI_MUTED : 'rgba(255,255,255,0.55)');
  const h = size * 1.15;
  return (
    <span style={{ display: 'inline-flex', alignItems: 'center', gap: size * 0.42, color, fontFamily: '"Inter", system-ui, sans-serif', lineHeight: 1, whiteSpace: 'nowrap' }}>
      <svg width={h} height={h} viewBox="0 0 40 40" style={{ display: 'block', flex: '0 0 auto' }}>
        <rect x="17" y="6"  width="6"  height="3.5" fill={color} />
        <rect x="13" y="11" width="14" height="3.5" fill={color} />
        <rect x="9"  y="16" width="22" height="3.5" fill={color} />
        <rect x="5"  y="21" width="30" height="3.5" fill={color} />
        <rect x="1"  y="26" width="38" height="3.5" fill={color} />
        <rect x="1"  y="32" width="38" height="1.6" fill={accent} />
      </svg>
      <AfterMark size={size} color={color} m={m} />
    </span>
  );
}

// ───────── 18. Bevel A — triangle with chamfered tips
function LogoBevel({ size = 32, color = AI_INK, accent = AI_ACCENT, muted }) {
  const m = muted || (color === AI_INK ? AI_MUTED : 'rgba(255,255,255,0.55)');
  const h = size * 1.15;
  return (
    <span style={{ display: 'inline-flex', alignItems: 'center', gap: size * 0.42, color, fontFamily: '"Inter", system-ui, sans-serif', lineHeight: 1, whiteSpace: 'nowrap' }}>
      <svg width={h} height={h} viewBox="0 0 40 40" style={{ display: 'block', flex: '0 0 auto' }}>
        <path d="M17 7 L23 7 L35 30 L33 33 L7 33 L5 30 Z" fill={color} />
        <rect x="5" y="24.5" width="30" height="1.6" fill={accent} />
      </svg>
      <AfterMark size={size} color={color} m={m} />
    </span>
  );
}

// ───────── 19. Apex A — chevron only (no baseline), with rule below
function LogoApex({ size = 32, color = AI_INK, accent = AI_ACCENT, muted }) {
  const m = muted || (color === AI_INK ? AI_MUTED : 'rgba(255,255,255,0.55)');
  const h = size * 1.05;
  return (
    <span style={{ display: 'inline-flex', alignItems: 'center', gap: size * 0.42, color, fontFamily: '"Inter", system-ui, sans-serif', lineHeight: 1, whiteSpace: 'nowrap' }}>
      <svg width={h} height={h} viewBox="0 0 40 40" style={{ display: 'block', flex: '0 0 auto' }}>
        <path d="M4 26 L20 6 L36 26" stroke={color} strokeWidth="3.6" fill="none" strokeLinejoin="miter" strokeLinecap="square" />
        <rect x="4" y="33" width="32" height="1.6" fill={accent} />
      </svg>
      <AfterMark size={size} color={color} m={m} />
    </span>
  );
}

// ───────── 20. Mosaic A — Sierpinski quad: 3 ink subs + inverted accent center
function LogoMosaic({ size = 32, color = AI_INK, accent = AI_ACCENT, muted }) {
  const m = muted || (color === AI_INK ? AI_MUTED : 'rgba(255,255,255,0.55)');
  const h = size * 1.15;
  return (
    <span style={{ display: 'inline-flex', alignItems: 'center', gap: size * 0.42, color, fontFamily: '"Inter", system-ui, sans-serif', lineHeight: 1, whiteSpace: 'nowrap' }}>
      <svg width={h} height={h} viewBox="0 0 40 40" style={{ display: 'block', flex: '0 0 auto' }}>
        <path d="M20 5  L28 19 L12 19 Z" fill={color} />
        <path d="M12 19 L20 33 L4 33 Z"  fill={color} />
        <path d="M28 19 L36 33 L20 33 Z" fill={color} />
        <path d="M12 19 L28 19 L20 33 Z" fill={accent} />
      </svg>
      <AfterMark size={size} color={color} m={m} />
    </span>
  );
}

// ═════════ Apex variations ═════════════════════════════════════════════
// Five close siblings of LogoApex — same chevron lockup, mark varied.

// ───────── 21. Bold Apex — heavy-weight chevron
function LogoBoldApex({ size = 32, color = AI_INK, accent = AI_ACCENT, muted }) {
  const m = muted || (color === AI_INK ? AI_MUTED : 'rgba(255,255,255,0.55)');
  const h = size * 1.05;
  return (
    <span style={{ display: 'inline-flex', alignItems: 'center', gap: size * 0.42, color, fontFamily: '"Inter", system-ui, sans-serif', lineHeight: 1, whiteSpace: 'nowrap' }}>
      <svg width={h} height={h} viewBox="0 0 40 40" style={{ display: 'block', flex: '0 0 auto' }}>
        <path d="M4 26 L20 6 L36 26" stroke={color} strokeWidth="6" fill="none" strokeLinejoin="miter" strokeLinecap="square" />
        <rect x="4" y="33" width="32" height="1.6" fill={accent} />
      </svg>
      <AfterMark size={size} color={color} m={m} />
    </span>
  );
}

// ───────── 22. Pediment Apex — chevron with short vertical legs (classical pediment)
function LogoPediment({ size = 32, color = AI_INK, accent = AI_ACCENT, muted }) {
  const m = muted || (color === AI_INK ? AI_MUTED : 'rgba(255,255,255,0.55)');
  const h = size * 1.0;
  return (
    <span style={{ display: 'inline-flex', alignItems: 'center', gap: size * 0.42, color, fontFamily: '"Inter", system-ui, sans-serif', lineHeight: 1, whiteSpace: 'nowrap' }}>
      <svg width={h * 1.15} height={h} viewBox="0 0 46 40" style={{ display: 'block', flex: '0 0 auto' }}>
        {/* Wider flatter chevron with short vertical legs dropping at each end */}
        <path d="M4 30 L4 22 L23 8 L42 22 L42 30" stroke={color} strokeWidth="3.4" fill="none" strokeLinejoin="miter" strokeLinecap="square" />
        <rect x="4" y="34" width="38" height="1.6" fill={accent} />
      </svg>
      <AfterMark size={size} color={color} m={m} />
    </span>
  );
}

// ───────── 23. Crossed Apex — chevron + horizontal crossbar (A's upper top)
function LogoCrossed({ size = 32, color = AI_INK, accent = AI_ACCENT, muted }) {
  const m = muted || (color === AI_INK ? AI_MUTED : 'rgba(255,255,255,0.55)');
  const h = size * 1.05;
  return (
    <span style={{ display: 'inline-flex', alignItems: 'center', gap: size * 0.42, color, fontFamily: '"Inter", system-ui, sans-serif', lineHeight: 1, whiteSpace: 'nowrap' }}>
      <svg width={h} height={h} viewBox="0 0 40 40" style={{ display: 'block', flex: '0 0 auto' }}>
        <path d="M4 26 L20 6 L36 26" stroke={color} strokeWidth="3.6" fill="none" strokeLinejoin="miter" strokeLinecap="square" />
        <line x1="11" y1="19" x2="29" y2="19" stroke={color} strokeWidth="3" />
        <rect x="4" y="33" width="32" height="1.6" fill={accent} />
      </svg>
      <AfterMark size={size} color={color} m={m} />
    </span>
  );
}

// ───────── 24. Double Apex — small chevron stacked above a larger one
function LogoDoubleApex({ size = 32, color = AI_INK, accent = AI_ACCENT, muted }) {
  const m = muted || (color === AI_INK ? AI_MUTED : 'rgba(255,255,255,0.55)');
  const h = size * 1.1;
  return (
    <span style={{ display: 'inline-flex', alignItems: 'center', gap: size * 0.42, color, fontFamily: '"Inter", system-ui, sans-serif', lineHeight: 1, whiteSpace: 'nowrap' }}>
      <svg width={h} height={h} viewBox="0 0 40 42" style={{ display: 'block', flex: '0 0 auto' }}>
        {/* small chevron above */}
        <path d="M12 14 L20 4 L28 14" stroke={color} strokeWidth="3" fill="none" strokeLinejoin="miter" strokeLinecap="square" />
        {/* larger chevron below */}
        <path d="M4 30 L20 14 L36 30" stroke={color} strokeWidth="3.6" fill="none" strokeLinejoin="miter" strokeLinecap="square" />
        <rect x="4" y="36" width="32" height="1.6" fill={accent} />
      </svg>
      <AfterMark size={size} color={color} m={m} />
    </span>
  );
}

// ───────── 25. Stepped Apex — chevron drawn as two right-angle "L" steps
function LogoSteppedApex({ size = 32, color = AI_INK, accent = AI_ACCENT, muted }) {
  const m = muted || (color === AI_INK ? AI_MUTED : 'rgba(255,255,255,0.55)');
  const h = size * 1.05;
  return (
    <span style={{ display: 'inline-flex', alignItems: 'center', gap: size * 0.42, color, fontFamily: '"Inter", system-ui, sans-serif', lineHeight: 1, whiteSpace: 'nowrap' }}>
      <svg width={h} height={h} viewBox="0 0 40 40" style={{ display: 'block', flex: '0 0 auto' }}>
        {/* Two L-shaped strokes mirrored, meeting at top center */}
        <path d="M4 28 L4 16 L20 16 L20 6"  stroke={color} strokeWidth="3.4" fill="none" strokeLinejoin="miter" strokeLinecap="square" />
        <path d="M36 28 L36 16 L20 16 L20 6" stroke={color} strokeWidth="3.4" fill="none" strokeLinejoin="miter" strokeLinecap="square" />
        <rect x="4" y="33" width="32" height="1.6" fill={accent} />
      </svg>
      <AfterMark size={size} color={color} m={m} />
    </span>
  );
}

// Map for variant lookups
const LOGOS = {
  wordmark:  { Component: LogoWordmark, label: 'Wordmark',           note: 'Clean lowercase grotesk' },
  triangle:  { Component: LogoTriangle, label: 'Geometric A',        note: 'Solid mark + wordmark' },
  stacked:   { Component: LogoStacked,  label: 'Stacked Editorial',  note: 'Tracked uppercase with rule' },
  serif:     { Component: LogoSerif,    label: 'Serif Legacy',       note: 'Italic display + sans subtag' },
  signet:    { Component: LogoSignet,   label: 'Signet Monogram',    note: 'Bordered classical mark' },
  bar:       { Component: LogoBar,      label: 'Long-bar',           note: 'Mark + extended rule + tracked' },
  arch:      { Component: LogoArch,     label: 'Arch',               note: 'Romanesque arch silhouette' },
  compass:   { Component: LogoCompass,  label: 'Compass',            note: 'Precision crosshair dial' },
  initials:  { Component: LogoInitials, label: 'AI Initials',        note: 'Geometric AI ligature' },
  notch:     { Component: LogoNotch,    label: 'Notched Square',     note: 'Square with A-notch cutout' },
  outline:   { Component: LogoOutline,  label: 'Outline A',          note: 'Hairline triangle' },
  slit:      { Component: LogoSlit,     label: 'Slit A',             note: 'Rule carved through mark' },
  capped:    { Component: LogoCapped,   label: 'Capped A',           note: 'Architectural finial' },
  vertical:  { Component: LogoVertical, label: 'Vertical A',         note: 'Stacked badge lockup' },
  echo:      { Component: LogoEcho,     label: 'Echo A',             note: 'Hairline echo behind solid' },
  bisect:    { Component: LogoBisect,   label: 'Bisect A',           note: 'Vertical cobalt centerline' },
  stepped:   { Component: LogoStepped,  label: 'Stepped A',          note: 'Stacked bars widening' },
  bevel:     { Component: LogoBevel,    label: 'Bevel A',            note: 'Chamfered corners' },
  apex:      { Component: LogoApex,     label: 'Apex A',             note: 'Chevron only — minimal' },
  mosaic:    { Component: LogoMosaic,   label: 'Mosaic A',           note: 'Sierpinski quad-triangle' },
  boldApex:    { Component: LogoBoldApex,    label: 'Bold Apex',       note: 'Heavy-weight chevron' },
  pediment:    { Component: LogoPediment,    label: 'Pediment Apex',   note: 'Wide chevron with legs' },
  crossed:     { Component: LogoCrossed,     label: 'Crossed Apex',    note: 'Chevron + crossbar' },
  doubleApex:  { Component: LogoDoubleApex,  label: 'Double Apex',     note: 'Two stacked chevrons' },
  steppedApex: { Component: LogoSteppedApex, label: 'Stepped Apex',    note: 'Right-angle steps' },
};

Object.assign(window, {
  LogoWordmark, LogoTriangle, LogoStacked, LogoSerif, LogoSignet,
  LogoBar, LogoArch, LogoCompass, LogoInitials, LogoNotch,
  LogoOutline, LogoSlit, LogoCapped, LogoVertical, LogoEcho,
  LogoBisect, LogoStepped, LogoBevel, LogoApex, LogoMosaic,
  LogoBoldApex, LogoPediment, LogoCrossed, LogoDoubleApex, LogoSteppedApex,
  LOGOS, AI_INK, AI_PAPER, AI_ACCENT, AI_MUTED
});
