// Shared primitives: Button, Eyebrow, Input, Section, Container, Pop title const Button = ({children, variant="primary", size="md", as="button", icon, ...rest}) => { const base = { fontFamily: "var(--font-display)", textTransform: "uppercase", letterSpacing: "0.04em", border: 0, cursor: "pointer", display: "inline-flex", alignItems: "center", gap: 10, transition: "transform .15s var(--ease-snap), box-shadow .15s var(--ease-snap), background .15s", fontSize: size === "sm" ? 12 : size === "lg" ? 16 : 14, padding: size === "sm" ? "8px 14px" : size === "lg" ? "18px 28px" : "14px 22px", textDecoration: "none", whiteSpace: "nowrap", }; const variants = { primary: { background: "var(--color-cyan)", color: "#000", boxShadow: "6px 6px 0 var(--color-pink)" }, pink: { background: "var(--color-pink)", color: "#000", boxShadow: "6px 6px 0 var(--color-cyan)" }, mustard: { background: "#f7b829", color: "#2b2b2b", boxShadow: "6px 6px 0 #000" }, outlined:{ background: "transparent", color: "var(--color-fg)", border: "2px solid var(--color-fg)" }, "outlined-cyan": { background: "transparent", color: "var(--color-cyan)", border: "2px solid var(--color-cyan)" }, ghost: { background: "transparent", color: "var(--color-cyan)", fontFamily: "var(--font-sans)", fontWeight: 600, textTransform: "none", letterSpacing: 0, padding: "8px 0", borderBottom: "1px solid var(--color-cyan)" }, }; const Tag = as; const onMouseDown = (e) => { e.currentTarget.style.transform = "translate(2px,2px)"; const cur = variants[variant].boxShadow; if (cur && cur.includes("6px")) e.currentTarget.style.boxShadow = cur.replace("6px 6px","2px 2px"); }; const onMouseUp = (e) => { e.currentTarget.style.transform = "translate(0,0)"; e.currentTarget.style.boxShadow = variants[variant].boxShadow || "none"; }; return {children}{icon}; }; const Eyebrow = ({children, color="var(--color-pink)", as="span"}) => { const Tag = as; return — {children}; }; const Input = ({label, hint, ...rest}) => ( ); const Textarea = ({label, hint, rows=4, ...rest}) => (