← back to Designer Wallcoverings
PJ Fall 2026 Collection mailer + CC campaign builder (draft, gated)
26457c978299e477db50a94401d5aed535b6f8e2 · 2026-08-25 08:27:21 -0700 · Steve Abrams
Files touched
A mailers/cc-api/build-phillip-jeffries-campaign.jsA mailers/phillip-jeffries-fall-2026-launch.html
Diff
commit 26457c978299e477db50a94401d5aed535b6f8e2
Author: Steve Abrams <steve@designerwallcoverings.com>
Date: Tue Aug 25 08:27:21 2026 -0700
PJ Fall 2026 Collection mailer + CC campaign builder (draft, gated)
---
mailers/cc-api/build-phillip-jeffries-campaign.js | 136 +++++++++++++++
mailers/phillip-jeffries-fall-2026-launch.html | 203 ++++++++++++++++++++++
2 files changed, 339 insertions(+)
diff --git a/mailers/cc-api/build-phillip-jeffries-campaign.js b/mailers/cc-api/build-phillip-jeffries-campaign.js
new file mode 100644
index 00000000..65ebd38a
--- /dev/null
+++ b/mailers/cc-api/build-phillip-jeffries-campaign.js
@@ -0,0 +1,136 @@
+'use strict';
+
+/**
+ * build-phillip-jeffries-campaign.js — Designer Wallcoverings
+ * A DUPLICATE of build-new-arrivals-campaign.js (same validation + create path),
+ * pointed at ../phillip-jeffries-fall-2026-launch.html. Promotes the Phillip
+ * Jeffries Fall 2026 Collection — links straight into the DW store's PJ
+ * collection + product pages, and invites the reader to see it in our showroom.
+ *
+ * --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, '..', 'phillip-jeffries-fall-2026-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: `Phillip Jeffries — Fall 2026 Collection — ${new Date().toISOString().slice(0, 10)}`,
+ subject: 'Phillip Jeffries Fall 2026 — fifty years in the making',
+ preheader: 'A celebration of artisanal history: Idyllic, Cirque De Soho, Coco Weave & Plush Pillars — the new Phillip Jeffries Fall 2026 Collection, stocked to the trade at Designer Wallcoverings. Shop it online or see it in person at our Sherman Oaks showroom.',
+ 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('Phillip Jeffries Fall 2026 → 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-phillip-jeffries] ERROR:', e.message); process.exitCode = 1; });
diff --git a/mailers/phillip-jeffries-fall-2026-launch.html b/mailers/phillip-jeffries-fall-2026-launch.html
new file mode 100644
index 00000000..41bb3624
--- /dev/null
+++ b/mailers/phillip-jeffries-fall-2026-launch.html
@@ -0,0 +1,203 @@
+<!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>Phillip Jeffries Fall 2026 — fifty years in the making, now at Designer Wallcoverings</title>
+<style type="text/css">
+ 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-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; }
+ .footer-text { font-family: Helvetica, Arial, sans-serif; font-size: 11px; line-height: 18px; color: #8d8478; }
+ .callout-cell { border: 1px solid #e2dccf; }
+ @media only screen and (max-width: 620px) {
+ .stack { display: block !important; width: 100% !important; }
+ .h1 { font-size: 24px !important; line-height: 30px !important; }
+ .pill-theme { font-size: 10px !important; padding: 10px 16px !important; }
+ .spec-label { font-size: 10px !important; letter-spacing: 1px !important; }
+ }
+ @media (prefers-color-scheme: dark) {
+ .cta-btn { background-color: #1a1a1a !important; color: #ffffff !important; }
+ body, .wrap { background-color: #f4f1ec !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 LOGO ============ -->
+ <tr><td align="center" style="padding: 28px 0 14px; border-bottom: 1px solid #e8e2d6;">
+ <a href="https://www.designerwallcoverings.com/?utm_source=email&utm_medium=mailer&utm_campaign=phillip-jeffries-fall-2026" target="_blank" style="text-decoration:none;color:#1a1a1a;">
+ <div style="font-family: Georgia, 'Times New Roman', serif; font-size: 28px; 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 — single link ============ -->
+ <tr><td align="center" style="padding: 12px 14px; border-bottom: 1px solid #e8e2d6; font-family: Helvetica, Arial, sans-serif; font-size: 10px; letter-spacing: 4px; text-transform: uppercase;">
+ <a href="https://www.designerwallcoverings.com/?utm_source=email&utm_medium=mailer&utm_campaign=phillip-jeffries-fall-2026" style="color:#8d8478; text-decoration:none;">designerwallcoverings.com</a>
+ </td></tr>
+
+ <!-- ============ HERO — room-setting mood image, links into the PJ collection on the DW store ============ -->
+ <tr><td style="padding: 0; line-height: 0; font-size: 0;">
+ <a href="https://www.designerwallcoverings.com/collections/phillip-jeffries?utm_source=email&utm_medium=mailer&utm_campaign=phillip-jeffries-fall-2026" target="_blank">
+ <img src="https://cdn.shopify.com/s/files/1/0015/4117/7456/files/R20366_interior1.jpg?v=1780557647&width=1240" alt="An artisanal interior dressed in a hand-crafted natural-fiber wallcovering, setting the mood for the Phillip Jeffries Fall 2026 Collection" width="620" style="width:100%; max-width:620px; height:auto; display:block;">
+ </a>
+ </td></tr>
+
+ <!-- ============ ANNOUNCEMENT + EDITORIAL LEDE + PRIMARY CTA ============ -->
+ <tr><td style="padding: 32px 36px 8px;" align="center">
+ <p style="font-family: Helvetica, Arial, sans-serif; font-size: 11px; letter-spacing: 3px; text-transform: uppercase; color: #7a6030; margin: 0;">Phillip Jeffries · Fall 2026 Collection</p>
+ <p style="font-family: Georgia, 'Times New Roman', serif; font-size: 28px; line-height: 34px; letter-spacing: 1px; color: #1a1a1a; text-align: center; margin: 14px 0 0;">Fifty Years in the Making<br><span style="font-size:15px; letter-spacing:2px; color:#5a544c;">a celebration of artisanal history</span></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;">
+ Half a century of the handmade, distilled into one collection. Phillip Jeffries marks fifty years with <em>Idyllic</em>, <em>Cirque De Soho</em>, <em>Coco Weave</em> and <em>Plush Pillars</em> — artisanal grounds, painterly motifs and richly woven texture. Every pattern is stocked to the trade at Designer Wallcoverings, and every one is waiting to be touched in our Sherman Oaks showroom.
+ </p>
+ <p style="margin: 28px 0 0;">
+ <a href="https://www.designerwallcoverings.com/collections/phillip-jeffries?utm_source=email&utm_medium=mailer&utm_campaign=phillip-jeffries-fall-2026" target="_blank" style="display:inline-block; padding:13px 34px; background:transparent; color:#1a1a1a !important; font-family: Helvetica, Arial, sans-serif; font-size:11px; letter-spacing:3px; text-transform:uppercase; text-decoration:none; border-radius:2px; border:1px solid #1a1a1a;">Shop the Collection</a>
+ </p>
+ </td></tr>
+
+ <!-- ============ TAGLINE — quiet editorial line (no dark band) ============ -->
+ <tr><td align="center" style="padding: 6px 30px 30px; background:#ffffff;">
+ <div style="font-family:Georgia,'Times New Roman',serif; font-style:italic; font-size:16px; line-height:24px; color:#8d8478; margin:0;">Artisanal grounds, painterly motifs, woven texture — fifty years of the handmade</div>
+ </td></tr>
+
+ <!-- ============ THE FALL 2026 STORY — four named lines as editorial callouts (no fabricated product URLs) ============ -->
+ <tr><td style="padding: 40px 24px 0;" align="center">
+ <p style="font-family: Helvetica, Arial, sans-serif; font-size: 10px; letter-spacing: 3px; text-transform: uppercase; color: #8d8478; margin: 0 0 18px;">Four Chapters of the Fall 2026 Collection</p>
+ <table role="presentation" width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="stack" width="50%" valign="top" style="padding: 0 6px 12px;" align="center">
+ <a href="https://www.designerwallcoverings.com/collections/phillip-jeffries?utm_source=email&utm_medium=mailer&utm_campaign=phillip-jeffries-fall-2026" target="_blank" style="text-decoration:none;">
+ <table role="presentation" width="100%" cellpadding="0" cellspacing="0" border="0"><tr><td class="callout-cell" style="border:1px solid #e2dccf; padding:22px 18px; background:#faf8f4;" align="center">
+ <p style="font-family: Georgia, serif; font-size: 17px; letter-spacing: 0.5px; color: #1a1a1a; margin: 0;">Idyllic</p>
+ <p style="font-family: Helvetica, Arial, sans-serif; font-size: 11px; line-height:17px; color: #8d8478; margin: 8px 0 0;">A pastoral, painterly ground for rooms that breathe.</p>
+ </td></tr></table>
+ </a>
+ </td>
+ <td class="stack" width="50%" valign="top" style="padding: 0 6px 12px;" align="center">
+ <a href="https://www.designerwallcoverings.com/collections/phillip-jeffries?utm_source=email&utm_medium=mailer&utm_campaign=phillip-jeffries-fall-2026" target="_blank" style="text-decoration:none;">
+ <table role="presentation" width="100%" cellpadding="0" cellspacing="0" border="0"><tr><td class="callout-cell" style="border:1px solid #e2dccf; padding:22px 18px; background:#faf8f4;" align="center">
+ <p style="font-family: Georgia, serif; font-size: 17px; letter-spacing: 0.5px; color: #1a1a1a; margin: 0;">Cirque De Soho</p>
+ <p style="font-family: Helvetica, Arial, sans-serif; font-size: 11px; line-height:17px; color: #8d8478; margin: 8px 0 0;">Downtown theatre — graphic, spirited, unmistakably Soho.</p>
+ </td></tr></table>
+ </a>
+ </td>
+ </tr>
+ <tr>
+ <td class="stack" width="50%" valign="top" style="padding: 0 6px 12px;" align="center">
+ <a href="https://www.designerwallcoverings.com/collections/phillip-jeffries?utm_source=email&utm_medium=mailer&utm_campaign=phillip-jeffries-fall-2026" target="_blank" style="text-decoration:none;">
+ <table role="presentation" width="100%" cellpadding="0" cellspacing="0" border="0"><tr><td class="callout-cell" style="border:1px solid #e2dccf; padding:22px 18px; background:#faf8f4;" align="center">
+ <p style="font-family: Georgia, serif; font-size: 17px; letter-spacing: 0.5px; color: #1a1a1a; margin: 0;">Coco Weave</p>
+ <p style="font-family: Helvetica, Arial, sans-serif; font-size: 11px; line-height:17px; color: #8d8478; margin: 8px 0 0;">Hand-woven natural fiber with a warm, tactile hand.</p>
+ </td></tr></table>
+ </a>
+ </td>
+ <td class="stack" width="50%" valign="top" style="padding: 0 6px 12px;" align="center">
+ <a href="https://www.designerwallcoverings.com/collections/phillip-jeffries?utm_source=email&utm_medium=mailer&utm_campaign=phillip-jeffries-fall-2026" target="_blank" style="text-decoration:none;">
+ <table role="presentation" width="100%" cellpadding="0" cellspacing="0" border="0"><tr><td class="callout-cell" style="border:1px solid #e2dccf; padding:22px 18px; background:#faf8f4;" align="center">
+ <p style="font-family: Georgia, serif; font-size: 17px; letter-spacing: 0.5px; color: #1a1a1a; margin: 0;">Plush Pillars</p>
+ <p style="font-family: Helvetica, Arial, sans-serif; font-size: 11px; line-height:17px; color: #8d8478; margin: 8px 0 0;">Columnar, dimensional texture with a soft, luxe depth.</p>
+ </td></tr></table>
+ </a>
+ </td>
+ </tr>
+ </table>
+ </td></tr>
+
+ <!-- ============ ON THE WALL NOW — the real, hosted PJ product from the DW store ============ -->
+ <tr><td style="padding: 44px 24px 8px;" 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;">On the Wall Now — Phillip Jeffries</p>
+ <table role="presentation" width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="stack" width="50%" valign="top" style="padding: 0 6px;" align="center">
+ <a href="https://www.designerwallcoverings.com/products/suede-lounge-taupe-topaz-wallcovering-phillip-jeffries?utm_source=email&utm_medium=mailer&utm_campaign=phillip-jeffries-fall-2026" target="_blank">
+ <img src="https://cdn.shopify.com/s/files/1/0015/4117/7456/files/suede-lounge-taupe-topaz-phillip-jeffries.jpg?v=1781142986&width=360" alt="Suede Lounge in Taupe Topaz, a soft suede-textured wallcovering by Phillip Jeffries" class="thumb-img" width="220" style="width:100%; max-width:220px; height:auto;">
+ <p style="font-family: Georgia, serif; font-size: 13px; color: #1a1a1a; margin: 12px 0 2px;">Suede Lounge, Taupe Topaz</p>
+ <p style="font-family: Helvetica, Arial, sans-serif; font-size: 10px; letter-spacing: 1.5px; color: #8d8478; margin: 0;">Phillip Jeffries</p>
+ </a>
+ </td>
+ <td class="stack" width="50%" valign="middle" style="padding: 0 6px;" align="center">
+ <p style="font-family: Georgia, serif; font-size: 14px; line-height: 22px; color: #5a544c; margin: 0 12px;">
+ The full Fall 2026 assortment — grasscloth, silks, murals, prints and vinyl — is stocked to the trade at Designer Wallcoverings.
+ </p>
+ <p style="margin: 20px 0 0;">
+ <a href="https://www.designerwallcoverings.com/collections/phillip-jeffries?utm_source=email&utm_medium=mailer&utm_campaign=phillip-jeffries-fall-2026" target="_blank" style="display:inline-block; padding:12px 28px; background:transparent; color:#1a1a1a !important; font-family: Helvetica, Arial, sans-serif; font-size:10px; letter-spacing:3px; text-transform:uppercase; text-decoration:none; border-radius:2px; border:1px solid #1a1a1a;">See Every Pattern</a>
+ </p>
+ </td>
+ </tr>
+ </table>
+ </td></tr>
+
+ <!-- ============ VISIT OUR SHOWROOM — prominent in-person invitation ============ -->
+ <tr><td align="center" style="padding: 46px 36px 46px; background:#1c1816; border-top: 1px solid #e8e2d6;">
+ <p style="font-family: Helvetica, Arial, sans-serif; font-size: 10px; letter-spacing: 4px; text-transform: uppercase; color: #b8a98a; margin: 0 0 10px;">See It In Person</p>
+ <p style="font-family: Georgia, 'Times New Roman', serif; font-size: 24px; line-height: 30px; letter-spacing: 0.5px; color: #ffffff; margin: 0 0 12px;">Visit our showroom to see<br>the Fall 2026 Collection</p>
+ <p style="font-family: Georgia, serif; font-size: 14px; line-height: 22px; color: #d8cfbc; margin: 0 auto 22px; max-width: 440px;">
+ Artisanal texture is meant to be touched. See, feel and specify the new Phillip Jeffries Fall 2026 patterns in person at the Designer Wallcoverings showroom.
+ </p>
+ <p style="font-family: Helvetica, Arial, sans-serif; font-size: 13px; letter-spacing: 1px; color: #ffffff; margin: 0 0 6px;">15442 Ventura Blvd, Sherman Oaks, CA 91403</p>
+ <p style="font-family: Helvetica, Arial, sans-serif; font-size: 12px; letter-spacing: 1px; color: #b8a98a; margin: 0 0 24px;">(888) 373-4564 · to the trade</p>
+ <a href="https://maps.google.com/?q=15442+Ventura+Blvd+Sherman+Oaks+CA+91403" target="_blank" style="display:inline-block; padding:13px 34px; background:#ffffff; color:#1a1a1a !important; font-family: Helvetica, Arial, sans-serif; font-size:11px; letter-spacing:3px; text-transform:uppercase; text-decoration:none; border-radius:2px;">Get Directions</a>
+ </td></tr>
+
+ <!-- ============ CLOSING CTA — memo samples front-loaded ============ -->
+ <tr><td align="center" style="padding: 44px 36px 24px; background:#ffffff;">
+ <p style="font-family: Georgia, serif; font-size: 14px; line-height: 22px; color: #5a544c; margin: 0;">
+ Prefer to specify from your desk? Request a <em>memo sample</em> of any Phillip Jeffries pattern — or shop the whole Fall 2026 Collection at trade pricing.
+ </p>
+ <p style="margin: 24px 0 0;">
+ <a href="https://www.designerwallcoverings.com/collections/phillip-jeffries?utm_source=email&utm_medium=mailer&utm_campaign=phillip-jeffries-fall-2026" target="_blank" style="display:inline-block; padding:13px 34px; background:transparent; color:#1a1a1a !important; font-family: Helvetica, Arial, sans-serif; font-size:11px; letter-spacing:3px; text-transform:uppercase; text-decoration:none; border-radius:2px; border:1px solid #1a1a1a;">Shop the Collection</a>
+ </p>
+ </td></tr>
+
+ <!-- ============ BOTTOM — DW WORDMARK (brand close) ============ -->
+ <tr><td align="center" style="padding: 48px 24px 32px; border-top: 1px solid #e8e2d6;">
+ <a href="https://www.designerwallcoverings.com/?utm_source=email&utm_medium=mailer&utm_campaign=phillip-jeffries-fall-2026" 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;">Designer Wallcoverings</div>
+ <div style="font-family: Helvetica, Arial, sans-serif; font-size: 9px; letter-spacing: 4px; color: #7a6030; margin-top: 6px; text-transform: uppercase;">Phillip Jeffries · Fall 2026</div>
+ <div style="font-family: Georgia, 'Times New Roman', serif; font-style: italic; font-size: 12px; color: #8d8478; margin-top: 10px;">To the trade — Los Angeles, since 2003</div>
+ </a>
+ </td></tr>
+
+ <!-- ============ SHOP BY CATEGORY — pills (Phillip Jeffries release categories) ============ -->
+ <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 Category</div>
+ <a href="https://www.designerwallcoverings.com/collections/grasscloth?utm_source=email&utm_medium=mailer&utm_campaign=phillip-jeffries-fall-2026" target="_blank" class="pill-theme" style="display:inline-block; margin:5px 4px; padding:11px 22px; background-color:transparent; border:1px solid #1a1a1a; border-radius:26px; color:#1a1a1a !important; 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://www.designerwallcoverings.com/collections/silk?utm_source=email&utm_medium=mailer&utm_campaign=phillip-jeffries-fall-2026" target="_blank" class="pill-theme" style="display:inline-block; margin:5px 4px; padding:11px 22px; background-color:transparent; border:1px solid #1a1a1a; border-radius:26px; color:#1a1a1a !important; font-family:Helvetica,Arial,sans-serif; font-size:11px; letter-spacing:2px; text-transform:uppercase; text-decoration:none; white-space:nowrap;">Silks</a>
+ <a href="https://www.designerwallcoverings.com/collections/murals?utm_source=email&utm_medium=mailer&utm_campaign=phillip-jeffries-fall-2026" target="_blank" class="pill-theme" style="display:inline-block; margin:5px 4px; padding:11px 22px; background-color:transparent; border:1px solid #1a1a1a; border-radius:26px; color:#1a1a1a !important; font-family:Helvetica,Arial,sans-serif; font-size:11px; letter-spacing:2px; text-transform:uppercase; text-decoration:none; white-space:nowrap;">Murals</a>
+ <a href="https://www.designerwallcoverings.com/collections/phillip-jeffries?utm_source=email&utm_medium=mailer&utm_campaign=phillip-jeffries-fall-2026" target="_blank" class="pill-theme" style="display:inline-block; margin:5px 4px; padding:11px 22px; background-color:transparent; border:1px solid #1a1a1a; border-radius:26px; color:#1a1a1a !important; font-family:Helvetica,Arial,sans-serif; font-size:11px; letter-spacing:2px; text-transform:uppercase; text-decoration:none; white-space:nowrap;">Prints</a>
+ <a href="https://www.designerwallcoverings.com/collections/phillip-jeffries?utm_source=email&utm_medium=mailer&utm_campaign=phillip-jeffries-fall-2026" target="_blank" class="pill-theme" style="display:inline-block; margin:5px 4px; padding:11px 22px; background-color:transparent; border:1px solid #1a1a1a; border-radius:26px; color:#1a1a1a !important; 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>
+
+ </table>
+ <!-- ============ /CONTAINER ============ -->
+
+</td></tr>
+</table>
+</body>
+</html>
← 67cd4ff9 dw-free-samples: add block-nonpurchasable-checkout validatio
·
back to Designer Wallcoverings
·
PJ Fall 2026 mailer: photo-forward editorial revision (draft b3cb72e7 →