// Contact page — "Talk to our team" form scene. // Two-column layout: pitch + channels + HQ on left, form panel on right. // Visual language matches the dashboard tiles (gradient-overlay surface, // purple-tinted borders, mono numeric / id text). No external nav / footer // — those are rendered by the page-level wrapper. function ContactPage() { const [state, setState] = React.useState({ firstName: '', lastName: '', email: '', company: '', role: '', size: '', country: '', cc: '+1', phone: '', use: '', message: '', consent: true, }); const [submitted, setSubmitted] = React.useState(false); const set = (k) => (e) => setState({ ...state, [k]: e.target.value }); const toggle = (k) => () => setState({ ...state, [k]: !state[k] }); function onSubmit(e) { e.preventDefault(); setSubmitted(true); } // Stable mono "ticket id" used only inside the success state. const ticketId = React.useMemo(() => { const hex = '0123456789abcdef'; let s = ''; for (let i = 0; i < 12; i++) s += hex[Math.floor(Math.random() * 16)]; return `INTK-${s.slice(0, 4)}-${s.slice(4, 12)}`; }, []); return (
{/* ─── LEFT ─── */}
CONTACT · SALES

Talk to our team.

Set up a 30-day shadow-mode pilot. We score your real traffic, block nothing, and hand back a report on signals and false-positive rate before you decide on rollout.

HQ · EU

Dipoli OÜ

Tornimäe 5
10145 Tallinn, Estonia
+372 880 5178

{/* ─── RIGHT: form panel ─── */}
{submitted ? (

Thanks — we've received your request.

A senior solutions engineer will reach out within one business day with pilot scoping and a SOC 2 packet.

REF · {ticketId}
) : (
SECURE · TLS 1.3 GDPR · CCPA compliant Typical response · < 4h business
)}
); }