// Inline SM circle — true transparent background, scales crisply at any size. function SmCircleMark({ size = 44 }) { return ( ); } window.SmCircleMark = SmCircleMark; // Homepage Nav — fixed, transparent over hero, hairline + cream blur on scroll. function HpNav() { const [scrolled, setScrolled] = React.useState(false); React.useEffect(() => { const onScroll = () => setScrolled(window.scrollY > 40); window.addEventListener("scroll", onScroll); return () => window.removeEventListener("scroll", onScroll); }, []); // Resolve a section anchor: scroll if on homepage, otherwise navigate cross-page. const isHome = (() => { const p = window.location.pathname; return p.endsWith("/") || p.endsWith("index.html") || p === ""; })(); const anchor = (id) => isHome ? `#${id}` : `index.html#${id}`; const navStyle = { background: scrolled ? "rgba(244, 239, 230, 0.82)" : "transparent", backdropFilter: scrolled ? "blur(16px)" : "none", WebkitBackdropFilter: scrolled ? "blur(16px)" : "none", borderBottom: scrolled ? "1px solid var(--rule)" : "1px solid transparent", }; return (
ScaleMedia
); } window.HpNav = HpNav;