[object Object]

← back to Designer Wallcoverings

Hollywood Wallcoverings CC campaign — China Seas clone (validated 9/9, draft-create ready)

78833f4e76e7b35c7a50fe8fb326f5281018898e · 2026-06-30 13:01:58 -0700 · Steve

Files touched

Diff

commit 78833f4e76e7b35c7a50fe8fb326f5281018898e
Author: Steve <steve@designerwallcoverings.com>
Date:   Tue Jun 30 13:01:58 2026 -0700

    Hollywood Wallcoverings CC campaign — China Seas clone (validated 9/9, draft-create ready)
---
 mailers/cc-api/build-hollywood-campaign.js | 134 ++++++++++++++++
 mailers/hollywood-launch-preview.png       | Bin 0 -> 1269540 bytes
 mailers/hollywood-launch.html              | 246 +++++++++++++++++++++++++++++
 3 files changed, 380 insertions(+)

diff --git a/mailers/cc-api/build-hollywood-campaign.js b/mailers/cc-api/build-hollywood-campaign.js
new file mode 100644
index 00000000..5fd61ac2
--- /dev/null
+++ b/mailers/cc-api/build-hollywood-campaign.js
@@ -0,0 +1,134 @@
+'use strict';
+
+/**
+ * build-hollywood-campaign.js — Designer Wallcoverings
+ * A DUPLICATE of build-china-seas-campaign.js (same validation + create path),
+ * pointed at ../hollywood-launch.html. Promotes Hollywood Wallcoverings.
+ *
+ *   --dry-run (DEFAULT): prints payload + validation checklist. NO network.
+ *   --confirm          : creates the DRAFT campaign — STILL double-gated by
+ *                        CC_LIVE === '1' inside cc-client. Creating a DRAFT
+ *                        does NOT send; scheduling/sending is a separate gate.
+ */
+
+const fs = require('fs');
+const path = require('path');
+const cc = require('./cc-client');
+
+const MAILER = path.join(__dirname, '..', 'hollywood-launch.html');
+
+const argv = process.argv.slice(2);
+const CONFIRM = argv.includes('--confirm');
+const DRY_RUN = argv.includes('--dry-run') || !CONFIRM; // default dry-run
+
+const CAMPAIGN = {
+  name: `Hollywood Wallcoverings Launch — ${new Date().toISOString().slice(0, 10)}`,
+  subject: 'Hollywood Wallcoverings — Old-Hollywood glamour, now at Designer Wallcoverings',
+  preheader: 'Sculptural croco vinyls, grasscloth, faux & linen textures — now stocked.',
+  fromName: 'Designer Wallcoverings',
+  fromEmail: 'steve@designerwallcoverings.com',
+  replyTo: 'steve@designerwallcoverings.com',
+  physicalAddress: {
+    address_line1: '15442 Ventura Bl',
+    city: 'Sherman Oaks',
+    state_code: 'CA',
+    postal_code: '91403',
+    country_code: 'US',
+  },
+};
+
+const PLACEHOLDER_ADDRESS_MARKER = '15442 Ventura Boulevard #102';
+
+function loadHtml() {
+  if (!fs.existsSync(MAILER)) throw new Error(`mailer not found: ${MAILER}`);
+  return fs.readFileSync(MAILER, 'utf8');
+}
+function extractImageSrcs(html) {
+  const srcs = []; const re = /<img\b[^>]*?\bsrc\s*=\s*(["'])(.*?)\1/gi; let m;
+  while ((m = re.exec(html)) !== null) srcs.push(m[2]);
+  return srcs;
+}
+const isAbsoluteHttps = (u) => /^https:\/\//i.test(u);
+const unhostedLogoSrcs = (srcs) => srcs.filter((s) => /\/vendor-logos\//i.test(s));
+
+function visibleWallpaperHits(html) {
+  const hits = [];
+  const noComments = html.replace(/<!--[\s\S]*?-->/g, '');
+  const altRe = /\balt\s*=\s*(["'])(.*?)\1/gi; let m;
+  while ((m = altRe.exec(noComments)) !== null) if (/\bwallpapers?\b/i.test(m[2])) hits.push(`alt: "${m[2]}"`);
+  const textOnly = noComments.replace(/<[^>]+>/g, ' ');
+  for (const t of (textOnly.match(/\bwallpapers?\b/gi) || [])) hits.push(`visible text: "${t}"`);
+  return hits;
+}
+
+function runChecklist(html) {
+  const results = []; const add = (name, pass, detail) => results.push({ name, pass, detail });
+  add('subject set', !!CAMPAIGN.subject && CAMPAIGN.subject.trim().length > 0, CAMPAIGN.subject);
+  add('from name + email set', !!CAMPAIGN.fromName && !!CAMPAIGN.fromEmail && CAMPAIGN.fromEmail.includes('@'), `${CAMPAIGN.fromName} <${CAMPAIGN.fromEmail}>`);
+  add('reply-to set', !!CAMPAIGN.replyTo && CAMPAIGN.replyTo.includes('@'), CAMPAIGN.replyTo);
+  const addr = CAMPAIGN.physicalAddress || {};
+  const addrComplete = !!(addr.address_line1 && addr.city && addr.state_code && addr.postal_code && addr.country_code);
+  const addrIsPlaceholder = (addr.address_line1 || '').includes(PLACEHOLDER_ADDRESS_MARKER);
+  add('physical address complete', addrComplete, JSON.stringify(addr));
+  add('physical address non-placeholder', addrComplete && !addrIsPlaceholder, addrIsPlaceholder ? 'matches placeholder marker' : 'confirmed non-placeholder');
+  add('html content non-empty', !!html && html.length > 200, `${html.length} bytes`);
+  const bannedHits = visibleWallpaperHits(html);
+  add('no banned word "Wallpaper" (visible copy + alt)', bannedHits.length === 0, bannedHits.length ? `found:\n      - ${bannedHits.join('\n      - ')}` : 'clean (alt + visible text)');
+  const srcs = extractImageSrcs(html);
+  const nonHttps = srcs.filter((s) => !isAbsoluteHttps(s));
+  add('all image src absolute https', nonHttps.length === 0, nonHttps.length ? `${nonHttps.length}/${srcs.length} not absolute-https` : `${srcs.length}/${srcs.length} absolute-https`);
+  const unhosted = unhostedLogoSrcs(srcs);
+  add('logos hosted at public https (not the un-hosted /vendor-logos/ path)', unhosted.length === 0, unhosted.length ? `${unhosted.length} on un-hosted path` : 'all logos on a confirmed-live host');
+  return results;
+}
+
+function buildPayload(html) {
+  return {
+    name: CAMPAIGN.name,
+    email_campaign_activities: [{
+      format_type: 5,
+      from_name: CAMPAIGN.fromName,
+      from_email: CAMPAIGN.fromEmail,
+      reply_to_email: CAMPAIGN.replyTo,
+      subject: CAMPAIGN.subject,
+      preheader: CAMPAIGN.preheader,
+      html_content: html,
+      physical_address_in_footer: CAMPAIGN.physicalAddress,
+    }],
+  };
+}
+
+async function main() {
+  const html = loadHtml();
+  console.log('='.repeat(72));
+  console.log('Hollywood Wallcoverings → Constant Contact v3 campaign builder');
+  console.log(`mode: ${CONFIRM ? '--confirm' : '--dry-run (default)'}   CC_LIVE=${process.env.CC_LIVE === '1' ? '1' : '(unset)'}`);
+  console.log('='.repeat(72));
+
+  const payload = buildPayload(html);
+  const printable = JSON.parse(JSON.stringify(payload));
+  printable.email_campaign_activities[0].html_content = `<<${html.length} bytes of HTML — truncated>>\n` + html.slice(0, 300) + '\n…';
+  console.log('\n--- CREATE-CAMPAIGN PAYLOAD (html_content truncated) ---');
+  console.log(JSON.stringify(printable, null, 2));
+
+  console.log('\n--- VALIDATION CHECKLIST ---');
+  const results = runChecklist(html); let failed = 0;
+  for (const r of results) { const mark = r.pass ? 'PASS' : 'FAIL'; if (!r.pass) failed++; console.log(`  [${mark}] ${r.name}`); if (r.detail) console.log(`         ${r.detail}`); }
+  console.log(`\n  ${results.length - failed}/${results.length} checks passed, ${failed} failed.`);
+
+  if (DRY_RUN) {
+    console.log('\nDRY-RUN: no network call made. (default)');
+    process.exitCode = failed > 0 ? 2 : 0;
+    return;
+  }
+  if (failed > 0) { console.log('\nREFUSING to create: validation has FAILs.'); process.exitCode = 2; return; }
+  console.log('\n--confirm + validation clean → creating DRAFT (NO-OPs unless CC_LIVE=1):');
+  const activityId = await cc.createCustomCodeCampaign({
+    name: CAMPAIGN.name, subject: CAMPAIGN.subject, preheader: CAMPAIGN.preheader,
+    fromEmail: CAMPAIGN.fromEmail, fromName: CAMPAIGN.fromName, replyTo: CAMPAIGN.replyTo,
+    htmlContent: html, physicalAddress: CAMPAIGN.physicalAddress, confirm: true,
+  });
+  console.log('result:', activityId);
+}
+
+main().catch((e) => { console.error('[build-hollywood] ERROR:', e.message); process.exitCode = 1; });
diff --git a/mailers/hollywood-launch-preview.png b/mailers/hollywood-launch-preview.png
new file mode 100644
index 00000000..151d7e45
Binary files /dev/null and b/mailers/hollywood-launch-preview.png differ
diff --git a/mailers/hollywood-launch.html b/mailers/hollywood-launch.html
new file mode 100644
index 00000000..3e119a40
--- /dev/null
+++ b/mailers/hollywood-launch.html
@@ -0,0 +1,246 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<!--[if mso]>
+<noscript><xml><o:OfficeDocumentSettings><o:PixelsPerInch>96</o:PixelsPerInch></o:OfficeDocumentSettings></xml></noscript>
+<![endif]-->
+<title>Hollywood Wallcoverings — now at Designer Wallcoverings</title>
+<style type="text/css">
+  /* Reset + email-safe base (cloned from china-seas-launch.html) */
+  body, table, td, p, a, li, blockquote { -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }
+  body { margin: 0 !important; padding: 0 !important; width: 100% !important; background: #f4f1ec; font-family: Georgia, 'Times New Roman', serif; color: #2a2724; }
+  table { border-collapse: collapse !important; }
+  img { -ms-interpolation-mode: bicubic; border: 0; outline: none; text-decoration: none; display: block; }
+  a { color: #1a1a1a; text-decoration: none; }
+  .wrap { width: 100%; background: #f4f1ec; padding: 0; }
+  .container { max-width: 620px; margin: 0 auto; background: #ffffff; }
+  .hero-img { width: 100%; height: auto; display: block; }
+  .thumb-img { width: 100%; height: auto; display: block; }
+  .h1 { font-size: 30px; line-height: 36px; letter-spacing: 0.5px; font-weight: 400; margin: 0; color: #1a1a1a; }
+  .lede { font-size: 15px; line-height: 22px; color: #5a544c; margin: 12px 0 0; }
+  .cta-btn { display: inline-block; padding: 14px 28px; background: #1a1a1a; color: #ffffff !important; font-family: Helvetica, Arial, sans-serif; font-size: 12px; letter-spacing: 2.5px; text-transform: uppercase; text-decoration: none; border-radius: 26px; }
+  .cta-btn:visited, .cta-btn:hover { color: #ffffff !important; }
+  .pill {
+    display: inline-block; margin: 5px 4px; padding: 11px 20px;
+    background-color: #2a2724;
+    background-color: rgba(28, 24, 22, 0.62);
+    border: 1px solid rgba(255, 255, 255, 0.55);
+    border-radius: 26px; color: #ffffff !important;
+    font-family: Helvetica, Arial, sans-serif; font-size: 11px; letter-spacing: 2px;
+    text-transform: uppercase; text-decoration: none; white-space: nowrap;
+  }
+  .pill:visited, .pill:hover { color: #ffffff !important; }
+  .pill-theme {
+    display: inline-block; margin: 5px 4px; padding: 11px 22px;
+    background-color: #1c1816; border: 1px solid #1c1816; border-radius: 26px;
+    color: #ffffff !important; font-family: Helvetica, Arial, sans-serif; font-size: 11px;
+    letter-spacing: 2px; text-transform: uppercase; text-decoration: none; white-space: nowrap;
+  }
+  .pill-theme:visited, .pill-theme:hover { color: #ffffff !important; }
+  .cat-label { font-family: Helvetica, Arial, sans-serif; font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: #1a1a1a; margin: 0; }
+  .footer-text { font-family: Helvetica, Arial, sans-serif; font-size: 11px; line-height: 18px; color: #8d8478; }
+  @media only screen and (max-width: 620px) {
+    .stack { display: block !important; width: 100% !important; }
+    .h1 { font-size: 24px !important; line-height: 30px !important; }
+    .pill, .pill-theme { font-size: 10px !important; padding: 10px 16px !important; }
+  }
+</style>
+</head>
+<body style="margin:0;padding:0;background:#f4f1ec;">
+<table role="presentation" class="wrap" width="100%" cellspacing="0" cellpadding="0" border="0">
+<tr><td align="center" style="padding: 20px 0;">
+
+  <!-- ============ CONTAINER ============ -->
+  <table role="presentation" class="container" width="620" cellspacing="0" cellpadding="0" border="0" style="background:#ffffff;">
+
+    <!-- ============ TOP — DESIGNER WALLCOVERINGS BANNER (our header, unchanged) ============ -->
+    <tr><td align="center" style="padding: 28px 0 14px; border-bottom: 1px solid #e8e2d6;">
+      <a href="https://designerwallcoverings.com?utm_source=email&utm_medium=mailer&utm_campaign=hollywood-launch" target="_blank" style="text-decoration:none;color:#1a1a1a;">
+        <div style="font-family: Georgia, 'Times New Roman', serif; font-size: 26px; letter-spacing: 6px; font-weight: 400; color: #1a1a1a; text-transform: uppercase;">Designer Wallcoverings</div>
+        <div style="font-family: Helvetica, Arial, sans-serif; font-size: 9px; letter-spacing: 4px; color: #8d8478; margin-top: 4px; text-transform: uppercase;">est. 2003 · to the trade</div>
+      </a>
+    </td></tr>
+
+    <!-- ============ NAV — mirrors the main designerwallcoverings.com menu ============ -->
+    <tr><td align="center" style="padding: 14px 14px 14px; border-bottom: 1px solid #e8e2d6; font-family: Helvetica, Arial, sans-serif; font-size: 10px; letter-spacing: 1.5px; text-transform: uppercase; line-height: 2;">
+      <a href="https://www.designerwallcoverings.com/collections/new-arrivals?utm_source=email&utm_medium=mailer&utm_campaign=hollywood-launch" style="color:#1a1a1a; text-decoration:none; padding: 0 9px;">New Arrivals</a>
+      <a href="https://www.designerwallcoverings.com/pages/brands?utm_source=email&utm_medium=mailer&utm_campaign=hollywood-launch" style="color:#1a1a1a; text-decoration:none; padding: 0 9px;">Brands</a>
+      <a href="https://www.designerwallcoverings.com/pages/collections?utm_source=email&utm_medium=mailer&utm_campaign=hollywood-launch" style="color:#1a1a1a; text-decoration:none; padding: 0 9px;">Collections</a>
+      <a href="https://www.designerwallcoverings.com/pages/designer-wallpaper-styles?utm_source=email&utm_medium=mailer&utm_campaign=hollywood-launch" style="color:#1a1a1a; text-decoration:none; padding: 0 9px;">Styles</a>
+      <a href="https://www.designerwallcoverings.com/pages/commercial-wallcoverings?utm_source=email&utm_medium=mailer&utm_campaign=hollywood-launch" style="color:#1a1a1a; text-decoration:none; padding: 0 9px;">Commercial</a>
+      <a href="https://www.designerwallcoverings.com/pages/shop-by-color?utm_source=email&utm_medium=mailer&utm_campaign=hollywood-launch" style="color:#1a1a1a; text-decoration:none; padding: 0 9px;">Color</a>
+    </td></tr>
+
+    <!-- ============ HERO — Hollywood Wallcoverings textured surface (Artisma Croco), CDN-hosted 200 ============ -->
+    <tr><td style="padding: 0;">
+      <a href="https://hollywoodwallcoverings.com?utm_source=email&utm_medium=mailer&utm_campaign=hollywood-launch" target="_blank">
+        <img src="https://cdn.shopify.com/s/files/1/0015/4117/7456/files/dwx-58144-sample-artisma-croco-vinyl-hollywood-wallcoverings.jpg?v=1775699026" alt="Artisma Croco textured vinyl wallcovering from Hollywood Wallcoverings" width="620" style="width:100%; max-width:620px; height:auto; display:block;">
+      </a>
+    </td></tr>
+
+    <!-- ============ FROSTED PILL BAND ============ -->
+    <tr><td align="center" style="padding: 0; background:#1c1816; background: linear-gradient(180deg, #221d1a 0%, #1c1816 100%);">
+      <table role="presentation" width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr><td align="center" style="padding: 24px 18px 28px;">
+          <div style="font-family:Georgia,'Times New Roman',serif; font-style:italic; font-size:17px; line-height:24px; color:#f4f1ec; margin:0 0 18px;">Old-Hollywood glamour — textures, grasscloth &amp; faux, made for the wall</div>
+          <a href="https://hollywoodwallcoverings.com?utm_source=email&utm_medium=mailer&utm_campaign=hollywood-launch" target="_blank" class="pill">Shop Hollywood Wallcoverings</a>
+        </td></tr>
+      </table>
+    </td></tr>
+
+    <!-- ============ HERO COPY (all-new) ============ -->
+    <tr><td style="padding: 36px 36px 8px;" align="center">
+      <p style="font-family: Helvetica, Arial, sans-serif; font-size: 11px; letter-spacing: 3px; text-transform: uppercase; color: #9a7b3f; margin: 0;">A House of Texture &amp; Light</p>
+      <p class="lede" style="font-family: Georgia, 'Times New Roman', serif; font-size: 15px; line-height: 22px; color: #5a544c; margin: 18px 32px 0; max-width: 480px;">
+        Hollywood Wallcoverings brings cinematic surface to the wall — sculptural crocodile vinyls, hand-laid grasscloth, faux leather and quiet linen textures with the glow of a golden-era set. The full line, residential and contract, is now stocked at Designer Wallcoverings.
+      </p>
+      <p style="margin: 28px 0 0;">
+        <a href="https://hollywoodwallcoverings.com?utm_source=email&utm_medium=mailer&utm_campaign=hollywood-launch" target="_blank" class="cta-btn" style="display:inline-block; padding:14px 36px; background:#1a1a1a; color:#ffffff; font-family: Helvetica, Arial, sans-serif; font-size:11px; letter-spacing:3px; text-transform:uppercase; text-decoration:none; border-radius:26px;">Shop Hollywood Wallcoverings</a>
+      </p>
+    </td></tr>
+
+    <!-- ============ 6 FEATURED PATTERNS (real Hollywood SKUs, images + product links HTTP 200) ============ -->
+    <tr><td style="padding: 48px 24px 16px;" align="center">
+      <p style="font-family: Helvetica, Arial, sans-serif; font-size: 10px; letter-spacing: 3px; text-transform: uppercase; color: #8d8478; margin: 0 0 24px;">Featured Patterns</p>
+      <table role="presentation" width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td class="stack" width="33%" valign="top" style="padding: 0 6px;" align="center">
+            <a href="https://hollywoodwallcoverings.com/p/baja-grasscloth-vinyl-wallpaper-xbg-44005?utm_source=email&utm_medium=mailer&utm_campaign=hollywood-launch" target="_blank">
+              <img src="https://cdn.shopify.com/s/files/1/0015/4117/7456/files/xbg-44005-sample-baja-grasscloth-vinyl-hollywood-wallcoverings.jpg?v=1775701951" alt="Baja Grasscloth Vinyl from Hollywood Wallcoverings" class="thumb-img" width="180" style="width:100%; max-width:180px; height:auto;">
+              <p style="font-family: Georgia, serif; font-size: 13px; color: #1a1a1a; margin: 12px 0 2px;">Baja Grasscloth</p>
+              <p style="font-family: Helvetica, Arial, sans-serif; font-size: 10px; letter-spacing: 1.5px; color: #8d8478; margin: 0;">Grasscloth</p>
+            </a>
+          </td>
+          <td class="stack" width="33%" valign="top" style="padding: 0 6px;" align="center">
+            <a href="https://hollywoodwallcoverings.com/p/floating-fibers-dwx-58185?utm_source=email&utm_medium=mailer&utm_campaign=hollywood-launch" target="_blank">
+              <img src="https://cdn.shopify.com/s/files/1/0015/4117/7456/files/dwx-58185-sample-floating-fibers-hollywood-wallcoverings.jpg?v=1775714098" alt="Floating Fibers textured wallcovering from Hollywood Wallcoverings" class="thumb-img" width="180" style="width:100%; max-width:180px; height:auto;">
+              <p style="font-family: Georgia, serif; font-size: 13px; color: #1a1a1a; margin: 12px 0 2px;">Floating Fibers</p>
+              <p style="font-family: Helvetica, Arial, sans-serif; font-size: 10px; letter-spacing: 1.5px; color: #8d8478; margin: 0;">Textured</p>
+            </a>
+          </td>
+          <td class="stack" width="33%" valign="top" style="padding: 0 6px;" align="center">
+            <a href="https://hollywoodwallcoverings.com/p/la-voltere-durable-vinyl-dur-72306?utm_source=email&utm_medium=mailer&utm_campaign=hollywood-launch" target="_blank">
+              <img src="https://cdn.shopify.com/s/files/1/0015/4117/7456/files/DUR-72306-sample-clean.jpg?v=1774485117" alt="la Voltere Durable Vinyl from Hollywood Wallcoverings" class="thumb-img" width="180" style="width:100%; max-width:180px; height:auto;">
+              <p style="font-family: Georgia, serif; font-size: 13px; color: #1a1a1a; margin: 12px 0 2px;">la Voltere</p>
+              <p style="font-family: Helvetica, Arial, sans-serif; font-size: 10px; letter-spacing: 1.5px; color: #8d8478; margin: 0;">Durable Vinyl</p>
+            </a>
+          </td>
+        </tr>
+        <tr>
+          <td class="stack" width="33%" valign="top" style="padding: 32px 6px 0;" align="center">
+            <a href="https://hollywoodwallcoverings.com/p/olney-type-ii-vinyl-wallcovering-xmy-48105?utm_source=email&utm_medium=mailer&utm_campaign=hollywood-launch" target="_blank">
+              <img src="https://cdn.shopify.com/s/files/1/0015/4117/7456/files/xmy-48105-sample-olney-type-ii-vinyl-hollywood-wallcoverings.jpg?v=1775727503" alt="Olney Type II Vinyl from Hollywood Wallcoverings" class="thumb-img" width="180" style="width:100%; max-width:180px; height:auto;">
+              <p style="font-family: Georgia, serif; font-size: 13px; color: #1a1a1a; margin: 12px 0 2px;">Olney</p>
+              <p style="font-family: Helvetica, Arial, sans-serif; font-size: 10px; letter-spacing: 1.5px; color: #8d8478; margin: 0;">Type II Contract</p>
+            </a>
+          </td>
+          <td class="stack" width="33%" valign="top" style="padding: 32px 6px 0;" align="center">
+            <a href="https://hollywoodwallcoverings.com/p/corragatio-vinyl-hwc-61096?utm_source=email&utm_medium=mailer&utm_campaign=hollywood-launch" target="_blank">
+              <img src="https://cdn.shopify.com/s/files/1/0015/4117/7456/files/HWC-61096-sample-clean.jpg?v=1774485796" alt="Corragatio Vinyl from Hollywood Wallcoverings" class="thumb-img" width="180" style="width:100%; max-width:180px; height:auto;">
+              <p style="font-family: Georgia, serif; font-size: 13px; color: #1a1a1a; margin: 12px 0 2px;">Corragatio</p>
+              <p style="font-family: Helvetica, Arial, sans-serif; font-size: 10px; letter-spacing: 1.5px; color: #8d8478; margin: 0;">Textured Vinyl</p>
+            </a>
+          </td>
+          <td class="stack" width="33%" valign="top" style="padding: 32px 6px 0;" align="center">
+            <a href="https://hollywoodwallcoverings.com/p/twickenham-type-ii-vinyl-wallcovering-xqm-48545?utm_source=email&utm_medium=mailer&utm_campaign=hollywood-launch" target="_blank">
+              <img src="https://cdn.shopify.com/s/files/1/0015/4117/7456/files/XQM-48545-sample-clean.jpg?v=1774480588" alt="Twickenham Type II Vinyl from Hollywood Wallcoverings" class="thumb-img" width="180" style="width:100%; max-width:180px; height:auto;">
+              <p style="font-family: Georgia, serif; font-size: 13px; color: #1a1a1a; margin: 12px 0 2px;">Twickenham</p>
+              <p style="font-family: Helvetica, Arial, sans-serif; font-size: 10px; letter-spacing: 1.5px; color: #8d8478; margin: 0;">Type II Contract</p>
+            </a>
+          </td>
+        </tr>
+      </table>
+    </td></tr>
+
+    <!-- ============ CLOSING CTA ============ -->
+    <tr><td align="center" style="padding: 48px 36px 24px; border-top: 1px solid #e8e2d6;">
+      <p style="font-family: Georgia, serif; font-size: 14px; line-height: 22px; color: #5a544c; margin: 0;">
+        Every Hollywood Wallcoverings line is available by the roll, with <em>memo samples on request</em>.<br>
+        Trade pricing available with a verified account.
+      </p>
+      <p style="margin: 24px 0 0;">
+        <a href="https://hollywoodwallcoverings.com?utm_source=email&utm_medium=mailer&utm_campaign=hollywood-launch" target="_blank" class="cta-btn" style="display:inline-block; padding:14px 36px; background:#1a1a1a; color:#ffffff; font-family: Helvetica, Arial, sans-serif; font-size:11px; letter-spacing:3px; text-transform:uppercase; text-decoration:none; border-radius:26px;">Browse the Full Line</a>
+      </p>
+    </td></tr>
+
+    <!-- ============ HERITAGE-HOUSE LOGO STRIP — the high-end houses we carry (CDN-hosted, all 200) ============ -->
+    <tr><td style="padding: 32px 18px 30px; border-top: 1px solid #e8e2d6;" align="center">
+      <p style="font-family: Helvetica, Arial, sans-serif; font-size: 10px; letter-spacing: 3px; text-transform: uppercase; color: #8d8478; margin: 0 0 22px;">The Houses We Carry</p>
+      <table role="presentation" width="100%" cellpadding="0" cellspacing="0" border="0" style="max-width:460px; margin:0 auto;">
+        <tr>
+          <td width="33.33%" valign="middle" align="center" style="padding: 16px 8px;">
+            <a href="https://designerwallcoverings.com/collections/thibaut-wallcoverings?utm_source=email&utm_medium=mailer&utm_campaign=hollywood-launch" target="_blank">
+              <img src="https://cdn.shopify.com/s/files/1/0015/4117/7456/files/thibaut.png?v=1771978235" alt="Thibaut" width="90" style="width:100%; max-width:90px; height:auto; margin:0 auto;">
+            </a>
+          </td>
+          <td width="33.33%" valign="middle" align="center" style="padding: 16px 8px;">
+            <a href="https://designerwallcoverings.com/collections/schumacher-wallpaper?utm_source=email&utm_medium=mailer&utm_campaign=hollywood-launch" target="_blank">
+              <img src="https://cdn.shopify.com/s/files/1/0015/4117/7456/files/schumacher-shopify.png?v=1771978111" alt="Schumacher" width="84" style="width:100%; max-width:84px; height:auto; margin:0 auto;">
+            </a>
+          </td>
+          <td width="33.33%" valign="middle" align="center" style="padding: 16px 8px;">
+            <a href="https://designerwallcoverings.com/collections/cole-sons?utm_source=email&utm_medium=mailer&utm_campaign=hollywood-launch" target="_blank">
+              <img src="https://cdn.shopify.com/s/files/1/0015/4117/7456/files/cole-son_3259d3af-8870-4ffe-aaaf-0288dea61a73.png?v=1782330147" alt="Cole &amp; Son" width="90" style="width:100%; max-width:90px; height:auto; margin:0 auto;">
+            </a>
+          </td>
+        </tr>
+        <tr>
+          <td width="33.33%" valign="middle" align="center" style="padding: 16px 8px;">
+            <a href="https://designerwallcoverings.com/collections/lee-jofa?utm_source=email&utm_medium=mailer&utm_campaign=hollywood-launch" target="_blank">
+              <img src="https://cdn.shopify.com/s/files/1/0015/4117/7456/files/lee-jofa_3e998714-f3ba-4ccd-9c30-6e1903dddb00.png?v=1782342757" alt="Lee Jofa" width="86" style="width:100%; max-width:86px; height:auto; margin:0 auto;">
+            </a>
+          </td>
+          <td width="33.33%" valign="middle" align="center" style="padding: 16px 8px;">
+            <a href="https://designerwallcoverings.com/collections/brunschwig-fils?utm_source=email&utm_medium=mailer&utm_campaign=hollywood-launch" target="_blank">
+              <img src="https://cdn.shopify.com/s/files/1/0015/4117/7456/files/brunschwig-fils_23ed9528-d7c5-420c-ae46-9530aaff134a.png?v=1782342984" alt="Brunschwig &amp; Fils" width="86" style="width:100%; max-width:86px; height:auto; margin:0 auto;">
+            </a>
+          </td>
+          <td width="33.33%" valign="middle" align="center" style="padding: 16px 8px;">
+            <a href="https://designerwallcoverings.com/collections/gp-j-baker?utm_source=email&utm_medium=mailer&utm_campaign=hollywood-launch" target="_blank">
+              <img src="https://cdn.shopify.com/s/files/1/0015/4117/7456/files/gp-j-baker_b738318f-c145-484b-bd20-bd3328fefe96.png?v=1782342763" alt="GP &amp; J Baker" width="92" style="width:100%; max-width:92px; height:auto; margin:0 auto;">
+            </a>
+          </td>
+        </tr>
+      </table>
+    </td></tr>
+
+    <!-- ============ BOTTOM — HOLLYWOOD WALLCOVERINGS WORDMARK (text, no un-hosted image) ============ -->
+    <tr><td align="center" style="padding: 30px 24px 30px; border-top: 1px solid #e8e2d6;">
+      <a href="https://hollywoodwallcoverings.com?utm_source=email&utm_medium=mailer&utm_campaign=hollywood-launch" target="_blank" style="text-decoration:none;">
+        <div style="font-family: Georgia, 'Times New Roman', serif; font-size: 22px; letter-spacing: 5px; color: #1a1a1a; text-transform: uppercase;">Hollywood Wallcoverings</div>
+        <div style="font-family: Helvetica, Arial, sans-serif; font-size: 9px; letter-spacing: 4px; color: #9a7b3f; margin-top: 6px; text-transform: uppercase;">Old-Hollywood glamour</div>
+      </a>
+    </td></tr>
+
+    <!-- ============ SHOP BY AESTHETIC — pills on WHITE (link into the live hollywoodwallcoverings rails) ============ -->
+    <tr><td align="center" style="padding: 4px 18px 36px; background:#ffffff; border-top: 1px solid #e8e2d6;">
+      <div style="font-family:Helvetica,Arial,sans-serif; font-size:10px; letter-spacing:3px; text-transform:uppercase; color:#8d8478; margin:24px 0 18px;">Shop by Aesthetic</div>
+      <a href="https://hollywoodwallcoverings.com/?aesthetic=grasscloth&utm_source=email&utm_medium=mailer&utm_campaign=hollywood-launch" target="_blank" class="pill-theme" style="display:inline-block; margin:5px 4px; padding:11px 22px; background-color:#1c1816; border:1px solid #1c1816; border-radius:26px; color:#ffffff; font-family:Helvetica,Arial,sans-serif; font-size:11px; letter-spacing:2px; text-transform:uppercase; text-decoration:none; white-space:nowrap;">Grasscloth</a>
+      <a href="https://hollywoodwallcoverings.com/?aesthetic=faux&utm_source=email&utm_medium=mailer&utm_campaign=hollywood-launch" target="_blank" class="pill-theme" style="display:inline-block; margin:5px 4px; padding:11px 22px; background-color:#1c1816; border:1px solid #1c1816; border-radius:26px; color:#ffffff; font-family:Helvetica,Arial,sans-serif; font-size:11px; letter-spacing:2px; text-transform:uppercase; text-decoration:none; white-space:nowrap;">Faux</a>
+      <a href="https://hollywoodwallcoverings.com/?aesthetic=architectural&utm_source=email&utm_medium=mailer&utm_campaign=hollywood-launch" target="_blank" class="pill-theme" style="display:inline-block; margin:5px 4px; padding:11px 22px; background-color:#1c1816; border:1px solid #1c1816; border-radius:26px; color:#ffffff; font-family:Helvetica,Arial,sans-serif; font-size:11px; letter-spacing:2px; text-transform:uppercase; text-decoration:none; white-space:nowrap;">Architectural</a>
+      <a href="https://hollywoodwallcoverings.com/?aesthetic=vinyl&utm_source=email&utm_medium=mailer&utm_campaign=hollywood-launch" target="_blank" class="pill-theme" style="display:inline-block; margin:5px 4px; padding:11px 22px; background-color:#9a7b3f; border:1px solid #9a7b3f; border-radius:26px; color:#ffffff; font-family:Helvetica,Arial,sans-serif; font-size:11px; letter-spacing:2px; text-transform:uppercase; text-decoration:none; white-space:nowrap;">Vinyl</a>
+    </td></tr>
+
+    <!-- ============ FOOTER (CAN-SPAM) ============ -->
+    <tr><td align="center" style="padding: 32px 36px; background: #f4f1ec; border-top: 1px solid #e8e2d6;">
+      <p class="footer-text" style="font-family: Helvetica, Arial, sans-serif; font-size: 11px; line-height: 18px; color: #8d8478; margin: 0 0 8px;">
+        <strong style="color:#5a544c; letter-spacing: 1px;">DESIGNER WALLCOVERINGS</strong><br>
+        15442 Ventura Bl · Sherman Oaks, CA 91403 · 1-888-373-4564<br>
+        steve@designerwallcoverings.com · designerwallcoverings.com
+      </p>
+      <p class="footer-text" style="font-family: Helvetica, Arial, sans-serif; font-size: 10px; line-height: 16px; color: #8d8478; margin: 16px 0 0;">
+        You're receiving this email because you've shopped or registered with Designer Wallcoverings.<br>
+        <a href="{{ unsubscribe }}" style="color:#8d8478; text-decoration: underline;">Unsubscribe</a> ·
+        <a href="{{update_preferences_url}}" style="color:#8d8478; text-decoration: underline;">Update preferences</a>
+      </p>
+    </td></tr>
+
+  </table>
+  <!-- ============ /CONTAINER ============ -->
+
+</td></tr>
+</table>
+</body>
+</html>

← aeec0950 auto-save: 2026-06-30T12:40:24 (3 files) — pending-approval/  ·  back to Designer Wallcoverings  ·  auto-save: 2026-06-30T13:10:36 (5 files) — pending-approval/ ee125e3d →