[object Object]

← back to Consulting Rentv Com

RENTV: enrich contacts from site, Google-future signin, flagship CRE-news redesign concept

71325c19c749d9887e00f3497b67bb0ac97dbf7e · 2026-07-17 07:46:31 -0700 · Steve

Files touched

Diff

commit 71325c19c749d9887e00f3497b67bb0ac97dbf7e
Author: Steve <steve@designerwallcoverings.com>
Date:   Fri Jul 17 07:46:31 2026 -0700

    RENTV: enrich contacts from site, Google-future signin, flagship CRE-news redesign concept
---
 public/portal.html            |   2 +-
 public/versions/flagship.html | 224 ++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 225 insertions(+), 1 deletion(-)

diff --git a/public/portal.html b/public/portal.html
index 2ebebb2..d52c50d 100644
--- a/public/portal.html
+++ b/public/portal.html
@@ -60,7 +60,7 @@ async function j(u){ const r = await fetch(u); return r.ok ? r.json() : null; }
 (async () => {
   const c = await j('/api/client'); if (c && c.business_name){ document.getElementById('name').textContent = c.business_name; document.getElementById('brand').textContent = c.business_name; if(c.tagline) document.getElementById('tag').textContent = c.tagline; }
   // version concepts (generated into /versions by build.mjs)
-  const known = ['editorial','modern','bold','warm','classic'];
+  const known = ['flagship','editorial','modern','bold','warm','classic'];
   const vc = document.getElementById('versions'); let found = 0;
   for (const v of known){ const ok = await fetch('/versions/'+v+'.html',{method:'HEAD'}).then(r=>r.ok).catch(()=>false);
     if(ok){ found++; const a=document.createElement('a'); a.className='vcard'; a.href='/versions/'+v+'.html';
diff --git a/public/versions/flagship.html b/public/versions/flagship.html
new file mode 100644
index 0000000..167da44
--- /dev/null
+++ b/public/versions/flagship.html
@@ -0,0 +1,224 @@
+<!doctype html>
+<html lang="en">
+<head>
+<meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1">
+<title>RENTV.com — Commercial Real Estate News, Deals &amp; Conferences</title>
+<style>
+  :root{
+    --red:#c8102e;--ink:#14171a;--sub:#5b636b;--line:#e4e7ea;--bg:#ffffff;--wash:#f5f6f8;
+    --sans:'Helvetica Neue',Arial,system-ui,sans-serif;--serif:Georgia,'Times New Roman',serif;
+  }
+  *{box-sizing:border-box;margin:0;padding:0}
+  body{font-family:var(--sans);color:var(--ink);background:var(--bg);line-height:1.4}
+  a{color:inherit;text-decoration:none}
+  .wrap{max-width:1200px;margin:0 auto;padding:0 20px}
+  /* utility bar */
+  .util{background:var(--ink);color:#cfd4d9;font-size:12px}
+  .util .wrap{display:flex;justify-content:space-between;align-items:center;height:34px}
+  .ticker{display:flex;gap:20px;overflow:hidden;white-space:nowrap}
+  .ticker b{color:#fff}.up{color:#4ade80}.dn{color:#f87171}
+  .util .acts a{margin-left:16px;color:#cfd4d9}
+  .util .acts a.sub{color:#fff;background:var(--red);padding:4px 12px;border-radius:3px;font-weight:700}
+  /* masthead */
+  .mast{border-bottom:2px solid var(--ink);padding:18px 0 12px}
+  .mast .wrap{display:flex;align-items:center;justify-content:space-between}
+  .logo{font-weight:800;font-size:34px;letter-spacing:-1px}
+  .logo span{color:var(--red)}
+  .logo small{display:block;font-size:11px;font-weight:600;letter-spacing:3px;color:var(--sub);text-transform:uppercase;margin-top:2px}
+  .datebox{font-size:12px;color:var(--sub);text-align:right}
+  /* nav */
+  nav{border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff;z-index:10}
+  nav .wrap{display:flex;gap:2px;align-items:center;height:46px;overflow-x:auto}
+  nav a{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:14px 14px;color:var(--ink);border-bottom:3px solid transparent;white-space:nowrap}
+  nav a:hover,nav a.on{color:var(--red);border-color:var(--red)}
+  /* breaking strip */
+  .breaking{background:var(--red);color:#fff;font-size:13px}
+  .breaking .wrap{display:flex;align-items:center;gap:14px;height:40px;overflow:hidden}
+  .breaking .tag{background:#fff;color:var(--red);font-weight:800;text-transform:uppercase;font-size:11px;letter-spacing:.08em;padding:3px 9px;border-radius:2px}
+  .breaking .items{display:flex;gap:26px;white-space:nowrap;font-weight:600}
+  /* layout */
+  .grid{display:grid;grid-template-columns:1fr 320px;gap:34px;padding:28px 0}
+  .chip{display:inline-block;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--red);margin-bottom:6px}
+  /* hero */
+  .lead{border-bottom:1px solid var(--line);padding-bottom:22px;margin-bottom:22px}
+  .lead .img{aspect-ratio:16/8;border-radius:6px;background:linear-gradient(135deg,#1f2937,#c8102e);position:relative;overflow:hidden}
+  .lead .img::after{content:'RENTV PHOTO';position:absolute;right:12px;bottom:10px;color:rgba(255,255,255,.55);font-size:11px;letter-spacing:.2em}
+  .lead h1{font-family:var(--serif);font-size:38px;line-height:1.12;margin:14px 0 8px;letter-spacing:-.5px}
+  .lead p{color:var(--sub);font-size:16px;max-width:52ch}
+  .byline{font-size:12px;color:var(--sub);margin-top:10px}
+  .subleads{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:22px}
+  .subleads .img{aspect-ratio:16/9;border-radius:5px;background:linear-gradient(135deg,#334155,#64748b)}
+  .subleads h3{font-family:var(--serif);font-size:20px;line-height:1.2;margin:10px 0 4px}
+  .subleads p{font-size:13px;color:var(--sub)}
+  /* section header */
+  .sechead{display:flex;align-items:center;gap:12px;border-top:3px solid var(--ink);padding-top:10px;margin:30px 0 16px}
+  .sechead h2{font-size:16px;text-transform:uppercase;letter-spacing:.06em}
+  .sechead a{margin-left:auto;font-size:12px;color:var(--red);font-weight:700}
+  /* card grid */
+  .cards{display:grid;grid-template-columns:1fr 1fr 1fr;gap:22px}
+  .card .img{aspect-ratio:16/10;border-radius:5px;background:linear-gradient(135deg,#475569,#94a3b8)}
+  .card:nth-child(2) .img{background:linear-gradient(135deg,#7c2d12,#c8102e)}
+  .card:nth-child(3) .img{background:linear-gradient(135deg,#0f766e,#14b8a6)}
+  .card:nth-child(5) .img{background:linear-gradient(135deg,#1e3a8a,#3b82f6)}
+  .card h4{font-family:var(--serif);font-size:17px;line-height:1.22;margin:9px 0 4px}
+  .card .byline{margin-top:6px}
+  /* rail */
+  .rail>*{margin-bottom:26px}
+  .box{border:1px solid var(--line);border-radius:6px;padding:18px}
+  .news-signup{background:var(--ink);color:#fff;border:0}
+  .news-signup h3{font-size:18px;margin-bottom:6px}
+  .news-signup p{font-size:13px;color:#b9c0c7;margin-bottom:12px}
+  .news-signup input{width:100%;padding:11px;border:0;border-radius:4px;font-size:14px;margin-bottom:8px}
+  .news-signup button{width:100%;padding:11px;background:var(--red);color:#fff;border:0;border-radius:4px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:12px;cursor:pointer}
+  .rail .sechead{margin-top:0}
+  .mostread{counter-reset:mr;list-style:none}
+  .mostread li{counter-increment:mr;display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
+  .mostread li::before{content:counter(mr);color:var(--red);font-family:var(--serif);font-size:26px;font-weight:700;line-height:1}
+  .mostread a{font-size:14px;font-weight:600;line-height:1.25}
+  .conf{background:linear-gradient(135deg,#111827,#c8102e);color:#fff;border:0;border-radius:6px;padding:22px}
+  .conf .k{font-size:11px;letter-spacing:.2em;text-transform:uppercase;opacity:.8}
+  .conf h3{font-family:var(--serif);font-size:24px;margin:6px 0 8px}
+  .conf p{font-size:13px;opacity:.9;margin-bottom:14px}
+  .conf a{display:inline-block;background:#fff;color:var(--red);font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.06em;padding:9px 16px;border-radius:4px}
+  .market{font-size:13px}
+  .market .row{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px solid var(--line)}
+  .market .row:last-child{border:0}
+  /* deal strip */
+  .deal{background:var(--wash);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0;margin-top:8px}
+  .deal .wrap{display:flex;align-items:center;gap:22px}
+  .deal .badge{background:var(--red);color:#fff;font-weight:800;text-transform:uppercase;font-size:12px;letter-spacing:.06em;padding:8px 14px;border-radius:3px;white-space:nowrap}
+  .deal b{font-family:var(--serif);font-size:18px}
+  .deal span{color:var(--sub);font-size:13px}
+  /* footer */
+  footer{background:var(--ink);color:#aeb6bd;margin-top:36px;padding:40px 0 30px;font-size:13px}
+  footer .cols{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:28px}
+  footer .logo{color:#fff;font-size:26px;margin-bottom:8px}
+  footer h5{color:#fff;font-size:12px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px}
+  footer a{display:block;padding:4px 0;color:#aeb6bd}
+  footer .fine{border-top:1px solid #2a2f34;margin-top:26px;padding-top:16px;font-size:12px;color:#7c848b}
+  .concept-flag{position:fixed;left:0;bottom:0;background:#111;color:#fff;font-size:11px;letter-spacing:.1em;padding:6px 12px;border-top-right-radius:6px;font-family:var(--sans);z-index:50}
+  @media(max-width:860px){.grid{grid-template-columns:1fr}.cards{grid-template-columns:1fr 1fr}.subleads{grid-template-columns:1fr}}
+</style>
+</head>
+<body>
+
+  <!-- utility bar with market ticker -->
+  <div class="util"><div class="wrap">
+    <div class="ticker">
+      <span><b>CRE INDEX</b> 4,182 <span class="up">▲ 0.6%</span></span>
+      <span><b>10-YR</b> 4.21% <span class="dn">▼ 3bps</span></span>
+      <span><b>CAP RATE (Office)</b> 7.4%</span>
+      <span><b>LA VACANCY</b> 23.1%</span>
+    </div>
+    <div class="acts"><a href="#">Newsletters</a><a href="#">Advertise</a><a href="#">Log In</a><a class="sub" href="#">Subscribe</a></div>
+  </div></div>
+
+  <!-- masthead -->
+  <header class="mast"><div class="wrap">
+    <div class="logo">REN<span>TV</span>.com<small>Commercial Real Estate News</small></div>
+    <div class="datebox">Western U.S. Edition<br>Friday, July 17, 2026</div>
+  </div></header>
+
+  <!-- section nav -->
+  <nav><div class="wrap">
+    <a class="on" href="#">Home</a><a href="#">Deals</a><a href="#">Sales</a><a href="#">Leases</a>
+    <a href="#">Financing</a><a href="#">Development</a><a href="#">Markets</a>
+    <a href="#">People</a><a href="#">Conferences</a><a href="#">Video</a>
+  </div></nav>
+
+  <!-- breaking strip -->
+  <div class="breaking"><div class="wrap">
+    <span class="tag">Breaking</span>
+    <div class="items">
+      <span>$212M multifamily portfolio trades in the San Fernando Valley</span>·
+      <span>Downtown LA office tower lands 140K SF lease</span>·
+      <span>Industrial cap rates compress across the Inland Empire</span>
+    </div>
+  </div></div>
+
+  <div class="wrap">
+    <div class="grid">
+      <!-- main column -->
+      <main>
+        <article class="lead">
+          <div class="img"></div>
+          <span class="chip" style="margin-top:14px">Deals · Los Angeles</span>
+          <h1>Institutional Buyer Pays $212M for 8-Property Valley Multifamily Portfolio</h1>
+          <p>The all-cash trade — one of the largest SoCal multifamily deals of the year — signals renewed confidence in workforce housing as rate expectations settle.</p>
+          <div class="byline">By RENTV Staff · 2 hours ago · 4 min read</div>
+        </article>
+
+        <div class="subleads">
+          <article><div class="img"></div><span class="chip">Financing</span><h3>Bridge Lender Closes $95M Recap on Century City Office</h3><p>Sponsors extend runway as maturities loom across the Westside.</p></article>
+          <article><div class="img"></div><span class="chip">Leases</span><h3>Life-Science Tenant Takes 140K SF in Pasadena</h3><p>Lab conversions keep the San Gabriel Valley pipeline moving.</p></article>
+        </div>
+
+        <div class="sechead"><h2>Latest CRE News</h2><a href="#">View all →</a></div>
+        <div class="cards">
+          <article class="card"><div class="img"></div><span class="chip">Sales</span><h4>Inland Empire Warehouse Trades at Record Low Cap Rate</h4><div class="byline">RENTV Staff · 5h ago</div></article>
+          <article class="card"><div class="img"></div><span class="chip">Development</span><h4>320-Unit Mixed-Use Project Breaks Ground in San Diego</h4><div class="byline">RENTV Staff · 6h ago</div></article>
+          <article class="card"><div class="img"></div><span class="chip">Retail</span><h4>Grocery-Anchored Center Sells in Orange County for $61M</h4><div class="byline">RENTV Staff · 8h ago</div></article>
+          <article class="card"><div class="img"></div><span class="chip">People</span><h4>Veteran Capital Markets Broker Joins Regional Brokerage</h4><div class="byline">RENTV Staff · 9h ago</div></article>
+          <article class="card"><div class="img"></div><span class="chip">Markets</span><h4>Phoenix Industrial Absorption Rebounds in Q2</h4><div class="byline">RENTV Staff · 11h ago</div></article>
+          <article class="card"><div class="img"></div><span class="chip">Financing</span><h4>Agency Lender Provides $48M on Bay Area Apartments</h4><div class="byline">RENTV Staff · 12h ago</div></article>
+        </div>
+      </main>
+
+      <!-- right rail -->
+      <aside class="rail">
+        <div class="news-signup box">
+          <h3>The RENTV Daily</h3>
+          <p>Western-U.S. commercial real estate deals in your inbox every morning — free.</p>
+          <input placeholder="you@company.com"><button>Subscribe free</button>
+        </div>
+
+        <div>
+          <div class="sechead"><h2>Most Read</h2></div>
+          <ol class="mostread">
+            <li><a href="#">Blackstone-backed venture buys SoCal logistics campus for $340M</a></li>
+            <li><a href="#">Office-to-resi conversions accelerate in Downtown LA</a></li>
+            <li><a href="#">Top 10 Western-U.S. multifamily deals of Q2 2026</a></li>
+            <li><a href="#">Where CRE cap rates are heading into 2027</a></li>
+            <li><a href="#">Data-center demand reshapes the Reno-Sparks market</a></li>
+          </ol>
+        </div>
+
+        <div class="conf">
+          <div class="k">RENTV Conferences</div>
+          <h3>SoCal Real Estate Summit 2026</h3>
+          <p>Join 600+ brokers, investors &amp; developers. Sept 24 · Los Angeles.</p>
+          <a href="#">Register now →</a>
+        </div>
+
+        <div class="box market">
+          <div class="sechead" style="margin-top:0"><h2>Market Snapshot</h2></div>
+          <div class="row"><span>LA Office Vacancy</span><b>23.1%</b></div>
+          <div class="row"><span>IE Industrial Cap Rate</span><b>5.2%</b></div>
+          <div class="row"><span>SF Multifamily Rent YoY</span><b class="up">+3.4%</b></div>
+          <div class="row"><span>Construction Starts</span><b class="dn">−8.7%</b></div>
+        </div>
+      </aside>
+    </div>
+  </div>
+
+  <!-- deal of the day -->
+  <div class="deal"><div class="wrap">
+    <span class="badge">Deal of the Day</span>
+    <b>Sherman Oaks Class-A office sells for $88M</b>
+    <span>· 214,000 SF · $411/SF · closed off-market · financing by a national debt fund</span>
+  </div></div>
+
+  <!-- footer -->
+  <footer><div class="wrap">
+    <div class="cols">
+      <div><div class="logo">REN<span style="color:var(--red)">TV</span>.com</div><p style="max-width:34ch">Commercial real estate news, deals, and conferences across the Western United States since the 1990s.</p></div>
+      <div><h5>Sections</h5><a href="#">Deals</a><a href="#">Sales</a><a href="#">Leases</a><a href="#">Financing</a><a href="#">Markets</a></div>
+      <div><h5>Company</h5><a href="#">About</a><a href="#">Advertise</a><a href="#">Conferences</a><a href="#">Contact</a></div>
+      <div><h5>Follow</h5><a href="#">LinkedIn</a><a href="#">X / Twitter</a><a href="#">Newsletters</a><a href="#">RSS</a></div>
+    </div>
+    <div class="fine">© 2026 RENTV.com · rentadmin@rentv.com · (424) 419-4021 — Concept redesign. Sample headlines for layout only.</div>
+  </div></footer>
+
+  <div class="concept-flag">RENTV · FLAGSHIP CONCEPT — emulates the CRE-news leaders (The Real Deal · Bisnow · Commercial Observer)</div>
+</body>
+</html>

← e6aff0d auto-save: 2026-07-17T07:45:44 (3 files) — data/client.json  ·  back to Consulting Rentv Com  ·  RENTV: load social-discovery scan (no paid ads / no socials e32021a →