function goTo(id){const el=document.getElementById(id);if(el)window.scrollTo({top:el.getBoundingClientRect().top+window.scrollY-80,behavior:'smooth'});}
function Nav({onContact}){
const {Button}=window.HelixCyberDesignSystem_c2a1e7;
return <nav style={{display:'flex',alignItems:'center',justifyContent:'space-between',padding:'0 40px',height:64,borderBottom:'1px solid var(--border-subtle)',position:'sticky',top:0,background:'var(--bg-0)',zIndex:10}}>
<div style={{display:'flex',alignItems:'center',gap:12}}><img src="assets/logo.svg" width="22" height="22" alt="HelixCyber"/><span style={{fontFamily:'var(--font-display)',fontSize:13,letterSpacing:'.06em'}}>HELIXCYBER</span></div>
<div style={{display:'flex',alignItems:'center',gap:28,fontSize:12,letterSpacing:'var(--tracking-wide)'}}>
{[['/security','network-security'],['/reverse-engineering','reverse-engineering'],['/ai-security','ai-security'],['/agents','agents']].map(([l,id])=><a key={l} href={'#'+id} onClick={e=>{e.preventDefault();goTo(id);}} style={{color:'var(--text-muted)'}}>{l}</a>)}
<a href="blog.html" style={{color:'var(--text-muted)'}}>/blog</a>
<Button size="sm" onClick={onContact}>Contact</Button>
</div></nav>;
}
function Hero({onContact}){
const {Button}=window.HelixCyberDesignSystem_c2a1e7;
return <header style={{backgroundImage:'var(--grid-dot)',backgroundSize:'var(--grid-dot-size)',padding:'128px 40px 112px',borderBottom:'1px solid var(--border-subtle)'}}>
<div style={{maxWidth:'var(--container)',margin:'0 auto'}}>
<div style={{fontFamily:'var(--font-display)',fontSize:12,letterSpacing:'var(--tracking-caps)',color:'var(--accent)',marginBottom:24}}>HELIXCYBER.AI</div>
<h1 style={{fontSize:'var(--text-3xl)',fontWeight:700,lineHeight:'var(--leading-tight)',margin:'0 0 24px',maxWidth:760}}>Security for systems that think.</h1>
<p style={{fontSize:'var(--text-md)',color:'var(--text-muted)',maxWidth:560,margin:'0 0 40px'}}>We reverse-engineer, harden, and monitor the software your agents run on — from network perimeter to model weights.</p>
<div style={{display:'flex',gap:12,marginBottom:56}}><Button size="lg" onClick={onContact}>Request briefing</Button><Button variant="secondary" size="lg" onClick={()=>goTo('approach')}>Our approach</Button></div>
<div style={{fontSize:12,color:'var(--text-faint)'}}><span style={{color:'var(--accent)'}}>$</span> helix scan --deep ./vendor/gateway-fw_2.4.bin <span style={{color:'var(--ok)'}}>[ok]</span> 0 critical · 2 advisories</div>
</div></header>;
}
function Capabilities(){
const items=[
{id:'network-security',l:'/NETWORK-SECURITY',t:'Perimeter to payload',d:'Detection engineering, traffic analysis, and hardening for networks that carry machine-to-machine traffic.',b:['Detection engineering & SOC tuning','Protocol and traffic analysis','Perimeter hardening reviews']},
{id:'reverse-engineering',l:'/REVERSE-ENGINEERING',t:'Binary triage at depth',d:'Firmware, protocols, and closed-source dependencies taken apart before they ship into your stack.',b:['Firmware and binary audits','Proprietary protocol recovery','Third-party dependency vetting']},
{id:'ai-security',l:'/AI-SECURITY',t:'Model supply chain',d:'Provenance for weights and adapters, injection-resistance testing, and guardrail evaluation.',b:['Weight and adapter provenance','Prompt-injection resistance testing','Guardrail and policy evaluation']},
{id:'agents',l:'/AGENTS',t:'Agent recommendation',d:'Vetted agents and tool policies. We tell you which agents to trust, with what, and prove why.',b:['Agent capability audits','Tool-access policy design','Trust reports with evidence']}];
const {Card}=window.HelixCyberDesignSystem_c2a1e7;
return <section style={{padding:'96px 40px',borderBottom:'1px solid var(--border-subtle)'}}>
<div style={{maxWidth:'var(--container)',margin:'0 auto'}}>
<div style={{fontFamily:'var(--font-display)',fontSize:11,letterSpacing:'var(--tracking-caps)',color:'var(--text-faint)',marginBottom:32}}>WHAT WE DO</div>
<div style={{display:'grid',gridTemplateColumns:'1fr 1fr',gap:16}}>
{items.map(i=><div key={i.l} id={i.id}><Card label={i.l} title={i.t} hoverable style={{height:'100%',boxSizing:'border-box'}}><span style={{color:'var(--text-muted)',fontSize:13}}>{i.d}</span>
<ul style={{listStyle:'none',margin:'14px 0 0',padding:0,display:'flex',flexDirection:'column',gap:6}}>{i.b.map(x=><li key={x} style={{fontSize:12,color:'var(--text-muted)'}}><span style={{color:'var(--accent)',marginRight:8}}>↳</span>{x}</li>)}</ul></Card></div>)}
</div></div></section>;
}
function Approach(){
const steps=[['01','Map','We enumerate the surface: binaries, models, agents, and the traffic between them.'],['02','Break','We attack it the way an adversary would, and write down exactly what gave.'],['03','Hold','Continuous monitoring keeps the findings fixed. Regressions page us, not you.']];
return <section id="approach" style={{padding:'96px 40px',borderBottom:'1px solid var(--border-subtle)'}}>
<div style={{maxWidth:'var(--container)',margin:'0 auto'}}>
<div style={{fontFamily:'var(--font-display)',fontSize:11,letterSpacing:'var(--tracking-caps)',color:'var(--text-faint)',marginBottom:32}}>HOW WE ENGAGE</div>
<div style={{display:'grid',gridTemplateColumns:'1fr 1fr 1fr',gap:32}}>
{steps.map(([n,t,d])=><div key={n} style={{borderTop:'1px solid var(--border-default)',paddingTop:20}}>
<div style={{color:'var(--accent)',fontSize:12,marginBottom:12}}>{n}</div>
<div style={{fontWeight:700,fontSize:16,marginBottom:8}}>{t}</div>
<div style={{color:'var(--text-muted)',fontSize:13}}>{d}</div></div>)}
</div></div></section>;
}
function Footer({onContact}){
const {Button}=window.HelixCyberDesignSystem_c2a1e7;
return <footer>
<div id="contact" style={{padding:'96px 40px',borderBottom:'1px solid var(--border-subtle)'}}>
<div style={{maxWidth:'var(--container)',margin:'0 auto',display:'grid',gridTemplateColumns:'1fr 1fr',gap:48,alignItems:'center'}}>
<div>
<div style={{fontFamily:'var(--font-display)',fontSize:11,letterSpacing:'var(--tracking-caps)',color:'var(--text-faint)',marginBottom:20}}>CONTACT</div>
<div style={{fontSize:'var(--text-xl)',fontWeight:700,marginBottom:16}}>Ready when the audit isn't optional.</div>
<div style={{fontSize:13,color:'var(--text-muted)',marginBottom:28,maxWidth:440}}>Tell us what you run and what worries you. We reply within one business day, under NDA if you need one.</div>
<Button size="lg" onClick={onContact}>Request briefing</Button>
</div>
<div style={{display:'flex',flexDirection:'column',gap:18,fontSize:13,borderLeft:'1px solid var(--border-default)',paddingLeft:48}}>
<div><div style={{fontSize:11,letterSpacing:'var(--tracking-caps)',color:'var(--text-faint)',marginBottom:4}}>BRIEFINGS & ENGAGEMENTS</div><a href="mailto:contact@helixcyber.ai">contact@helixcyber.ai</a></div>
<div><div style={{fontSize:11,letterSpacing:'var(--tracking-caps)',color:'var(--text-faint)',marginBottom:4}}>VULNERABILITY DISCLOSURE</div><a href="mailto:security@helixcyber.ai">security@helixcyber.ai</a><div style={{fontSize:12,color:'var(--text-faint)',marginTop:4}}>Coordinated disclosure honored. PGP key available on request; encrypted reports preferred.</div></div>
<div style={{fontSize:12,color:'var(--text-faint)'}}><span style={{color:'var(--accent)'}}>$</span> response-time &lt; 1 business day <span style={{color:'var(--ok)'}}>[ok]</span></div>
</div></div></div>
<div style={{padding:'32px 40px',display:'flex',alignItems:'center',justifyContent:'space-between',fontSize:12,color:'var(--text-faint)'}}>
<div style={{display:'flex',alignItems:'center',gap:10}}><img src="assets/logo.svg" width="16" height="16" alt="HelixCyber"/><span>© 2026 HelixCyber</span></div>
<div style={{display:'flex',gap:24}}><a href="mailto:contact@helixcyber.ai" style={{color:'var(--text-faint)'}}>contact@helixcyber.ai</a><a href="mailto:security@helixcyber.ai" style={{color:'var(--text-faint)'}}>/disclosure</a><a href="#contact" onClick={e=>{e.preventDefault();goTo('contact');}} style={{color:'var(--text-faint)'}}>/contact</a></div>
</div></footer>;
}
Object.assign(window,{Nav,Hero,Capabilities,Approach,Footer});
