/* MANIFESTO — editorial: quiet panel with a long pull-quote that fills the page, small caption rail, no portrait. */ function Manifesto({ t }) { const ref = React.useRef(null); const [progress, setProgress] = React.useState(0); React.useEffect(() => { const onScroll = () => { if (!ref.current) return; const r = ref.current.getBoundingClientRect(); const v = Math.max(0, Math.min(1, (window.innerHeight - r.top) / (window.innerHeight + r.height))); setProgress(v); }; onScroll(); window.addEventListener("scroll", onScroll, { passive: true }); return () => window.removeEventListener("scroll", onScroll); }, []); const words = t.manifestoText.split(" "); return (
02 {t.manifestoEyebrow}
{t.manifestoLoc}

{words.map((w, i) => { const wordPos = i / words.length; const localProgress = Math.max(0, Math.min(1, (progress * 1.5 - 0.10 - wordPos) * 4)); return ( {w}{" "} ); })}

— Natalia {t.manifestoFootNote}
{t.tag1} {t.tag2} {t.tag3} {t.tag4}
); } window.Manifesto = Manifesto;