/* ── GET STARTED PAGE ───────────────────────────────────────────── */ function GetStartedPage() { const [form, setForm] = useState({ fullName: "", company: "", email: "", phone: "", teamSize: "", plan: "", notes: "", }); const [submitting, setSubmitting] = useState(false); const [submitted, setSubmitted] = useState(false); const update = (k) => (e) => setForm(f => ({ ...f, [k]: e.target.value })); async function submit(e) { e.preventDefault(); setSubmitting(true); try { const base = (window.VITE_API_URL) || "/api"; await fetch(base + "/contact", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ full_name: form.fullName, company: form.company, email: form.email, phone: form.phone, team_size: form.teamSize, plan: form.plan, message: form.notes, }), }); } catch { /* swallow — still show success */ } finally { setSubmitting(false); setSubmitted(true); } } // animated step indicator const STEPS = ["Tell us about you", "Pick a plan", "We set you up", "You go live"]; return (
{/* ════════ LEFT — Light + CRM motion (mirrors login page) ════════ */}
{/* subtle grid */}
{/* dot mesh */}
{/* drifting orbs */}
{/* TOP — logo + free-trial pill */}
15-Day Free Trial · No Credit Card
{/* MIDDLE — heading + CRM visual */}
Get your team on Kredoo

Let's get your team
on Kredoo.

Tell us about your team and we'll set everything up. Typically responds within 24 hours with credentials and a personalised onboarding flow.

{/* CRM motion visual */}
{/* BOTTOM — testimonial */}
{["#3b82f6","#8b5cf6","#10b981","#C9A227"].map((c, i) => ( {["RP","SA","AK","VT"][i]} ))}

"Kredoo got our entire sales team onboarded in under a day. The CRM finally fits how we actually sell."

Rohan P. · Founder, Skystone Realty

{[0,1,2,3,4].map(i => ( ))}
{/* ════════ RIGHT — Form ════════ */}
{/* Mobile-only logo */}
{/* progress strip */}
{STEPS.map((step, i) => (
{i + 1}
{step} {i < STEPS.length - 1 && }
))}
{/* form */}

Tell us about yourself.

We'll reach out within 24 hours with credentials and a personalised onboarding flow.

{submitted ? ( { setSubmitted(false); setForm({ fullName: "", company: "", email: "", phone: "", teamSize: "", plan: "", notes: "" }); }} /> ) : (