// Shared SVG photo-placeholder component // Uses subtly-striped, moss-toned blocks with mono caption + index // Generated palette derived from forest-green primary const PALETTES = [ ["#1f2d22", "#34493a", "#5d7a63"], // forest dim ["#243029", "#3a4f43", "#6e8576"], // dusk ["#0f1a14", "#243d2e", "#41614f"], // deep ["#2c3a2f", "#465e4b", "#7a967f"], // sage ["#1a261d", "#2f4434", "#557559"], // moss ["#0d1410", "#1d2a21", "#36493b"], // night ["#22332a", "#3e5644", "#688566"], // pine ["#172420", "#2b3e35", "#48635a"], // hemlock ]; function PhotoPlaceholder({ seed = 0, label, num, ratio = "4/5", style = {}, className = "", showCap = true }) { const pal = PALETTES[seed % PALETTES.length]; const angle = [12, -8, 22, -18, 35, -28, 5, -45][seed % 8]; const stripeW = [80, 120, 50, 180, 90, 140][seed % 6]; return (