// "Our stack" — AI providers & models Castor deploys function TechStack({ t }) { const label = t.lang === 'fr' ? 'La meilleure IA, déployée chez vous.' : 'The best AI, deployed for you.'; const sub = t.lang === 'fr' ? 'On choisit le bon modèle pour chaque tâche — propriétaire ou open source, hébergé au Québec quand la confidentialité l\'exige.' : 'We pick the right model for each task — proprietary or open source, hosted in Québec when confidentiality demands it.'; const providers = [ { name: 'Anthropic', model: 'Claude Sonnet 4.5', logo: , tone: t.lang === 'fr' ? 'Raisonnement juridique, rédaction longue, agents autonomes.' : 'Legal reasoning, long-form drafting, autonomous agents.' }, { name: 'OpenAI', model: 'GPT-5.1', logo: , tone: t.lang === 'fr' ? 'Polyvalent, vision, voix temps réel.' : 'General-purpose, vision, realtime voice.' }, { name: 'Google DeepMind', model: 'Gemini 3.1 Pro', logo: , tone: t.lang === 'fr' ? 'Contexte 2M tokens, documents volumineux.' : '2M token context, heavy document sets.' }, { name: 'Mistral AI', model: 'Mistral Large 3', logo: , tone: t.lang === 'fr' ? 'Modèle européen, souveraineté des données.' : 'European model, data sovereignty.' }, { name: 'Meta', model: 'Llama 4', logo: , tone: t.lang === 'fr' ? 'Open source, déployé sur serveurs locaux.' : 'Open source, deployed on-prem.' }, { name: 'DeepSeek', model: 'DeepSeek V3', logo: , tone: t.lang === 'fr' ? 'Performance haut de gamme, coût réduit.' : 'Frontier performance, fraction of the cost.' }, { name: 'Nous Research', model: 'Hermes 4', logo: , tone: t.lang === 'fr' ? 'Fine-tuning sur mesure pour votre secteur.' : 'Custom fine-tuning for your industry.' }, { name: 'OpenCLAW', model: 'Sovereign stack', logo: , tone: t.lang === 'fr' ? 'Outillage open source Québec, orchestration d\'agents.' : 'Québec open-source tooling, agent orchestration.' }, ]; return (
{t.lang === 'fr' ? 'NOTRE STACK' : 'OUR STACK'}

{label}

{sub}

{providers.map((p, i) => ( ))}
{t.lang === 'fr' ? '↳ Orchestrés via Castor' : '↳ Orchestrated by Castor'} · {t.lang === 'fr' ? 'Hébergement QC disponible' : 'QC hosting available'} · {t.lang === 'fr' ? 'Vos données ne servent pas à l\'entraînement' : 'Your data is never used for training'}
); } function ProviderCell({ name, model, logo, tone, col, row }) { const [hov, setHov] = useState(false); return (
setHov(true)} onMouseLeave={() => setHov(false)} style={{ padding: '28px 22px', borderRight: col < 3 ? '1px solid var(--border)' : 'none', borderTop: row > 0 ? '1px solid var(--border)' : 'none', background: hov ? 'color-mix(in oklch, var(--brand) 3%, var(--bg-elev))' : 'var(--bg-elev)', transition: 'background 160ms', display: 'flex', flexDirection: 'column', alignItems: 'flex-start', gap: 12, minHeight: 180, }}>
{logo}
{model}
{name}
{tone}
); } // --- Logos (accurate brand marks) ------------------------------------------- function AnthropicLogo() { // Anthropic: clay-orange stylized "A" mark + wordmark return ( Anthropic ); } function OpenAILogo() { // OpenAI blossom mark return ( OpenAI ); } function GeminiLogo() { // Gemini spark with signature blue→purple→pink gradient return ( Gemini ); } function MistralLogo() { // Mistral AI: layered pixel-flag gradient (signature yellow→orange→red) const c = ['#FFD700', '#FFA219', '#FF6B35', '#E63946', '#A02035']; return ( {/* 5 stripes × 4 cols = signature flag */} {[0,1,2,3,4].map(row => [0,1,2,3].map(col => ( )))} Mistral AI ); } function LlamaLogo() { // Meta infinity mark (brand blue) return ( Meta Llama ); } function DeepSeekLogo() { // DeepSeek: whale/curve mark in signature blue return ( DeepSeek ); } function NousLogo() { // Nous Research: concentric circle mark return ( Nous RESEARCH ); } function OpenClawLogo() { // OpenCLAW: claw/fleur motif (Québec flavor) + wordmark return ( OpenCLAW ); } Object.assign(window, { TechStack, ProviderCell, AnthropicLogo, OpenAILogo, GeminiLogo, MistralLogo, LlamaLogo, DeepSeekLogo, NousLogo, OpenClawLogo });