/* Abstract decorative shapes — simple primitives only (circles, rects, lines, arcs). No hand-drawn people. Used for hero, page banners, team avatars. */ const { useMemo } = React; // ---- Hero art: layered organic composition ---- function PPHeroArt() { return ( ); } // ---- Section banner (small decorative strip) ---- function PPBanner({ tone = "warm" }) { return ( ); } // ---- Team avatar: deterministic geometric portrait (no human drawings) ---- function PPAvatar({ hue = 1, name = "" }) { // Take initials so the avatar still reads as a person const initials = useMemo(() => { const parts = name.replace(/^(mgr|dr|MA|PhD)\.?\s*/i, "").trim().split(/\s+/); return parts.slice(0, 2).map((p) => p[0] || "").join("").toUpperCase(); }, [name]); const palettes = [ ["#c97b4e", "#f7e3d2"], ["#8b6f47", "#efe8dc"], ["#6a5232", "#e8d5b5"], ["#a78b5f", "#f4e7d1"], ["#7e5a3a", "#ead4ba"], ["#b88555", "#f1dec3"], ["#9c6f3d", "#ecdcc0"], ["#5d4126", "#e3d0b3"], ]; const [c1, c2] = palettes[(hue - 1) % palettes.length]; return ( ); } // ---- Logo mark ---- function PPLogoMark() { return ( ); } // ---- Map illustration (Lubraniec area schematic; abstract, not a real map) ---- function PPMapArt() { return ( ); } // ---- Service category icon (geometric only) ---- function PPServiceIcon({ idx }) { const variants = [ // 0 — concentric circles , // 1 — overlapping rounded squares , // 2 — three dots in arc (sound wave-like) , // 3 — book lines , // 4 — sparkle / sensory , // 5 — seedling , ]; return ( ); } Object.assign(window, { PPHeroArt, PPBanner, PPAvatar, PPLogoMark, PPMapArt, PPServiceIcon });