/* global React */ const { useState: useState2, useRef: useRef2, useEffect: useEffect2 } = React; /* ---------- TEAM ---------- */ function Team() { const team = [ { name: "Aakash R.", role: "Creative Director", quote: "Argues with pixels.", emoji: "🦁", bg: "var(--pink)", sticker: "BOSS", rot: "-3deg" }, { name: "Pooja S.", role: "Design Lead", quote: "Translator of vibes.", emoji: "🦊", bg: "var(--acid)", sticker: "β˜… β˜… β˜…", rot: "2deg" }, { name: "Rishab M.", role: "Engineering", quote: "Makes the impossible loadable.", emoji: "🦝", bg: "var(--blue)", sticker: "DEV", rot: "-2deg" }, { name: "Tanvi K.", role: "Strategy", quote: "Asks why until it hurts.", emoji: "🐯", bg: "var(--mint)", sticker: "STRATEGY", rot: "3deg" }, ]; return (
The team Β· 04 humans

Small studio,
huge mouth.

Four of us. No interns doing your strategy deck at 2am. The people you meet are the people who do the work.

{team.map((p, i) => (
{p.sticker}
{p.emoji}
{p.name}
{p.role}
"{p.quote}"
))}
); } /* ---------- TESTIMONIALS ---------- */ function Testimonials() { return (
Receipts Β· 50+ shipped

People say things.

↓ scroll for more
β˜… β˜… β˜… β˜… β˜…

"Briefing them felt like therapy. The output felt like a heist."

β€” Mira D., Brand Lead at Mango Mango
β˜… β˜… β˜… β˜… β˜…

"They redesigned us in 6 weeks and tripled our conversion."

β€” Aanya R., CEO of Fold
β˜… β˜… β˜… β˜… β˜…

"We came in with a logo. We left with a religion."

β€” Karthik V., Founder, Halo
β˜… β˜… β˜… β˜… β˜…

"I have never been roasted so kindly about my old website."

β€” Devansh P., COO, Bolt Coffee
β˜… β˜… β˜… β˜… β˜…

"Half the cost of a London studio. Twice the spine."

β€” Lena O., Founder, Pilot Studios
); } /* ---------- LOGO MARQUEE ---------- */ function Logos() { const logos = [ Mango Mango, "FOLD", halo., "BOLT⚑", "PILOT", noon/, "NORTHSTAR", Lumen, "PARALLEL", "ATLASΒ·CO", orbitΓ—, "MARGIN", ]; const content = [...logos, ...logos]; return (
{content.map((l, i) => {l} ✦)}
); } /* ---------- FAQ ---------- */ function FAQ() { const items = [ { q: <>How long does a project take?, a: "Brand: 4–6 weeks. Website: 6–10 weeks. Product UX engagements run 8–16 weeks depending on scope. We give you a calendar with dated milestones before you sign anything." }, { q: <>Do you do development too?, a: "Yes β€” Framer, Webflow, Next.js, and Shopify. We can hand off to your team or ship the build ourselves. For complex products, we partner with our in-house engineers." }, { q: <>We're early-stage. Too small?, a: "Nope. We work with pre-seed founders all the way to Series C. We have a stripped-down 3-week 'starter brand' engagement specifically for founders going from zero to one." }, { q: <>Will you sign an NDA?, a: "Always. We can also set up private project rooms in Notion / Slack and use named-user access for figma files." }, { q: <>Where are you based?, a: "Studio in Koramangala, Bengaluru. We work with clients across India, the US, the UK, and Singapore. Mostly remote, occasionally on-site." }, ]; const [open, setOpen] = useState2(0); return (
FAQ Β· the awkward ones

The questions you actually have.

If yours isn't here, mail us at hello@viralinbound.in and we'll answer fast.

{items.map((it, i) => (
setOpen(open === i ? -1 : i)} data-cursor="hot" data-label={open === i ? "CLOSE" : "OPEN"}>
{it.q} +

{it.a}

))}
); } /* ---------- CONTACT ---------- */ function Contact() { const [formData, setFormData] = useState2({ name: "", email: "", phone: "", service: "Branding", budget: "$5k - $15k", message: "" }); const [status, setStatus] = useState2("idle"); // idle, sending, success, error const handleInputChange = (e) => { const { name, value } = e.target; setFormData((prev) => ({ ...prev, [name]: value })); }; const handleSelectService = (service) => { setFormData((prev) => ({ ...prev, service })); }; const handleSelectBudget = (budget) => { setFormData((prev) => ({ ...prev, budget })); }; const handleSubmit = (e) => { e.preventDefault(); setStatus("sending"); fetch("submit-lead.php", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify(formData) }) .then((res) => res.json()) .then((data) => { if (data.status === "success") { setStatus("success"); setFormData({ name: "", email: "", phone: "", service: "Branding", budget: "$5k - $15k", message: "" }); } else { setStatus("error"); } }) .catch((err) => { console.error(err); setStatus("error"); }); }; return (
Step one Β· say hi

You bring the ambition.
We bring the noise.

{/* Eye-catching floating, rotating badge */} ✦ SECURE BRIEF BUILDER ⚑ hello@viralinbound.in
{/* Expanding Neobrutalist Form Section - Permanently Visible */}
{status === "success" ? (
βš‘πŸš€βš‘

BRIEF RECEIVED!

We've captured your details in our secure vault. Your phone will probably buzz in a few minutes, because we're loud like that.

) : (
{["Branding", "UI / UX", "Website", "Full Stack"].map((svc) => ( ))}
{["< $5k", "$5k - $15k", "$15k - $30k", "$30k+"].map((bud) => ( ))}