[object Object]

← back to Social Profile Kits

remove dead domains brazilliancewallpaper.com + dohngia.com (expired 2026-05-04)

56dfb60a7ca264345b339549d0d73640fa00518e · 2026-05-18 13:02:09 -0700 · Steve Abrams

Files touched

Diff

commit 56dfb60a7ca264345b339549d0d73640fa00518e
Author: Steve Abrams <steve@designerwallcoverings.com>
Date:   Mon May 18 13:02:09 2026 -0700

    remove dead domains brazilliancewallpaper.com + dohngia.com (expired 2026-05-04)
---
 brands.json                                        | 2210 ++++++++++----------
 brazilliancewallpaper.com/credentials-template.txt |   10 -
 brazilliancewallpaper.com/ig-bio.txt               |    1 -
 brazilliancewallpaper.com/ig-display-name.txt      |    1 -
 brazilliancewallpaper.com/ig-first-3-posts.md      |   17 -
 brazilliancewallpaper.com/ig-handle-candidates.txt |    5 -
 brazilliancewallpaper.com/image-specs.md           |   10 -
 brazilliancewallpaper.com/link-in-bio.json         |   18 -
 brazilliancewallpaper.com/profile.json             |   46 -
 brazilliancewallpaper.com/x-bio.txt                |    1 -
 brazilliancewallpaper.com/x-display-name.txt       |    1 -
 brazilliancewallpaper.com/x-first-3-posts.md       |   17 -
 brazilliancewallpaper.com/x-handle-candidates.txt  |    5 -
 ig-only.md                                         |   19 -
 x-only.md                                          |   19 -
 15 files changed, 1085 insertions(+), 1295 deletions(-)

diff --git a/brands.json b/brands.json
index 27180e6..75934eb 100644
--- a/brands.json
+++ b/brands.json
@@ -1,5 +1,5 @@
 {
-  "_comment": "Top-10 flagship brand asset kits for X + Instagram signup. All copy is paste-ready. Image specs only — no generation. Per Steve standing rule: brand display = domain stem, no fake names, address = DW office Sherman Oaks. Email = info@<domain> via Purelymail. Char limits enforced: X bio 160 / IG bio 150 / X display 50 / IG display 30 / X handle 15 / IG handle 30 / X post 280.",
+  "_comment": "Top-10 flagship brand asset kits for X + Instagram signup. All copy is paste-ready. Image specs only \u2014 no generation. Per Steve standing rule: brand display = domain stem, no fake names, address = DW office Sherman Oaks. Email = info@<domain> via Purelymail. Char limits enforced: X bio 160 / IG bio 150 / X display 50 / IG display 30 / X handle 15 / IG handle 30 / X post 280.",
   "shared": {
     "owner_email": "steveabramsdesigns@gmail.com",
     "office_address": "15442 Ventura Bl #102, Sherman Oaks CA 91403",
@@ -21,11 +21,11 @@
           "ShopDesignerWalls"
         ],
         "display_name": "Designer Wallcoverings",
-        "bio": "Trade-respected wallpaper, fabric & finishes since 2003. 70+ luxury brands. Free designer samples. Sherman Oaks · ships worldwide.",
+        "bio": "Trade-respected wallpaper, fabric & finishes since 2003. 70+ luxury brands. Free designer samples. Sherman Oaks \u00b7 ships worldwide.",
         "first_posts": [
-          "Designer Wallcoverings, established 2003 — your trade source for the wallcoverings, fabrics & finishes specified at the highest level. Free designer samples on every product. https://designerwallcoverings.com",
+          "Designer Wallcoverings, established 2003 \u2014 your trade source for the wallcoverings, fabrics & finishes specified at the highest level. Free designer samples on every product. https://designerwallcoverings.com",
           "Why we exist: every brand we carry is selected for trade-quality, lead-time honesty & samples on demand. No filler. No fluff. 70+ houses, one ordering experience.",
-          "Designers — order free samples on any wallcovering or fabric. No paperwork, no minimums, no follow-up call. Ship from LA, same day on most. https://designerwallcoverings.com/samples"
+          "Designers \u2014 order free samples on any wallcovering or fabric. No paperwork, no minimums, no follow-up call. Ship from LA, same day on most. https://designerwallcoverings.com/samples"
         ]
       },
       "ig": {
@@ -36,17 +36,17 @@
           "dw.wallcoverings"
         ],
         "display_name": "Designer Wallcoverings",
-        "bio": "Trade source for luxury wallpaper, fabric & finishes since 2003.\n70+ houses · free designer samples · LA-based.\nOrder samples ↓",
+        "bio": "Trade source for luxury wallpaper, fabric & finishes since 2003.\n70+ houses \u00b7 free designer samples \u00b7 LA-based.\nOrder samples \u2193",
         "first_posts": [
-          "Welcome. We're Designer Wallcoverings — trade-respected source for luxury wallpaper, fabric & finishes since 2003. 70+ houses under one ordering experience. #wallpaper #interiordesign #trade",
+          "Welcome. We're Designer Wallcoverings \u2014 trade-respected source for luxury wallpaper, fabric & finishes since 2003. 70+ houses under one ordering experience. #wallpaper #interiordesign #trade",
           "Free designer samples on every product. No minimums, no follow-up call, no paperwork. Tap link in bio. #designersample #interiordesigner",
           "Behind every wallcovering: a sourcing process, a vendor relationship, a lead time we honor. Trade-quality only. #wallcovering #luxuryinterior"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo card: 'DW' monogram in cream serif on ink-blue field. 400×400.",
+        "profile_pic_400": "Square logo card: 'DW' monogram in cream serif on ink-blue field. 400\u00d7400.",
         "header_1500x500": "Wide rolled-wallpaper still life on linen surface, top-down crop. Hero-grade.",
-        "ig_header_1080x566": "Same as header but cropped 1080×566 for IG grid display."
+        "ig_header_1080x566": "Same as header but cropped 1080\u00d7566 for IG grid display."
       }
     },
     {
@@ -61,10 +61,10 @@
           "novasuedeUS"
         ],
         "display_name": "novasuede",
-        "bio": "Performance suede wallcovering — tactile luxury, engineered durability. Free designer samples. Made for hospitality, residential & trade.",
+        "bio": "Performance suede wallcovering \u2014 tactile luxury, engineered durability. Free designer samples. Made for hospitality, residential & trade.",
         "first_posts": [
-          "novasuede — the suede wallcovering you can specify in places suede has never been allowed. Performance-grade, designer-loved. https://novasuede.com",
-          "Why suede on walls: depth, sound dampening, and a tactility no print achieves. Why novasuede: it's actually spec-able. Free designer samples → link.",
+          "novasuede \u2014 the suede wallcovering you can specify in places suede has never been allowed. Performance-grade, designer-loved. https://novasuede.com",
+          "Why suede on walls: depth, sound dampening, and a tactility no print achieves. Why novasuede: it's actually spec-able. Free designer samples \u2192 link.",
           "Samples ship same day in LA. Every colorway hand-loomed. Trade-only pricing. https://novasuede.com/samples"
         ]
       },
@@ -76,17 +76,17 @@
           "novasuede.us"
         ],
         "display_name": "novasuede",
-        "bio": "Performance suede wallcovering.\nTactile luxury, engineered durability.\nFree designer samples ↓",
+        "bio": "Performance suede wallcovering.\nTactile luxury, engineered durability.\nFree designer samples \u2193",
         "first_posts": [
-          "novasuede — performance suede wallcovering for the spaces suede has never been allowed. #suede #wallcovering #luxuryinterior",
+          "novasuede \u2014 performance suede wallcovering for the spaces suede has never been allowed. #suede #wallcovering #luxuryinterior",
           "The depth a print can't fake. The performance suede has never had. #novasuede #performancetextile",
           "Samples ship same day. Trade pricing. Link in bio. #interiordesigner #wallcovering"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Tight macro of charcoal suede grain, faint 'ns' monogram bottom-right. 400×400.",
-        "header_1500x500": "Hero from novasuede.com — full-bleed suede swatch wall, raking light.",
-        "ig_header_1080x566": "Crop of header to 1080×566."
+        "profile_pic_400": "Tight macro of charcoal suede grain, faint 'ns' monogram bottom-right. 400\u00d7400.",
+        "header_1500x500": "Hero from novasuede.com \u2014 full-bleed suede swatch wall, raking light.",
+        "ig_header_1080x566": "Crop of header to 1080\u00d7566."
       }
     },
     {
@@ -103,9 +103,9 @@
         "display_name": "Philippe Romano",
         "bio": "Hand-finished wallcoverings from the atelier. Small-batch, design-led, trade-direct. Free samples. East-Coast collection now shipping.",
         "first_posts": [
-          "Welcome to the Philippe Romano atelier — hand-finished wallcoverings, small batches, design-led pattern. Free samples on every reference. https://philipperomano.com",
+          "Welcome to the Philippe Romano atelier \u2014 hand-finished wallcoverings, small batches, design-led pattern. Free samples on every reference. https://philipperomano.com",
           "Each colorway is hand-tuned before it ships. We don't carry filler, only the patterns we'd specify ourselves. Trade-direct, no middle layer.",
-          "The East-Coast collection — beach-town patterns rendered in atelier-grade ground. Now sampling free to the trade. https://philipperomano.com"
+          "The East-Coast collection \u2014 beach-town patterns rendered in atelier-grade ground. Now sampling free to the trade. https://philipperomano.com"
         ]
       },
       "ig": {
@@ -116,16 +116,16 @@
           "atelier.philipperomano"
         ],
         "display_name": "Philippe Romano",
-        "bio": "Hand-finished wallcoverings from the atelier.\nSmall-batch · design-led · trade-direct.\nFree samples ↓",
+        "bio": "Hand-finished wallcoverings from the atelier.\nSmall-batch \u00b7 design-led \u00b7 trade-direct.\nFree samples \u2193",
         "first_posts": [
           "Hand-finished wallcoverings, made in small batches. Welcome to the Philippe Romano atelier. #wallcovering #atelier #handfinished",
-          "Each colorway hand-tuned before it ships. No filler — only patterns we'd specify ourselves. #philipperomano",
-          "East-Coast collection — beach-town patterns, atelier-grade ground. Link in bio. #interiordesigner #trade"
+          "Each colorway hand-tuned before it ships. No filler \u2014 only patterns we'd specify ourselves. #philipperomano",
+          "East-Coast collection \u2014 beach-town patterns, atelier-grade ground. Link in bio. #interiordesigner #trade"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Wax-seal-style 'PR' monogram in deep wine on cream. 400×400.",
-        "header_1500x500": "Hand-painting in progress — brush, pattern, paper roll, soft window light.",
+        "profile_pic_400": "Wax-seal-style 'PR' monogram in deep wine on cream. 400\u00d7400.",
+        "header_1500x500": "Hand-painting in progress \u2014 brush, pattern, paper roll, soft window light.",
         "ig_header_1080x566": "Cropped atelier-bench top-down shot."
       }
     },
@@ -141,11 +141,11 @@
           "naturalcork_co"
         ],
         "display_name": "Cork Wallcovering",
-        "bio": "Natural cork wallcoverings — sustainable, sound-absorbing, biophilic. Free designer samples. Trade pricing.",
+        "bio": "Natural cork wallcoverings \u2014 sustainable, sound-absorbing, biophilic. Free designer samples. Trade pricing.",
         "first_posts": [
           "Cork on walls: sustainable, sound-absorbing, warm to the touch. The original biophilic material. Free designer samples. https://corkwallcovering.com",
           "Why cork: harvested from living trees without felling them, regenerates every 9 years, absorbs sound, and never goes out of style.",
-          "Order free samples — natural, dyed, and gilded cork in every grain density. Trade pricing on the bolt. https://corkwallcovering.com"
+          "Order free samples \u2014 natural, dyed, and gilded cork in every grain density. Trade pricing on the bolt. https://corkwallcovering.com"
         ]
       },
       "ig": {
@@ -156,16 +156,16 @@
           "naturalcork.co"
         ],
         "display_name": "Cork Wallcovering",
-        "bio": "Natural cork wallcoverings.\nSustainable · sound-absorbing · biophilic.\nFree designer samples ↓",
+        "bio": "Natural cork wallcoverings.\nSustainable \u00b7 sound-absorbing \u00b7 biophilic.\nFree designer samples \u2193",
         "first_posts": [
-          "The original biophilic material — cork. Sustainable, sound-absorbing, warm. #cork #biophilicdesign #wallcovering",
+          "The original biophilic material \u2014 cork. Sustainable, sound-absorbing, warm. #cork #biophilicdesign #wallcovering",
           "Harvested from living trees without felling them. Regenerates every 9 years. #sustainabledesign",
-          "Natural, dyed, gilded — every grain density. Free designer samples. #interiordesigner"
+          "Natural, dyed, gilded \u2014 every grain density. Free designer samples. #interiordesigner"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Macro of cork grain with soft cast shadow. Caramel tones. 400×400.",
-        "header_1500x500": "Wall of cork samples — gradient from natural blond to deep mahogany.",
+        "profile_pic_400": "Macro of cork grain with soft cast shadow. Caramel tones. 400\u00d7400.",
+        "header_1500x500": "Wall of cork samples \u2014 gradient from natural blond to deep mahogany.",
         "ig_header_1080x566": "Cropped cork-grain hero."
       }
     },
@@ -181,11 +181,11 @@
           "silkwallcov"
         ],
         "display_name": "silkwallpaper",
-        "bio": "Hand-loomed silk wallcoverings — the highest-spec wall finish in the trade. Free designer samples. Trade-direct.",
+        "bio": "Hand-loomed silk wallcoverings \u2014 the highest-spec wall finish in the trade. Free designer samples. Trade-direct.",
         "first_posts": [
-          "silkwallpaper — hand-loomed silk wallcoverings, the highest-spec wall finish in the trade. Free designer samples on every reference. https://silkwallpaper.com",
+          "silkwallpaper \u2014 hand-loomed silk wallcoverings, the highest-spec wall finish in the trade. Free designer samples on every reference. https://silkwallpaper.com",
           "Why silk: the only natural fiber that catches light as it moves with you. The wall finish that makes the room feel alive.",
-          "Trade-direct silk wallcoverings — strie, dupioni, twill, charmeuse. Free samples, no minimums. https://silkwallpaper.com"
+          "Trade-direct silk wallcoverings \u2014 strie, dupioni, twill, charmeuse. Free samples, no minimums. https://silkwallpaper.com"
         ]
       },
       "ig": {
@@ -196,15 +196,15 @@
           "silk.wallcovering"
         ],
         "display_name": "silkwallpaper",
-        "bio": "Hand-loomed silk wallcoverings.\nThe highest-spec wall finish in the trade.\nFree designer samples ↓",
+        "bio": "Hand-loomed silk wallcoverings.\nThe highest-spec wall finish in the trade.\nFree designer samples \u2193",
         "first_posts": [
           "Hand-loomed silk wallcoverings. The wall finish that makes a room feel alive. #silk #wallcovering #luxuryinterior",
           "The only natural fiber that catches light as it moves with you. #silkwallpaper",
-          "Strie, dupioni, twill, charmeuse — free samples on every reference. #interiordesigner #trade"
+          "Strie, dupioni, twill, charmeuse \u2014 free samples on every reference. #interiordesigner #trade"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Tight macro of champagne silk weave catching raking light. 400×400.",
+        "profile_pic_400": "Tight macro of champagne silk weave catching raking light. 400\u00d7400.",
         "header_1500x500": "Silk-bolt edge-on with grosgrain selvage visible, soft chiaroscuro.",
         "ig_header_1080x566": "Crop of silk catching afternoon light."
       }
@@ -221,9 +221,9 @@
           "glitterwall_"
         ],
         "display_name": "glitterwalls",
-        "bio": "Metallic, mica & glitter wallcoverings — statement-grade finishes for the wall that has to do the work. Free designer samples.",
+        "bio": "Metallic, mica & glitter wallcoverings \u2014 statement-grade finishes for the wall that has to do the work. Free designer samples.",
         "first_posts": [
-          "glitterwalls — metallic, mica & glitter wallcoverings for the wall that has to do the work. Free designer samples. https://glitterwalls.com",
+          "glitterwalls \u2014 metallic, mica & glitter wallcoverings for the wall that has to do the work. Free designer samples. https://glitterwalls.com",
           "Statement-grade finish without the prima-donna install. Vinyl-backed for ease, metallic for impact, free samples for confidence.",
           "Mica, glass-beaded, hand-leafed. Every finish hand-sampled, free to the trade. https://glitterwalls.com"
         ]
@@ -236,16 +236,16 @@
           "glitter.walls"
         ],
         "display_name": "glitterwalls",
-        "bio": "Metallic, mica & glitter wallcoverings.\nFor the wall that has to do the work.\nFree designer samples ↓",
+        "bio": "Metallic, mica & glitter wallcoverings.\nFor the wall that has to do the work.\nFree designer samples \u2193",
         "first_posts": [
-          "Metallic, mica, glitter — for the wall that has to do the work. #glitterwalls #wallcovering",
+          "Metallic, mica, glitter \u2014 for the wall that has to do the work. #glitterwalls #wallcovering",
           "Statement-grade finish, civil install. #micawallpaper #luxuryinterior",
           "Hand-sampled, free to the trade. Link in bio. #interiordesigner"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Macro of gold-mica wallcovering catching a pin-light. 400×400.",
-        "header_1500x500": "Three vertical metallic swatches side-by-side — gold, silver-blue, copper.",
+        "profile_pic_400": "Macro of gold-mica wallcovering catching a pin-light. 400\u00d7400.",
+        "header_1500x500": "Three vertical metallic swatches side-by-side \u2014 gold, silver-blue, copper.",
         "ig_header_1080x566": "Crop of metallic swatch hero."
       }
     },
@@ -261,11 +261,11 @@
           "LAFabricsTrade"
         ],
         "display_name": "Los Angeles Fabrics",
-        "bio": "Trade fabric source — drapery, upholstery, performance. LA-direct. Free samples, same-day from Sherman Oaks. 70+ houses.",
+        "bio": "Trade fabric source \u2014 drapery, upholstery, performance. LA-direct. Free samples, same-day from Sherman Oaks. 70+ houses.",
         "first_posts": [
-          "Los Angeles Fabrics — trade fabric source for drapery, upholstery & performance. LA-direct, free samples, same-day from Sherman Oaks. https://losangelesfabrics.com",
+          "Los Angeles Fabrics \u2014 trade fabric source for drapery, upholstery & performance. LA-direct, free samples, same-day from Sherman Oaks. https://losangelesfabrics.com",
           "70+ fabric houses under one trade ordering experience. Free designer samples on every reference. Honest lead times, real customer service.",
-          "Performance fabrics for hospitality & high-traffic residential — Crypton, Sunbrella, Maharam, Designtex. Free samples. https://losangelesfabrics.com"
+          "Performance fabrics for hospitality & high-traffic residential \u2014 Crypton, Sunbrella, Maharam, Designtex. Free samples. https://losangelesfabrics.com"
         ]
       },
       "ig": {
@@ -276,15 +276,15 @@
           "shoplafabrics"
         ],
         "display_name": "Los Angeles Fabrics",
-        "bio": "Trade fabric source — drapery, upholstery, performance.\nLA-direct · 70+ houses · free samples ↓",
+        "bio": "Trade fabric source \u2014 drapery, upholstery, performance.\nLA-direct \u00b7 70+ houses \u00b7 free samples \u2193",
         "first_posts": [
-          "Los Angeles Fabrics — trade-direct, LA-shipped, free samples on every reference. #fabric #interiordesigner",
+          "Los Angeles Fabrics \u2014 trade-direct, LA-shipped, free samples on every reference. #fabric #interiordesigner",
           "70+ houses, one ordering experience. #drapery #upholstery #performancefabric",
-          "Crypton · Sunbrella · Maharam · Designtex — link in bio. #trade"
+          "Crypton \u00b7 Sunbrella \u00b7 Maharam \u00b7 Designtex \u2014 link in bio. #trade"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square swatch-stack — 9 fabric folds in muted tones, top-down. 400×400.",
+        "profile_pic_400": "Square swatch-stack \u2014 9 fabric folds in muted tones, top-down. 400\u00d7400.",
         "header_1500x500": "Open fabric warehouse: folded bolts on shelving, warm LA window light.",
         "ig_header_1080x566": "Cropped warehouse hero."
       }
@@ -301,9 +301,9 @@
           "NPHinstallers"
         ],
         "display_name": "National Paper Hangers",
-        "bio": "The marketplace for luxury wallcovering installers. Verified pros, transparent pricing, every region. Designers — find your hanger.",
+        "bio": "The marketplace for luxury wallcovering installers. Verified pros, transparent pricing, every region. Designers \u2014 find your hanger.",
         "first_posts": [
-          "National Paper Hangers — the marketplace for luxury wallcovering installers. Verified pros, transparent pricing, every region. https://nationalpaperhangers.com",
+          "National Paper Hangers \u2014 the marketplace for luxury wallcovering installers. Verified pros, transparent pricing, every region. https://nationalpaperhangers.com",
           "Designers: stop calling 4 hangers for one quote. Post the job, see verified installers in your region, pick on lead-time and reputation.",
           "Installers: claim your free listing. Real designer leads, no membership fee, no per-lead pricing. https://nationalpaperhangers.com/claim"
         ]
@@ -316,23 +316,23 @@
           "shop.nph"
         ],
         "display_name": "National Paper Hangers",
-        "bio": "Marketplace for luxury wallcovering installers.\nVerified pros · transparent pricing · every region ↓",
+        "bio": "Marketplace for luxury wallcovering installers.\nVerified pros \u00b7 transparent pricing \u00b7 every region \u2193",
         "first_posts": [
           "The marketplace for luxury wallcovering installers. #paperhanger #wallcovering #interiordesigner",
-          "Designers — find your hanger by region & lead-time. Link in bio. #trade",
-          "Installers — claim your free listing. Real designer leads, no membership. #wallpaperinstaller"
+          "Designers \u2014 find your hanger by region & lead-time. Link in bio. #trade",
+          "Installers \u2014 claim your free listing. Real designer leads, no membership. #wallpaperinstaller"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square shield-style mark: 'NPH' in white on deep-navy crest. 400×400.",
-        "header_1500x500": "Wide shot — installer's hands smoothing a grasscloth seam on a tall wall.",
+        "profile_pic_400": "Square shield-style mark: 'NPH' in white on deep-navy crest. 400\u00d7400.",
+        "header_1500x500": "Wide shot \u2014 installer's hands smoothing a grasscloth seam on a tall wall.",
         "ig_header_1080x566": "Cropped installer hands-at-work hero."
       }
     },
     {
       "domain": "wallco.ai",
       "stem": "wallco",
-      "category": "newest brand · AI design tool",
+      "category": "newest brand \u00b7 AI design tool",
       "x": {
         "handle_primary": "wallco_ai",
         "handle_fallbacks": [
@@ -341,10 +341,10 @@
           "wallco_official"
         ],
         "display_name": "wallco.ai",
-        "bio": "AI wallcovering design — generate, render in your room, order a sample. Designer-grade output. From the team at Designer Wallcoverings.",
+        "bio": "AI wallcovering design \u2014 generate, render in your room, order a sample. Designer-grade output. From the team at Designer Wallcoverings.",
         "first_posts": [
-          "wallco.ai — type a prompt, get a designer-grade wallcovering rendered in your room. Order a real sample. From the team at @DesignerWalls. https://wallco.ai",
-          "Why we built it: every designer has a vision the catalog can't quite match. wallco lets you fill that gap — then orders the actual product.",
+          "wallco.ai \u2014 type a prompt, get a designer-grade wallcovering rendered in your room. Order a real sample. From the team at @DesignerWalls. https://wallco.ai",
+          "Why we built it: every designer has a vision the catalog can't quite match. wallco lets you fill that gap \u2014 then orders the actual product.",
           "Designer-grade output, room-render preview, sample-on-demand. The wallcovering design loop, closed. https://wallco.ai"
         ]
       },
@@ -356,15 +356,15 @@
           "wallco.official"
         ],
         "display_name": "wallco.ai",
-        "bio": "AI wallcovering design.\nGenerate · render in your room · order a sample.\nFrom Designer Wallcoverings ↓",
+        "bio": "AI wallcovering design.\nGenerate \u00b7 render in your room \u00b7 order a sample.\nFrom Designer Wallcoverings \u2193",
         "first_posts": [
-          "AI wallcovering design — generate, render in your room, order a real sample. #aiart #interiordesign #wallcovering",
+          "AI wallcovering design \u2014 generate, render in your room, order a real sample. #aiart #interiordesign #wallcovering",
           "The wallcovering design loop, closed. #generativedesign #aiwallpaper",
           "From the team at Designer Wallcoverings. Link in bio. #interiordesigner"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square: 'wallco' in low-weight sans on iridescent gradient. 400×400.",
+        "profile_pic_400": "Square: 'wallco' in low-weight sans on iridescent gradient. 400\u00d7400.",
         "header_1500x500": "Grid of 12 AI-generated wallcovering tiles in a single coherent palette.",
         "ig_header_1080x566": "Crop of generated-tile grid."
       }
@@ -381,11 +381,11 @@
           "venturaclawco"
         ],
         "display_name": "Ventura Claw",
-        "bio": "Lead routing for Ventura Blvd small business — food, beauty, retail, fitness, pet, auto, cleaning, creative. Local-only. No spam.",
+        "bio": "Lead routing for Ventura Blvd small business \u2014 food, beauty, retail, fitness, pet, auto, cleaning, creative. Local-only. No spam.",
         "first_posts": [
-          "Ventura Claw — lead routing for Ventura Blvd small business. 8 verticals, neighborhood-only, no spam. https://venturaclaw.com",
+          "Ventura Claw \u2014 lead routing for Ventura Blvd small business. 8 verticals, neighborhood-only, no spam. https://venturaclaw.com",
           "Why we built it: every Ventura Blvd small biz deserves the lead before the lead-broker takes its cut. Local. Direct. No middleman.",
-          "Restaurants, salons, gyms, pet care, auto, cleaning, retail, creative — claim your free listing. https://venturaclaw.com/claim"
+          "Restaurants, salons, gyms, pet care, auto, cleaning, retail, creative \u2014 claim your free listing. https://venturaclaw.com/claim"
         ]
       },
       "ig": {
@@ -396,16 +396,16 @@
           "vclaw.co"
         ],
         "display_name": "Ventura Claw",
-        "bio": "Lead routing for Ventura Blvd small business.\n8 verticals · neighborhood-only · no spam.\nClaim your listing ↓",
+        "bio": "Lead routing for Ventura Blvd small business.\n8 verticals \u00b7 neighborhood-only \u00b7 no spam.\nClaim your listing \u2193",
         "first_posts": [
-          "Ventura Claw — lead routing for Ventura Blvd small business. #venturablvd #shermanoaks #smallbusiness",
+          "Ventura Claw \u2014 lead routing for Ventura Blvd small business. #venturablvd #shermanoaks #smallbusiness",
           "8 verticals, neighborhood-only. No lead-broker cut. #shoplocal",
-          "Restaurants, salons, gyms, pet care — claim your free listing. Link in bio. #venturacorridor"
+          "Restaurants, salons, gyms, pet care \u2014 claim your free listing. Link in bio. #venturacorridor"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square: stylized claw mark in mustard on charcoal. 400×400.",
-        "header_1500x500": "Wide Ventura Blvd street scene at golden hour — palm tops, storefronts.",
+        "profile_pic_400": "Square: stylized claw mark in mustard on charcoal. 400\u00d7400.",
+        "header_1500x500": "Wide Ventura Blvd street scene at golden hour \u2014 palm tops, storefronts.",
         "ig_header_1080x566": "Cropped Ventura Blvd hero."
       }
     },
@@ -423,8 +423,8 @@
         "display_name": "1800swallpaper",
         "bio": "Authentic 1800s-era wallpaper patterns. Period-correct colorways, modern substrates. Free designer samples. Trade-direct.",
         "first_posts": [
-          "Authentic 1800s wallpaper — the patterns the period actually used, on substrates that hang in 2026. Free designer samples. https://1800swallpaper.com",
-          "Why 1800s: every decade had its own pattern language. We carry the patterns 1800s interiors actually wore — not Hollywood's version.",
+          "Authentic 1800s wallpaper \u2014 the patterns the period actually used, on substrates that hang in 2026. Free designer samples. https://1800swallpaper.com",
+          "Why 1800s: every decade had its own pattern language. We carry the patterns 1800s interiors actually wore \u2014 not Hollywood's version.",
           "1800s wallpaper for period-correct interiors & adaptive reuse. Free samples to the trade. https://1800swallpaper.com"
         ]
       },
@@ -436,17 +436,17 @@
           "1800swallpaper.us"
         ],
         "display_name": "1800swallpaper",
-        "bio": "1800s wallpaper — the patterns the period actually used, on substrates that hang in 2026. Free samples to the trade.",
+        "bio": "1800s wallpaper \u2014 the patterns the period actually used, on substrates that hang in 2026. Free samples to the trade.",
         "first_posts": [
-          "Authentic 1800s wallpaper — the patterns the period actually used, on substrates that hang in 2026. Free designer samples. — link in bio",
-          "Why 1800s: every decade had its own pattern language. We carry the patterns 1800s interiors actually wore — not Hollywood's version. — link in bio",
-          "1800s wallpaper for period-correct interiors & adaptive reuse. Free samples to the trade. — link in bio"
+          "Authentic 1800s wallpaper \u2014 the patterns the period actually used, on substrates that hang in 2026. Free designer samples. \u2014 link in bio",
+          "Why 1800s: every decade had its own pattern language. We carry the patterns 1800s interiors actually wore \u2014 not Hollywood's version. \u2014 link in bio",
+          "1800s wallpaper for period-correct interiors & adaptive reuse. Free samples to the trade. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for 1800swallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for 1800swallpaper — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for 1800swallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for 1800swallpaper \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -461,10 +461,10 @@
           "shop1800wcs"
         ],
         "display_name": "1800wallcoverings",
-        "bio": "1800s wallpaper — the patterns the period actually used, on substrates that hang in 2026. Free samples to the trade.",
+        "bio": "1800s wallpaper \u2014 the patterns the period actually used, on substrates that hang in 2026. Free samples to the trade.",
         "first_posts": [
-          "Authentic 1800s wallpaper — the patterns the period actually used, on substrates that hang in 2026. Free designer samples. https://1800wallcoverings.com",
-          "Why 1800s: every decade had its own pattern language. We carry the patterns 1800s interiors actually wore — not Hollywood's version.",
+          "Authentic 1800s wallpaper \u2014 the patterns the period actually used, on substrates that hang in 2026. Free designer samples. https://1800wallcoverings.com",
+          "Why 1800s: every decade had its own pattern language. We carry the patterns 1800s interiors actually wore \u2014 not Hollywood's version.",
           "1800s wallpaper for period-correct interiors & adaptive reuse. Free samples to the trade. https://1800wallcoverings.com"
         ]
       },
@@ -478,15 +478,15 @@
         "display_name": "1800wallcoverings",
         "bio": "Period wallpaper for 1800s interiors. Hand-curated patterns, free designer samples, ships from LA.",
         "first_posts": [
-          "Authentic 1800s wallpaper — the patterns the period actually used, on substrates that hang in 2026. Free designer samples. — link in bio",
-          "Why 1800s: every decade had its own pattern language. We carry the patterns 1800s interiors actually wore — not Hollywood's version. — link in bio",
-          "1800s wallpaper for period-correct interiors & adaptive reuse. Free samples to the trade. — link in bio"
+          "Authentic 1800s wallpaper \u2014 the patterns the period actually used, on substrates that hang in 2026. Free designer samples. \u2014 link in bio",
+          "Why 1800s: every decade had its own pattern language. We carry the patterns 1800s interiors actually wore \u2014 not Hollywood's version. \u2014 link in bio",
+          "1800s wallpaper for period-correct interiors & adaptive reuse. Free samples to the trade. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for 1800wallcoverings: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for 1800wallcoverings — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for 1800wallcoverings: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for 1800wallcoverings \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -503,8 +503,8 @@
         "display_name": "1800wallpapers",
         "bio": "Authentic 1800s-era wallpaper patterns. Period-correct colorways, modern substrates. Free designer samples. Trade-direct.",
         "first_posts": [
-          "Authentic 1800s wallpaper — the patterns the period actually used, on substrates that hang in 2026. Free designer samples. https://1800wallpapers.com",
-          "Why 1800s: every decade had its own pattern language. We carry the patterns 1800s interiors actually wore — not Hollywood's version.",
+          "Authentic 1800s wallpaper \u2014 the patterns the period actually used, on substrates that hang in 2026. Free designer samples. https://1800wallpapers.com",
+          "Why 1800s: every decade had its own pattern language. We carry the patterns 1800s interiors actually wore \u2014 not Hollywood's version.",
           "1800s wallpaper for period-correct interiors & adaptive reuse. Free samples to the trade. https://1800wallpapers.com"
         ]
       },
@@ -516,17 +516,17 @@
           "1800wallpapers.us"
         ],
         "display_name": "1800wallpapers",
-        "bio": "1800s wallpaper — the patterns the period actually used, on substrates that hang in 2026. Free samples to the trade.",
+        "bio": "1800s wallpaper \u2014 the patterns the period actually used, on substrates that hang in 2026. Free samples to the trade.",
         "first_posts": [
-          "Authentic 1800s wallpaper — the patterns the period actually used, on substrates that hang in 2026. Free designer samples. — link in bio",
-          "Why 1800s: every decade had its own pattern language. We carry the patterns 1800s interiors actually wore — not Hollywood's version. — link in bio",
-          "1800s wallpaper for period-correct interiors & adaptive reuse. Free samples to the trade. — link in bio"
+          "Authentic 1800s wallpaper \u2014 the patterns the period actually used, on substrates that hang in 2026. Free designer samples. \u2014 link in bio",
+          "Why 1800s: every decade had its own pattern language. We carry the patterns 1800s interiors actually wore \u2014 not Hollywood's version. \u2014 link in bio",
+          "1800s wallpaper for period-correct interiors & adaptive reuse. Free samples to the trade. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for 1800wallpapers: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for 1800wallpapers — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for 1800wallpapers: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for 1800wallpapers \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -543,8 +543,8 @@
         "display_name": "1890swallpaper",
         "bio": "Authentic 1890s-era wallpaper patterns. Period-correct colorways, modern substrates. Free designer samples. Trade-direct.",
         "first_posts": [
-          "Authentic 1890s wallpaper — the patterns the period actually used, on substrates that hang in 2026. Free designer samples. https://1890swallpaper.com",
-          "Why 1890s: every decade had its own pattern language. We carry the patterns 1890s interiors actually wore — not Hollywood's version.",
+          "Authentic 1890s wallpaper \u2014 the patterns the period actually used, on substrates that hang in 2026. Free designer samples. https://1890swallpaper.com",
+          "Why 1890s: every decade had its own pattern language. We carry the patterns 1890s interiors actually wore \u2014 not Hollywood's version.",
           "1890s wallpaper for period-correct interiors & adaptive reuse. Free samples to the trade. https://1890swallpaper.com"
         ]
       },
@@ -556,17 +556,17 @@
           "1890swallpaper.us"
         ],
         "display_name": "1890swallpaper",
-        "bio": "1890s wallpaper — the patterns the period actually used, on substrates that hang in 2026. Free samples to the trade.",
+        "bio": "1890s wallpaper \u2014 the patterns the period actually used, on substrates that hang in 2026. Free samples to the trade.",
         "first_posts": [
-          "Authentic 1890s wallpaper — the patterns the period actually used, on substrates that hang in 2026. Free designer samples. — link in bio",
-          "Why 1890s: every decade had its own pattern language. We carry the patterns 1890s interiors actually wore — not Hollywood's version. — link in bio",
-          "1890s wallpaper for period-correct interiors & adaptive reuse. Free samples to the trade. — link in bio"
+          "Authentic 1890s wallpaper \u2014 the patterns the period actually used, on substrates that hang in 2026. Free designer samples. \u2014 link in bio",
+          "Why 1890s: every decade had its own pattern language. We carry the patterns 1890s interiors actually wore \u2014 not Hollywood's version. \u2014 link in bio",
+          "1890s wallpaper for period-correct interiors & adaptive reuse. Free samples to the trade. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for 1890swallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for 1890swallpaper — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for 1890swallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for 1890swallpaper \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -581,10 +581,10 @@
           "shop1900swallpa"
         ],
         "display_name": "1900swallpaper",
-        "bio": "1900s wallpaper — the patterns the period actually used, on substrates that hang in 2026. Free samples to the trade.",
+        "bio": "1900s wallpaper \u2014 the patterns the period actually used, on substrates that hang in 2026. Free samples to the trade.",
         "first_posts": [
-          "Authentic 1900s wallpaper — the patterns the period actually used, on substrates that hang in 2026. Free designer samples. https://1900swallpaper.com",
-          "Why 1900s: every decade had its own pattern language. We carry the patterns 1900s interiors actually wore — not Hollywood's version.",
+          "Authentic 1900s wallpaper \u2014 the patterns the period actually used, on substrates that hang in 2026. Free designer samples. https://1900swallpaper.com",
+          "Why 1900s: every decade had its own pattern language. We carry the patterns 1900s interiors actually wore \u2014 not Hollywood's version.",
           "1900s wallpaper for period-correct interiors & adaptive reuse. Free samples to the trade. https://1900swallpaper.com"
         ]
       },
@@ -598,15 +598,15 @@
         "display_name": "1900swallpaper",
         "bio": "Period wallpaper for 1900s interiors. Hand-curated patterns, free designer samples, ships from LA.",
         "first_posts": [
-          "Authentic 1900s wallpaper — the patterns the period actually used, on substrates that hang in 2026. Free designer samples. — link in bio",
-          "Why 1900s: every decade had its own pattern language. We carry the patterns 1900s interiors actually wore — not Hollywood's version. — link in bio",
-          "1900s wallpaper for period-correct interiors & adaptive reuse. Free samples to the trade. — link in bio"
+          "Authentic 1900s wallpaper \u2014 the patterns the period actually used, on substrates that hang in 2026. Free designer samples. \u2014 link in bio",
+          "Why 1900s: every decade had its own pattern language. We carry the patterns 1900s interiors actually wore \u2014 not Hollywood's version. \u2014 link in bio",
+          "1900s wallpaper for period-correct interiors & adaptive reuse. Free samples to the trade. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for 1900swallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for 1900swallpaper — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for 1900swallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for 1900swallpaper \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -623,8 +623,8 @@
         "display_name": "1920swallpaper",
         "bio": "Authentic 1920s-era wallpaper patterns. Period-correct colorways, modern substrates. Free designer samples. Trade-direct.",
         "first_posts": [
-          "Authentic 1920s wallpaper — the patterns the period actually used, on substrates that hang in 2026. Free designer samples. https://1920swallpaper.com",
-          "Why 1920s: every decade had its own pattern language. We carry the patterns 1920s interiors actually wore — not Hollywood's version.",
+          "Authentic 1920s wallpaper \u2014 the patterns the period actually used, on substrates that hang in 2026. Free designer samples. https://1920swallpaper.com",
+          "Why 1920s: every decade had its own pattern language. We carry the patterns 1920s interiors actually wore \u2014 not Hollywood's version.",
           "1920s wallpaper for period-correct interiors & adaptive reuse. Free samples to the trade. https://1920swallpaper.com"
         ]
       },
@@ -636,17 +636,17 @@
           "1920swallpaper.us"
         ],
         "display_name": "1920swallpaper",
-        "bio": "1920s wallpaper — the patterns the period actually used, on substrates that hang in 2026. Free samples to the trade.",
+        "bio": "1920s wallpaper \u2014 the patterns the period actually used, on substrates that hang in 2026. Free samples to the trade.",
         "first_posts": [
-          "Authentic 1920s wallpaper — the patterns the period actually used, on substrates that hang in 2026. Free designer samples. — link in bio",
-          "Why 1920s: every decade had its own pattern language. We carry the patterns 1920s interiors actually wore — not Hollywood's version. — link in bio",
-          "1920s wallpaper for period-correct interiors & adaptive reuse. Free samples to the trade. — link in bio"
+          "Authentic 1920s wallpaper \u2014 the patterns the period actually used, on substrates that hang in 2026. Free designer samples. \u2014 link in bio",
+          "Why 1920s: every decade had its own pattern language. We carry the patterns 1920s interiors actually wore \u2014 not Hollywood's version. \u2014 link in bio",
+          "1920s wallpaper for period-correct interiors & adaptive reuse. Free samples to the trade. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for 1920swallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for 1920swallpaper — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for 1920swallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for 1920swallpaper \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -661,10 +661,10 @@
           "shop1930swallpa"
         ],
         "display_name": "1930swallpaper",
-        "bio": "1930s wallpaper — the patterns the period actually used, on substrates that hang in 2026. Free samples to the trade.",
+        "bio": "1930s wallpaper \u2014 the patterns the period actually used, on substrates that hang in 2026. Free samples to the trade.",
         "first_posts": [
-          "Authentic 1930s wallpaper — the patterns the period actually used, on substrates that hang in 2026. Free designer samples. https://1930swallpaper.com",
-          "Why 1930s: every decade had its own pattern language. We carry the patterns 1930s interiors actually wore — not Hollywood's version.",
+          "Authentic 1930s wallpaper \u2014 the patterns the period actually used, on substrates that hang in 2026. Free designer samples. https://1930swallpaper.com",
+          "Why 1930s: every decade had its own pattern language. We carry the patterns 1930s interiors actually wore \u2014 not Hollywood's version.",
           "1930s wallpaper for period-correct interiors & adaptive reuse. Free samples to the trade. https://1930swallpaper.com"
         ]
       },
@@ -678,15 +678,15 @@
         "display_name": "1930swallpaper",
         "bio": "Period wallpaper for 1930s interiors. Hand-curated patterns, free designer samples, ships from LA.",
         "first_posts": [
-          "Authentic 1930s wallpaper — the patterns the period actually used, on substrates that hang in 2026. Free designer samples. — link in bio",
-          "Why 1930s: every decade had its own pattern language. We carry the patterns 1930s interiors actually wore — not Hollywood's version. — link in bio",
-          "1930s wallpaper for period-correct interiors & adaptive reuse. Free samples to the trade. — link in bio"
+          "Authentic 1930s wallpaper \u2014 the patterns the period actually used, on substrates that hang in 2026. Free designer samples. \u2014 link in bio",
+          "Why 1930s: every decade had its own pattern language. We carry the patterns 1930s interiors actually wore \u2014 not Hollywood's version. \u2014 link in bio",
+          "1930s wallpaper for period-correct interiors & adaptive reuse. Free samples to the trade. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for 1930swallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for 1930swallpaper — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for 1930swallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for 1930swallpaper \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -703,8 +703,8 @@
         "display_name": "1940swallpaper",
         "bio": "Period wallpaper for 1940s interiors. Hand-curated patterns, free designer samples, ships from LA.",
         "first_posts": [
-          "Authentic 1940s wallpaper — the patterns the period actually used, on substrates that hang in 2026. Free designer samples. https://1940swallpaper.com",
-          "Why 1940s: every decade had its own pattern language. We carry the patterns 1940s interiors actually wore — not Hollywood's version.",
+          "Authentic 1940s wallpaper \u2014 the patterns the period actually used, on substrates that hang in 2026. Free designer samples. https://1940swallpaper.com",
+          "Why 1940s: every decade had its own pattern language. We carry the patterns 1940s interiors actually wore \u2014 not Hollywood's version.",
           "1940s wallpaper for period-correct interiors & adaptive reuse. Free samples to the trade. https://1940swallpaper.com"
         ]
       },
@@ -718,15 +718,15 @@
         "display_name": "1940swallpaper",
         "bio": "Authentic 1940s-era wallpaper patterns. Period-correct colorways, modern substrates. Free designer samples. Trade-direct.",
         "first_posts": [
-          "Authentic 1940s wallpaper — the patterns the period actually used, on substrates that hang in 2026. Free designer samples. — link in bio",
-          "Why 1940s: every decade had its own pattern language. We carry the patterns 1940s interiors actually wore — not Hollywood's version. — link in bio",
-          "1940s wallpaper for period-correct interiors & adaptive reuse. Free samples to the trade. — link in bio"
+          "Authentic 1940s wallpaper \u2014 the patterns the period actually used, on substrates that hang in 2026. Free designer samples. \u2014 link in bio",
+          "Why 1940s: every decade had its own pattern language. We carry the patterns 1940s interiors actually wore \u2014 not Hollywood's version. \u2014 link in bio",
+          "1940s wallpaper for period-correct interiors & adaptive reuse. Free samples to the trade. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for 1940swallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for 1940swallpaper — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for 1940swallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for 1940swallpaper \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -743,8 +743,8 @@
         "display_name": "1950swallpaper",
         "bio": "Authentic 1950s-era wallpaper patterns. Period-correct colorways, modern substrates. Free designer samples. Trade-direct.",
         "first_posts": [
-          "Authentic 1950s wallpaper — the patterns the period actually used, on substrates that hang in 2026. Free designer samples. https://1950swallpaper.com",
-          "Why 1950s: every decade had its own pattern language. We carry the patterns 1950s interiors actually wore — not Hollywood's version.",
+          "Authentic 1950s wallpaper \u2014 the patterns the period actually used, on substrates that hang in 2026. Free designer samples. https://1950swallpaper.com",
+          "Why 1950s: every decade had its own pattern language. We carry the patterns 1950s interiors actually wore \u2014 not Hollywood's version.",
           "1950s wallpaper for period-correct interiors & adaptive reuse. Free samples to the trade. https://1950swallpaper.com"
         ]
       },
@@ -756,17 +756,17 @@
           "1950swallpaper.us"
         ],
         "display_name": "1950swallpaper",
-        "bio": "1950s wallpaper — the patterns the period actually used, on substrates that hang in 2026. Free samples to the trade.",
+        "bio": "1950s wallpaper \u2014 the patterns the period actually used, on substrates that hang in 2026. Free samples to the trade.",
         "first_posts": [
-          "Authentic 1950s wallpaper — the patterns the period actually used, on substrates that hang in 2026. Free designer samples. — link in bio",
-          "Why 1950s: every decade had its own pattern language. We carry the patterns 1950s interiors actually wore — not Hollywood's version. — link in bio",
-          "1950s wallpaper for period-correct interiors & adaptive reuse. Free samples to the trade. — link in bio"
+          "Authentic 1950s wallpaper \u2014 the patterns the period actually used, on substrates that hang in 2026. Free designer samples. \u2014 link in bio",
+          "Why 1950s: every decade had its own pattern language. We carry the patterns 1950s interiors actually wore \u2014 not Hollywood's version. \u2014 link in bio",
+          "1950s wallpaper for period-correct interiors & adaptive reuse. Free samples to the trade. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for 1950swallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for 1950swallpaper — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for 1950swallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for 1950swallpaper \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -781,10 +781,10 @@
           "shop1960swallpa"
         ],
         "display_name": "1960swallpaper",
-        "bio": "1960s wallpaper — the patterns the period actually used, on substrates that hang in 2026. Free samples to the trade.",
+        "bio": "1960s wallpaper \u2014 the patterns the period actually used, on substrates that hang in 2026. Free samples to the trade.",
         "first_posts": [
-          "Authentic 1960s wallpaper — the patterns the period actually used, on substrates that hang in 2026. Free designer samples. https://1960swallpaper.com",
-          "Why 1960s: every decade had its own pattern language. We carry the patterns 1960s interiors actually wore — not Hollywood's version.",
+          "Authentic 1960s wallpaper \u2014 the patterns the period actually used, on substrates that hang in 2026. Free designer samples. https://1960swallpaper.com",
+          "Why 1960s: every decade had its own pattern language. We carry the patterns 1960s interiors actually wore \u2014 not Hollywood's version.",
           "1960s wallpaper for period-correct interiors & adaptive reuse. Free samples to the trade. https://1960swallpaper.com"
         ]
       },
@@ -798,15 +798,15 @@
         "display_name": "1960swallpaper",
         "bio": "Period wallpaper for 1960s interiors. Hand-curated patterns, free designer samples, ships from LA.",
         "first_posts": [
-          "Authentic 1960s wallpaper — the patterns the period actually used, on substrates that hang in 2026. Free designer samples. — link in bio",
-          "Why 1960s: every decade had its own pattern language. We carry the patterns 1960s interiors actually wore — not Hollywood's version. — link in bio",
-          "1960s wallpaper for period-correct interiors & adaptive reuse. Free samples to the trade. — link in bio"
+          "Authentic 1960s wallpaper \u2014 the patterns the period actually used, on substrates that hang in 2026. Free designer samples. \u2014 link in bio",
+          "Why 1960s: every decade had its own pattern language. We carry the patterns 1960s interiors actually wore \u2014 not Hollywood's version. \u2014 link in bio",
+          "1960s wallpaper for period-correct interiors & adaptive reuse. Free samples to the trade. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for 1960swallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for 1960swallpaper — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for 1960swallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for 1960swallpaper \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -823,8 +823,8 @@
         "display_name": "1970swallpaper",
         "bio": "Period wallpaper for 1970s interiors. Hand-curated patterns, free designer samples, ships from LA.",
         "first_posts": [
-          "Authentic 1970s wallpaper — the patterns the period actually used, on substrates that hang in 2026. Free designer samples. https://1970swallpaper.com",
-          "Why 1970s: every decade had its own pattern language. We carry the patterns 1970s interiors actually wore — not Hollywood's version.",
+          "Authentic 1970s wallpaper \u2014 the patterns the period actually used, on substrates that hang in 2026. Free designer samples. https://1970swallpaper.com",
+          "Why 1970s: every decade had its own pattern language. We carry the patterns 1970s interiors actually wore \u2014 not Hollywood's version.",
           "1970s wallpaper for period-correct interiors & adaptive reuse. Free samples to the trade. https://1970swallpaper.com"
         ]
       },
@@ -838,15 +838,15 @@
         "display_name": "1970swallpaper",
         "bio": "Authentic 1970s-era wallpaper patterns. Period-correct colorways, modern substrates. Free designer samples. Trade-direct.",
         "first_posts": [
-          "Authentic 1970s wallpaper — the patterns the period actually used, on substrates that hang in 2026. Free designer samples. — link in bio",
-          "Why 1970s: every decade had its own pattern language. We carry the patterns 1970s interiors actually wore — not Hollywood's version. — link in bio",
-          "1970s wallpaper for period-correct interiors & adaptive reuse. Free samples to the trade. — link in bio"
+          "Authentic 1970s wallpaper \u2014 the patterns the period actually used, on substrates that hang in 2026. Free designer samples. \u2014 link in bio",
+          "Why 1970s: every decade had its own pattern language. We carry the patterns 1970s interiors actually wore \u2014 not Hollywood's version. \u2014 link in bio",
+          "1970s wallpaper for period-correct interiors & adaptive reuse. Free samples to the trade. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for 1970swallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for 1970swallpaper — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for 1970swallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for 1970swallpaper \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -863,8 +863,8 @@
         "display_name": "1980swallpaper",
         "bio": "Authentic 1980s-era wallpaper patterns. Period-correct colorways, modern substrates. Free designer samples. Trade-direct.",
         "first_posts": [
-          "Authentic 1980s wallpaper — the patterns the period actually used, on substrates that hang in 2026. Free designer samples. https://1980swallpaper.com",
-          "Why 1980s: every decade had its own pattern language. We carry the patterns 1980s interiors actually wore — not Hollywood's version.",
+          "Authentic 1980s wallpaper \u2014 the patterns the period actually used, on substrates that hang in 2026. Free designer samples. https://1980swallpaper.com",
+          "Why 1980s: every decade had its own pattern language. We carry the patterns 1980s interiors actually wore \u2014 not Hollywood's version.",
           "1980s wallpaper for period-correct interiors & adaptive reuse. Free samples to the trade. https://1980swallpaper.com"
         ]
       },
@@ -876,17 +876,17 @@
           "1980swallpaper.us"
         ],
         "display_name": "1980swallpaper",
-        "bio": "1980s wallpaper — the patterns the period actually used, on substrates that hang in 2026. Free samples to the trade.",
+        "bio": "1980s wallpaper \u2014 the patterns the period actually used, on substrates that hang in 2026. Free samples to the trade.",
         "first_posts": [
-          "Authentic 1980s wallpaper — the patterns the period actually used, on substrates that hang in 2026. Free designer samples. — link in bio",
-          "Why 1980s: every decade had its own pattern language. We carry the patterns 1980s interiors actually wore — not Hollywood's version. — link in bio",
-          "1980s wallpaper for period-correct interiors & adaptive reuse. Free samples to the trade. — link in bio"
+          "Authentic 1980s wallpaper \u2014 the patterns the period actually used, on substrates that hang in 2026. Free designer samples. \u2014 link in bio",
+          "Why 1980s: every decade had its own pattern language. We carry the patterns 1980s interiors actually wore \u2014 not Hollywood's version. \u2014 link in bio",
+          "1980s wallpaper for period-correct interiors & adaptive reuse. Free samples to the trade. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for 1980swallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for 1980swallpaper — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for 1980swallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for 1980swallpaper \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -918,15 +918,15 @@
         "display_name": "800wallpaper",
         "bio": "Wallpaper specified by designers. Curated patterns, free samples, no minimums.",
         "first_posts": [
-          "Designer wallpaper, trade-direct. Free samples on every reference. — link in bio",
-          "Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those. — link in bio",
-          "Wallpaper specified by designers. Hand-curated, free samples. — link in bio"
+          "Designer wallpaper, trade-direct. Free samples on every reference. \u2014 link in bio",
+          "Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those. \u2014 link in bio",
+          "Wallpaper specified by designers. Hand-curated, free samples. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for 800wallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for 800wallpaper — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for 800wallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for 800wallpaper \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -943,7 +943,7 @@
         "display_name": "agedwallpaper",
         "bio": "Trade source for aged wallpaper. Free designer samples, honest lead times.",
         "first_posts": [
-          "Aged wallcoverings — the patterns designers actually specify. Free samples. https://agedwallpaper.com",
+          "Aged wallcoverings \u2014 the patterns designers actually specify. Free samples. https://agedwallpaper.com",
           "Why aged: it's the language designers reach for when the wall has to carry the room.",
           "Trade source for aged wallpaper. Free designer samples. https://agedwallpaper.com"
         ]
@@ -958,15 +958,15 @@
         "display_name": "agedwallpaper",
         "bio": "Aged patterns, designer-grade only. Free samples on every reference.",
         "first_posts": [
-          "Aged wallcoverings — the patterns designers actually specify. Free samples. — link in bio",
-          "Why aged: it's the language designers reach for when the wall has to carry the room. — link in bio",
-          "Trade source for aged wallpaper. Free designer samples. — link in bio"
+          "Aged wallcoverings \u2014 the patterns designers actually specify. Free samples. \u2014 link in bio",
+          "Why aged: it's the language designers reach for when the wall has to carry the room. \u2014 link in bio",
+          "Trade source for aged wallpaper. Free designer samples. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for agedwallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for agedwallpaper — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for agedwallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for agedwallpaper \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -998,15 +998,15 @@
         "display_name": "apartmentwallpaper",
         "bio": "Wallpaper for the room you actually live in. Designer-grade patterns, free samples, trade-direct.",
         "first_posts": [
-          "Hand-curated wallpaper for residential interiors. Free designer samples, honest lead times. — link in bio",
-          "Wallpaper for the rooms that matter. No filler patterns. Free samples to the trade. — link in bio",
-          "Designer-grade wallpaper, sample-on-demand. — link in bio"
+          "Hand-curated wallpaper for residential interiors. Free designer samples, honest lead times. \u2014 link in bio",
+          "Wallpaper for the rooms that matter. No filler patterns. Free samples to the trade. \u2014 link in bio",
+          "Designer-grade wallpaper, sample-on-demand. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for apartmentwallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for apartmentwallpaper — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for apartmentwallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for apartmentwallpaper \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -1038,15 +1038,15 @@
         "display_name": "architecturalwallcoverings",
         "bio": "Designer wallcoverings, trade-direct. Free samples, honest lead times, 70+ houses under one ordering experience.",
         "first_posts": [
-          "Designer wallcoverings, trade-direct since 2003. Free designer samples on every reference. — link in bio",
-          "Why trade-direct: every layer of distribution adds time & cost. We removed them. — link in bio",
-          "70+ houses, one ordering experience, free designer samples. — link in bio"
+          "Designer wallcoverings, trade-direct since 2003. Free designer samples on every reference. \u2014 link in bio",
+          "Why trade-direct: every layer of distribution adds time & cost. We removed them. \u2014 link in bio",
+          "70+ houses, one ordering experience, free designer samples. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for architecturalwallcoverings: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for architecturalwallcoverings — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for architecturalwallcoverings: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for architecturalwallcoverings \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -1065,7 +1065,7 @@
         "first_posts": [
           "Class A vinyl wallcoverings for hospitality. Fire-rated, scrubbable, contract-grade. Free samples. https://asseeninhotels.com",
           "Contract-grade wall finishes for hotels, restaurants & offices. Type II, ASTM-tested, designer-led.",
-          "Commercial wallcoverings — the spec without the procurement headache. Free designer samples. https://asseeninhotels.com"
+          "Commercial wallcoverings \u2014 the spec without the procurement headache. Free designer samples. https://asseeninhotels.com"
         ]
       },
       "ig": {
@@ -1076,17 +1076,17 @@
           "asseeninhotels.us"
         ],
         "display_name": "asseeninhotels",
-        "bio": "Commercial wallcoverings — Type II vinyl, ASTM-tested, hospitality-spec. Trade-direct, free samples.",
+        "bio": "Commercial wallcoverings \u2014 Type II vinyl, ASTM-tested, hospitality-spec. Trade-direct, free samples.",
         "first_posts": [
-          "Class A vinyl wallcoverings for hospitality. Fire-rated, scrubbable, contract-grade. Free samples. — link in bio",
-          "Contract-grade wall finishes for hotels, restaurants & offices. Type II, ASTM-tested, designer-led. — link in bio",
-          "Commercial wallcoverings — the spec without the procurement headache. Free designer samples. — link in bio"
+          "Class A vinyl wallcoverings for hospitality. Fire-rated, scrubbable, contract-grade. Free samples. \u2014 link in bio",
+          "Contract-grade wall finishes for hotels, restaurants & offices. Type II, ASTM-tested, designer-led. \u2014 link in bio",
+          "Commercial wallcoverings \u2014 the spec without the procurement headache. Free designer samples. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for asseeninhotels: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for asseeninhotels — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for asseeninhotels: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for asseeninhotels \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -1118,15 +1118,15 @@
         "display_name": "barwallpaper",
         "bio": "Wallpaper for the room you actually live in. Designer-grade patterns, free samples, trade-direct.",
         "first_posts": [
-          "Hand-curated wallpaper for residential interiors. Free designer samples, honest lead times. — link in bio",
-          "Wallpaper for the rooms that matter. No filler patterns. Free samples to the trade. — link in bio",
-          "Designer-grade wallpaper, sample-on-demand. — link in bio"
+          "Hand-curated wallpaper for residential interiors. Free designer samples, honest lead times. \u2014 link in bio",
+          "Wallpaper for the rooms that matter. No filler patterns. Free samples to the trade. \u2014 link in bio",
+          "Designer-grade wallpaper, sample-on-demand. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for barwallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for barwallpaper — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for barwallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for barwallpaper \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -1158,15 +1158,15 @@
         "display_name": "bestwallpaperplace",
         "bio": "Wallpaper specified by designers. Curated patterns, free samples, no minimums.",
         "first_posts": [
-          "Designer wallpaper, trade-direct. Free samples on every reference. — link in bio",
-          "Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those. — link in bio",
-          "Wallpaper specified by designers. Hand-curated, free samples. — link in bio"
+          "Designer wallpaper, trade-direct. Free samples on every reference. \u2014 link in bio",
+          "Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those. \u2014 link in bio",
+          "Wallpaper specified by designers. Hand-curated, free samples. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for bestwallpaperplace: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for bestwallpaperplace — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for bestwallpaperplace: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for bestwallpaperplace \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -1184,7 +1184,7 @@
         "bio": "Beverlyhills-direct wallcoverings & finishes. Trade pricing, free samples, designer-grade only.",
         "first_posts": [
           "Beverlyhills-direct wallcoverings for the local trade. Free designer samples. https://beverlyhillspaints.com",
-          "Designers — local trade source for wallpaper, fabric & finishes. Free samples, real lead times. https://beverlyhillspaints.com",
+          "Designers \u2014 local trade source for wallpaper, fabric & finishes. Free samples, real lead times. https://beverlyhillspaints.com",
           "Wall finishes specified by the design community. Curated, free samples, ships fast. https://beverlyhillspaints.com"
         ]
       },
@@ -1198,15 +1198,15 @@
         "display_name": "beverlyhillspaints",
         "bio": "Wallcoverings for the beverlyhills trade. Free designer samples, honest lead times, ships fast.",
         "first_posts": [
-          "Beverlyhills-direct wallcoverings for the local trade. Free designer samples. — link in bio",
-          "Designers — local trade source for wallpaper, fabric & finishes. Free samples, real lead times. — link in bio",
-          "Wall finishes specified by the design community. Curated, free samples, ships fast. — link in bio"
+          "Beverlyhills-direct wallcoverings for the local trade. Free designer samples. \u2014 link in bio",
+          "Designers \u2014 local trade source for wallpaper, fabric & finishes. Free samples, real lead times. \u2014 link in bio",
+          "Wall finishes specified by the design community. Curated, free samples, ships fast. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for beverlyhillspaints: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for beverlyhillspaints — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for beverlyhillspaints: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for beverlyhillspaints \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -1223,7 +1223,7 @@
         "display_name": "blockprintedwallpaper",
         "bio": "Block patterns, designer-grade only. Free samples on every reference.",
         "first_posts": [
-          "Block wallcoverings — the patterns designers actually specify. Free samples. https://blockprintedwallpaper.com",
+          "Block wallcoverings \u2014 the patterns designers actually specify. Free samples. https://blockprintedwallpaper.com",
           "Why block: it's the language designers reach for when the wall has to carry the room.",
           "Trade source for block wallpaper. Free designer samples. https://blockprintedwallpaper.com"
         ]
@@ -1236,57 +1236,17 @@
           "blockprintedwallpaper.us"
         ],
         "display_name": "blockprintedwallpaper",
-        "bio": "Block wallcoverings — the patterns designers actually specify. Free samples, trade-direct.",
+        "bio": "Block wallcoverings \u2014 the patterns designers actually specify. Free samples, trade-direct.",
         "first_posts": [
-          "Block wallcoverings — the patterns designers actually specify. Free samples. — link in bio",
-          "Why block: it's the language designers reach for when the wall has to carry the room. — link in bio",
-          "Trade source for block wallpaper. Free designer samples. — link in bio"
+          "Block wallcoverings \u2014 the patterns designers actually specify. Free samples. \u2014 link in bio",
+          "Why block: it's the language designers reach for when the wall has to carry the room. \u2014 link in bio",
+          "Trade source for block wallpaper. Free designer samples. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for blockprintedwallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for blockprintedwallpaper — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
-      }
-    },
-    {
-      "domain": "brazilliancewallpaper.com",
-      "stem": "brazilliancewallpaper",
-      "category": "auto:wallpaper",
-      "x": {
-        "handle_primary": "brazilliancewal",
-        "handle_fallbacks": [
-          "brazilliance_co",
-          "brazillianceUS",
-          "shopbrazillianc"
-        ],
-        "display_name": "brazilliancewallpaper",
-        "bio": "Designer wallpaper, trade-direct. Free samples on every reference. Hand-curated patterns, no filler.",
-        "first_posts": [
-          "Designer wallpaper, trade-direct. Free samples on every reference. https://brazilliancewallpaper.com",
-          "Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those.",
-          "Wallpaper specified by designers. Hand-curated, free samples. https://brazilliancewallpaper.com"
-        ]
-      },
-      "ig": {
-        "handle_primary": "brazilliancewallpaper",
-        "handle_fallbacks": [
-          "brazilliancewallpaper.co",
-          "shopbrazilliancewallpaper",
-          "brazilliancewallpaper.us"
-        ],
-        "display_name": "brazilliancewallpaper",
-        "bio": "Trade source for designer wallpaper. Free samples, honest lead times, ships from LA.",
-        "first_posts": [
-          "Designer wallpaper, trade-direct. Free samples on every reference. — link in bio",
-          "Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those. — link in bio",
-          "Wallpaper specified by designers. Hand-curated, free samples. — link in bio"
-        ]
-      },
-      "image_specs": {
-        "profile_pic_400": "Square logo for brazilliancewallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for brazilliancewallpaper — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for blockprintedwallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for blockprintedwallpaper \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -1304,7 +1264,7 @@
         "bio": "Carmel wallpaper & wallcovering. Free samples, trade-direct, no middle layer.",
         "first_posts": [
           "Carmel-direct wallcoverings for the local trade. Free designer samples. https://carmelpaints.com",
-          "Designers — local trade source for wallpaper, fabric & finishes. Free samples, real lead times. https://carmelpaints.com",
+          "Designers \u2014 local trade source for wallpaper, fabric & finishes. Free samples, real lead times. https://carmelpaints.com",
           "Wall finishes specified by the design community. Curated, free samples, ships fast. https://carmelpaints.com"
         ]
       },
@@ -1318,15 +1278,15 @@
         "display_name": "carmelpaints",
         "bio": "Carmel-direct wallcoverings & finishes. Trade pricing, free samples, designer-grade only.",
         "first_posts": [
-          "Carmel-direct wallcoverings for the local trade. Free designer samples. — link in bio",
-          "Designers — local trade source for wallpaper, fabric & finishes. Free samples, real lead times. — link in bio",
-          "Wall finishes specified by the design community. Curated, free samples, ships fast. — link in bio"
+          "Carmel-direct wallcoverings for the local trade. Free designer samples. \u2014 link in bio",
+          "Designers \u2014 local trade source for wallpaper, fabric & finishes. Free samples, real lead times. \u2014 link in bio",
+          "Wall finishes specified by the design community. Curated, free samples, ships fast. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for carmelpaints: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for carmelpaints — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for carmelpaints: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for carmelpaints \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -1344,7 +1304,7 @@
         "bio": "Carmel-direct wallcoverings & finishes. Trade pricing, free samples, designer-grade only.",
         "first_posts": [
           "Carmel-direct wallcoverings for the local trade. Free designer samples. https://carmelwallpaper.com",
-          "Designers — local trade source for wallpaper, fabric & finishes. Free samples, real lead times. https://carmelwallpaper.com",
+          "Designers \u2014 local trade source for wallpaper, fabric & finishes. Free samples, real lead times. https://carmelwallpaper.com",
           "Wall finishes specified by the design community. Curated, free samples, ships fast. https://carmelwallpaper.com"
         ]
       },
@@ -1358,15 +1318,15 @@
         "display_name": "carmelwallpaper",
         "bio": "Wallcoverings for the carmel trade. Free designer samples, honest lead times, ships fast.",
         "first_posts": [
-          "Carmel-direct wallcoverings for the local trade. Free designer samples. — link in bio",
-          "Designers — local trade source for wallpaper, fabric & finishes. Free samples, real lead times. — link in bio",
-          "Wall finishes specified by the design community. Curated, free samples, ships fast. — link in bio"
+          "Carmel-direct wallcoverings for the local trade. Free designer samples. \u2014 link in bio",
+          "Designers \u2014 local trade source for wallpaper, fabric & finishes. Free samples, real lead times. \u2014 link in bio",
+          "Wall finishes specified by the design community. Curated, free samples, ships fast. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for carmelwallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for carmelwallpaper — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for carmelwallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for carmelwallpaper \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -1384,7 +1344,7 @@
         "bio": "Wallcoverings for the carmel trade. Free designer samples, honest lead times, ships fast.",
         "first_posts": [
           "Carmel-direct wallcoverings for the local trade. Free designer samples. https://carmelwallpapers.com",
-          "Designers — local trade source for wallpaper, fabric & finishes. Free samples, real lead times. https://carmelwallpapers.com",
+          "Designers \u2014 local trade source for wallpaper, fabric & finishes. Free samples, real lead times. https://carmelwallpapers.com",
           "Wall finishes specified by the design community. Curated, free samples, ships fast. https://carmelwallpapers.com"
         ]
       },
@@ -1398,15 +1358,15 @@
         "display_name": "carmelwallpapers",
         "bio": "Carmel wallpaper & wallcovering. Free samples, trade-direct, no middle layer.",
         "first_posts": [
-          "Carmel-direct wallcoverings for the local trade. Free designer samples. — link in bio",
-          "Designers — local trade source for wallpaper, fabric & finishes. Free samples, real lead times. — link in bio",
-          "Wall finishes specified by the design community. Curated, free samples, ships fast. — link in bio"
+          "Carmel-direct wallcoverings for the local trade. Free designer samples. \u2014 link in bio",
+          "Designers \u2014 local trade source for wallpaper, fabric & finishes. Free samples, real lead times. \u2014 link in bio",
+          "Wall finishes specified by the design community. Curated, free samples, ships fast. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for carmelwallpapers: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for carmelwallpapers — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for carmelwallpapers: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for carmelwallpapers \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -1423,7 +1383,7 @@
         "display_name": "cfafabrics",
         "bio": "Hand-curated fabric for the trade. Drapery, upholstery, performance. Free samples on every reference.",
         "first_posts": [
-          "Trade fabric source — drapery, upholstery, performance. LA-based, free samples. https://cfafabrics.com",
+          "Trade fabric source \u2014 drapery, upholstery, performance. LA-based, free samples. https://cfafabrics.com",
           "Designer fabric, trade-direct. 70+ houses, free samples, honest lead times.",
           "Hand-curated fabric for the trade. Free samples on every reference. https://cfafabrics.com"
         ]
@@ -1436,17 +1396,17 @@
           "cfafabrics.us"
         ],
         "display_name": "cfafabrics",
-        "bio": "Trade fabric source — drapery, upholstery, performance. LA-based, free samples, 70+ houses.",
+        "bio": "Trade fabric source \u2014 drapery, upholstery, performance. LA-based, free samples, 70+ houses.",
         "first_posts": [
-          "Trade fabric source — drapery, upholstery, performance. LA-based, free samples. — link in bio",
-          "Designer fabric, trade-direct. 70+ houses, free samples, honest lead times. — link in bio",
-          "Hand-curated fabric for the trade. Free samples on every reference. — link in bio"
+          "Trade fabric source \u2014 drapery, upholstery, performance. LA-based, free samples. \u2014 link in bio",
+          "Designer fabric, trade-direct. 70+ houses, free samples, honest lead times. \u2014 link in bio",
+          "Hand-curated fabric for the trade. Free samples on every reference. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for cfafabrics: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for cfafabrics — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for cfafabrics: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for cfafabrics \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -1463,7 +1423,7 @@
         "display_name": "chinoiseriewallpaper",
         "bio": "Chinoiserie patterns, designer-grade only. Free samples on every reference.",
         "first_posts": [
-          "Chinoiserie wallcoverings — the patterns designers actually specify. Free samples. https://chinoiseriewallpaper.com",
+          "Chinoiserie wallcoverings \u2014 the patterns designers actually specify. Free samples. https://chinoiseriewallpaper.com",
           "Why chinoiserie: it's the language designers reach for when the wall has to carry the room.",
           "Trade source for chinoiserie wallpaper. Free designer samples. https://chinoiseriewallpaper.com"
         ]
@@ -1476,17 +1436,17 @@
           "chinoiseriewallpaper.us"
         ],
         "display_name": "chinoiseriewallpaper",
-        "bio": "Chinoiserie wallcoverings — the patterns designers actually specify. Free samples, trade-direct.",
+        "bio": "Chinoiserie wallcoverings \u2014 the patterns designers actually specify. Free samples, trade-direct.",
         "first_posts": [
-          "Chinoiserie wallcoverings — the patterns designers actually specify. Free samples. — link in bio",
-          "Why chinoiserie: it's the language designers reach for when the wall has to carry the room. — link in bio",
-          "Trade source for chinoiserie wallpaper. Free designer samples. — link in bio"
+          "Chinoiserie wallcoverings \u2014 the patterns designers actually specify. Free samples. \u2014 link in bio",
+          "Why chinoiserie: it's the language designers reach for when the wall has to carry the room. \u2014 link in bio",
+          "Trade source for chinoiserie wallpaper. Free designer samples. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for chinoiseriewallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for chinoiseriewallpaper — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for chinoiseriewallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for chinoiseriewallpaper \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -1501,11 +1461,11 @@
           "shopclassawc"
         ],
         "display_name": "classawallcovering",
-        "bio": "Commercial wallcoverings — Type II vinyl, ASTM-tested, hospitality-spec. Trade-direct, free samples.",
+        "bio": "Commercial wallcoverings \u2014 Type II vinyl, ASTM-tested, hospitality-spec. Trade-direct, free samples.",
         "first_posts": [
           "Class A vinyl wallcoverings for hospitality. Fire-rated, scrubbable, contract-grade. Free samples. https://classawallcovering.com",
           "Contract-grade wall finishes for hotels, restaurants & offices. Type II, ASTM-tested, designer-led.",
-          "Commercial wallcoverings — the spec without the procurement headache. Free designer samples. https://classawallcovering.com"
+          "Commercial wallcoverings \u2014 the spec without the procurement headache. Free designer samples. https://classawallcovering.com"
         ]
       },
       "ig": {
@@ -1518,15 +1478,15 @@
         "display_name": "classawallcovering",
         "bio": "Contract-grade wall finishes for hotels, restaurants & offices. Class A, designer-led, free samples.",
         "first_posts": [
-          "Class A vinyl wallcoverings for hospitality. Fire-rated, scrubbable, contract-grade. Free samples. — link in bio",
-          "Contract-grade wall finishes for hotels, restaurants & offices. Type II, ASTM-tested, designer-led. — link in bio",
-          "Commercial wallcoverings — the spec without the procurement headache. Free designer samples. — link in bio"
+          "Class A vinyl wallcoverings for hospitality. Fire-rated, scrubbable, contract-grade. Free samples. \u2014 link in bio",
+          "Contract-grade wall finishes for hotels, restaurants & offices. Type II, ASTM-tested, designer-led. \u2014 link in bio",
+          "Commercial wallcoverings \u2014 the spec without the procurement headache. Free designer samples. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for classawallcovering: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for classawallcovering — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for classawallcovering: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for classawallcovering \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -1545,7 +1505,7 @@
         "first_posts": [
           "Class A vinyl wallcoverings for hospitality. Fire-rated, scrubbable, contract-grade. Free samples. https://commercialwallcovering.com",
           "Contract-grade wall finishes for hotels, restaurants & offices. Type II, ASTM-tested, designer-led.",
-          "Commercial wallcoverings — the spec without the procurement headache. Free designer samples. https://commercialwallcovering.com"
+          "Commercial wallcoverings \u2014 the spec without the procurement headache. Free designer samples. https://commercialwallcovering.com"
         ]
       },
       "ig": {
@@ -1558,15 +1518,15 @@
         "display_name": "commercialwallcovering",
         "bio": "Class A vinyl wallcoverings for hospitality, hotel & office. Fire-rated, scrubbable, contract-grade. Free designer samples.",
         "first_posts": [
-          "Class A vinyl wallcoverings for hospitality. Fire-rated, scrubbable, contract-grade. Free samples. — link in bio",
-          "Contract-grade wall finishes for hotels, restaurants & offices. Type II, ASTM-tested, designer-led. — link in bio",
-          "Commercial wallcoverings — the spec without the procurement headache. Free designer samples. — link in bio"
+          "Class A vinyl wallcoverings for hospitality. Fire-rated, scrubbable, contract-grade. Free samples. \u2014 link in bio",
+          "Contract-grade wall finishes for hotels, restaurants & offices. Type II, ASTM-tested, designer-led. \u2014 link in bio",
+          "Commercial wallcoverings \u2014 the spec without the procurement headache. Free designer samples. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for commercialwallcovering: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for commercialwallcovering — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for commercialwallcovering: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for commercialwallcovering \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -1585,7 +1545,7 @@
         "first_posts": [
           "Class A vinyl wallcoverings for hospitality. Fire-rated, scrubbable, contract-grade. Free samples. https://commercialwalls.com",
           "Contract-grade wall finishes for hotels, restaurants & offices. Type II, ASTM-tested, designer-led.",
-          "Commercial wallcoverings — the spec without the procurement headache. Free designer samples. https://commercialwalls.com"
+          "Commercial wallcoverings \u2014 the spec without the procurement headache. Free designer samples. https://commercialwalls.com"
         ]
       },
       "ig": {
@@ -1596,17 +1556,17 @@
           "commercialwalls.us"
         ],
         "display_name": "commercialwalls",
-        "bio": "Commercial wallcoverings — Type II vinyl, ASTM-tested, hospitality-spec. Trade-direct, free samples.",
+        "bio": "Commercial wallcoverings \u2014 Type II vinyl, ASTM-tested, hospitality-spec. Trade-direct, free samples.",
         "first_posts": [
-          "Class A vinyl wallcoverings for hospitality. Fire-rated, scrubbable, contract-grade. Free samples. — link in bio",
-          "Contract-grade wall finishes for hotels, restaurants & offices. Type II, ASTM-tested, designer-led. — link in bio",
-          "Commercial wallcoverings — the spec without the procurement headache. Free designer samples. — link in bio"
+          "Class A vinyl wallcoverings for hospitality. Fire-rated, scrubbable, contract-grade. Free samples. \u2014 link in bio",
+          "Contract-grade wall finishes for hotels, restaurants & offices. Type II, ASTM-tested, designer-led. \u2014 link in bio",
+          "Commercial wallcoverings \u2014 the spec without the procurement headache. Free designer samples. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for commercialwalls: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for commercialwalls — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for commercialwalls: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for commercialwalls \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -1625,7 +1585,7 @@
         "first_posts": [
           "Class A vinyl wallcoverings for hospitality. Fire-rated, scrubbable, contract-grade. Free samples. https://contractwallpaper.com",
           "Contract-grade wall finishes for hotels, restaurants & offices. Type II, ASTM-tested, designer-led.",
-          "Commercial wallcoverings — the spec without the procurement headache. Free designer samples. https://contractwallpaper.com"
+          "Commercial wallcoverings \u2014 the spec without the procurement headache. Free designer samples. https://contractwallpaper.com"
         ]
       },
       "ig": {
@@ -1636,17 +1596,17 @@
           "contractwallpaper.us"
         ],
         "display_name": "contractwallpaper",
-        "bio": "Commercial wallcoverings — Type II vinyl, ASTM-tested, hospitality-spec. Trade-direct, free samples.",
+        "bio": "Commercial wallcoverings \u2014 Type II vinyl, ASTM-tested, hospitality-spec. Trade-direct, free samples.",
         "first_posts": [
-          "Class A vinyl wallcoverings for hospitality. Fire-rated, scrubbable, contract-grade. Free samples. — link in bio",
-          "Contract-grade wall finishes for hotels, restaurants & offices. Type II, ASTM-tested, designer-led. — link in bio",
-          "Commercial wallcoverings — the spec without the procurement headache. Free designer samples. — link in bio"
+          "Class A vinyl wallcoverings for hospitality. Fire-rated, scrubbable, contract-grade. Free samples. \u2014 link in bio",
+          "Contract-grade wall finishes for hotels, restaurants & offices. Type II, ASTM-tested, designer-led. \u2014 link in bio",
+          "Commercial wallcoverings \u2014 the spec without the procurement headache. Free designer samples. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for contractwallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for contractwallpaper — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for contractwallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for contractwallpaper \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -1661,11 +1621,11 @@
           "shopcustomdigit"
         ],
         "display_name": "customdigitalmurals",
-        "bio": "Designer-grade customdigitalmurals — trade-direct, free samples, hand-curated only.",
+        "bio": "Designer-grade customdigitalmurals \u2014 trade-direct, free samples, hand-curated only.",
         "first_posts": [
-          "Designer-grade customdigitalmurals — trade-direct, free samples. https://customdigitalmurals.com",
+          "Designer-grade customdigitalmurals \u2014 trade-direct, free samples. https://customdigitalmurals.com",
           "Why we exist: the design community deserves a real source, not a re-seller markup.",
-          "customdigitalmurals — free designer samples, honest lead times. https://customdigitalmurals.com"
+          "customdigitalmurals \u2014 free designer samples, honest lead times. https://customdigitalmurals.com"
         ]
       },
       "ig": {
@@ -1678,15 +1638,15 @@
         "display_name": "customdigitalmurals",
         "bio": "Trade source for customdigitalmurals. Free designer samples, LA-based.",
         "first_posts": [
-          "Designer-grade customdigitalmurals — trade-direct, free samples. — link in bio",
-          "Why we exist: the design community deserves a real source, not a re-seller markup. — link in bio",
-          "customdigitalmurals — free designer samples, honest lead times. — link in bio"
+          "Designer-grade customdigitalmurals \u2014 trade-direct, free samples. \u2014 link in bio",
+          "Why we exist: the design community deserves a real source, not a re-seller markup. \u2014 link in bio",
+          "customdigitalmurals \u2014 free designer samples, honest lead times. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for customdigitalmurals: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for customdigitalmurals — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for customdigitalmurals: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for customdigitalmurals \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -1718,15 +1678,15 @@
         "display_name": "customdigitalwallcoverings",
         "bio": "Wallcoverings curated for the trade. Free samples, real customer service, ships fast.",
         "first_posts": [
-          "Designer wallcoverings, trade-direct since 2003. Free designer samples on every reference. — link in bio",
-          "Why trade-direct: every layer of distribution adds time & cost. We removed them. — link in bio",
-          "70+ houses, one ordering experience, free designer samples. — link in bio"
+          "Designer wallcoverings, trade-direct since 2003. Free designer samples on every reference. \u2014 link in bio",
+          "Why trade-direct: every layer of distribution adds time & cost. We removed them. \u2014 link in bio",
+          "70+ houses, one ordering experience, free designer samples. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for customdigitalwallcoverings: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for customdigitalwallcoverings — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for customdigitalwallcoverings: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for customdigitalwallcoverings \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -1741,7 +1701,7 @@
           "shopcustomdigit"
         ],
         "display_name": "customdigitalwalls",
-        "bio": "Designer wall finishes — curated, sample-on-demand, trade-direct.",
+        "bio": "Designer wall finishes \u2014 curated, sample-on-demand, trade-direct.",
         "first_posts": [
           "Wallcoverings & finishes for the trade. Free designer samples, LA-direct. https://customdigitalwalls.com",
           "Designer wall finishes, curated for the trade.",
@@ -1758,15 +1718,15 @@
         "display_name": "customdigitalwalls",
         "bio": "Trade source for wallcoverings. Free samples, real lead times, ships from LA.",
         "first_posts": [
-          "Wallcoverings & finishes for the trade. Free designer samples, LA-direct. — link in bio",
-          "Designer wall finishes, curated for the trade. — link in bio",
-          "Trade source for wallcoverings. Free samples, real lead times. — link in bio"
+          "Wallcoverings & finishes for the trade. Free designer samples, LA-direct. \u2014 link in bio",
+          "Designer wall finishes, curated for the trade. \u2014 link in bio",
+          "Trade source for wallcoverings. Free samples, real lead times. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for customdigitalwalls: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for customdigitalwalls — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for customdigitalwalls: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for customdigitalwalls \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -1783,9 +1743,9 @@
         "display_name": "designerlaboratory",
         "bio": "Trade source for designerlaboratory. Free designer samples, LA-based.",
         "first_posts": [
-          "Designer-grade designerlaboratory — trade-direct, free samples. https://designerlaboratory.com",
+          "Designer-grade designerlaboratory \u2014 trade-direct, free samples. https://designerlaboratory.com",
           "Why we exist: the design community deserves a real source, not a re-seller markup.",
-          "designerlaboratory — free designer samples, honest lead times. https://designerlaboratory.com"
+          "designerlaboratory \u2014 free designer samples, honest lead times. https://designerlaboratory.com"
         ]
       },
       "ig": {
@@ -1798,15 +1758,15 @@
         "display_name": "designerlaboratory",
         "bio": "designerlaboratory curated for the trade. Free samples, honest lead times.",
         "first_posts": [
-          "Designer-grade designerlaboratory — trade-direct, free samples. — link in bio",
-          "Why we exist: the design community deserves a real source, not a re-seller markup. — link in bio",
-          "designerlaboratory — free designer samples, honest lead times. — link in bio"
+          "Designer-grade designerlaboratory \u2014 trade-direct, free samples. \u2014 link in bio",
+          "Why we exist: the design community deserves a real source, not a re-seller markup. \u2014 link in bio",
+          "designerlaboratory \u2014 free designer samples, honest lead times. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for designerlaboratory: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for designerlaboratory — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for designerlaboratory: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for designerlaboratory \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -1823,9 +1783,9 @@
         "display_name": "designerlookbooks",
         "bio": "Trade source for designerlookbooks. Free designer samples, LA-based.",
         "first_posts": [
-          "Designer-grade designerlookbooks — trade-direct, free samples. https://designerlookbooks.com",
+          "Designer-grade designerlookbooks \u2014 trade-direct, free samples. https://designerlookbooks.com",
           "Why we exist: the design community deserves a real source, not a re-seller markup.",
-          "designerlookbooks — free designer samples, honest lead times. https://designerlookbooks.com"
+          "designerlookbooks \u2014 free designer samples, honest lead times. https://designerlookbooks.com"
         ]
       },
       "ig": {
@@ -1838,15 +1798,15 @@
         "display_name": "designerlookbooks",
         "bio": "designerlookbooks curated for the trade. Free samples, honest lead times.",
         "first_posts": [
-          "Designer-grade designerlookbooks — trade-direct, free samples. — link in bio",
-          "Why we exist: the design community deserves a real source, not a re-seller markup. — link in bio",
-          "designerlookbooks — free designer samples, honest lead times. — link in bio"
+          "Designer-grade designerlookbooks \u2014 trade-direct, free samples. \u2014 link in bio",
+          "Why we exist: the design community deserves a real source, not a re-seller markup. \u2014 link in bio",
+          "designerlookbooks \u2014 free designer samples, honest lead times. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for designerlookbooks: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for designerlookbooks — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for designerlookbooks: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for designerlookbooks \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -1863,9 +1823,9 @@
         "display_name": "designermagnetics",
         "bio": "Trade source for designermagnetics. Free designer samples, LA-based.",
         "first_posts": [
-          "Designer-grade designermagnetics — trade-direct, free samples. https://designermagnetics.com",
+          "Designer-grade designermagnetics \u2014 trade-direct, free samples. https://designermagnetics.com",
           "Why we exist: the design community deserves a real source, not a re-seller markup.",
-          "designermagnetics — free designer samples, honest lead times. https://designermagnetics.com"
+          "designermagnetics \u2014 free designer samples, honest lead times. https://designermagnetics.com"
         ]
       },
       "ig": {
@@ -1878,15 +1838,15 @@
         "display_name": "designermagnetics",
         "bio": "designermagnetics curated for the trade. Free samples, honest lead times.",
         "first_posts": [
-          "Designer-grade designermagnetics — trade-direct, free samples. — link in bio",
-          "Why we exist: the design community deserves a real source, not a re-seller markup. — link in bio",
-          "designermagnetics — free designer samples, honest lead times. — link in bio"
+          "Designer-grade designermagnetics \u2014 trade-direct, free samples. \u2014 link in bio",
+          "Why we exist: the design community deserves a real source, not a re-seller markup. \u2014 link in bio",
+          "designermagnetics \u2014 free designer samples, honest lead times. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for designermagnetics: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for designermagnetics — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for designermagnetics: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for designermagnetics \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -1901,11 +1861,11 @@
           "shopdesignersal"
         ],
         "display_name": "designersalesreps",
-        "bio": "Designer-grade designersalesreps — trade-direct, free samples, hand-curated only.",
+        "bio": "Designer-grade designersalesreps \u2014 trade-direct, free samples, hand-curated only.",
         "first_posts": [
-          "Designer-grade designersalesreps — trade-direct, free samples. https://designersalesreps.com",
+          "Designer-grade designersalesreps \u2014 trade-direct, free samples. https://designersalesreps.com",
           "Why we exist: the design community deserves a real source, not a re-seller markup.",
-          "designersalesreps — free designer samples, honest lead times. https://designersalesreps.com"
+          "designersalesreps \u2014 free designer samples, honest lead times. https://designersalesreps.com"
         ]
       },
       "ig": {
@@ -1918,15 +1878,15 @@
         "display_name": "designersalesreps",
         "bio": "Trade source for designersalesreps. Free designer samples, LA-based.",
         "first_posts": [
-          "Designer-grade designersalesreps — trade-direct, free samples. — link in bio",
-          "Why we exist: the design community deserves a real source, not a re-seller markup. — link in bio",
-          "designersalesreps — free designer samples, honest lead times. — link in bio"
+          "Designer-grade designersalesreps \u2014 trade-direct, free samples. \u2014 link in bio",
+          "Why we exist: the design community deserves a real source, not a re-seller markup. \u2014 link in bio",
+          "designersalesreps \u2014 free designer samples, honest lead times. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for designersalesreps: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for designersalesreps — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for designersalesreps: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for designersalesreps \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -1941,11 +1901,11 @@
           "shopdesignersch"
         ],
         "display_name": "designerschat",
-        "bio": "Designer-grade designerschat — trade-direct, free samples, hand-curated only.",
+        "bio": "Designer-grade designerschat \u2014 trade-direct, free samples, hand-curated only.",
         "first_posts": [
-          "Designer-grade designerschat — trade-direct, free samples. https://designerschat.com",
+          "Designer-grade designerschat \u2014 trade-direct, free samples. https://designerschat.com",
           "Why we exist: the design community deserves a real source, not a re-seller markup.",
-          "designerschat — free designer samples, honest lead times. https://designerschat.com"
+          "designerschat \u2014 free designer samples, honest lead times. https://designerschat.com"
         ]
       },
       "ig": {
@@ -1958,15 +1918,15 @@
         "display_name": "designerschat",
         "bio": "Trade source for designerschat. Free designer samples, LA-based.",
         "first_posts": [
-          "Designer-grade designerschat — trade-direct, free samples. — link in bio",
-          "Why we exist: the design community deserves a real source, not a re-seller markup. — link in bio",
-          "designerschat — free designer samples, honest lead times. — link in bio"
+          "Designer-grade designerschat \u2014 trade-direct, free samples. \u2014 link in bio",
+          "Why we exist: the design community deserves a real source, not a re-seller markup. \u2014 link in bio",
+          "designerschat \u2014 free designer samples, honest lead times. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for designerschat: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for designerschat — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for designerschat: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for designerschat \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -1998,15 +1958,15 @@
         "display_name": "designerswallcovering",
         "bio": "Wallcoverings curated for the trade. Free samples, real customer service, ships fast.",
         "first_posts": [
-          "Designer wallcoverings, trade-direct since 2003. Free designer samples on every reference. — link in bio",
-          "Why trade-direct: every layer of distribution adds time & cost. We removed them. — link in bio",
-          "70+ houses, one ordering experience, free designer samples. — link in bio"
+          "Designer wallcoverings, trade-direct since 2003. Free designer samples on every reference. \u2014 link in bio",
+          "Why trade-direct: every layer of distribution adds time & cost. We removed them. \u2014 link in bio",
+          "70+ houses, one ordering experience, free designer samples. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for designerswallcovering: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for designerswallcovering — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for designerswallcovering: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for designerswallcovering \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -2038,15 +1998,15 @@
         "display_name": "designerswallcoverings",
         "bio": "Designer wallcoverings, trade-direct. Free samples, honest lead times, 70+ houses under one ordering experience.",
         "first_posts": [
-          "Designer wallcoverings, trade-direct since 2003. Free designer samples on every reference. — link in bio",
-          "Why trade-direct: every layer of distribution adds time & cost. We removed them. — link in bio",
-          "70+ houses, one ordering experience, free designer samples. — link in bio"
+          "Designer wallcoverings, trade-direct since 2003. Free designer samples on every reference. \u2014 link in bio",
+          "Why trade-direct: every layer of distribution adds time & cost. We removed them. \u2014 link in bio",
+          "70+ houses, one ordering experience, free designer samples. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for designerswallcoverings: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for designerswallcoverings — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for designerswallcoverings: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for designerswallcoverings \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -2078,15 +2038,15 @@
         "display_name": "designerswallpapers",
         "bio": "Wallpaper specified by designers. Curated patterns, free samples, no minimums.",
         "first_posts": [
-          "Designer wallpaper, trade-direct. Free samples on every reference. — link in bio",
-          "Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those. — link in bio",
-          "Wallpaper specified by designers. Hand-curated, free samples. — link in bio"
+          "Designer wallpaper, trade-direct. Free samples on every reference. \u2014 link in bio",
+          "Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those. \u2014 link in bio",
+          "Wallpaper specified by designers. Hand-curated, free samples. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for designerswallpapers: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for designerswallpapers — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for designerswallpapers: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for designerswallpapers \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -2116,17 +2076,17 @@
           "designerwallcover.us"
         ],
         "display_name": "designerwallcover",
-        "bio": "Designer wall finishes — curated, sample-on-demand, trade-direct.",
+        "bio": "Designer wall finishes \u2014 curated, sample-on-demand, trade-direct.",
         "first_posts": [
-          "Wallcoverings & finishes for the trade. Free designer samples, LA-direct. — link in bio",
-          "Designer wall finishes, curated for the trade. — link in bio",
-          "Trade source for wallcoverings. Free samples, real lead times. — link in bio"
+          "Wallcoverings & finishes for the trade. Free designer samples, LA-direct. \u2014 link in bio",
+          "Designer wall finishes, curated for the trade. \u2014 link in bio",
+          "Trade source for wallcoverings. Free samples, real lead times. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for designerwallcover: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for designerwallcover — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for designerwallcover: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for designerwallcover \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -2158,15 +2118,15 @@
         "display_name": "designerwallcovering",
         "bio": "Trade source for luxury wallcoverings. Free designer samples, no minimums, LA-based.",
         "first_posts": [
-          "Designer wallcoverings, trade-direct since 2003. Free designer samples on every reference. — link in bio",
-          "Why trade-direct: every layer of distribution adds time & cost. We removed them. — link in bio",
-          "70+ houses, one ordering experience, free designer samples. — link in bio"
+          "Designer wallcoverings, trade-direct since 2003. Free designer samples on every reference. \u2014 link in bio",
+          "Why trade-direct: every layer of distribution adds time & cost. We removed them. \u2014 link in bio",
+          "70+ houses, one ordering experience, free designer samples. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for designerwallcovering: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for designerwallcovering — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for designerwallcovering: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for designerwallcovering \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -2198,15 +2158,15 @@
         "display_name": "designerwallcoverings",
         "bio": "Wallcoverings curated for the trade. Free samples, real customer service, ships fast.",
         "first_posts": [
-          "Designer wallcoverings, trade-direct since 2003. Free designer samples on every reference. — link in bio",
-          "Why trade-direct: every layer of distribution adds time & cost. We removed them. — link in bio",
-          "70+ houses, one ordering experience, free designer samples. — link in bio"
+          "Designer wallcoverings, trade-direct since 2003. Free designer samples on every reference. \u2014 link in bio",
+          "Why trade-direct: every layer of distribution adds time & cost. We removed them. \u2014 link in bio",
+          "70+ houses, one ordering experience, free designer samples. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for designerwallcoverings: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for designerwallcoverings — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for designerwallcoverings: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for designerwallcoverings \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -2223,7 +2183,7 @@
         "display_name": "designerwallpaints",
         "bio": "Trade source for designer paint. Hand-curated palette, no filler colors, free swatches.",
         "first_posts": [
-          "Designer paint — curated palettes, low-VOC, trade-direct. Free swatches. https://designerwallpaints.com",
+          "Designer paint \u2014 curated palettes, low-VOC, trade-direct. Free swatches. https://designerwallpaints.com",
           "Why a curated palette: every designer has been burned by \"matched\" paint that wasn't. We curate so you don't have to test.",
           "Hand-curated designer paint. Free swatches, honest color matching. https://designerwallpaints.com"
         ]
@@ -2238,15 +2198,15 @@
         "display_name": "designerwallpaints",
         "bio": "Paint specified by designers. Curated palette, low-VOC, free swatches to the trade.",
         "first_posts": [
-          "Designer paint — curated palettes, low-VOC, trade-direct. Free swatches. — link in bio",
-          "Why a curated palette: every designer has been burned by \"matched\" paint that wasn't. We curate so you don't have to test. — link in bio",
-          "Hand-curated designer paint. Free swatches, honest color matching. — link in bio"
+          "Designer paint \u2014 curated palettes, low-VOC, trade-direct. Free swatches. \u2014 link in bio",
+          "Why a curated palette: every designer has been burned by \"matched\" paint that wasn't. We curate so you don't have to test. \u2014 link in bio",
+          "Hand-curated designer paint. Free swatches, honest color matching. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for designerwallpaints: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for designerwallpaints — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for designerwallpaints: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for designerwallpaints \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -2278,15 +2238,15 @@
         "display_name": "designerwalltiles",
         "bio": "Wallcoverings & finishes for the trade. Free designer samples, LA-direct, 70+ houses.",
         "first_posts": [
-          "Wallcoverings & finishes for the trade. Free designer samples, LA-direct. — link in bio",
-          "Designer wall finishes, curated for the trade. — link in bio",
-          "Trade source for wallcoverings. Free samples, real lead times. — link in bio"
+          "Wallcoverings & finishes for the trade. Free designer samples, LA-direct. \u2014 link in bio",
+          "Designer wall finishes, curated for the trade. \u2014 link in bio",
+          "Trade source for wallcoverings. Free samples, real lead times. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for designerwalltiles: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for designerwalltiles — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for designerwalltiles: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for designerwalltiles \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -2303,9 +2263,9 @@
         "display_name": "designtradereps",
         "bio": "designtradereps curated for the trade. Free samples, honest lead times.",
         "first_posts": [
-          "Designer-grade designtradereps — trade-direct, free samples. https://designtradereps.com",
+          "Designer-grade designtradereps \u2014 trade-direct, free samples. https://designtradereps.com",
           "Why we exist: the design community deserves a real source, not a re-seller markup.",
-          "designtradereps — free designer samples, honest lead times. https://designtradereps.com"
+          "designtradereps \u2014 free designer samples, honest lead times. https://designtradereps.com"
         ]
       },
       "ig": {
@@ -2316,17 +2276,17 @@
           "designtradereps.us"
         ],
         "display_name": "designtradereps",
-        "bio": "Designer-grade designtradereps — trade-direct, free samples, hand-curated only.",
+        "bio": "Designer-grade designtradereps \u2014 trade-direct, free samples, hand-curated only.",
         "first_posts": [
-          "Designer-grade designtradereps — trade-direct, free samples. — link in bio",
-          "Why we exist: the design community deserves a real source, not a re-seller markup. — link in bio",
-          "designtradereps — free designer samples, honest lead times. — link in bio"
+          "Designer-grade designtradereps \u2014 trade-direct, free samples. \u2014 link in bio",
+          "Why we exist: the design community deserves a real source, not a re-seller markup. \u2014 link in bio",
+          "designtradereps \u2014 free designer samples, honest lead times. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for designtradereps: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for designtradereps — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for designtradereps: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for designtradereps \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -2343,9 +2303,9 @@
         "display_name": "designtradesalesreps",
         "bio": "Trade source for designtradesalesreps. Free designer samples, LA-based.",
         "first_posts": [
-          "Designer-grade designtradesalesreps — trade-direct, free samples. https://designtradesalesreps.com",
+          "Designer-grade designtradesalesreps \u2014 trade-direct, free samples. https://designtradesalesreps.com",
           "Why we exist: the design community deserves a real source, not a re-seller markup.",
-          "designtradesalesreps — free designer samples, honest lead times. https://designtradesalesreps.com"
+          "designtradesalesreps \u2014 free designer samples, honest lead times. https://designtradesalesreps.com"
         ]
       },
       "ig": {
@@ -2358,15 +2318,15 @@
         "display_name": "designtradesalesreps",
         "bio": "designtradesalesreps curated for the trade. Free samples, honest lead times.",
         "first_posts": [
-          "Designer-grade designtradesalesreps — trade-direct, free samples. — link in bio",
-          "Why we exist: the design community deserves a real source, not a re-seller markup. — link in bio",
-          "designtradesalesreps — free designer samples, honest lead times. — link in bio"
+          "Designer-grade designtradesalesreps \u2014 trade-direct, free samples. \u2014 link in bio",
+          "Why we exist: the design community deserves a real source, not a re-seller markup. \u2014 link in bio",
+          "designtradesalesreps \u2014 free designer samples, honest lead times. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for designtradesalesreps: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for designtradesalesreps — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for designtradesalesreps: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for designtradesalesreps \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -2398,15 +2358,15 @@
         "display_name": "designwallcoverings",
         "bio": "Designer wallcoverings, trade-direct. Free samples, honest lead times, 70+ houses under one ordering experience.",
         "first_posts": [
-          "Designer wallcoverings, trade-direct since 2003. Free designer samples on every reference. — link in bio",
-          "Why trade-direct: every layer of distribution adds time & cost. We removed them. — link in bio",
-          "70+ houses, one ordering experience, free designer samples. — link in bio"
+          "Designer wallcoverings, trade-direct since 2003. Free designer samples on every reference. \u2014 link in bio",
+          "Why trade-direct: every layer of distribution adds time & cost. We removed them. \u2014 link in bio",
+          "70+ houses, one ordering experience, free designer samples. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for designwallcoverings: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for designwallcoverings — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for designwallcoverings: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for designwallcoverings \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -2438,15 +2398,15 @@
         "display_name": "embroideredwallpaper",
         "bio": "Wallpaper specified by designers. Curated patterns, free samples, no minimums.",
         "first_posts": [
-          "Designer wallpaper, trade-direct. Free samples on every reference. — link in bio",
-          "Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those. — link in bio",
-          "Wallpaper specified by designers. Hand-curated, free samples. — link in bio"
+          "Designer wallpaper, trade-direct. Free samples on every reference. \u2014 link in bio",
+          "Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those. \u2014 link in bio",
+          "Wallpaper specified by designers. Hand-curated, free samples. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for embroideredwallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for embroideredwallpaper — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for embroideredwallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for embroideredwallpaper \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -2461,11 +2421,11 @@
           "shopetciemurals"
         ],
         "display_name": "etciemurals",
-        "bio": "Designer-grade etciemurals — trade-direct, free samples, hand-curated only.",
+        "bio": "Designer-grade etciemurals \u2014 trade-direct, free samples, hand-curated only.",
         "first_posts": [
-          "Designer-grade etciemurals — trade-direct, free samples. https://etciemurals.com",
+          "Designer-grade etciemurals \u2014 trade-direct, free samples. https://etciemurals.com",
           "Why we exist: the design community deserves a real source, not a re-seller markup.",
-          "etciemurals — free designer samples, honest lead times. https://etciemurals.com"
+          "etciemurals \u2014 free designer samples, honest lead times. https://etciemurals.com"
         ]
       },
       "ig": {
@@ -2478,15 +2438,15 @@
         "display_name": "etciemurals",
         "bio": "Trade source for etciemurals. Free designer samples, LA-based.",
         "first_posts": [
-          "Designer-grade etciemurals — trade-direct, free samples. — link in bio",
-          "Why we exist: the design community deserves a real source, not a re-seller markup. — link in bio",
-          "etciemurals — free designer samples, honest lead times. — link in bio"
+          "Designer-grade etciemurals \u2014 trade-direct, free samples. \u2014 link in bio",
+          "Why we exist: the design community deserves a real source, not a re-seller markup. \u2014 link in bio",
+          "etciemurals \u2014 free designer samples, honest lead times. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for etciemurals: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for etciemurals — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for etciemurals: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for etciemurals \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -2501,9 +2461,9 @@
           "shopfabricfrida"
         ],
         "display_name": "fabricfriday",
-        "bio": "Trade fabric source — drapery, upholstery, performance. LA-based, free samples, 70+ houses.",
+        "bio": "Trade fabric source \u2014 drapery, upholstery, performance. LA-based, free samples, 70+ houses.",
         "first_posts": [
-          "Trade fabric source — drapery, upholstery, performance. LA-based, free samples. https://fabricfriday.com",
+          "Trade fabric source \u2014 drapery, upholstery, performance. LA-based, free samples. https://fabricfriday.com",
           "Designer fabric, trade-direct. 70+ houses, free samples, honest lead times.",
           "Hand-curated fabric for the trade. Free samples on every reference. https://fabricfriday.com"
         ]
@@ -2518,15 +2478,15 @@
         "display_name": "fabricfriday",
         "bio": "Designer fabric, trade-direct. Free samples, honest lead times, ships from LA.",
         "first_posts": [
-          "Trade fabric source — drapery, upholstery, performance. LA-based, free samples. — link in bio",
-          "Designer fabric, trade-direct. 70+ houses, free samples, honest lead times. — link in bio",
-          "Hand-curated fabric for the trade. Free samples on every reference. — link in bio"
+          "Trade fabric source \u2014 drapery, upholstery, performance. LA-based, free samples. \u2014 link in bio",
+          "Designer fabric, trade-direct. 70+ houses, free samples, honest lead times. \u2014 link in bio",
+          "Hand-curated fabric for the trade. Free samples on every reference. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for fabricfriday: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for fabricfriday — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for fabricfriday: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for fabricfriday \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -2543,7 +2503,7 @@
         "display_name": "fabricfridays",
         "bio": "Designer fabric, trade-direct. Free samples, honest lead times, ships from LA.",
         "first_posts": [
-          "Trade fabric source — drapery, upholstery, performance. LA-based, free samples. https://fabricfridays.com",
+          "Trade fabric source \u2014 drapery, upholstery, performance. LA-based, free samples. https://fabricfridays.com",
           "Designer fabric, trade-direct. 70+ houses, free samples, honest lead times.",
           "Hand-curated fabric for the trade. Free samples on every reference. https://fabricfridays.com"
         ]
@@ -2558,15 +2518,15 @@
         "display_name": "fabricfridays",
         "bio": "Hand-curated fabric for the trade. Drapery, upholstery, performance. Free samples on every reference.",
         "first_posts": [
-          "Trade fabric source — drapery, upholstery, performance. LA-based, free samples. — link in bio",
-          "Designer fabric, trade-direct. 70+ houses, free samples, honest lead times. — link in bio",
-          "Hand-curated fabric for the trade. Free samples on every reference. — link in bio"
+          "Trade fabric source \u2014 drapery, upholstery, performance. LA-based, free samples. \u2014 link in bio",
+          "Designer fabric, trade-direct. 70+ houses, free samples, honest lead times. \u2014 link in bio",
+          "Hand-curated fabric for the trade. Free samples on every reference. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for fabricfridays: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for fabricfridays — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for fabricfridays: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for fabricfridays \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -2583,7 +2543,7 @@
         "display_name": "fabricsondemand",
         "bio": "Hand-curated fabric for the trade. Drapery, upholstery, performance. Free samples on every reference.",
         "first_posts": [
-          "Trade fabric source — drapery, upholstery, performance. LA-based, free samples. https://fabricsondemand.com",
+          "Trade fabric source \u2014 drapery, upholstery, performance. LA-based, free samples. https://fabricsondemand.com",
           "Designer fabric, trade-direct. 70+ houses, free samples, honest lead times.",
           "Hand-curated fabric for the trade. Free samples on every reference. https://fabricsondemand.com"
         ]
@@ -2596,17 +2556,17 @@
           "fabricsondemand.us"
         ],
         "display_name": "fabricsondemand",
-        "bio": "Trade fabric source — drapery, upholstery, performance. LA-based, free samples, 70+ houses.",
+        "bio": "Trade fabric source \u2014 drapery, upholstery, performance. LA-based, free samples, 70+ houses.",
         "first_posts": [
-          "Trade fabric source — drapery, upholstery, performance. LA-based, free samples. — link in bio",
-          "Designer fabric, trade-direct. 70+ houses, free samples, honest lead times. — link in bio",
-          "Hand-curated fabric for the trade. Free samples on every reference. — link in bio"
+          "Trade fabric source \u2014 drapery, upholstery, performance. LA-based, free samples. \u2014 link in bio",
+          "Designer fabric, trade-direct. 70+ houses, free samples, honest lead times. \u2014 link in bio",
+          "Hand-curated fabric for the trade. Free samples on every reference. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for fabricsondemand: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for fabricsondemand — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for fabricsondemand: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for fabricsondemand \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -2623,7 +2583,7 @@
         "display_name": "fabricwallpaper",
         "bio": "Hand-curated fabric for the trade. Drapery, upholstery, performance. Free samples on every reference.",
         "first_posts": [
-          "Trade fabric source — drapery, upholstery, performance. LA-based, free samples. https://fabricwallpaper.com",
+          "Trade fabric source \u2014 drapery, upholstery, performance. LA-based, free samples. https://fabricwallpaper.com",
           "Designer fabric, trade-direct. 70+ houses, free samples, honest lead times.",
           "Hand-curated fabric for the trade. Free samples on every reference. https://fabricwallpaper.com"
         ]
@@ -2636,17 +2596,17 @@
           "fabricwallpaper.us"
         ],
         "display_name": "fabricwallpaper",
-        "bio": "Trade fabric source — drapery, upholstery, performance. LA-based, free samples, 70+ houses.",
+        "bio": "Trade fabric source \u2014 drapery, upholstery, performance. LA-based, free samples, 70+ houses.",
         "first_posts": [
-          "Trade fabric source — drapery, upholstery, performance. LA-based, free samples. — link in bio",
-          "Designer fabric, trade-direct. 70+ houses, free samples, honest lead times. — link in bio",
-          "Hand-curated fabric for the trade. Free samples on every reference. — link in bio"
+          "Trade fabric source \u2014 drapery, upholstery, performance. LA-based, free samples. \u2014 link in bio",
+          "Designer fabric, trade-direct. 70+ houses, free samples, honest lead times. \u2014 link in bio",
+          "Hand-curated fabric for the trade. Free samples on every reference. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for fabricwallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for fabricwallpaper — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for fabricwallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for fabricwallpaper \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -2678,15 +2638,15 @@
         "display_name": "fireratedwallcovering",
         "bio": "Designer wallcoverings, trade-direct. Free samples, honest lead times, 70+ houses under one ordering experience.",
         "first_posts": [
-          "Designer wallcoverings, trade-direct since 2003. Free designer samples on every reference. — link in bio",
-          "Why trade-direct: every layer of distribution adds time & cost. We removed them. — link in bio",
-          "70+ houses, one ordering experience, free designer samples. — link in bio"
+          "Designer wallcoverings, trade-direct since 2003. Free designer samples on every reference. \u2014 link in bio",
+          "Why trade-direct: every layer of distribution adds time & cost. We removed them. \u2014 link in bio",
+          "70+ houses, one ordering experience, free designer samples. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for fireratedwallcovering: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for fireratedwallcovering — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for fireratedwallcovering: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for fireratedwallcovering \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -2718,15 +2678,15 @@
         "display_name": "flockedwallpaper",
         "bio": "Wallpaper specified by designers. Curated patterns, free samples, no minimums.",
         "first_posts": [
-          "Designer wallpaper, trade-direct. Free samples on every reference. — link in bio",
-          "Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those. — link in bio",
-          "Wallpaper specified by designers. Hand-curated, free samples. — link in bio"
+          "Designer wallpaper, trade-direct. Free samples on every reference. \u2014 link in bio",
+          "Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those. \u2014 link in bio",
+          "Wallpaper specified by designers. Hand-curated, free samples. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for flockedwallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for flockedwallpaper — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for flockedwallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for flockedwallpaper \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -2758,15 +2718,15 @@
         "display_name": "glassbeadedwallpaper",
         "bio": "Trade source for designer wallpaper. Free samples, honest lead times, ships from LA.",
         "first_posts": [
-          "Designer wallpaper, trade-direct. Free samples on every reference. — link in bio",
-          "Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those. — link in bio",
-          "Wallpaper specified by designers. Hand-curated, free samples. — link in bio"
+          "Designer wallpaper, trade-direct. Free samples on every reference. \u2014 link in bio",
+          "Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those. \u2014 link in bio",
+          "Wallpaper specified by designers. Hand-curated, free samples. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for glassbeadedwallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for glassbeadedwallpaper — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for glassbeadedwallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for glassbeadedwallpaper \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -2783,7 +2743,7 @@
         "display_name": "goldleafwallpaper",
         "bio": "Trade source for gold wallpaper. Free designer samples, honest lead times.",
         "first_posts": [
-          "Gold wallcoverings — the patterns designers actually specify. Free samples. https://goldleafwallpaper.com",
+          "Gold wallcoverings \u2014 the patterns designers actually specify. Free samples. https://goldleafwallpaper.com",
           "Why gold: it's the language designers reach for when the wall has to carry the room.",
           "Trade source for gold wallpaper. Free designer samples. https://goldleafwallpaper.com"
         ]
@@ -2798,15 +2758,15 @@
         "display_name": "goldleafwallpaper",
         "bio": "Gold patterns, designer-grade only. Free samples on every reference.",
         "first_posts": [
-          "Gold wallcoverings — the patterns designers actually specify. Free samples. — link in bio",
-          "Why gold: it's the language designers reach for when the wall has to carry the room. — link in bio",
-          "Trade source for gold wallpaper. Free designer samples. — link in bio"
+          "Gold wallcoverings \u2014 the patterns designers actually specify. Free samples. \u2014 link in bio",
+          "Why gold: it's the language designers reach for when the wall has to carry the room. \u2014 link in bio",
+          "Trade source for gold wallpaper. Free designer samples. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for goldleafwallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for goldleafwallpaper — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for goldleafwallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for goldleafwallpaper \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -2823,8 +2783,8 @@
         "display_name": "grassclothwallcovering",
         "bio": "Hand-loomed grasscloth wallcoverings. The natural-fiber wall finish designers actually specify.",
         "first_posts": [
-          "Trade source for grasscloth wallcoverings — natural-fiber, designer-grade, free samples. https://grassclothwallcovering.com",
-          "Why grasscloth: a natural fiber wall finish does what print can't — depth, light-play, tactility.",
+          "Trade source for grasscloth wallcoverings \u2014 natural-fiber, designer-grade, free samples. https://grassclothwallcovering.com",
+          "Why grasscloth: a natural fiber wall finish does what print can't \u2014 depth, light-play, tactility.",
           "Grasscloth wallcoverings, free designer samples. https://grassclothwallcovering.com"
         ]
       },
@@ -2836,17 +2796,17 @@
           "grassclothwallcovering.us"
         ],
         "display_name": "grassclothwallcovering",
-        "bio": "Grasscloth wallcoverings — natural fiber, designer-grade, free samples. Trade-direct.",
+        "bio": "Grasscloth wallcoverings \u2014 natural fiber, designer-grade, free samples. Trade-direct.",
         "first_posts": [
-          "Trade source for grasscloth wallcoverings — natural-fiber, designer-grade, free samples. — link in bio",
-          "Why grasscloth: a natural fiber wall finish does what print can't — depth, light-play, tactility. — link in bio",
-          "Grasscloth wallcoverings, free designer samples. — link in bio"
+          "Trade source for grasscloth wallcoverings \u2014 natural-fiber, designer-grade, free samples. \u2014 link in bio",
+          "Why grasscloth: a natural fiber wall finish does what print can't \u2014 depth, light-play, tactility. \u2014 link in bio",
+          "Grasscloth wallcoverings, free designer samples. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for grassclothwallcovering: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for grassclothwallcovering — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for grassclothwallcovering: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for grassclothwallcovering \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -2861,10 +2821,10 @@
           "shopgrassclothw"
         ],
         "display_name": "grassclothwallcoverings",
-        "bio": "Grasscloth wallcoverings — natural fiber, designer-grade, free samples. Trade-direct.",
+        "bio": "Grasscloth wallcoverings \u2014 natural fiber, designer-grade, free samples. Trade-direct.",
         "first_posts": [
-          "Trade source for grasscloth wallcoverings — natural-fiber, designer-grade, free samples. https://grassclothwallcoverings.com",
-          "Why grasscloth: a natural fiber wall finish does what print can't — depth, light-play, tactility.",
+          "Trade source for grasscloth wallcoverings \u2014 natural-fiber, designer-grade, free samples. https://grassclothwallcoverings.com",
+          "Why grasscloth: a natural fiber wall finish does what print can't \u2014 depth, light-play, tactility.",
           "Grasscloth wallcoverings, free designer samples. https://grassclothwallcoverings.com"
         ]
       },
@@ -2878,15 +2838,15 @@
         "display_name": "grassclothwallcoverings",
         "bio": "Trade source for grasscloth wallcoverings. Free designer samples. LA-based, ships nationwide.",
         "first_posts": [
-          "Trade source for grasscloth wallcoverings — natural-fiber, designer-grade, free samples. — link in bio",
-          "Why grasscloth: a natural fiber wall finish does what print can't — depth, light-play, tactility. — link in bio",
-          "Grasscloth wallcoverings, free designer samples. — link in bio"
+          "Trade source for grasscloth wallcoverings \u2014 natural-fiber, designer-grade, free samples. \u2014 link in bio",
+          "Why grasscloth: a natural fiber wall finish does what print can't \u2014 depth, light-play, tactility. \u2014 link in bio",
+          "Grasscloth wallcoverings, free designer samples. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for grassclothwallcoverings: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for grassclothwallcoverings — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for grassclothwallcoverings: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for grassclothwallcoverings \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -2903,8 +2863,8 @@
         "display_name": "grassclothwallpaper",
         "bio": "Trade source for grasscloth wallcoverings. Free designer samples. LA-based, ships nationwide.",
         "first_posts": [
-          "Trade source for grasscloth wallcoverings — natural-fiber, designer-grade, free samples. https://grassclothwallpaper.com",
-          "Why grasscloth: a natural fiber wall finish does what print can't — depth, light-play, tactility.",
+          "Trade source for grasscloth wallcoverings \u2014 natural-fiber, designer-grade, free samples. https://grassclothwallpaper.com",
+          "Why grasscloth: a natural fiber wall finish does what print can't \u2014 depth, light-play, tactility.",
           "Grasscloth wallcoverings, free designer samples. https://grassclothwallpaper.com"
         ]
       },
@@ -2918,15 +2878,15 @@
         "display_name": "grassclothwallpaper",
         "bio": "Hand-loomed grasscloth wallcoverings. The natural-fiber wall finish designers actually specify.",
         "first_posts": [
-          "Trade source for grasscloth wallcoverings — natural-fiber, designer-grade, free samples. — link in bio",
-          "Why grasscloth: a natural fiber wall finish does what print can't — depth, light-play, tactility. — link in bio",
-          "Grasscloth wallcoverings, free designer samples. — link in bio"
+          "Trade source for grasscloth wallcoverings \u2014 natural-fiber, designer-grade, free samples. \u2014 link in bio",
+          "Why grasscloth: a natural fiber wall finish does what print can't \u2014 depth, light-play, tactility. \u2014 link in bio",
+          "Grasscloth wallcoverings, free designer samples. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for grassclothwallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for grassclothwallpaper — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for grassclothwallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for grassclothwallpaper \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -2958,15 +2918,15 @@
         "display_name": "greenwallcoverings",
         "bio": "Designer wallcoverings, trade-direct. Free samples, honest lead times, 70+ houses under one ordering experience.",
         "first_posts": [
-          "Designer wallcoverings, trade-direct since 2003. Free designer samples on every reference. — link in bio",
-          "Why trade-direct: every layer of distribution adds time & cost. We removed them. — link in bio",
-          "70+ houses, one ordering experience, free designer samples. — link in bio"
+          "Designer wallcoverings, trade-direct since 2003. Free designer samples on every reference. \u2014 link in bio",
+          "Why trade-direct: every layer of distribution adds time & cost. We removed them. \u2014 link in bio",
+          "70+ houses, one ordering experience, free designer samples. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for greenwallcoverings: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for greenwallcoverings — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for greenwallcoverings: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for greenwallcoverings \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -2998,15 +2958,15 @@
         "display_name": "handcraftedwallpaper",
         "bio": "Designer wallpaper, trade-direct. Free samples on every reference. Hand-curated patterns, no filler.",
         "first_posts": [
-          "Designer wallpaper, trade-direct. Free samples on every reference. — link in bio",
-          "Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those. — link in bio",
-          "Wallpaper specified by designers. Hand-curated, free samples. — link in bio"
+          "Designer wallpaper, trade-direct. Free samples on every reference. \u2014 link in bio",
+          "Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those. \u2014 link in bio",
+          "Wallpaper specified by designers. Hand-curated, free samples. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for handcraftedwallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for handcraftedwallpaper — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for handcraftedwallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for handcraftedwallpaper \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -3038,15 +2998,15 @@
         "display_name": "handmadewallcovering",
         "bio": "Designer wallcoverings, trade-direct. Free samples, honest lead times, 70+ houses under one ordering experience.",
         "first_posts": [
-          "Designer wallcoverings, trade-direct since 2003. Free designer samples on every reference. — link in bio",
-          "Why trade-direct: every layer of distribution adds time & cost. We removed them. — link in bio",
-          "70+ houses, one ordering experience, free designer samples. — link in bio"
+          "Designer wallcoverings, trade-direct since 2003. Free designer samples on every reference. \u2014 link in bio",
+          "Why trade-direct: every layer of distribution adds time & cost. We removed them. \u2014 link in bio",
+          "70+ houses, one ordering experience, free designer samples. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for handmadewallcovering: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for handmadewallcovering — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for handmadewallcovering: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for handmadewallcovering \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -3078,15 +3038,15 @@
         "display_name": "handmadewallpapers",
         "bio": "Designer wallpaper, trade-direct. Free samples on every reference. Hand-curated patterns, no filler.",
         "first_posts": [
-          "Designer wallpaper, trade-direct. Free samples on every reference. — link in bio",
-          "Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those. — link in bio",
-          "Wallpaper specified by designers. Hand-curated, free samples. — link in bio"
+          "Designer wallpaper, trade-direct. Free samples on every reference. \u2014 link in bio",
+          "Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those. \u2014 link in bio",
+          "Wallpaper specified by designers. Hand-curated, free samples. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for handmadewallpapers: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for handmadewallpapers — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for handmadewallpapers: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for handmadewallpapers \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -3118,15 +3078,15 @@
         "display_name": "handscreenedwallpaper",
         "bio": "Trade source for designer wallpaper. Free samples, honest lead times, ships from LA.",
         "first_posts": [
-          "Designer wallpaper, trade-direct. Free samples on every reference. — link in bio",
-          "Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those. — link in bio",
-          "Wallpaper specified by designers. Hand-curated, free samples. — link in bio"
+          "Designer wallpaper, trade-direct. Free samples on every reference. \u2014 link in bio",
+          "Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those. \u2014 link in bio",
+          "Wallpaper specified by designers. Hand-curated, free samples. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for handscreenedwallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for handscreenedwallpaper — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for handscreenedwallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for handscreenedwallpaper \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -3158,15 +3118,15 @@
         "display_name": "healthcarewallpaper",
         "bio": "Designer wallpaper, trade-direct. Free samples on every reference. Hand-curated patterns, no filler.",
         "first_posts": [
-          "Designer wallpaper, trade-direct. Free samples on every reference. — link in bio",
-          "Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those. — link in bio",
-          "Wallpaper specified by designers. Hand-curated, free samples. — link in bio"
+          "Designer wallpaper, trade-direct. Free samples on every reference. \u2014 link in bio",
+          "Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those. \u2014 link in bio",
+          "Wallpaper specified by designers. Hand-curated, free samples. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for healthcarewallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for healthcarewallpaper — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for healthcarewallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for healthcarewallpaper \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -3184,7 +3144,7 @@
         "bio": "Hollywood-direct wallcoverings & finishes. Trade pricing, free samples, designer-grade only.",
         "first_posts": [
           "Hollywood-direct wallcoverings for the local trade. Free designer samples. https://hollywoodwallcovering.com",
-          "Designers — local trade source for wallpaper, fabric & finishes. Free samples, real lead times. https://hollywoodwallcovering.com",
+          "Designers \u2014 local trade source for wallpaper, fabric & finishes. Free samples, real lead times. https://hollywoodwallcovering.com",
           "Wall finishes specified by the design community. Curated, free samples, ships fast. https://hollywoodwallcovering.com"
         ]
       },
@@ -3198,15 +3158,15 @@
         "display_name": "hollywoodwallcovering",
         "bio": "Wallcoverings for the hollywood trade. Free designer samples, honest lead times, ships fast.",
         "first_posts": [
-          "Hollywood-direct wallcoverings for the local trade. Free designer samples. — link in bio",
-          "Designers — local trade source for wallpaper, fabric & finishes. Free samples, real lead times. — link in bio",
-          "Wall finishes specified by the design community. Curated, free samples, ships fast. — link in bio"
+          "Hollywood-direct wallcoverings for the local trade. Free designer samples. \u2014 link in bio",
+          "Designers \u2014 local trade source for wallpaper, fabric & finishes. Free samples, real lead times. \u2014 link in bio",
+          "Wall finishes specified by the design community. Curated, free samples, ships fast. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for hollywoodwallcovering: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for hollywoodwallcovering — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for hollywoodwallcovering: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for hollywoodwallcovering \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -3224,7 +3184,7 @@
         "bio": "Wallcoverings for the hollywood trade. Free designer samples, honest lead times, ships fast.",
         "first_posts": [
           "Hollywood-direct wallcoverings for the local trade. Free designer samples. https://hollywoodwallcoverings.com",
-          "Designers — local trade source for wallpaper, fabric & finishes. Free samples, real lead times. https://hollywoodwallcoverings.com",
+          "Designers \u2014 local trade source for wallpaper, fabric & finishes. Free samples, real lead times. https://hollywoodwallcoverings.com",
           "Wall finishes specified by the design community. Curated, free samples, ships fast. https://hollywoodwallcoverings.com"
         ]
       },
@@ -3238,15 +3198,15 @@
         "display_name": "hollywoodwallcoverings",
         "bio": "Hollywood wallpaper & wallcovering. Free samples, trade-direct, no middle layer.",
         "first_posts": [
-          "Hollywood-direct wallcoverings for the local trade. Free designer samples. — link in bio",
-          "Designers — local trade source for wallpaper, fabric & finishes. Free samples, real lead times. — link in bio",
-          "Wall finishes specified by the design community. Curated, free samples, ships fast. — link in bio"
+          "Hollywood-direct wallcoverings for the local trade. Free designer samples. \u2014 link in bio",
+          "Designers \u2014 local trade source for wallpaper, fabric & finishes. Free samples, real lead times. \u2014 link in bio",
+          "Wall finishes specified by the design community. Curated, free samples, ships fast. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for hollywoodwallcoverings: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for hollywoodwallcoverings — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for hollywoodwallcoverings: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for hollywoodwallcoverings \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -3261,11 +3221,11 @@
           "shophospitality"
         ],
         "display_name": "hospitalitymurals",
-        "bio": "Commercial wallcoverings — Type II vinyl, ASTM-tested, hospitality-spec. Trade-direct, free samples.",
+        "bio": "Commercial wallcoverings \u2014 Type II vinyl, ASTM-tested, hospitality-spec. Trade-direct, free samples.",
         "first_posts": [
           "Class A vinyl wallcoverings for hospitality. Fire-rated, scrubbable, contract-grade. Free samples. https://hospitalitymurals.com",
           "Contract-grade wall finishes for hotels, restaurants & offices. Type II, ASTM-tested, designer-led.",
-          "Commercial wallcoverings — the spec without the procurement headache. Free designer samples. https://hospitalitymurals.com"
+          "Commercial wallcoverings \u2014 the spec without the procurement headache. Free designer samples. https://hospitalitymurals.com"
         ]
       },
       "ig": {
@@ -3278,15 +3238,15 @@
         "display_name": "hospitalitymurals",
         "bio": "Contract-grade wall finishes for hotels, restaurants & offices. Class A, designer-led, free samples.",
         "first_posts": [
-          "Class A vinyl wallcoverings for hospitality. Fire-rated, scrubbable, contract-grade. Free samples. — link in bio",
-          "Contract-grade wall finishes for hotels, restaurants & offices. Type II, ASTM-tested, designer-led. — link in bio",
-          "Commercial wallcoverings — the spec without the procurement headache. Free designer samples. — link in bio"
+          "Class A vinyl wallcoverings for hospitality. Fire-rated, scrubbable, contract-grade. Free samples. \u2014 link in bio",
+          "Contract-grade wall finishes for hotels, restaurants & offices. Type II, ASTM-tested, designer-led. \u2014 link in bio",
+          "Commercial wallcoverings \u2014 the spec without the procurement headache. Free designer samples. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for hospitalitymurals: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for hospitalitymurals — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for hospitalitymurals: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for hospitalitymurals \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -3301,11 +3261,11 @@
           "shophospitality"
         ],
         "display_name": "hospitalitysalesagency",
-        "bio": "Commercial wallcoverings — Type II vinyl, ASTM-tested, hospitality-spec. Trade-direct, free samples.",
+        "bio": "Commercial wallcoverings \u2014 Type II vinyl, ASTM-tested, hospitality-spec. Trade-direct, free samples.",
         "first_posts": [
           "Class A vinyl wallcoverings for hospitality. Fire-rated, scrubbable, contract-grade. Free samples. https://hospitalitysalesagency.com",
           "Contract-grade wall finishes for hotels, restaurants & offices. Type II, ASTM-tested, designer-led.",
-          "Commercial wallcoverings — the spec without the procurement headache. Free designer samples. https://hospitalitysalesagency.com"
+          "Commercial wallcoverings \u2014 the spec without the procurement headache. Free designer samples. https://hospitalitysalesagency.com"
         ]
       },
       "ig": {
@@ -3318,15 +3278,15 @@
         "display_name": "hospitalitysalesagency",
         "bio": "Contract-grade wall finishes for hotels, restaurants & offices. Class A, designer-led, free samples.",
         "first_posts": [
-          "Class A vinyl wallcoverings for hospitality. Fire-rated, scrubbable, contract-grade. Free samples. — link in bio",
-          "Contract-grade wall finishes for hotels, restaurants & offices. Type II, ASTM-tested, designer-led. — link in bio",
-          "Commercial wallcoverings — the spec without the procurement headache. Free designer samples. — link in bio"
+          "Class A vinyl wallcoverings for hospitality. Fire-rated, scrubbable, contract-grade. Free samples. \u2014 link in bio",
+          "Contract-grade wall finishes for hotels, restaurants & offices. Type II, ASTM-tested, designer-led. \u2014 link in bio",
+          "Commercial wallcoverings \u2014 the spec without the procurement headache. Free designer samples. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for hospitalitysalesagency: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for hospitalitysalesagency — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for hospitalitysalesagency: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for hospitalitysalesagency \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -3345,7 +3305,7 @@
         "first_posts": [
           "Class A vinyl wallcoverings for hospitality. Fire-rated, scrubbable, contract-grade. Free samples. https://hospitalitysalesagents.com",
           "Contract-grade wall finishes for hotels, restaurants & offices. Type II, ASTM-tested, designer-led.",
-          "Commercial wallcoverings — the spec without the procurement headache. Free designer samples. https://hospitalitysalesagents.com"
+          "Commercial wallcoverings \u2014 the spec without the procurement headache. Free designer samples. https://hospitalitysalesagents.com"
         ]
       },
       "ig": {
@@ -3356,17 +3316,17 @@
           "hospitalitysalesagents.us"
         ],
         "display_name": "hospitalitysalesagents",
-        "bio": "Commercial wallcoverings — Type II vinyl, ASTM-tested, hospitality-spec. Trade-direct, free samples.",
+        "bio": "Commercial wallcoverings \u2014 Type II vinyl, ASTM-tested, hospitality-spec. Trade-direct, free samples.",
         "first_posts": [
-          "Class A vinyl wallcoverings for hospitality. Fire-rated, scrubbable, contract-grade. Free samples. — link in bio",
-          "Contract-grade wall finishes for hotels, restaurants & offices. Type II, ASTM-tested, designer-led. — link in bio",
-          "Commercial wallcoverings — the spec without the procurement headache. Free designer samples. — link in bio"
+          "Class A vinyl wallcoverings for hospitality. Fire-rated, scrubbable, contract-grade. Free samples. \u2014 link in bio",
+          "Contract-grade wall finishes for hotels, restaurants & offices. Type II, ASTM-tested, designer-led. \u2014 link in bio",
+          "Commercial wallcoverings \u2014 the spec without the procurement headache. Free designer samples. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for hospitalitysalesagents: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for hospitalitysalesagents — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for hospitalitysalesagents: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for hospitalitysalesagents \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -3381,11 +3341,11 @@
           "shophospitality"
         ],
         "display_name": "hospitalitysalesreps",
-        "bio": "Commercial wallcoverings — Type II vinyl, ASTM-tested, hospitality-spec. Trade-direct, free samples.",
+        "bio": "Commercial wallcoverings \u2014 Type II vinyl, ASTM-tested, hospitality-spec. Trade-direct, free samples.",
         "first_posts": [
           "Class A vinyl wallcoverings for hospitality. Fire-rated, scrubbable, contract-grade. Free samples. https://hospitalitysalesreps.com",
           "Contract-grade wall finishes for hotels, restaurants & offices. Type II, ASTM-tested, designer-led.",
-          "Commercial wallcoverings — the spec without the procurement headache. Free designer samples. https://hospitalitysalesreps.com"
+          "Commercial wallcoverings \u2014 the spec without the procurement headache. Free designer samples. https://hospitalitysalesreps.com"
         ]
       },
       "ig": {
@@ -3398,15 +3358,15 @@
         "display_name": "hospitalitysalesreps",
         "bio": "Contract-grade wall finishes for hotels, restaurants & offices. Class A, designer-led, free samples.",
         "first_posts": [
-          "Class A vinyl wallcoverings for hospitality. Fire-rated, scrubbable, contract-grade. Free samples. — link in bio",
-          "Contract-grade wall finishes for hotels, restaurants & offices. Type II, ASTM-tested, designer-led. — link in bio",
-          "Commercial wallcoverings — the spec without the procurement headache. Free designer samples. — link in bio"
+          "Class A vinyl wallcoverings for hospitality. Fire-rated, scrubbable, contract-grade. Free samples. \u2014 link in bio",
+          "Contract-grade wall finishes for hotels, restaurants & offices. Type II, ASTM-tested, designer-led. \u2014 link in bio",
+          "Commercial wallcoverings \u2014 the spec without the procurement headache. Free designer samples. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for hospitalitysalesreps: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for hospitalitysalesreps — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for hospitalitysalesreps: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for hospitalitysalesreps \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -3425,7 +3385,7 @@
         "first_posts": [
           "Class A vinyl wallcoverings for hospitality. Fire-rated, scrubbable, contract-grade. Free samples. https://hospitalitywallcoverings.com",
           "Contract-grade wall finishes for hotels, restaurants & offices. Type II, ASTM-tested, designer-led.",
-          "Commercial wallcoverings — the spec without the procurement headache. Free designer samples. https://hospitalitywallcoverings.com"
+          "Commercial wallcoverings \u2014 the spec without the procurement headache. Free designer samples. https://hospitalitywallcoverings.com"
         ]
       },
       "ig": {
@@ -3438,15 +3398,15 @@
         "display_name": "hospitalitywallcoverings",
         "bio": "Class A vinyl wallcoverings for hospitality, hotel & office. Fire-rated, scrubbable, contract-grade. Free designer samples.",
         "first_posts": [
-          "Class A vinyl wallcoverings for hospitality. Fire-rated, scrubbable, contract-grade. Free samples. — link in bio",
-          "Contract-grade wall finishes for hotels, restaurants & offices. Type II, ASTM-tested, designer-led. — link in bio",
-          "Commercial wallcoverings — the spec without the procurement headache. Free designer samples. — link in bio"
+          "Class A vinyl wallcoverings for hospitality. Fire-rated, scrubbable, contract-grade. Free samples. \u2014 link in bio",
+          "Contract-grade wall finishes for hotels, restaurants & offices. Type II, ASTM-tested, designer-led. \u2014 link in bio",
+          "Commercial wallcoverings \u2014 the spec without the procurement headache. Free designer samples. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for hospitalitywallcoverings: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for hospitalitywallcoverings — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for hospitalitywallcoverings: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for hospitalitywallcoverings \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -3465,7 +3425,7 @@
         "first_posts": [
           "Class A vinyl wallcoverings for hospitality. Fire-rated, scrubbable, contract-grade. Free samples. https://hospitalitywallpaper.com",
           "Contract-grade wall finishes for hotels, restaurants & offices. Type II, ASTM-tested, designer-led.",
-          "Commercial wallcoverings — the spec without the procurement headache. Free designer samples. https://hospitalitywallpaper.com"
+          "Commercial wallcoverings \u2014 the spec without the procurement headache. Free designer samples. https://hospitalitywallpaper.com"
         ]
       },
       "ig": {
@@ -3476,17 +3436,17 @@
           "hospitalitywallpaper.us"
         ],
         "display_name": "hospitalitywallpaper",
-        "bio": "Commercial wallcoverings — Type II vinyl, ASTM-tested, hospitality-spec. Trade-direct, free samples.",
+        "bio": "Commercial wallcoverings \u2014 Type II vinyl, ASTM-tested, hospitality-spec. Trade-direct, free samples.",
         "first_posts": [
-          "Class A vinyl wallcoverings for hospitality. Fire-rated, scrubbable, contract-grade. Free samples. — link in bio",
-          "Contract-grade wall finishes for hotels, restaurants & offices. Type II, ASTM-tested, designer-led. — link in bio",
-          "Commercial wallcoverings — the spec without the procurement headache. Free designer samples. — link in bio"
+          "Class A vinyl wallcoverings for hospitality. Fire-rated, scrubbable, contract-grade. Free samples. \u2014 link in bio",
+          "Contract-grade wall finishes for hotels, restaurants & offices. Type II, ASTM-tested, designer-led. \u2014 link in bio",
+          "Commercial wallcoverings \u2014 the spec without the procurement headache. Free designer samples. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for hospitalitywallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for hospitalitywallpaper — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for hospitalitywallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for hospitalitywallpaper \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -3501,11 +3461,11 @@
           "shophotelwcs"
         ],
         "display_name": "hotelwallcoverings",
-        "bio": "Commercial wallcoverings — Type II vinyl, ASTM-tested, hospitality-spec. Trade-direct, free samples.",
+        "bio": "Commercial wallcoverings \u2014 Type II vinyl, ASTM-tested, hospitality-spec. Trade-direct, free samples.",
         "first_posts": [
           "Class A vinyl wallcoverings for hospitality. Fire-rated, scrubbable, contract-grade. Free samples. https://hotelwallcoverings.com",
           "Contract-grade wall finishes for hotels, restaurants & offices. Type II, ASTM-tested, designer-led.",
-          "Commercial wallcoverings — the spec without the procurement headache. Free designer samples. https://hotelwallcoverings.com"
+          "Commercial wallcoverings \u2014 the spec without the procurement headache. Free designer samples. https://hotelwallcoverings.com"
         ]
       },
       "ig": {
@@ -3518,15 +3478,15 @@
         "display_name": "hotelwallcoverings",
         "bio": "Contract-grade wall finishes for hotels, restaurants & offices. Class A, designer-led, free samples.",
         "first_posts": [
-          "Class A vinyl wallcoverings for hospitality. Fire-rated, scrubbable, contract-grade. Free samples. — link in bio",
-          "Contract-grade wall finishes for hotels, restaurants & offices. Type II, ASTM-tested, designer-led. — link in bio",
-          "Commercial wallcoverings — the spec without the procurement headache. Free designer samples. — link in bio"
+          "Class A vinyl wallcoverings for hospitality. Fire-rated, scrubbable, contract-grade. Free samples. \u2014 link in bio",
+          "Contract-grade wall finishes for hotels, restaurants & offices. Type II, ASTM-tested, designer-led. \u2014 link in bio",
+          "Commercial wallcoverings \u2014 the spec without the procurement headache. Free designer samples. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for hotelwallcoverings: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for hotelwallcoverings — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for hotelwallcoverings: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for hotelwallcoverings \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -3543,9 +3503,9 @@
         "display_name": "interiordesignreps",
         "bio": "interiordesignreps curated for the trade. Free samples, honest lead times.",
         "first_posts": [
-          "Designer-grade interiordesignreps — trade-direct, free samples. https://interiordesignreps.com",
+          "Designer-grade interiordesignreps \u2014 trade-direct, free samples. https://interiordesignreps.com",
           "Why we exist: the design community deserves a real source, not a re-seller markup.",
-          "interiordesignreps — free designer samples, honest lead times. https://interiordesignreps.com"
+          "interiordesignreps \u2014 free designer samples, honest lead times. https://interiordesignreps.com"
         ]
       },
       "ig": {
@@ -3556,17 +3516,17 @@
           "interiordesignreps.us"
         ],
         "display_name": "interiordesignreps",
-        "bio": "Designer-grade interiordesignreps — trade-direct, free samples, hand-curated only.",
+        "bio": "Designer-grade interiordesignreps \u2014 trade-direct, free samples, hand-curated only.",
         "first_posts": [
-          "Designer-grade interiordesignreps — trade-direct, free samples. — link in bio",
-          "Why we exist: the design community deserves a real source, not a re-seller markup. — link in bio",
-          "interiordesignreps — free designer samples, honest lead times. — link in bio"
+          "Designer-grade interiordesignreps \u2014 trade-direct, free samples. \u2014 link in bio",
+          "Why we exist: the design community deserves a real source, not a re-seller markup. \u2014 link in bio",
+          "interiordesignreps \u2014 free designer samples, honest lead times. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for interiordesignreps: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for interiordesignreps — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for interiordesignreps: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for interiordesignreps \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -3583,8 +3543,8 @@
         "display_name": "jutewallpaper",
         "bio": "Trade source for jute wallcoverings. Free designer samples. LA-based, ships nationwide.",
         "first_posts": [
-          "Trade source for jute wallcoverings — natural-fiber, designer-grade, free samples. https://jutewallpaper.com",
-          "Why jute: a natural fiber wall finish does what print can't — depth, light-play, tactility.",
+          "Trade source for jute wallcoverings \u2014 natural-fiber, designer-grade, free samples. https://jutewallpaper.com",
+          "Why jute: a natural fiber wall finish does what print can't \u2014 depth, light-play, tactility.",
           "Jute wallcoverings, free designer samples. https://jutewallpaper.com"
         ]
       },
@@ -3598,15 +3558,15 @@
         "display_name": "jutewallpaper",
         "bio": "Hand-loomed jute wallcoverings. The natural-fiber wall finish designers actually specify.",
         "first_posts": [
-          "Trade source for jute wallcoverings — natural-fiber, designer-grade, free samples. — link in bio",
-          "Why jute: a natural fiber wall finish does what print can't — depth, light-play, tactility. — link in bio",
-          "Jute wallcoverings, free designer samples. — link in bio"
+          "Trade source for jute wallcoverings \u2014 natural-fiber, designer-grade, free samples. \u2014 link in bio",
+          "Why jute: a natural fiber wall finish does what print can't \u2014 depth, light-play, tactility. \u2014 link in bio",
+          "Jute wallcoverings, free designer samples. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for jutewallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for jutewallpaper — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for jutewallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for jutewallpaper \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -3623,8 +3583,8 @@
         "display_name": "linenwallpaper",
         "bio": "Hand-loomed linen wallcoverings. The natural-fiber wall finish designers actually specify.",
         "first_posts": [
-          "Trade source for linen wallcoverings — natural-fiber, designer-grade, free samples. https://linenwallpaper.com",
-          "Why linen: a natural fiber wall finish does what print can't — depth, light-play, tactility.",
+          "Trade source for linen wallcoverings \u2014 natural-fiber, designer-grade, free samples. https://linenwallpaper.com",
+          "Why linen: a natural fiber wall finish does what print can't \u2014 depth, light-play, tactility.",
           "Linen wallcoverings, free designer samples. https://linenwallpaper.com"
         ]
       },
@@ -3636,17 +3596,17 @@
           "linenwallpaper.us"
         ],
         "display_name": "linenwallpaper",
-        "bio": "Linen wallcoverings — natural fiber, designer-grade, free samples. Trade-direct.",
+        "bio": "Linen wallcoverings \u2014 natural fiber, designer-grade, free samples. Trade-direct.",
         "first_posts": [
-          "Trade source for linen wallcoverings — natural-fiber, designer-grade, free samples. — link in bio",
-          "Why linen: a natural fiber wall finish does what print can't — depth, light-play, tactility. — link in bio",
-          "Linen wallcoverings, free designer samples. — link in bio"
+          "Trade source for linen wallcoverings \u2014 natural-fiber, designer-grade, free samples. \u2014 link in bio",
+          "Why linen: a natural fiber wall finish does what print can't \u2014 depth, light-play, tactility. \u2014 link in bio",
+          "Linen wallcoverings, free designer samples. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for linenwallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for linenwallpaper — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for linenwallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for linenwallpaper \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -3663,9 +3623,9 @@
         "display_name": "luxurymurals",
         "bio": "Trade source for luxurymurals. Free designer samples, LA-based.",
         "first_posts": [
-          "Designer-grade luxurymurals — trade-direct, free samples. https://luxurymurals.com",
+          "Designer-grade luxurymurals \u2014 trade-direct, free samples. https://luxurymurals.com",
           "Why we exist: the design community deserves a real source, not a re-seller markup.",
-          "luxurymurals — free designer samples, honest lead times. https://luxurymurals.com"
+          "luxurymurals \u2014 free designer samples, honest lead times. https://luxurymurals.com"
         ]
       },
       "ig": {
@@ -3678,15 +3638,15 @@
         "display_name": "luxurymurals",
         "bio": "luxurymurals curated for the trade. Free samples, honest lead times.",
         "first_posts": [
-          "Designer-grade luxurymurals — trade-direct, free samples. — link in bio",
-          "Why we exist: the design community deserves a real source, not a re-seller markup. — link in bio",
-          "luxurymurals — free designer samples, honest lead times. — link in bio"
+          "Designer-grade luxurymurals \u2014 trade-direct, free samples. \u2014 link in bio",
+          "Why we exist: the design community deserves a real source, not a re-seller markup. \u2014 link in bio",
+          "luxurymurals \u2014 free designer samples, honest lead times. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for luxurymurals: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for luxurymurals — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for luxurymurals: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for luxurymurals \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -3718,15 +3678,15 @@
         "display_name": "madagascarwallpaper",
         "bio": "Wallpaper specified by designers. Curated patterns, free samples, no minimums.",
         "first_posts": [
-          "Designer wallpaper, trade-direct. Free samples on every reference. — link in bio",
-          "Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those. — link in bio",
-          "Wallpaper specified by designers. Hand-curated, free samples. — link in bio"
+          "Designer wallpaper, trade-direct. Free samples on every reference. \u2014 link in bio",
+          "Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those. \u2014 link in bio",
+          "Wallpaper specified by designers. Hand-curated, free samples. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for madagascarwallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for madagascarwallpaper — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for madagascarwallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for madagascarwallpaper \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -3758,15 +3718,15 @@
         "display_name": "malibuwallpaper",
         "bio": "Trade source for designer wallpaper. Free samples, honest lead times, ships from LA.",
         "first_posts": [
-          "Designer wallpaper, trade-direct. Free samples on every reference. — link in bio",
-          "Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those. — link in bio",
-          "Wallpaper specified by designers. Hand-curated, free samples. — link in bio"
+          "Designer wallpaper, trade-direct. Free samples on every reference. \u2014 link in bio",
+          "Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those. \u2014 link in bio",
+          "Wallpaper specified by designers. Hand-curated, free samples. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for malibuwallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for malibuwallpaper — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for malibuwallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for malibuwallpaper \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -3783,7 +3743,7 @@
         "display_name": "metallicwallpaper",
         "bio": "Metallic patterns, designer-grade only. Free samples on every reference.",
         "first_posts": [
-          "Metallic wallcoverings — the patterns designers actually specify. Free samples. https://metallicwallpaper.com",
+          "Metallic wallcoverings \u2014 the patterns designers actually specify. Free samples. https://metallicwallpaper.com",
           "Why metallic: it's the language designers reach for when the wall has to carry the room.",
           "Trade source for metallic wallpaper. Free designer samples. https://metallicwallpaper.com"
         ]
@@ -3796,17 +3756,17 @@
           "metallicwallpaper.us"
         ],
         "display_name": "metallicwallpaper",
-        "bio": "Metallic wallcoverings — the patterns designers actually specify. Free samples, trade-direct.",
+        "bio": "Metallic wallcoverings \u2014 the patterns designers actually specify. Free samples, trade-direct.",
         "first_posts": [
-          "Metallic wallcoverings — the patterns designers actually specify. Free samples. — link in bio",
-          "Why metallic: it's the language designers reach for when the wall has to carry the room. — link in bio",
-          "Trade source for metallic wallpaper. Free designer samples. — link in bio"
+          "Metallic wallcoverings \u2014 the patterns designers actually specify. Free samples. \u2014 link in bio",
+          "Why metallic: it's the language designers reach for when the wall has to carry the room. \u2014 link in bio",
+          "Trade source for metallic wallpaper. Free designer samples. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for metallicwallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for metallicwallpaper — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for metallicwallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for metallicwallpaper \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -3823,7 +3783,7 @@
         "display_name": "micawallpaper",
         "bio": "Trade source for mica wallpaper. Free designer samples, honest lead times.",
         "first_posts": [
-          "Mica wallcoverings — the patterns designers actually specify. Free samples. https://micawallpaper.com",
+          "Mica wallcoverings \u2014 the patterns designers actually specify. Free samples. https://micawallpaper.com",
           "Why mica: it's the language designers reach for when the wall has to carry the room.",
           "Trade source for mica wallpaper. Free designer samples. https://micawallpaper.com"
         ]
@@ -3838,15 +3798,15 @@
         "display_name": "micawallpaper",
         "bio": "Mica patterns, designer-grade only. Free samples on every reference.",
         "first_posts": [
-          "Mica wallcoverings — the patterns designers actually specify. Free samples. — link in bio",
-          "Why mica: it's the language designers reach for when the wall has to carry the room. — link in bio",
-          "Trade source for mica wallpaper. Free designer samples. — link in bio"
+          "Mica wallcoverings \u2014 the patterns designers actually specify. Free samples. \u2014 link in bio",
+          "Why mica: it's the language designers reach for when the wall has to carry the room. \u2014 link in bio",
+          "Trade source for mica wallpaper. Free designer samples. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for micawallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for micawallpaper — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for micawallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for micawallpaper \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -3878,15 +3838,15 @@
         "display_name": "montereywallpaper",
         "bio": "Trade source for designer wallpaper. Free samples, honest lead times, ships from LA.",
         "first_posts": [
-          "Designer wallpaper, trade-direct. Free samples on every reference. — link in bio",
-          "Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those. — link in bio",
-          "Wallpaper specified by designers. Hand-curated, free samples. — link in bio"
+          "Designer wallpaper, trade-direct. Free samples on every reference. \u2014 link in bio",
+          "Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those. \u2014 link in bio",
+          "Wallpaper specified by designers. Hand-curated, free samples. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for montereywallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for montereywallpaper — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for montereywallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for montereywallpaper \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -3903,9 +3863,9 @@
         "display_name": "muralsondemand",
         "bio": "Trade source for muralsondemand. Free designer samples, LA-based.",
         "first_posts": [
-          "Designer-grade muralsondemand — trade-direct, free samples. https://muralsondemand.com",
+          "Designer-grade muralsondemand \u2014 trade-direct, free samples. https://muralsondemand.com",
           "Why we exist: the design community deserves a real source, not a re-seller markup.",
-          "muralsondemand — free designer samples, honest lead times. https://muralsondemand.com"
+          "muralsondemand \u2014 free designer samples, honest lead times. https://muralsondemand.com"
         ]
       },
       "ig": {
@@ -3918,15 +3878,15 @@
         "display_name": "muralsondemand",
         "bio": "muralsondemand curated for the trade. Free samples, honest lead times.",
         "first_posts": [
-          "Designer-grade muralsondemand — trade-direct, free samples. — link in bio",
-          "Why we exist: the design community deserves a real source, not a re-seller markup. — link in bio",
-          "muralsondemand — free designer samples, honest lead times. — link in bio"
+          "Designer-grade muralsondemand \u2014 trade-direct, free samples. \u2014 link in bio",
+          "Why we exist: the design community deserves a real source, not a re-seller markup. \u2014 link in bio",
+          "muralsondemand \u2014 free designer samples, honest lead times. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for muralsondemand: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for muralsondemand — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for muralsondemand: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for muralsondemand \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -3958,15 +3918,15 @@
         "display_name": "museumwallpaper",
         "bio": "Wallpaper specified by designers. Curated patterns, free samples, no minimums.",
         "first_posts": [
-          "Designer wallpaper, trade-direct. Free samples on every reference. — link in bio",
-          "Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those. — link in bio",
-          "Wallpaper specified by designers. Hand-curated, free samples. — link in bio"
+          "Designer wallpaper, trade-direct. Free samples on every reference. \u2014 link in bio",
+          "Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those. \u2014 link in bio",
+          "Wallpaper specified by designers. Hand-curated, free samples. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for museumwallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for museumwallpaper — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for museumwallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for museumwallpaper \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -3998,15 +3958,15 @@
         "display_name": "mylarwallpaper",
         "bio": "Designer wallpaper, trade-direct. Free samples on every reference. Hand-curated patterns, no filler.",
         "first_posts": [
-          "Designer wallpaper, trade-direct. Free samples on every reference. — link in bio",
-          "Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those. — link in bio",
-          "Wallpaper specified by designers. Hand-curated, free samples. — link in bio"
+          "Designer wallpaper, trade-direct. Free samples on every reference. \u2014 link in bio",
+          "Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those. \u2014 link in bio",
+          "Wallpaper specified by designers. Hand-curated, free samples. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for mylarwallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for mylarwallpaper — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for mylarwallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for mylarwallpaper \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -4038,15 +3998,15 @@
         "display_name": "naturaltextilewallpaper",
         "bio": "Wallpaper specified by designers. Curated patterns, free samples, no minimums.",
         "first_posts": [
-          "Designer wallpaper, trade-direct. Free samples on every reference. — link in bio",
-          "Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those. — link in bio",
-          "Wallpaper specified by designers. Hand-curated, free samples. — link in bio"
+          "Designer wallpaper, trade-direct. Free samples on every reference. \u2014 link in bio",
+          "Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those. \u2014 link in bio",
+          "Wallpaper specified by designers. Hand-curated, free samples. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for naturaltextilewallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for naturaltextilewallpaper — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for naturaltextilewallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for naturaltextilewallpaper \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -4078,15 +4038,15 @@
         "display_name": "naturalwallcoverings",
         "bio": "Wallcoverings curated for the trade. Free samples, real customer service, ships fast.",
         "first_posts": [
-          "Designer wallcoverings, trade-direct since 2003. Free designer samples on every reference. — link in bio",
-          "Why trade-direct: every layer of distribution adds time & cost. We removed them. — link in bio",
-          "70+ houses, one ordering experience, free designer samples. — link in bio"
+          "Designer wallcoverings, trade-direct since 2003. Free designer samples on every reference. \u2014 link in bio",
+          "Why trade-direct: every layer of distribution adds time & cost. We removed them. \u2014 link in bio",
+          "70+ houses, one ordering experience, free designer samples. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for naturalwallcoverings: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for naturalwallcoverings — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for naturalwallcoverings: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for naturalwallcoverings \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -4116,17 +4076,17 @@
           "naturalwalltextures.us"
         ],
         "display_name": "naturalwalltextures",
-        "bio": "Designer wall finishes — curated, sample-on-demand, trade-direct.",
+        "bio": "Designer wall finishes \u2014 curated, sample-on-demand, trade-direct.",
         "first_posts": [
-          "Wallcoverings & finishes for the trade. Free designer samples, LA-direct. — link in bio",
-          "Designer wall finishes, curated for the trade. — link in bio",
-          "Trade source for wallcoverings. Free samples, real lead times. — link in bio"
+          "Wallcoverings & finishes for the trade. Free designer samples, LA-direct. \u2014 link in bio",
+          "Designer wall finishes, curated for the trade. \u2014 link in bio",
+          "Trade source for wallcoverings. Free samples, real lead times. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for naturalwalltextures: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for naturalwalltextures — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for naturalwalltextures: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for naturalwalltextures \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -4158,15 +4118,15 @@
         "display_name": "pastelwallpaper",
         "bio": "Trade source for designer wallpaper. Free samples, honest lead times, ships from LA.",
         "first_posts": [
-          "Designer wallpaper, trade-direct. Free samples on every reference. — link in bio",
-          "Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those. — link in bio",
-          "Wallpaper specified by designers. Hand-curated, free samples. — link in bio"
+          "Designer wallpaper, trade-direct. Free samples on every reference. \u2014 link in bio",
+          "Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those. \u2014 link in bio",
+          "Wallpaper specified by designers. Hand-curated, free samples. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for pastelwallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for pastelwallpaper — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for pastelwallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for pastelwallpaper \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -4183,9 +4143,9 @@
         "display_name": "patterndesignlab",
         "bio": "patterndesignlab curated for the trade. Free samples, honest lead times.",
         "first_posts": [
-          "Designer-grade patterndesignlab — trade-direct, free samples. https://patterndesignlab.com",
+          "Designer-grade patterndesignlab \u2014 trade-direct, free samples. https://patterndesignlab.com",
           "Why we exist: the design community deserves a real source, not a re-seller markup.",
-          "patterndesignlab — free designer samples, honest lead times. https://patterndesignlab.com"
+          "patterndesignlab \u2014 free designer samples, honest lead times. https://patterndesignlab.com"
         ]
       },
       "ig": {
@@ -4196,17 +4156,17 @@
           "patterndesignlab.us"
         ],
         "display_name": "patterndesignlab",
-        "bio": "Designer-grade patterndesignlab — trade-direct, free samples, hand-curated only.",
+        "bio": "Designer-grade patterndesignlab \u2014 trade-direct, free samples, hand-curated only.",
         "first_posts": [
-          "Designer-grade patterndesignlab — trade-direct, free samples. — link in bio",
-          "Why we exist: the design community deserves a real source, not a re-seller markup. — link in bio",
-          "patterndesignlab — free designer samples, honest lead times. — link in bio"
+          "Designer-grade patterndesignlab \u2014 trade-direct, free samples. \u2014 link in bio",
+          "Why we exist: the design community deserves a real source, not a re-seller markup. \u2014 link in bio",
+          "patterndesignlab \u2014 free designer samples, honest lead times. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for patterndesignlab: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for patterndesignlab — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for patterndesignlab: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for patterndesignlab \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -4223,9 +4183,9 @@
         "display_name": "philliperomano",
         "bio": "Trade source for philliperomano. Free designer samples, LA-based.",
         "first_posts": [
-          "Designer-grade philliperomano — trade-direct, free samples. https://philliperomano.com",
+          "Designer-grade philliperomano \u2014 trade-direct, free samples. https://philliperomano.com",
           "Why we exist: the design community deserves a real source, not a re-seller markup.",
-          "philliperomano — free designer samples, honest lead times. https://philliperomano.com"
+          "philliperomano \u2014 free designer samples, honest lead times. https://philliperomano.com"
         ]
       },
       "ig": {
@@ -4238,15 +4198,15 @@
         "display_name": "philliperomano",
         "bio": "philliperomano curated for the trade. Free samples, honest lead times.",
         "first_posts": [
-          "Designer-grade philliperomano — trade-direct, free samples. — link in bio",
-          "Why we exist: the design community deserves a real source, not a re-seller markup. — link in bio",
-          "philliperomano — free designer samples, honest lead times. — link in bio"
+          "Designer-grade philliperomano \u2014 trade-direct, free samples. \u2014 link in bio",
+          "Why we exist: the design community deserves a real source, not a re-seller markup. \u2014 link in bio",
+          "philliperomano \u2014 free designer samples, honest lead times. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for philliperomano: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for philliperomano — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for philliperomano: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for philliperomano \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -4263,9 +4223,9 @@
         "display_name": "printmurals",
         "bio": "printmurals curated for the trade. Free samples, honest lead times.",
         "first_posts": [
-          "Designer-grade printmurals — trade-direct, free samples. https://printmurals.com",
+          "Designer-grade printmurals \u2014 trade-direct, free samples. https://printmurals.com",
           "Why we exist: the design community deserves a real source, not a re-seller markup.",
-          "printmurals — free designer samples, honest lead times. https://printmurals.com"
+          "printmurals \u2014 free designer samples, honest lead times. https://printmurals.com"
         ]
       },
       "ig": {
@@ -4276,17 +4236,17 @@
           "printmurals.us"
         ],
         "display_name": "printmurals",
-        "bio": "Designer-grade printmurals — trade-direct, free samples, hand-curated only.",
+        "bio": "Designer-grade printmurals \u2014 trade-direct, free samples, hand-curated only.",
         "first_posts": [
-          "Designer-grade printmurals — trade-direct, free samples. — link in bio",
-          "Why we exist: the design community deserves a real source, not a re-seller markup. — link in bio",
-          "printmurals — free designer samples, honest lead times. — link in bio"
+          "Designer-grade printmurals \u2014 trade-direct, free samples. \u2014 link in bio",
+          "Why we exist: the design community deserves a real source, not a re-seller markup. \u2014 link in bio",
+          "printmurals \u2014 free designer samples, honest lead times. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for printmurals: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for printmurals — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for printmurals: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for printmurals \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -4301,10 +4261,10 @@
           "shopraffiawcs"
         ],
         "display_name": "raffiawallcoverings",
-        "bio": "Raffia wallcoverings — natural fiber, designer-grade, free samples. Trade-direct.",
+        "bio": "Raffia wallcoverings \u2014 natural fiber, designer-grade, free samples. Trade-direct.",
         "first_posts": [
-          "Trade source for raffia wallcoverings — natural-fiber, designer-grade, free samples. https://raffiawallcoverings.com",
-          "Why raffia: a natural fiber wall finish does what print can't — depth, light-play, tactility.",
+          "Trade source for raffia wallcoverings \u2014 natural-fiber, designer-grade, free samples. https://raffiawallcoverings.com",
+          "Why raffia: a natural fiber wall finish does what print can't \u2014 depth, light-play, tactility.",
           "Raffia wallcoverings, free designer samples. https://raffiawallcoverings.com"
         ]
       },
@@ -4318,15 +4278,15 @@
         "display_name": "raffiawallcoverings",
         "bio": "Trade source for raffia wallcoverings. Free designer samples. LA-based, ships nationwide.",
         "first_posts": [
-          "Trade source for raffia wallcoverings — natural-fiber, designer-grade, free samples. — link in bio",
-          "Why raffia: a natural fiber wall finish does what print can't — depth, light-play, tactility. — link in bio",
-          "Raffia wallcoverings, free designer samples. — link in bio"
+          "Trade source for raffia wallcoverings \u2014 natural-fiber, designer-grade, free samples. \u2014 link in bio",
+          "Why raffia: a natural fiber wall finish does what print can't \u2014 depth, light-play, tactility. \u2014 link in bio",
+          "Raffia wallcoverings, free designer samples. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for raffiawallcoverings: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for raffiawallcoverings — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for raffiawallcoverings: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for raffiawallcoverings \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -4341,10 +4301,10 @@
           "shopraffiawalls"
         ],
         "display_name": "raffiawalls",
-        "bio": "Raffia wallcoverings — natural fiber, designer-grade, free samples. Trade-direct.",
+        "bio": "Raffia wallcoverings \u2014 natural fiber, designer-grade, free samples. Trade-direct.",
         "first_posts": [
-          "Trade source for raffia wallcoverings — natural-fiber, designer-grade, free samples. https://raffiawalls.com",
-          "Why raffia: a natural fiber wall finish does what print can't — depth, light-play, tactility.",
+          "Trade source for raffia wallcoverings \u2014 natural-fiber, designer-grade, free samples. https://raffiawalls.com",
+          "Why raffia: a natural fiber wall finish does what print can't \u2014 depth, light-play, tactility.",
           "Raffia wallcoverings, free designer samples. https://raffiawalls.com"
         ]
       },
@@ -4358,15 +4318,15 @@
         "display_name": "raffiawalls",
         "bio": "Trade source for raffia wallcoverings. Free designer samples. LA-based, ships nationwide.",
         "first_posts": [
-          "Trade source for raffia wallcoverings — natural-fiber, designer-grade, free samples. — link in bio",
-          "Why raffia: a natural fiber wall finish does what print can't — depth, light-play, tactility. — link in bio",
-          "Raffia wallcoverings, free designer samples. — link in bio"
+          "Trade source for raffia wallcoverings \u2014 natural-fiber, designer-grade, free samples. \u2014 link in bio",
+          "Why raffia: a natural fiber wall finish does what print can't \u2014 depth, light-play, tactility. \u2014 link in bio",
+          "Raffia wallcoverings, free designer samples. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for raffiawalls: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for raffiawalls — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for raffiawalls: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for raffiawalls \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -4385,7 +4345,7 @@
         "first_posts": [
           "Class A vinyl wallcoverings for hospitality. Fire-rated, scrubbable, contract-grade. Free samples. https://restaurantfabrics.com",
           "Contract-grade wall finishes for hotels, restaurants & offices. Type II, ASTM-tested, designer-led.",
-          "Commercial wallcoverings — the spec without the procurement headache. Free designer samples. https://restaurantfabrics.com"
+          "Commercial wallcoverings \u2014 the spec without the procurement headache. Free designer samples. https://restaurantfabrics.com"
         ]
       },
       "ig": {
@@ -4396,17 +4356,17 @@
           "restaurantfabrics.us"
         ],
         "display_name": "restaurantfabrics",
-        "bio": "Commercial wallcoverings — Type II vinyl, ASTM-tested, hospitality-spec. Trade-direct, free samples.",
+        "bio": "Commercial wallcoverings \u2014 Type II vinyl, ASTM-tested, hospitality-spec. Trade-direct, free samples.",
         "first_posts": [
-          "Class A vinyl wallcoverings for hospitality. Fire-rated, scrubbable, contract-grade. Free samples. — link in bio",
-          "Contract-grade wall finishes for hotels, restaurants & offices. Type II, ASTM-tested, designer-led. — link in bio",
-          "Commercial wallcoverings — the spec without the procurement headache. Free designer samples. — link in bio"
+          "Class A vinyl wallcoverings for hospitality. Fire-rated, scrubbable, contract-grade. Free samples. \u2014 link in bio",
+          "Contract-grade wall finishes for hotels, restaurants & offices. Type II, ASTM-tested, designer-led. \u2014 link in bio",
+          "Commercial wallcoverings \u2014 the spec without the procurement headache. Free designer samples. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for restaurantfabrics: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for restaurantfabrics — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for restaurantfabrics: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for restaurantfabrics \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -4425,7 +4385,7 @@
         "first_posts": [
           "Class A vinyl wallcoverings for hospitality. Fire-rated, scrubbable, contract-grade. Free samples. https://restaurantmurals.com",
           "Contract-grade wall finishes for hotels, restaurants & offices. Type II, ASTM-tested, designer-led.",
-          "Commercial wallcoverings — the spec without the procurement headache. Free designer samples. https://restaurantmurals.com"
+          "Commercial wallcoverings \u2014 the spec without the procurement headache. Free designer samples. https://restaurantmurals.com"
         ]
       },
       "ig": {
@@ -4438,15 +4398,15 @@
         "display_name": "restaurantmurals",
         "bio": "Class A vinyl wallcoverings for hospitality, hotel & office. Fire-rated, scrubbable, contract-grade. Free designer samples.",
         "first_posts": [
-          "Class A vinyl wallcoverings for hospitality. Fire-rated, scrubbable, contract-grade. Free samples. — link in bio",
-          "Contract-grade wall finishes for hotels, restaurants & offices. Type II, ASTM-tested, designer-led. — link in bio",
-          "Commercial wallcoverings — the spec without the procurement headache. Free designer samples. — link in bio"
+          "Class A vinyl wallcoverings for hospitality. Fire-rated, scrubbable, contract-grade. Free samples. \u2014 link in bio",
+          "Contract-grade wall finishes for hotels, restaurants & offices. Type II, ASTM-tested, designer-led. \u2014 link in bio",
+          "Commercial wallcoverings \u2014 the spec without the procurement headache. Free designer samples. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for restaurantmurals: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for restaurantmurals — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for restaurantmurals: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for restaurantmurals \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -4461,11 +4421,11 @@
           "shoprestaurantp"
         ],
         "display_name": "restaurantwallpaper",
-        "bio": "Commercial wallcoverings — Type II vinyl, ASTM-tested, hospitality-spec. Trade-direct, free samples.",
+        "bio": "Commercial wallcoverings \u2014 Type II vinyl, ASTM-tested, hospitality-spec. Trade-direct, free samples.",
         "first_posts": [
           "Class A vinyl wallcoverings for hospitality. Fire-rated, scrubbable, contract-grade. Free samples. https://restaurantwallpaper.com",
           "Contract-grade wall finishes for hotels, restaurants & offices. Type II, ASTM-tested, designer-led.",
-          "Commercial wallcoverings — the spec without the procurement headache. Free designer samples. https://restaurantwallpaper.com"
+          "Commercial wallcoverings \u2014 the spec without the procurement headache. Free designer samples. https://restaurantwallpaper.com"
         ]
       },
       "ig": {
@@ -4478,15 +4438,15 @@
         "display_name": "restaurantwallpaper",
         "bio": "Contract-grade wall finishes for hotels, restaurants & offices. Class A, designer-led, free samples.",
         "first_posts": [
-          "Class A vinyl wallcoverings for hospitality. Fire-rated, scrubbable, contract-grade. Free samples. — link in bio",
-          "Contract-grade wall finishes for hotels, restaurants & offices. Type II, ASTM-tested, designer-led. — link in bio",
-          "Commercial wallcoverings — the spec without the procurement headache. Free designer samples. — link in bio"
+          "Class A vinyl wallcoverings for hospitality. Fire-rated, scrubbable, contract-grade. Free samples. \u2014 link in bio",
+          "Contract-grade wall finishes for hotels, restaurants & offices. Type II, ASTM-tested, designer-led. \u2014 link in bio",
+          "Commercial wallcoverings \u2014 the spec without the procurement headache. Free designer samples. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for restaurantwallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for restaurantwallpaper — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for restaurantwallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for restaurantwallpaper \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -4518,15 +4478,15 @@
         "display_name": "restorationwallpaper",
         "bio": "Trade source for designer wallpaper. Free samples, honest lead times, ships from LA.",
         "first_posts": [
-          "Designer wallpaper, trade-direct. Free samples on every reference. — link in bio",
-          "Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those. — link in bio",
-          "Wallpaper specified by designers. Hand-curated, free samples. — link in bio"
+          "Designer wallpaper, trade-direct. Free samples on every reference. \u2014 link in bio",
+          "Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those. \u2014 link in bio",
+          "Wallpaper specified by designers. Hand-curated, free samples. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for restorationwallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for restorationwallpaper — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for restorationwallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for restorationwallpaper \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -4558,15 +4518,15 @@
         "display_name": "retrowalls",
         "bio": "Wallcoverings & finishes for the trade. Free designer samples, LA-direct, 70+ houses.",
         "first_posts": [
-          "Wallcoverings & finishes for the trade. Free designer samples, LA-direct. — link in bio",
-          "Designer wall finishes, curated for the trade. — link in bio",
-          "Trade source for wallcoverings. Free samples, real lead times. — link in bio"
+          "Wallcoverings & finishes for the trade. Free designer samples, LA-direct. \u2014 link in bio",
+          "Designer wall finishes, curated for the trade. \u2014 link in bio",
+          "Trade source for wallcoverings. Free samples, real lead times. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for retrowalls: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for retrowalls — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for retrowalls: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for retrowalls \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -4598,15 +4558,15 @@
         "display_name": "saloonwallpaper",
         "bio": "Trade source for designer wallpaper. Free samples, honest lead times, ships from LA.",
         "first_posts": [
-          "Designer wallpaper, trade-direct. Free samples on every reference. — link in bio",
-          "Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those. — link in bio",
-          "Wallpaper specified by designers. Hand-curated, free samples. — link in bio"
+          "Designer wallpaper, trade-direct. Free samples on every reference. \u2014 link in bio",
+          "Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those. \u2014 link in bio",
+          "Wallpaper specified by designers. Hand-curated, free samples. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for saloonwallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for saloonwallpaper — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for saloonwallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for saloonwallpaper \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -4638,15 +4598,15 @@
         "display_name": "screenprintedwallpaper",
         "bio": "Designer wallpaper, trade-direct. Free samples on every reference. Hand-curated patterns, no filler.",
         "first_posts": [
-          "Designer wallpaper, trade-direct. Free samples on every reference. — link in bio",
-          "Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those. — link in bio",
-          "Wallpaper specified by designers. Hand-curated, free samples. — link in bio"
+          "Designer wallpaper, trade-direct. Free samples on every reference. \u2014 link in bio",
+          "Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those. \u2014 link in bio",
+          "Wallpaper specified by designers. Hand-curated, free samples. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for screenprintedwallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for screenprintedwallpaper — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for screenprintedwallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for screenprintedwallpaper \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -4678,15 +4638,15 @@
         "display_name": "selfadhesivewallpaper",
         "bio": "Trade source for designer wallpaper. Free samples, honest lead times, ships from LA.",
         "first_posts": [
-          "Designer wallpaper, trade-direct. Free samples on every reference. — link in bio",
-          "Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those. — link in bio",
-          "Wallpaper specified by designers. Hand-curated, free samples. — link in bio"
+          "Designer wallpaper, trade-direct. Free samples on every reference. \u2014 link in bio",
+          "Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those. \u2014 link in bio",
+          "Wallpaper specified by designers. Hand-curated, free samples. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for selfadhesivewallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for selfadhesivewallpaper — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for selfadhesivewallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for selfadhesivewallpaper \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -4703,8 +4663,8 @@
         "display_name": "silkwallcoverings",
         "bio": "Trade source for silk wallcoverings. Free designer samples. LA-based, ships nationwide.",
         "first_posts": [
-          "Trade source for silk wallcoverings — natural-fiber, designer-grade, free samples. https://silkwallcoverings.com",
-          "Why silk: a natural fiber wall finish does what print can't — depth, light-play, tactility.",
+          "Trade source for silk wallcoverings \u2014 natural-fiber, designer-grade, free samples. https://silkwallcoverings.com",
+          "Why silk: a natural fiber wall finish does what print can't \u2014 depth, light-play, tactility.",
           "Silk wallcoverings, free designer samples. https://silkwallcoverings.com"
         ]
       },
@@ -4718,15 +4678,15 @@
         "display_name": "silkwallcoverings",
         "bio": "Hand-loomed silk wallcoverings. The natural-fiber wall finish designers actually specify.",
         "first_posts": [
-          "Trade source for silk wallcoverings — natural-fiber, designer-grade, free samples. — link in bio",
-          "Why silk: a natural fiber wall finish does what print can't — depth, light-play, tactility. — link in bio",
-          "Silk wallcoverings, free designer samples. — link in bio"
+          "Trade source for silk wallcoverings \u2014 natural-fiber, designer-grade, free samples. \u2014 link in bio",
+          "Why silk: a natural fiber wall finish does what print can't \u2014 depth, light-play, tactility. \u2014 link in bio",
+          "Silk wallcoverings, free designer samples. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for silkwallcoverings: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for silkwallcoverings — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for silkwallcoverings: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for silkwallcoverings \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -4741,9 +4701,9 @@
           "shopsilverleafp"
         ],
         "display_name": "silverleafwallpaper",
-        "bio": "Silver wallcoverings — the patterns designers actually specify. Free samples, trade-direct.",
+        "bio": "Silver wallcoverings \u2014 the patterns designers actually specify. Free samples, trade-direct.",
         "first_posts": [
-          "Silver wallcoverings — the patterns designers actually specify. Free samples. https://silverleafwallpaper.com",
+          "Silver wallcoverings \u2014 the patterns designers actually specify. Free samples. https://silverleafwallpaper.com",
           "Why silver: it's the language designers reach for when the wall has to carry the room.",
           "Trade source for silver wallpaper. Free designer samples. https://silverleafwallpaper.com"
         ]
@@ -4758,15 +4718,15 @@
         "display_name": "silverleafwallpaper",
         "bio": "Trade source for silver wallpaper. Free designer samples, honest lead times.",
         "first_posts": [
-          "Silver wallcoverings — the patterns designers actually specify. Free samples. — link in bio",
-          "Why silver: it's the language designers reach for when the wall has to carry the room. — link in bio",
-          "Trade source for silver wallpaper. Free designer samples. — link in bio"
+          "Silver wallcoverings \u2014 the patterns designers actually specify. Free samples. \u2014 link in bio",
+          "Why silver: it's the language designers reach for when the wall has to carry the room. \u2014 link in bio",
+          "Trade source for silver wallpaper. Free designer samples. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for silverleafwallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for silverleafwallpaper — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for silverleafwallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for silverleafwallpaper \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -4798,15 +4758,15 @@
         "display_name": "specifywallpaper",
         "bio": "Wallpaper specified by designers. Curated patterns, free samples, no minimums.",
         "first_posts": [
-          "Designer wallpaper, trade-direct. Free samples on every reference. — link in bio",
-          "Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those. — link in bio",
-          "Wallpaper specified by designers. Hand-curated, free samples. — link in bio"
+          "Designer wallpaper, trade-direct. Free samples on every reference. \u2014 link in bio",
+          "Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those. \u2014 link in bio",
+          "Wallpaper specified by designers. Hand-curated, free samples. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for specifywallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for specifywallpaper — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for specifywallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for specifywallpaper \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -4823,9 +4783,9 @@
         "display_name": "steveabramsdesigns",
         "bio": "Trade source for steveabramsdesigns. Free designer samples, LA-based.",
         "first_posts": [
-          "Designer-grade steveabramsdesigns — trade-direct, free samples. https://steveabramsdesigns.com",
+          "Designer-grade steveabramsdesigns \u2014 trade-direct, free samples. https://steveabramsdesigns.com",
           "Why we exist: the design community deserves a real source, not a re-seller markup.",
-          "steveabramsdesigns — free designer samples, honest lead times. https://steveabramsdesigns.com"
+          "steveabramsdesigns \u2014 free designer samples, honest lead times. https://steveabramsdesigns.com"
         ]
       },
       "ig": {
@@ -4838,15 +4798,15 @@
         "display_name": "steveabramsdesigns",
         "bio": "steveabramsdesigns curated for the trade. Free samples, honest lead times.",
         "first_posts": [
-          "Designer-grade steveabramsdesigns — trade-direct, free samples. — link in bio",
-          "Why we exist: the design community deserves a real source, not a re-seller markup. — link in bio",
-          "steveabramsdesigns — free designer samples, honest lead times. — link in bio"
+          "Designer-grade steveabramsdesigns \u2014 trade-direct, free samples. \u2014 link in bio",
+          "Why we exist: the design community deserves a real source, not a re-seller markup. \u2014 link in bio",
+          "steveabramsdesigns \u2014 free designer samples, honest lead times. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for steveabramsdesigns: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for steveabramsdesigns — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for steveabramsdesigns: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for steveabramsdesigns \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -4878,15 +4838,15 @@
         "display_name": "stringwallpaper",
         "bio": "Designer wallpaper, trade-direct. Free samples on every reference. Hand-curated patterns, no filler.",
         "first_posts": [
-          "Designer wallpaper, trade-direct. Free samples on every reference. — link in bio",
-          "Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those. — link in bio",
-          "Wallpaper specified by designers. Hand-curated, free samples. — link in bio"
+          "Designer wallpaper, trade-direct. Free samples on every reference. \u2014 link in bio",
+          "Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those. \u2014 link in bio",
+          "Wallpaper specified by designers. Hand-curated, free samples. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for stringwallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for stringwallpaper — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for stringwallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for stringwallpaper \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -4918,15 +4878,15 @@
         "display_name": "suedewallpaper",
         "bio": "Designer wallpaper, trade-direct. Free samples on every reference. Hand-curated patterns, no filler.",
         "first_posts": [
-          "Designer wallpaper, trade-direct. Free samples on every reference. — link in bio",
-          "Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those. — link in bio",
-          "Wallpaper specified by designers. Hand-curated, free samples. — link in bio"
+          "Designer wallpaper, trade-direct. Free samples on every reference. \u2014 link in bio",
+          "Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those. \u2014 link in bio",
+          "Wallpaper specified by designers. Hand-curated, free samples. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for suedewallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for suedewallpaper — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for suedewallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for suedewallpaper \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -4943,9 +4903,9 @@
         "display_name": "textiletuesday",
         "bio": "Trade source for textiletuesday. Free designer samples, LA-based.",
         "first_posts": [
-          "Designer-grade textiletuesday — trade-direct, free samples. https://textiletuesday.com",
+          "Designer-grade textiletuesday \u2014 trade-direct, free samples. https://textiletuesday.com",
           "Why we exist: the design community deserves a real source, not a re-seller markup.",
-          "textiletuesday — free designer samples, honest lead times. https://textiletuesday.com"
+          "textiletuesday \u2014 free designer samples, honest lead times. https://textiletuesday.com"
         ]
       },
       "ig": {
@@ -4958,15 +4918,15 @@
         "display_name": "textiletuesday",
         "bio": "textiletuesday curated for the trade. Free samples, honest lead times.",
         "first_posts": [
-          "Designer-grade textiletuesday — trade-direct, free samples. — link in bio",
-          "Why we exist: the design community deserves a real source, not a re-seller markup. — link in bio",
-          "textiletuesday — free designer samples, honest lead times. — link in bio"
+          "Designer-grade textiletuesday \u2014 trade-direct, free samples. \u2014 link in bio",
+          "Why we exist: the design community deserves a real source, not a re-seller markup. \u2014 link in bio",
+          "textiletuesday \u2014 free designer samples, honest lead times. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for textiletuesday: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for textiletuesday — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for textiletuesday: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for textiletuesday \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -4998,15 +4958,15 @@
         "display_name": "textilewallpaper",
         "bio": "Wallpaper specified by designers. Curated patterns, free samples, no minimums.",
         "first_posts": [
-          "Designer wallpaper, trade-direct. Free samples on every reference. — link in bio",
-          "Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those. — link in bio",
-          "Wallpaper specified by designers. Hand-curated, free samples. — link in bio"
+          "Designer wallpaper, trade-direct. Free samples on every reference. \u2014 link in bio",
+          "Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those. \u2014 link in bio",
+          "Wallpaper specified by designers. Hand-curated, free samples. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for textilewallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for textilewallpaper — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for textilewallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for textilewallpaper \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -5038,15 +4998,15 @@
         "display_name": "theatrewallpaper",
         "bio": "Wallpaper specified by designers. Curated patterns, free samples, no minimums.",
         "first_posts": [
-          "Designer wallpaper, trade-direct. Free samples on every reference. — link in bio",
-          "Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those. — link in bio",
-          "Wallpaper specified by designers. Hand-curated, free samples. — link in bio"
+          "Designer wallpaper, trade-direct. Free samples on every reference. \u2014 link in bio",
+          "Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those. \u2014 link in bio",
+          "Wallpaper specified by designers. Hand-curated, free samples. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for theatrewallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for theatrewallpaper — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for theatrewallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for theatrewallpaper \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -5063,9 +5023,9 @@
         "display_name": "thedesignerlaboratory",
         "bio": "Trade source for thedesignerlaboratory. Free designer samples, LA-based.",
         "first_posts": [
-          "Designer-grade thedesignerlaboratory — trade-direct, free samples. https://thedesignerlaboratory.com",
+          "Designer-grade thedesignerlaboratory \u2014 trade-direct, free samples. https://thedesignerlaboratory.com",
           "Why we exist: the design community deserves a real source, not a re-seller markup.",
-          "thedesignerlaboratory — free designer samples, honest lead times. https://thedesignerlaboratory.com"
+          "thedesignerlaboratory \u2014 free designer samples, honest lead times. https://thedesignerlaboratory.com"
         ]
       },
       "ig": {
@@ -5078,15 +5038,15 @@
         "display_name": "thedesignerlaboratory",
         "bio": "thedesignerlaboratory curated for the trade. Free samples, honest lead times.",
         "first_posts": [
-          "Designer-grade thedesignerlaboratory — trade-direct, free samples. — link in bio",
-          "Why we exist: the design community deserves a real source, not a re-seller markup. — link in bio",
-          "thedesignerlaboratory — free designer samples, honest lead times. — link in bio"
+          "Designer-grade thedesignerlaboratory \u2014 trade-direct, free samples. \u2014 link in bio",
+          "Why we exist: the design community deserves a real source, not a re-seller markup. \u2014 link in bio",
+          "thedesignerlaboratory \u2014 free designer samples, honest lead times. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for thedesignerlaboratory: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for thedesignerlaboratory — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for thedesignerlaboratory: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for thedesignerlaboratory \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -5103,9 +5063,9 @@
         "display_name": "thedesignerlibrary",
         "bio": "Trade source for thedesignerlibrary. Free designer samples, LA-based.",
         "first_posts": [
-          "Designer-grade thedesignerlibrary — trade-direct, free samples. https://thedesignerlibrary.com",
+          "Designer-grade thedesignerlibrary \u2014 trade-direct, free samples. https://thedesignerlibrary.com",
           "Why we exist: the design community deserves a real source, not a re-seller markup.",
-          "thedesignerlibrary — free designer samples, honest lead times. https://thedesignerlibrary.com"
+          "thedesignerlibrary \u2014 free designer samples, honest lead times. https://thedesignerlibrary.com"
         ]
       },
       "ig": {
@@ -5118,15 +5078,15 @@
         "display_name": "thedesignerlibrary",
         "bio": "thedesignerlibrary curated for the trade. Free samples, honest lead times.",
         "first_posts": [
-          "Designer-grade thedesignerlibrary — trade-direct, free samples. — link in bio",
-          "Why we exist: the design community deserves a real source, not a re-seller markup. — link in bio",
-          "thedesignerlibrary — free designer samples, honest lead times. — link in bio"
+          "Designer-grade thedesignerlibrary \u2014 trade-direct, free samples. \u2014 link in bio",
+          "Why we exist: the design community deserves a real source, not a re-seller markup. \u2014 link in bio",
+          "thedesignerlibrary \u2014 free designer samples, honest lead times. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for thedesignerlibrary: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for thedesignerlibrary — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for thedesignerlibrary: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for thedesignerlibrary \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -5145,7 +5105,7 @@
         "first_posts": [
           "Class A vinyl wallcoverings for hospitality. Fire-rated, scrubbable, contract-grade. Free samples. https://thehotelwallpaper.com",
           "Contract-grade wall finishes for hotels, restaurants & offices. Type II, ASTM-tested, designer-led.",
-          "Commercial wallcoverings — the spec without the procurement headache. Free designer samples. https://thehotelwallpaper.com"
+          "Commercial wallcoverings \u2014 the spec without the procurement headache. Free designer samples. https://thehotelwallpaper.com"
         ]
       },
       "ig": {
@@ -5158,15 +5118,15 @@
         "display_name": "thehotelwallpaper",
         "bio": "Class A vinyl wallcoverings for hospitality, hotel & office. Fire-rated, scrubbable, contract-grade. Free designer samples.",
         "first_posts": [
-          "Class A vinyl wallcoverings for hospitality. Fire-rated, scrubbable, contract-grade. Free samples. — link in bio",
-          "Contract-grade wall finishes for hotels, restaurants & offices. Type II, ASTM-tested, designer-led. — link in bio",
-          "Commercial wallcoverings — the spec without the procurement headache. Free designer samples. — link in bio"
+          "Class A vinyl wallcoverings for hospitality. Fire-rated, scrubbable, contract-grade. Free samples. \u2014 link in bio",
+          "Contract-grade wall finishes for hotels, restaurants & offices. Type II, ASTM-tested, designer-led. \u2014 link in bio",
+          "Commercial wallcoverings \u2014 the spec without the procurement headache. Free designer samples. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for thehotelwallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for thehotelwallpaper — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for thehotelwallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for thehotelwallpaper \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -5183,9 +5143,9 @@
         "display_name": "thesetdecorator",
         "bio": "thesetdecorator curated for the trade. Free samples, honest lead times.",
         "first_posts": [
-          "Designer-grade thesetdecorator — trade-direct, free samples. https://thesetdecorator.com",
+          "Designer-grade thesetdecorator \u2014 trade-direct, free samples. https://thesetdecorator.com",
           "Why we exist: the design community deserves a real source, not a re-seller markup.",
-          "thesetdecorator — free designer samples, honest lead times. https://thesetdecorator.com"
+          "thesetdecorator \u2014 free designer samples, honest lead times. https://thesetdecorator.com"
         ]
       },
       "ig": {
@@ -5196,17 +5156,17 @@
           "thesetdecorator.us"
         ],
         "display_name": "thesetdecorator",
-        "bio": "Designer-grade thesetdecorator — trade-direct, free samples, hand-curated only.",
+        "bio": "Designer-grade thesetdecorator \u2014 trade-direct, free samples, hand-curated only.",
         "first_posts": [
-          "Designer-grade thesetdecorator — trade-direct, free samples. — link in bio",
-          "Why we exist: the design community deserves a real source, not a re-seller markup. — link in bio",
-          "thesetdecorator — free designer samples, honest lead times. — link in bio"
+          "Designer-grade thesetdecorator \u2014 trade-direct, free samples. \u2014 link in bio",
+          "Why we exist: the design community deserves a real source, not a re-seller markup. \u2014 link in bio",
+          "thesetdecorator \u2014 free designer samples, honest lead times. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for thesetdecorator: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for thesetdecorator — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for thesetdecorator: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for thesetdecorator \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -5221,11 +5181,11 @@
           "shoptradeonlyte"
         ],
         "display_name": "tradeonlytextiles",
-        "bio": "Designer-grade tradeonlytextiles — trade-direct, free samples, hand-curated only.",
+        "bio": "Designer-grade tradeonlytextiles \u2014 trade-direct, free samples, hand-curated only.",
         "first_posts": [
-          "Designer-grade tradeonlytextiles — trade-direct, free samples. https://tradeonlytextiles.com",
+          "Designer-grade tradeonlytextiles \u2014 trade-direct, free samples. https://tradeonlytextiles.com",
           "Why we exist: the design community deserves a real source, not a re-seller markup.",
-          "tradeonlytextiles — free designer samples, honest lead times. https://tradeonlytextiles.com"
+          "tradeonlytextiles \u2014 free designer samples, honest lead times. https://tradeonlytextiles.com"
         ]
       },
       "ig": {
@@ -5238,15 +5198,15 @@
         "display_name": "tradeonlytextiles",
         "bio": "Trade source for tradeonlytextiles. Free designer samples, LA-based.",
         "first_posts": [
-          "Designer-grade tradeonlytextiles — trade-direct, free samples. — link in bio",
-          "Why we exist: the design community deserves a real source, not a re-seller markup. — link in bio",
-          "tradeonlytextiles — free designer samples, honest lead times. — link in bio"
+          "Designer-grade tradeonlytextiles \u2014 trade-direct, free samples. \u2014 link in bio",
+          "Why we exist: the design community deserves a real source, not a re-seller markup. \u2014 link in bio",
+          "tradeonlytextiles \u2014 free designer samples, honest lead times. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for tradeonlytextiles: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for tradeonlytextiles — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for tradeonlytextiles: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for tradeonlytextiles \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -5278,15 +5238,15 @@
         "display_name": "unitedstateswallpaper",
         "bio": "Trade source for designer wallpaper. Free samples, honest lead times, ships from LA.",
         "first_posts": [
-          "Designer wallpaper, trade-direct. Free samples on every reference. — link in bio",
-          "Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those. — link in bio",
-          "Wallpaper specified by designers. Hand-curated, free samples. — link in bio"
+          "Designer wallpaper, trade-direct. Free samples on every reference. \u2014 link in bio",
+          "Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those. \u2014 link in bio",
+          "Wallpaper specified by designers. Hand-curated, free samples. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for unitedstateswallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for unitedstateswallpaper — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for unitedstateswallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for unitedstateswallpaper \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -5318,15 +5278,15 @@
         "display_name": "vinylwallpaper",
         "bio": "Trade source for designer wallpaper. Free samples, honest lead times, ships from LA.",
         "first_posts": [
-          "Designer wallpaper, trade-direct. Free samples on every reference. — link in bio",
-          "Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those. — link in bio",
-          "Wallpaper specified by designers. Hand-curated, free samples. — link in bio"
+          "Designer wallpaper, trade-direct. Free samples on every reference. \u2014 link in bio",
+          "Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those. \u2014 link in bio",
+          "Wallpaper specified by designers. Hand-curated, free samples. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for vinylwallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for vinylwallpaper — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for vinylwallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for vinylwallpaper \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -5358,15 +5318,15 @@
         "display_name": "wallcovering",
         "bio": "Trade source for luxury wallcoverings. Free designer samples, no minimums, LA-based.",
         "first_posts": [
-          "Designer wallcoverings, trade-direct since 2003. Free designer samples on every reference. — link in bio",
-          "Why trade-direct: every layer of distribution adds time & cost. We removed them. — link in bio",
-          "70+ houses, one ordering experience, free designer samples. — link in bio"
+          "Designer wallcoverings, trade-direct since 2003. Free designer samples on every reference. \u2014 link in bio",
+          "Why trade-direct: every layer of distribution adds time & cost. We removed them. \u2014 link in bio",
+          "70+ houses, one ordering experience, free designer samples. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for wallcovering: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for wallcovering — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for wallcovering: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for wallcovering \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -5398,15 +5358,15 @@
         "display_name": "wallpapercanada",
         "bio": "Designer wallpaper, trade-direct. Free samples on every reference. Hand-curated patterns, no filler.",
         "first_posts": [
-          "Designer wallpaper, trade-direct. Free samples on every reference. — link in bio",
-          "Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those. — link in bio",
-          "Wallpaper specified by designers. Hand-curated, free samples. — link in bio"
+          "Designer wallpaper, trade-direct. Free samples on every reference. \u2014 link in bio",
+          "Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those. \u2014 link in bio",
+          "Wallpaper specified by designers. Hand-curated, free samples. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for wallpapercanada: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for wallpapercanada — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for wallpapercanada: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for wallpapercanada \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -5438,15 +5398,15 @@
         "display_name": "wallpaperdefinitions",
         "bio": "Trade source for designer wallpaper. Free samples, honest lead times, ships from LA.",
         "first_posts": [
-          "Designer wallpaper, trade-direct. Free samples on every reference. — link in bio",
-          "Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those. — link in bio",
-          "Wallpaper specified by designers. Hand-curated, free samples. — link in bio"
+          "Designer wallpaper, trade-direct. Free samples on every reference. \u2014 link in bio",
+          "Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those. \u2014 link in bio",
+          "Wallpaper specified by designers. Hand-curated, free samples. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for wallpaperdefinitions: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for wallpaperdefinitions — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for wallpaperdefinitions: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for wallpaperdefinitions \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -5478,15 +5438,15 @@
         "display_name": "wallpaperdictionary",
         "bio": "Trade source for designer wallpaper. Free samples, honest lead times, ships from LA.",
         "first_posts": [
-          "Designer wallpaper, trade-direct. Free samples on every reference. — link in bio",
-          "Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those. — link in bio",
-          "Wallpaper specified by designers. Hand-curated, free samples. — link in bio"
+          "Designer wallpaper, trade-direct. Free samples on every reference. \u2014 link in bio",
+          "Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those. \u2014 link in bio",
+          "Wallpaper specified by designers. Hand-curated, free samples. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for wallpaperdictionary: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for wallpaperdictionary — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for wallpaperdictionary: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for wallpaperdictionary \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -5518,15 +5478,15 @@
         "display_name": "wallpaperexports",
         "bio": "Designer wallpaper, trade-direct. Free samples on every reference. Hand-curated patterns, no filler.",
         "first_posts": [
-          "Designer wallpaper, trade-direct. Free samples on every reference. — link in bio",
-          "Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those. — link in bio",
-          "Wallpaper specified by designers. Hand-curated, free samples. — link in bio"
+          "Designer wallpaper, trade-direct. Free samples on every reference. \u2014 link in bio",
+          "Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those. \u2014 link in bio",
+          "Wallpaper specified by designers. Hand-curated, free samples. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for wallpaperexports: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for wallpaperexports — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for wallpaperexports: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for wallpaperexports \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -5558,15 +5518,15 @@
         "display_name": "wallpaperfromthe80s",
         "bio": "Trade source for designer wallpaper. Free samples, honest lead times, ships from LA.",
         "first_posts": [
-          "Designer wallpaper, trade-direct. Free samples on every reference. — link in bio",
-          "Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those. — link in bio",
-          "Wallpaper specified by designers. Hand-curated, free samples. — link in bio"
+          "Designer wallpaper, trade-direct. Free samples on every reference. \u2014 link in bio",
+          "Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those. \u2014 link in bio",
+          "Wallpaper specified by designers. Hand-curated, free samples. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for wallpaperfromthe80s: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for wallpaperfromthe80s — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for wallpaperfromthe80s: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for wallpaperfromthe80s \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -5598,15 +5558,15 @@
         "display_name": "wallpaperglossary",
         "bio": "Wallpaper specified by designers. Curated patterns, free samples, no minimums.",
         "first_posts": [
-          "Designer wallpaper, trade-direct. Free samples on every reference. — link in bio",
-          "Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those. — link in bio",
-          "Wallpaper specified by designers. Hand-curated, free samples. — link in bio"
+          "Designer wallpaper, trade-direct. Free samples on every reference. \u2014 link in bio",
+          "Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those. \u2014 link in bio",
+          "Wallpaper specified by designers. Hand-curated, free samples. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for wallpaperglossary: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for wallpaperglossary — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for wallpaperglossary: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for wallpaperglossary \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -5638,15 +5598,15 @@
         "display_name": "wallpaperhistory",
         "bio": "Designer wallpaper, trade-direct. Free samples on every reference. Hand-curated patterns, no filler.",
         "first_posts": [
-          "Designer wallpaper, trade-direct. Free samples on every reference. — link in bio",
-          "Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those. — link in bio",
-          "Wallpaper specified by designers. Hand-curated, free samples. — link in bio"
+          "Designer wallpaper, trade-direct. Free samples on every reference. \u2014 link in bio",
+          "Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those. \u2014 link in bio",
+          "Wallpaper specified by designers. Hand-curated, free samples. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for wallpaperhistory: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for wallpaperhistory — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for wallpaperhistory: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for wallpaperhistory \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -5678,15 +5638,15 @@
         "display_name": "wallpaperny",
         "bio": "Designer wallpaper, trade-direct. Free samples on every reference. Hand-curated patterns, no filler.",
         "first_posts": [
-          "Designer wallpaper, trade-direct. Free samples on every reference. — link in bio",
-          "Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those. — link in bio",
-          "Wallpaper specified by designers. Hand-curated, free samples. — link in bio"
+          "Designer wallpaper, trade-direct. Free samples on every reference. \u2014 link in bio",
+          "Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those. \u2014 link in bio",
+          "Wallpaper specified by designers. Hand-curated, free samples. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for wallpaperny: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for wallpaperny — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for wallpaperny: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for wallpaperny \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -5704,7 +5664,7 @@
         "bio": "Nyc wallpaper & wallcovering. Free samples, trade-direct, no middle layer.",
         "first_posts": [
           "Nyc-direct wallcoverings for the local trade. Free designer samples. https://wallpapernyc.com",
-          "Designers — local trade source for wallpaper, fabric & finishes. Free samples, real lead times. https://wallpapernyc.com",
+          "Designers \u2014 local trade source for wallpaper, fabric & finishes. Free samples, real lead times. https://wallpapernyc.com",
           "Wall finishes specified by the design community. Curated, free samples, ships fast. https://wallpapernyc.com"
         ]
       },
@@ -5718,15 +5678,15 @@
         "display_name": "wallpapernyc",
         "bio": "Nyc-direct wallcoverings & finishes. Trade pricing, free samples, designer-grade only.",
         "first_posts": [
-          "Nyc-direct wallcoverings for the local trade. Free designer samples. — link in bio",
-          "Designers — local trade source for wallpaper, fabric & finishes. Free samples, real lead times. — link in bio",
-          "Wall finishes specified by the design community. Curated, free samples, ships fast. — link in bio"
+          "Nyc-direct wallcoverings for the local trade. Free designer samples. \u2014 link in bio",
+          "Designers \u2014 local trade source for wallpaper, fabric & finishes. Free samples, real lead times. \u2014 link in bio",
+          "Wall finishes specified by the design community. Curated, free samples, ships fast. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for wallpapernyc: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for wallpapernyc — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for wallpapernyc: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for wallpapernyc \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -5758,15 +5718,15 @@
         "display_name": "wallpaperondemand",
         "bio": "Trade source for designer wallpaper. Free samples, honest lead times, ships from LA.",
         "first_posts": [
-          "Designer wallpaper, trade-direct. Free samples on every reference. — link in bio",
-          "Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those. — link in bio",
-          "Wallpaper specified by designers. Hand-curated, free samples. — link in bio"
+          "Designer wallpaper, trade-direct. Free samples on every reference. \u2014 link in bio",
+          "Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those. \u2014 link in bio",
+          "Wallpaper specified by designers. Hand-curated, free samples. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for wallpaperondemand: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for wallpaperondemand — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for wallpaperondemand: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for wallpaperondemand \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -5798,15 +5758,15 @@
         "display_name": "wallpaperpurchasing",
         "bio": "Wallpaper specified by designers. Curated patterns, free samples, no minimums.",
         "first_posts": [
-          "Designer wallpaper, trade-direct. Free samples on every reference. — link in bio",
-          "Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those. — link in bio",
-          "Wallpaper specified by designers. Hand-curated, free samples. — link in bio"
+          "Designer wallpaper, trade-direct. Free samples on every reference. \u2014 link in bio",
+          "Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those. \u2014 link in bio",
+          "Wallpaper specified by designers. Hand-curated, free samples. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for wallpaperpurchasing: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for wallpaperpurchasing — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for wallpaperpurchasing: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for wallpaperpurchasing \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -5838,15 +5798,15 @@
         "display_name": "wallpapersback",
         "bio": "Designer wallpaper, trade-direct. Free samples on every reference. Hand-curated patterns, no filler.",
         "first_posts": [
-          "Designer wallpaper, trade-direct. Free samples on every reference. — link in bio",
-          "Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those. — link in bio",
-          "Wallpaper specified by designers. Hand-curated, free samples. — link in bio"
+          "Designer wallpaper, trade-direct. Free samples on every reference. \u2014 link in bio",
+          "Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those. \u2014 link in bio",
+          "Wallpaper specified by designers. Hand-curated, free samples. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for wallpapersback: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for wallpapersback — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for wallpapersback: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for wallpapersback \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -5878,15 +5838,15 @@
         "display_name": "wallpaperwednesday",
         "bio": "Trade source for designer wallpaper. Free samples, honest lead times, ships from LA.",
         "first_posts": [
-          "Designer wallpaper, trade-direct. Free samples on every reference. — link in bio",
-          "Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those. — link in bio",
-          "Wallpaper specified by designers. Hand-curated, free samples. — link in bio"
+          "Designer wallpaper, trade-direct. Free samples on every reference. \u2014 link in bio",
+          "Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those. \u2014 link in bio",
+          "Wallpaper specified by designers. Hand-curated, free samples. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for wallpaperwednesday: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for wallpaperwednesday — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for wallpaperwednesday: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for wallpaperwednesday \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -5918,15 +5878,15 @@
         "display_name": "wallpaperweekly",
         "bio": "Designer wallpaper, trade-direct. Free samples on every reference. Hand-curated patterns, no filler.",
         "first_posts": [
-          "Designer wallpaper, trade-direct. Free samples on every reference. — link in bio",
-          "Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those. — link in bio",
-          "Wallpaper specified by designers. Hand-curated, free samples. — link in bio"
+          "Designer wallpaper, trade-direct. Free samples on every reference. \u2014 link in bio",
+          "Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those. \u2014 link in bio",
+          "Wallpaper specified by designers. Hand-curated, free samples. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for wallpaperweekly: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for wallpaperweekly — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for wallpaperweekly: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for wallpaperweekly \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -5941,9 +5901,9 @@
           "shopwallsandfab"
         ],
         "display_name": "wallsandfabrics",
-        "bio": "Trade fabric source — drapery, upholstery, performance. LA-based, free samples, 70+ houses.",
+        "bio": "Trade fabric source \u2014 drapery, upholstery, performance. LA-based, free samples, 70+ houses.",
         "first_posts": [
-          "Trade fabric source — drapery, upholstery, performance. LA-based, free samples. https://wallsandfabrics.com",
+          "Trade fabric source \u2014 drapery, upholstery, performance. LA-based, free samples. https://wallsandfabrics.com",
           "Designer fabric, trade-direct. 70+ houses, free samples, honest lead times.",
           "Hand-curated fabric for the trade. Free samples on every reference. https://wallsandfabrics.com"
         ]
@@ -5958,15 +5918,15 @@
         "display_name": "wallsandfabrics",
         "bio": "Designer fabric, trade-direct. Free samples, honest lead times, ships from LA.",
         "first_posts": [
-          "Trade fabric source — drapery, upholstery, performance. LA-based, free samples. — link in bio",
-          "Designer fabric, trade-direct. 70+ houses, free samples, honest lead times. — link in bio",
-          "Hand-curated fabric for the trade. Free samples on every reference. — link in bio"
+          "Trade fabric source \u2014 drapery, upholstery, performance. LA-based, free samples. \u2014 link in bio",
+          "Designer fabric, trade-direct. 70+ houses, free samples, honest lead times. \u2014 link in bio",
+          "Hand-curated fabric for the trade. Free samples on every reference. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for wallsandfabrics: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for wallsandfabrics — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for wallsandfabrics: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for wallsandfabrics \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -5998,15 +5958,15 @@
         "display_name": "wallsondemand",
         "bio": "Wallcoverings & finishes for the trade. Free designer samples, LA-direct, 70+ houses.",
         "first_posts": [
-          "Wallcoverings & finishes for the trade. Free designer samples, LA-direct. — link in bio",
-          "Designer wall finishes, curated for the trade. — link in bio",
-          "Trade source for wallcoverings. Free samples, real lead times. — link in bio"
+          "Wallcoverings & finishes for the trade. Free designer samples, LA-direct. \u2014 link in bio",
+          "Designer wall finishes, curated for the trade. \u2014 link in bio",
+          "Trade source for wallcoverings. Free samples, real lead times. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for wallsondemand: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for wallsondemand — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for wallsondemand: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for wallsondemand \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -6038,15 +5998,15 @@
         "display_name": "wc01wallcoverings",
         "bio": "Wallcoverings curated for the trade. Free samples, real customer service, ships fast.",
         "first_posts": [
-          "Designer wallcoverings, trade-direct since 2003. Free designer samples on every reference. — link in bio",
-          "Why trade-direct: every layer of distribution adds time & cost. We removed them. — link in bio",
-          "70+ houses, one ordering experience, free designer samples. — link in bio"
+          "Designer wallcoverings, trade-direct since 2003. Free designer samples on every reference. \u2014 link in bio",
+          "Why trade-direct: every layer of distribution adds time & cost. We removed them. \u2014 link in bio",
+          "70+ houses, one ordering experience, free designer samples. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for wc01wallcoverings: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for wc01wallcoverings — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for wc01wallcoverings: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for wc01wallcoverings \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     },
     {
@@ -6078,15 +6038,15 @@
         "display_name": "wc01wallpaper",
         "bio": "Designer wallpaper, trade-direct. Free samples on every reference. Hand-curated patterns, no filler.",
         "first_posts": [
-          "Designer wallpaper, trade-direct. Free samples on every reference. — link in bio",
-          "Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those. — link in bio",
-          "Wallpaper specified by designers. Hand-curated, free samples. — link in bio"
+          "Designer wallpaper, trade-direct. Free samples on every reference. \u2014 link in bio",
+          "Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those. \u2014 link in bio",
+          "Wallpaper specified by designers. Hand-curated, free samples. \u2014 link in bio"
         ]
       },
       "image_specs": {
-        "profile_pic_400": "Square logo for wc01wallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-        "header_1500x500": "Hero crop for wc01wallpaper — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-        "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
+        "profile_pic_400": "Square logo for wc01wallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400\u00d7400.",
+        "header_1500x500": "Hero crop for wc01wallpaper \u2014 flagship product photo on neutral surface, top-down or 45\u00b0 styling. Designer-magazine grade.",
+        "ig_header_1080x566": "Same as header, cropped 1080\u00d7566 for IG grid."
       }
     }
   ],
diff --git a/brazilliancewallpaper.com/credentials-template.txt b/brazilliancewallpaper.com/credentials-template.txt
deleted file mode 100644
index aefa238..0000000
--- a/brazilliancewallpaper.com/credentials-template.txt
+++ /dev/null
@@ -1,10 +0,0 @@
-# brazilliancewallpaper.com — social account credentials template
-# NOT a real credential store. Use 1Password / secrets-manager for real values.
-
-Email:        info@brazilliancewallpaper.com     (Purelymail, already provisioned)
-Password env: X_DEFAULT_PASSWORD     (read from ~/Projects/secrets-manager/.env)
-Phone:        <SET AT SIGNUP — use a verified number you own; X requires SMS verification>
-2FA:          recommended → authenticator app, NOT SMS-only
-
-X handle:     @brazilliancewal     (fallbacks: @brazilliance_co, @brazillianceUS, @shopbrazillianc)
-IG handle:    @brazilliancewallpaper    (fallbacks: @brazilliancewallpaper.co, @shopbrazilliancewallpaper, @brazilliancewallpaper.us)
diff --git a/brazilliancewallpaper.com/ig-bio.txt b/brazilliancewallpaper.com/ig-bio.txt
deleted file mode 100644
index bf69368..0000000
--- a/brazilliancewallpaper.com/ig-bio.txt
+++ /dev/null
@@ -1 +0,0 @@
-Trade source for designer wallpaper. Free samples, honest lead times, ships from LA.
diff --git a/brazilliancewallpaper.com/ig-display-name.txt b/brazilliancewallpaper.com/ig-display-name.txt
deleted file mode 100644
index b8f3abc..0000000
--- a/brazilliancewallpaper.com/ig-display-name.txt
+++ /dev/null
@@ -1 +0,0 @@
-brazilliancewallpaper
diff --git a/brazilliancewallpaper.com/ig-first-3-posts.md b/brazilliancewallpaper.com/ig-first-3-posts.md
deleted file mode 100644
index 491219f..0000000
--- a/brazilliancewallpaper.com/ig-first-3-posts.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# Instagram — first 3 posts for brazilliancewallpaper.com
-
-## Post 1
-
-Designer wallpaper, trade-direct. Free samples on every reference. — link in bio
-
----
-
-## Post 2
-
-Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those. — link in bio
-
----
-
-## Post 3
-
-Wallpaper specified by designers. Hand-curated, free samples. — link in bio
diff --git a/brazilliancewallpaper.com/ig-handle-candidates.txt b/brazilliancewallpaper.com/ig-handle-candidates.txt
deleted file mode 100644
index 9d41f7b..0000000
--- a/brazilliancewallpaper.com/ig-handle-candidates.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-PRIMARY: @brazilliancewallpaper
-FALLBACKS:
-  @brazilliancewallpaper.co
-  @shopbrazilliancewallpaper
-  @brazilliancewallpaper.us
diff --git a/brazilliancewallpaper.com/image-specs.md b/brazilliancewallpaper.com/image-specs.md
deleted file mode 100644
index b58951a..0000000
--- a/brazilliancewallpaper.com/image-specs.md
+++ /dev/null
@@ -1,10 +0,0 @@
-# Image specs for brazilliancewallpaper.com
-
-## Profile pic (square, 400×400)
-Square logo for brazilliancewallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.
-
-## X header (1500×500)
-Hero crop for brazilliancewallpaper — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.
-
-## IG header / first-grid (1080×566)
-Same as header, cropped 1080×566 for IG grid.
diff --git a/brazilliancewallpaper.com/link-in-bio.json b/brazilliancewallpaper.com/link-in-bio.json
deleted file mode 100644
index 233c5e2..0000000
--- a/brazilliancewallpaper.com/link-in-bio.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-  "title": "brazilliancewallpaper",
-  "domain": "brazilliancewallpaper.com",
-  "links": [
-    {
-      "label": "Shop / Visit",
-      "url": "https://brazilliancewallpaper.com"
-    },
-    {
-      "label": "Free designer samples",
-      "url": "https://brazilliancewallpaper.com/samples"
-    },
-    {
-      "label": "Contact",
-      "url": "mailto:info@brazilliancewallpaper.com"
-    }
-  ]
-}
\ No newline at end of file
diff --git a/brazilliancewallpaper.com/profile.json b/brazilliancewallpaper.com/profile.json
deleted file mode 100644
index 897ae64..0000000
--- a/brazilliancewallpaper.com/profile.json
+++ /dev/null
@@ -1,46 +0,0 @@
-{
-  "domain": "brazilliancewallpaper.com",
-  "stem": "brazilliancewallpaper",
-  "category": "auto:wallpaper",
-  "email": "info@brazilliancewallpaper.com",
-  "password_env": "X_DEFAULT_PASSWORD",
-  "location": "Sherman Oaks, CA",
-  "timezone": "America/Los_Angeles",
-  "address": "15442 Ventura Bl #102, Sherman Oaks CA 91403",
-  "x": {
-    "handle_primary": "brazilliancewal",
-    "handle_fallbacks": [
-      "brazilliance_co",
-      "brazillianceUS",
-      "shopbrazillianc"
-    ],
-    "display_name": "brazilliancewallpaper",
-    "bio": "Designer wallpaper, trade-direct. Free samples on every reference. Hand-curated patterns, no filler.",
-    "first_posts": [
-      "Designer wallpaper, trade-direct. Free samples on every reference. https://brazilliancewallpaper.com",
-      "Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those.",
-      "Wallpaper specified by designers. Hand-curated, free samples. https://brazilliancewallpaper.com"
-    ]
-  },
-  "ig": {
-    "handle_primary": "brazilliancewallpaper",
-    "handle_fallbacks": [
-      "brazilliancewallpaper.co",
-      "shopbrazilliancewallpaper",
-      "brazilliancewallpaper.us"
-    ],
-    "display_name": "brazilliancewallpaper",
-    "bio": "Trade source for designer wallpaper. Free samples, honest lead times, ships from LA.",
-    "first_posts": [
-      "Designer wallpaper, trade-direct. Free samples on every reference. — link in bio",
-      "Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those. — link in bio",
-      "Wallpaper specified by designers. Hand-curated, free samples. — link in bio"
-    ]
-  },
-  "image_specs": {
-    "profile_pic_400": "Square logo for brazilliancewallpaper: low-weight serif/sans wordmark, brand-appropriate palette, neutral background. 400×400.",
-    "header_1500x500": "Hero crop for brazilliancewallpaper — flagship product photo on neutral surface, top-down or 45° styling. Designer-magazine grade.",
-    "ig_header_1080x566": "Same as header, cropped 1080×566 for IG grid."
-  },
-  "generated_at": "2026-05-11T23:52:52.974Z"
-}
\ No newline at end of file
diff --git a/brazilliancewallpaper.com/x-bio.txt b/brazilliancewallpaper.com/x-bio.txt
deleted file mode 100644
index e2df5be..0000000
--- a/brazilliancewallpaper.com/x-bio.txt
+++ /dev/null
@@ -1 +0,0 @@
-Designer wallpaper, trade-direct. Free samples on every reference. Hand-curated patterns, no filler.
diff --git a/brazilliancewallpaper.com/x-display-name.txt b/brazilliancewallpaper.com/x-display-name.txt
deleted file mode 100644
index b8f3abc..0000000
--- a/brazilliancewallpaper.com/x-display-name.txt
+++ /dev/null
@@ -1 +0,0 @@
-brazilliancewallpaper
diff --git a/brazilliancewallpaper.com/x-first-3-posts.md b/brazilliancewallpaper.com/x-first-3-posts.md
deleted file mode 100644
index 7f0eeb0..0000000
--- a/brazilliancewallpaper.com/x-first-3-posts.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# X / Twitter — first 3 posts for brazilliancewallpaper.com
-
-## Post 1 (100/280)
-
-Designer wallpaper, trade-direct. Free samples on every reference. https://brazilliancewallpaper.com
-
----
-
-## Post 2 (108/280)
-
-Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those.
-
----
-
-## Post 3 (95/280)
-
-Wallpaper specified by designers. Hand-curated, free samples. https://brazilliancewallpaper.com
diff --git a/brazilliancewallpaper.com/x-handle-candidates.txt b/brazilliancewallpaper.com/x-handle-candidates.txt
deleted file mode 100644
index 3a1da86..0000000
--- a/brazilliancewallpaper.com/x-handle-candidates.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-PRIMARY: @brazilliancewal
-FALLBACKS:
-  @brazilliance_co
-  @brazillianceUS
-  @shopbrazillianc
diff --git a/ig-only.md b/ig-only.md
index 4404f7a..a0a8449 100644
--- a/ig-only.md
+++ b/ig-only.md
@@ -609,25 +609,6 @@ Category-aware templates from `design-domains-live.txt`. Sign up in any order; g
 2. Why block: it's the language designers reach for when the wall has to carry the room. — link in bio
 3. Trade source for block wallpaper. Free designer samples. — link in bio
 
-### 32. brazilliancewallpaper.com
-
-<sub>category: `auto:wallpaper` · email: `info@brazilliancewallpaper.com`</sub>
-
-| Field | Value |
-|---|---|
-| **Handle** | `@brazilliancewallpaper` |
-| Fallbacks | `@brazilliancewallpaper.co` · `@shopbrazilliancewallpaper` · `@brazilliancewallpaper.us` |
-| **Display name** | brazilliancewallpaper |
-| **Bio** (84/150) | Trade source for designer wallpaper. Free samples, honest lead times, ships from LA. |
-| Website | https://brazilliancewallpaper.com |
-| Location | Sherman Oaks, CA |
-
-**First posts:**
-
-1. Designer wallpaper, trade-direct. Free samples on every reference. — link in bio
-2. Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those. — link in bio
-3. Wallpaper specified by designers. Hand-curated, free samples. — link in bio
-
 ### 33. carmelpaints.com
 
 <sub>category: `auto:location/carmel` · email: `info@carmelpaints.com`</sub>
diff --git a/x-only.md b/x-only.md
index 3d5c334..610e6a6 100644
--- a/x-only.md
+++ b/x-only.md
@@ -609,25 +609,6 @@ Category-aware templates from `design-domains-live.txt`. Sign up in any order; g
 2. (85/280) Why block: it's the language designers reach for when the wall has to carry the room.
 3. (90/280) Trade source for block wallpaper. Free designer samples. https://blockprintedwallpaper.com
 
-### 32. brazilliancewallpaper.com
-
-<sub>category: `auto:wallpaper` · email: `info@brazilliancewallpaper.com`</sub>
-
-| Field | Value |
-|---|---|
-| **Handle** | `@brazilliancewal` |
-| Fallbacks | `@brazilliance_co` · `@brazillianceUS` · `@shopbrazillianc` |
-| **Display name** | brazilliancewallpaper |
-| **Bio** (100/160) | Designer wallpaper, trade-direct. Free samples on every reference. Hand-curated patterns, no filler. |
-| Website | https://brazilliancewallpaper.com |
-| Location | Sherman Oaks, CA |
-
-**First posts:**
-
-1. (100/280) Designer wallpaper, trade-direct. Free samples on every reference. https://brazilliancewallpaper.com
-2. (108/280) Why curation matters: the catalogs have 20,000 references; the design community uses ~2,000. We carry those.
-3. (95/280) Wallpaper specified by designers. Hand-curated, free samples. https://brazilliancewallpaper.com
-
 ### 33. carmelpaints.com
 
 <sub>category: `auto:location/carmel` · email: `info@carmelpaints.com`</sub>

← a066b47 add x-only.md + ig-only.md master sheets (152 brands each, p  ·  back to Social Profile Kits  ·  chore: macstudio3 migration — reconcile from mac2 + repoint f0c1e33 →