// All section blocks used across pages — minimal aesthetic, restrained type const { Container, Eyebrow, Btn, Placeholder, Tag, Reveal, RevealWords } = window.Primitives; const { ArrowRight, Plus, SLogoImg } = window.Icons; // ─────────── HERO (home) — luxury slideshow ─────────── const HERO_SLIDES = [ { src: 'https://images.unsplash.com/photo-1567157577867-05ccb1388e66?w=2400&q=85', label: 'Urban India · dusk' }, { src: 'https://images.unsplash.com/photo-1517457373958-b7bdd4587205?w=2400&q=85', label: 'Creator space' }, { src: 'https://images.unsplash.com/photo-1582719508461-905c673771fd?w=2400&q=85', label: 'Conversations · India' }, { src: 'https://images.unsplash.com/photo-1611605698335-8b1569810432?w=2400&q=85', label: 'Mumbai · everyday energy' }, { src: 'https://images.unsplash.com/photo-1554118811-1e0d58224f24?w=2400&q=85', label: 'Community energy' }, { src: 'https://images.unsplash.com/photo-1483985988355-763728e1935b?w=2400&q=85', label: 'In conversation' }]; const Hero = () => { const [active, setActive] = React.useState(0); React.useEffect(() => { // Preload only the next slide ahead of time; the first one renders immediately. const t = setInterval(() => setActive((a) => (a + 1) % HERO_SLIDES.length), 5500); return () => clearInterval(t); }, []); return (
{HERO_SLIDES.map((s, i) =>
)} {/* Cinematic gradient: dark sky → mid-tone centre → deep base for type */}
{/* Magenta + violet film wash */}
{/* Vignette */}
{/* Film grain */}
")` }} />
{/* Slide indicator removed per design */}

Brands, in conversation
with India.

Influencer marketing and strategic communication.

See Our Work Get In Touch
); }; // ─────────── CREDIBILITY BAR ─────────── // Count-up hook — animates a number from 0 → target when scrolled into view. const useCountUp = (target, { duration = 1600, suffix = '+' } = {}) => { const ref = React.useRef(null); const [display, setDisplay] = React.useState('0'); React.useEffect(() => { if (!ref.current) return; let raf; const node = ref.current; const fmt = (v) => { // big numbers: append 'M' suffix style if target was 100M if (target >= 1_000_000) return (v / 1_000_000).toFixed(0) + 'M' + suffix; return Math.round(v) + suffix; }; const animate = () => { const start = performance.now(); const tick = (now) => { const t = Math.min(1, (now - start) / duration); const eased = 1 - Math.pow(1 - t, 3); setDisplay(fmt(target * eased)); if (t < 1) raf = requestAnimationFrame(tick); }; raf = requestAnimationFrame(tick); }; const io = new IntersectionObserver(([e]) => { if (e.isIntersecting) {animate();io.disconnect();} }, { threshold: 0.4 }); io.observe(node); return () => {io.disconnect();if (raf) cancelAnimationFrame(raf);}; }, [target, duration, suffix]); return [ref, display]; }; const Stat = ({ index, total, value, target, suffix, label, detail, accent, barPct }) => { // If target is provided, use count-up; else render static value (e.g. "Mumbai") const [ref, counted] = target != null ? useCountUp(target, { suffix: suffix || '+' }) : [null, null]; const accentColor = accent === 'indigo' ? 'var(--indigo)' : 'var(--pink)'; return (
0 ? '1px solid var(--line)' : 'none', display: 'flex', flexDirection: 'column', gap: 12, position: 'relative' }}> {/* Top row: breathing pulse dot */}
{/* Micro accent bar — width hints at relative scale */} {/* The number */}
{target != null ? counted : value}
{/* Label + italic serif sub-detail */}
{label}
{detail}
); }; const Credibility = () => { const stats = [ { target: 20, suffix: '+', label: 'Consumer brands', detail: 'creator-led work', accent: 'pink', barPct: 28 }, { target: 100_000_000, suffix: '+', label: 'Audience reached', detail: 'through creator-led work', accent: 'indigo', barPct: 92 }, { target: 5, suffix: '+', label: 'Years of practice', detail: 'in Indian consumer marketing', accent: 'pink', barPct: 18 }]; // mobile marquee triple const mobileItems = [...stats, ...stats, ...stats]; return (
{/* Subtle radial accent in the background */}
{/* Section eyebrow strip */}
The shape of the work
{/* Desktop grid */} {stats.map((s, i) => )} {/* Mobile auto-scrolling marquee — simplified card-style */}
{mobileItems.map((s, i) => { const accentColor = s.accent === 'indigo' ? 'var(--indigo)' : 'var(--pink)'; return (
{s.value || (s.target >= 1_000_000 ? '100M+' : s.target + (s.suffix || '+'))}
{s.label}
{s.detail}
); })}
{/* Category line removed */}
); }; // ─────────── CINEMATIC BREAK — full-bleed image moment ─────────── const CinematicBreak = ({ src, quote, attribution }) =>
A note on the work

“{quote}”

{attribution}
; const MARQUEE_LOGOS = [ { name: 'Amazon', file: 'assets/logos/amazon.png', w: 140 }, { name: 'Schwarzkopf', file: 'assets/logos/schwarzkopf.png', w: 170 }, { name: 'Cadbury', file: 'assets/logos/cadbury.jpg', w: 130, bg: true }, { name: 'Tuborg', file: 'assets/logos/tuborg.png', w: 140 }, { name: 'Welspun', file: 'assets/logos/welspun.png', w: 200 }, { name: 'Mochi', file: 'assets/logos/mochi.png', w: 120 }, { name: 'Timezone', file: 'assets/logos/timezone.jpg', w: 170, bg: true }, { name: 'Pocket 52', file: 'assets/logos/pocket52.png', w: 170 }, { name: 'Fratelli', file: 'assets/logos/fratelli.png', w: 90 }, { name: 'Instamart', file: 'assets/logos/instamart.png', w: 110 }, { name: 'Joy', file: 'assets/logos/joy.png', w: 130 }, { name: 'Sunfeast', file: 'assets/logos/sunfeast.jpg', w: 110, bg: true }, { name: 'Sylvi', file: 'assets/logos/sylvi.png', w: 150 }, { name: 'Max', file: 'assets/logos/max.jpg', w: 130, bg: true }, { name: 'Azorte', file: 'assets/logos/azorte.jpg', w: 150, bg: true }, { name: 'Eatopia', file: 'assets/logos/eatopia.png', w: 110 }]; const LogoStrip = () => { const all = [...MARQUEE_LOGOS, ...MARQUEE_LOGOS]; return (
Brands worked across
{/* Desktop: auto-marquee. Mobile: native horizontal scroll w/ snap */}
{all.map((b, i) =>
{b.name}
)}
); }; // ─────────── ABOUT THE AGENCY (home) ─────────── const AboutTease = () =>
About the agency

An influencer marketing and strategic communication agency, helping brands earn presence where attention turns into trust.

We build creator ecosystems, shape narratives, and place brands inside the conversations that influence decisions, before people search, compare, or buy.

The work is built on years of creator-led campaigns across consumer categories. The discipline is what carries it forward.

More about the agency
; // ─────────── SERVICES TEASE (home) ─────────── const ServicesTease = () =>
How we work

Two disciplines. One pursuit.

Authentic creator-led work, done consistently over time, earns the kind of presence that turns into trust.

; const ServiceCardLite = ({ number, title, accent, lead, body, href }) => { const accentColor = accent === 'indigo' ? 'var(--indigo)' : 'var(--pink)'; return (
Service

{title}

{lead}

{body}

Learn more
); }; // ─────────── FULL SERVICE CARD (services page) ─────────── const ServiceCardFull = ({ number, title, accent, lead, body, formats, suited, id }) => { const accentColor = accent === 'indigo' ? 'var(--indigo)' : 'var(--pink)'; return (
Service

{title}

{lead}

{body}

{formats &&
What's included
{formats.map(([f, d], i) =>
{f}
{d}
)}
} {suited &&
Best suited for
{suited.map((s, i) =>
{s}
)}
}
Start a conversation
); }; // ─────────── FOUNDER ─────────── const Founder = ({ compact = false }) =>
Jimit Panchal
Founder · Socializare
From the founder

Not more creative. Not bigger. Better.

I started Socializare because I believed the work could be better. Not more creative. Not bigger. Better.

That means choosing creators on fit, not followers. Building partnerships that last years, not weeks. Placing brands inside conversations that actually influence decisions.

This comes from years of creator-led work across retail, beauty, beverage, gaming, home, entertainment, and travel. Every project taught me what works and what doesn't.

What I'm building now is the discipline that carries that learning forward.

Jimit

; // ─────────── FAQ ─────────── const FAQ = () => { const [open, setOpen] = React.useState(0); const items = [ { q: "What is Socializare's specialism?", a: "Socializare works as an influencer marketing and strategic communication agency for brands serious about the Indian consumer. Our depth is in creator-led campaigns and long-term brand positioning, with experience across travel, retail, beauty, beverage, gaming, home, and entertainment. The thread connecting all of it is familiarity, building brands the Indian consumer recognises and trusts before they're in the market." }, { q: "Does Socializare only work on travel?", a: "No. Travel is a specialism, not a constraint. We work with consumer brands across most categories serious about the Indian audience." }, { q: "How does Socializare select creators for a campaign?", a: "Three things: audience fit (do their viewers match the brand's actual buyer), content quality (does their existing work clear the bar the brand needs), and genuine relevance (would the partnership make sense to the audience without being explained). Follower counts inform the decision but don't drive it. The cost of the wrong creator is always greater than the cost of finding the right one." }, { q: "How is the work measured?", a: "Measurement depends on the brief. Awareness campaigns are measured against reach, engagement, and audience composition. Consideration campaigns are measured against saves, search lift, and qualitative response. The comments section is data, not noise. Strategic communication is measured against share of voice, perception movement, and the position the brand holds in unprompted recall. We don't promise outcomes we can't define before the work starts." }, { q: "What does an engagement with Socializare look like?", a: "Three shapes. One-off campaigns, run around a brand launch, a seasonal moment, or a market-entry need. Always-on retainers, structured around three to twelve months. And strategic communication mandates, which work on a longer arc, typically twelve months and up. Most enquiries start with one shape and expand into another." }]; return (
Common questions

What prospects ask before they reach out.

Don't see your question? Ask us directly. We usually reply the same day.

{items.map((it, i) => setOpen(open === i ? -1 : i)} /> )}
); }; const FAQItem = ({ q, a, open, onClick }) =>

{q}

{a}

; // ─────────── CTA STRIP ─────────── const CTAStrip = ({ title, sub, ctaLabel = 'Get in touch', ctaHref = '/contact' }) =>
Get in touch

{title}

{sub}

; window.Blocks = { Hero, Credibility, LogoStrip, AboutTease, ServicesTease, ServiceCardLite, ServiceCardFull, Founder, FAQ, CTAStrip, CinematicBreak };