// HowItWorks — engagement model for AdOpsify (replaces nutriAI scan steps) const HowItWorks = () => { const ref = React.useRef(null); React.useEffect(() => { if (!window.gsap || !window.ScrollTrigger) return; const steps = ref.current.querySelectorAll(".hstep"); window.gsap.from(steps, { scrollTrigger: { trigger: ref.current, start: "top 70%" }, y: 50, opacity: 0, duration: 0.9, stagger: 0.12, ease: "expo.out", }); }, []); const steps = [ { n: "01", tint: "var(--brand-cobalt)", chip: "Audit", t: "Audit your stack", d: "We inspect your DSP setup, tracking, attribution, and creative pipeline — and tell you what's leaking. Free, 48-hour turnaround.", }, { n: "02", tint: "var(--brand-violet)", chip: "Plan", t: "Build the media plan", d: "Channels, audiences, creatives, KPIs, frequency caps, brand-safety rules. One page, signed off, before any dollar moves.", }, { n: "03", tint: "var(--brand-orange)", chip: "Launch", t: "Activate & operate", d: "Senior traders run the buy daily. Creative is QA'd against IAS / DV. You see live spend, pacing, and KPI dashboards in your inbox.", }, { n: "04", tint: "var(--brand-crimson)", chip: "Optimize", t: "Measure, then move", d: "Weekly readouts. Brand-lift, incrementality, MMM. We kill what doesn't work — fast — and double down on what does.", }, ]; return (
How we engage

Four phases, no hand-offs.

Same team plans, buys, and measures — so the strategist who pitched the plan is the one watching the dashboard at 11 p.m.

{steps.map(s => (
{s.n}
{s.chip}

{s.t}

{s.d}

))}
); }; window.HowItWorks = HowItWorks;