'use client'; import Image from 'next/image'; import { useEffect, useRef } from 'react'; import styles from './HowItWorks.module.css'; export default function HowItWorks() { const sectionRef = useRef(null); useEffect(() => { const observer = new IntersectionObserver( (entries) => { entries.forEach((entry) => { if (entry.isIntersecting) { entry.target.classList.add(styles.visible); } }); }, { threshold: 0.1 } ); const steps = sectionRef.current?.querySelectorAll(`.${styles.stepItem}`); steps?.forEach((step) => observer.observe(step)); return () => observer.disconnect(); }, []); const steps = [ { number: '01', title: 'Discovery Session', description: 'We begin by understanding your brand goals, audience behavior, and existing social presence to identify opportunities.', icon: '/images/home/discovery.webp', }, { number: '02', title: 'Planning & Direction', description: 'Insights gathered are translated into a focused roadmap covering content themes, platforms, timelines, and success metrics.', icon: '/images/home/plan.webp', }, { number: '03', title: 'Execution Phase', description: 'Content is created, scheduled, and managed with precision, ensuring consistency across channels and alignment with strategy.', icon: '/images/home/execution.webp', }, { number: '04', title: 'Outcome & Optimization', description: 'Performance is evaluated using clear metrics, allowing continuous refinement and improvement for stronger long-term results.', icon: '/images/home/outcome.webp', }, ]; return (
Our Work Process

A Clear, Structured
Path to Social Growth

{steps.map((step, index) => (
{/* Number Circle Left */}
{step.number}
{/* Content Capsule */}

{step.title}

{step.description}

{step.title}
{/* Manual connecting line logic for visual flow if needed (CSS pseudo-element ::before handles main vertical line) */}
))}
); }