// Solutia V4 — Editorial-style. Mare bloc de text (manifesto), 3 piloni mari sub el. Nu e hero. const { useState: useStateSolV4, useEffect: useEffectSolV4, useRef: useRefSolV4 } = React; // Re-triggerable: toggle inView on enter/exit. CSS transition replays on each // transition from out→in. const useInViewSolV4 = (threshold = 0.25) => { const ref = useRefSolV4(null); const [inView, setInView] = useStateSolV4(false); useEffectSolV4(() => { if (!ref.current) return; const io = new IntersectionObserver((entries) => { for (const e of entries) setInView(e.isIntersecting); }, { threshold, rootMargin: "0px 0px -10% 0px" }); io.observe(ref.current); return () => io.disconnect(); }, [threshold]); return [ref, inView]; }; const PillarsV4 = [ { n: "1", title: "Încredere", body: "Sunăm toate comenzile plasate și abandonate ca tu să ai cel mai mare câștig. Sunăm, confirmăm, iar tu sau centrul tău de fulfillment trimite comanda.", chip: "Suntem echipa ta", }, { n: "2", title: "Sunăm sute de comenzi pe zi", body: "Sunăm sute de comenzi în doar câteva ore, toate comenzile sunt confirmate și gata de livrare până în ora pe care ne-o comunici.", chip: "Scalăm împreună", }, { n: "3", title: "One Minute Rule", body: "Timpul înseamnă bani, de aceea confirmăm comenzile telefonic în maxim 1 minut. Cu cât ne mișcăm mai repede, cu atât mai repede poți expedia comenzile confirmate.", chip: "Rapizi și eficienți", }, ]; const SolutiaV4 = () => { const [headlineRef, headlineIn] = useInViewSolV4(0.25); return (