function ModelsPage(){
const items=[
{logo:'assets/logos/anthropic.svg',alt:'Anthropic',name:'Anthropic',models:['Claude Opus 5 — owned samples, tool-heavy RE','Claude Fable 5 / 5.1 — long sessions; cyber prompts often fall back to Opus']},
{logo:'assets/logos/openai.svg',alt:'OpenAI',name:'OpenAI',models:['GPT-5.6 Sol — general API, default cyber screens on','gpt-daybreak-blue — verified defenders, same Sol weights, screens off']},
{logo:'assets/logos/google.svg',alt:'Google',name:'Google',models:['Gemini — long-context corpus and document-heavy reviews']},
{logo:'assets/logos/aws.svg',alt:'AWS',name:'AWS Bedrock',models:['Claude and Daybreak Blue in-region','Llama / Titan when the tenant already lives on AWS']},
{logo:'assets/logos/xai.svg',alt:'xAI',name:'xAI',models:['Grok 4.6 — no public RE bench; scope lives in the harness']}
];
return <div>
<div style={{padding:'48px 40px 8px'}}>
<div style={{maxWidth:800,margin:'0 auto'}}>
<h1 style={{fontFamily:'var(--font-mono)',fontSize:40,fontWeight:500,letterSpacing:'-.04em',margin:'0 0 12px'}}>Models we run</h1>
<p style={{fontSize:15,color:'var(--text-muted)',maxWidth:600,margin:'0 0 12px'}}>Authorized enterprise work only. The model is the last choice. Route and scope first. Public comparison: <a href="post-re-models.html">six models on the reverse-engineering desk</a>.</p>
<p style={{fontSize:14,color:'var(--text-muted)',maxWidth:600}}>We do not publish a HelixCyber bake-off score. Vendor numbers stay cited to the vendor. Unknown stays empty.</p>
</div>
</div>
<section style={{padding:'32px 40px 72px'}}>
<div style={{maxWidth:800,margin:'0 auto',display:'flex',flexDirection:'column',gap:12}}>
{items.map(p=><div key={p.name} style={{background:'var(--bg-1)',border:'1px solid var(--border-default)',borderRadius:'var(--radius-2)',padding:'22px 24px',display:'grid',gridTemplateColumns:'40px 1fr',gap:16,alignItems:'start'}}>
<img src={p.logo} width="28" height="28" alt={p.alt} style={{marginTop:2}}/>
<div>
<div style={{fontFamily:'var(--font-mono)',fontSize:14,fontWeight:500,marginBottom:10}}>{p.name}</div>
<ul style={{margin:0,padding:0,listStyle:'none'}}>{p.models.map(m=><li key={m} style={{fontSize:13,color:'var(--text-muted)',marginBottom:6}}>{m}</li>)}</ul>
</div></div>)}
</div>
</section>
<section style={{padding:'0 40px 96px'}}>
<div style={{maxWidth:800,margin:'0 auto',background:'var(--bg-1)',border:'1px solid var(--border-default)',borderRadius:'var(--radius-2)',padding:'24px 28px'}}>
<div style={{fontSize:14,fontWeight:600,marginBottom:10}}>How we assign</div>
<p style={{fontSize:14,color:'var(--text-muted)',lineHeight:1.7,margin:0}}>Owned APK / ELF / firmware: Opus 5, or Fable 5.1 if the prompt stays on Fable. Defensive malware triage with OpenAI enrollment: gpt-daybreak-blue, not general Sol. Document-heavy reviews: Gemini. AWS tenants: Bedrock so data stays in-region. Grok 4.6 only behind the same harness as everyone else — no target ACT without granted auth.</p>
</div>
</section>
</div>;
}
mountPage('models.html', ModelsPage);
