/* Top navigation + Hero (light, SnowPay-style, responsive). */ const { Logo, Button, Icon } = window.HudsonPayDesignSystem_198a48; function Nav({ onNav, onPage }) { const { useIsMobile } = window.HPSite; const mobile = useIsMobile(); const [scrolled, setScrolled] = React.useState(false); const [open, setOpen] = React.useState(false); React.useEffect(() => { const root = document.getElementById("hp-scroll") || window; const get = () => (root === window ? window.scrollY : root.scrollTop); const onScroll = () => setScrolled(get() > 20); root.addEventListener("scroll", onScroll); return () => root.removeEventListener("scroll", onScroll); }, []); const go = (t) => { setOpen(false); onNav(t); }; const link = (label, target) => ( ); const pill = (children, onClick, filled) => ( ); return (
{!mobile && ( )} {!mobile ? (
{pill("Sign In", () => onPage("signin"), false)} {pill("Get Started", () => onPage("getstarted"), true)}
) : ( )}
{/* mobile drawer */} {mobile && open && (
{[["Partners", "partners"], ["Solutions", "solutions"], ["Contact", "contact"]].map(([l, t]) => ( ))}
)}
); } function Hero({ onPage, onNav }) { const { Container, CurrencyRing, WaveField, useIsMobile } = window.HPSite; const mobile = useIsMobile(); return (

Hudson
Pay

Where global payment infrastructure meets global ambition

Hudson Pay empowers businesses and institutions with secure, scalable, and borderless financial infrastructure.

{!mobile && (
Access institutional-grade
OTC trading
)}
); } Object.assign(window, { HPParts: Object.assign(window.HPParts || {}, { Nav, Hero }) });