real-estate-template / index.html
getreadystack's picture
Upload index.html with huggingface_hub
3a59744 verified
Raw History Blame Contribute Delete
22.6 kB
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>Tess Bramley — real estate agent, Boise</title>
<meta name="description" content="A working agent site: eight current listings, each with a page of its own.">
<style>:root{--bg:#ffffff;--fg:#16181d;--accent:#1e5a7d;--muted:#5b6270}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font-family:system-ui, -apple-system, Segoe UI, Roboto, sans-serif;line-height:1.65}.wrap{max-width:1080px;margin:0 auto;padding:0 22px}.ph{display:block;width:100%;max-width:100%;height:auto;margin:18px 0 0;border-radius:10px}header.nav{border-bottom:1px solid rgba(0,0,0,.08);position:sticky;top:0;background:var(--bg);z-index:9}header.nav .wrap{display:flex;gap:20px;align-items:center;padding-top:16px;padding-bottom:16px;flex-wrap:wrap}header.nav a{color:var(--fg);text-decoration:none;font-size:15px}header.nav a.brand{font-weight:700;font-size:18px;margin-right:auto}section{padding:64px 0;border-bottom:1px solid rgba(0,0,0,.05)}section.hero{padding:96px 0}h1{font-size:clamp(30px,5vw,52px);line-height:1.15;margin:0 0 18px}h2{font-size:clamp(22px,3vw,32px);margin:0 0 14px}h3{font-size:18px;margin:0 0 8px}p{color:var(--muted);margin:0 0 14px;max-width:62ch}.grid{display:grid;gap:22px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.card{border:1px solid rgba(0,0,0,.1);border-radius:14px;padding:22px}.btn{display:inline-block;background:var(--accent);color:#fff;padding:13px 24px;border-radius:10px;text-decoration:none;font-weight:600}footer{padding:40px 0;color:var(--muted);font-size:14px}@media(prefers-color-scheme:dark){:root{--bg:#101216;--fg:#eef1f5;--mu:#a7b0bd}.card{border-color:rgba(255,255,255,.14)}}</style>
<script data-grow-initializer="">!(function(){window.growMe||((window.growMe=function(e){window.growMe._.push(e);}),(window.growMe._=[]));var e=document.createElement("script");(e.type="text/javascript"),(e.src="https://faves.grow.me/main.js"),(e.defer=!0),e.setAttribute("data-grow-faves-site-id","U2l0ZTphZjljMzgyMC0yMmU5LTRhYjgtYTIxNS03OTRhMGY1N2ExYzM=");var t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(e,t);})();</script>
<!--yj-canon-s101--><link rel="canonical" href="https://getreadystack.com/tools/real-estate-template">
<script type="application/ld+json" data-yj="yj-capsule-v1">{"@context": "https://schema.org", "@type": "FAQPage", "inLanguage": "en", "mainEntity": [{"@type": "Question", "name": "What does Tess Bramley — real estate agent, Boise actually do?", "acceptedAnswer": {"@type": "Answer", "text": "valueprop The principal comparing three brokers tonight is reading whatever the search results show, and a roster-page headshot with no submarkets, no availabilities and no license number on it doesn't survive that comparison — you don't get told you lost the tour, you just never get the call. A residential template can't hold this either: it has no field for lease type or cap rate, so every listing you paste in reads like an apartment ad to the one person who knows the difference. A hosted brokerage-site subscription bills every month for as long as the site is up; this is a one-time file with no monthly fee for the template, 2 files of self-contained HTML that open with no account, no login and no internet, editable in any text editor. A rival template on this same shelf sells at 49 USD right now (our measurement, August 2026). This is $49."}}, {"@type": "Question", "name": "Who is Tess Bramley — real estate agent, Boise for?", "acceptedAnswer": {"@type": "Answer", "text": "Licensed real estate agents and small brokerages who want a site they own rather than a monthly plan. Two axes are varied inside the folder — the property type (craftsman bungalow, downtown condo, townhouse, acreage, duplex, new construction, riverfront, long-term rental) × the listing status the page has to communicate (new listing, price improved, coming soon, for sale, under contract, move-in ready, by appointment, for rent)."}}, {"@type": "Question", "name": "What can I do for free, and what needs the paid version?", "acceptedAnswer": {"@type": "Answer", "text": "Publish it, then put your own domain on the sign rider and the mailer instead of a portal link, and copy one listing file the next time you take a listing."}}, {"@type": "Question", "name": "What would this cost if someone did it for me?", "acceptedAnswer": {"@type": "Answer", "text": "A hosted website builder bills a site plan every month for as long as the site stays online, and those published pricing pages list the plans as recurring; this folder is paid for once, opens with no account, and keeps working offline. What is inside can be counted before a word is changed: 16 HTML pages, 77 finished sections, 8 complete listing pages."}}], "datePublished": "2026-09-25", "dateModified": "2026-09-25", "author": {"@type": "Organization", "name": "ReadyStack", "url": "https://getreadystack.com"}}</script>
</head>
<body>
<header class="nav"><div class="wrap"><a class="brand" href="index.html">Tess Bramley</a><a href="index.html">Home</a><a href="listings.html">Listings</a><a href="listing-craftsman.html">1412 Harkness</a><a href="listing-condo.html">410 Quarry Bend</a><a href="listing-townhouse.html">27 Alder Row</a><a href="listing-acreage.html">Lot 4, Milfoil Road</a><a href="listing-duplex.html">882 Coyle Street</a><a href="listing-newbuild.html">3305 Kestrel Loop</a><a href="listing-riverfront.html">76 Heronmark Lane</a><a href="listing-rental.html">215 Fernrow Street</a><a href="buyers.html">For buyers</a><a href="sellers.html">For sellers</a><a href="about.html">About</a><a href="contact.html">Contact</a><a href="disclosures.html">Before you publish</a><a href="start-here.html">Start here</a></div></header>
<main><!-- EDIT: heading -->
<section class="hero" id="hero"><div class="wrap"><h1>Tess Bramley — real estate agent, Boise</h1><!-- EDIT: text -->
<p>I sell houses in the North End, downtown and out toward the foothills.</p><!-- EDIT: text -->
<p>Every listing I take gets a page of its own, with the details written out and the showing form on it.</p><!-- EDIT: text -->
<p>Eight current listings are below, from a 1920s bungalow to nine acres on Milfoil Road.</p><!-- EDIT: replace with your own photo (keep the file name, or change the src) --><img class="ph" src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMjAwIDY3NSIgcm9sZT0iaW1nIiBhcmlhLWxhYmVsPSJoZXJvIGltYWdlIHBsYWNlaG9sZGVyIj48cmVjdCB3aWR0aD0iMTIwMCIgaGVpZ2h0PSI2NzUiIGZpbGw9IiNlY2VhZTYiLz48cmVjdCB4PSIyNCIgeT0iMjQiIHdpZHRoPSIxMTUyIiBoZWlnaHQ9IjYyNyIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMWU1YTdkIiBzdHJva2Utd2lkdGg9IjMiIHN0cm9rZS1kYXNoYXJyYXk9IjE0IDEwIiBvcGFjaXR5PSIwLjU1Ii8+PGNpcmNsZSBjeD0iNjAwIiBjeT0iMzAwIiByPSI1OCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMWU1YTdkIiBzdHJva2Utd2lkdGg9IjYiIG9wYWNpdHk9IjAuNiIvPjxwYXRoIGQ9Ik01NzIgMzIyIGwyNCAtMzAgMjAgMjQgMTQgLTE2IDI2IDM0eiIgZmlsbD0iIzFlNWE3ZCIgb3BhY2l0eT0iMC42Ii8+PHRleHQgeD0iNjAwIiB5PSI0MzAiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZvbnQtZmFtaWx5PSJzeXN0ZW0tdWksc2Fucy1zZXJpZiIgZm9udC1zaXplPSIzMCIgZmlsbD0iIzZkNjc1ZiI+aW1hZ2VzL2hlcm8uc3ZnICYjODIxMjsgcmVwbGFjZSB3aXRoIHlvdXIgcGhvdG88L3RleHQ+PC9zdmc+Cg==" alt=""><p><a class="btn" href="listings.html">See the current listings</a></p></div></section><!-- EDIT: heading -->
<section class="gallery" id="gallery"><div class="wrap"><h2>Current listings</h2><!-- EDIT: replace with your own photo (keep the file name, or change the src) --><img class="ph" src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMjAwIDY3NSIgcm9sZT0iaW1nIiBhcmlhLWxhYmVsPSJnYWxsZXJ5IGltYWdlIHBsYWNlaG9sZGVyIj48cmVjdCB3aWR0aD0iMTIwMCIgaGVpZ2h0PSI2NzUiIGZpbGw9IiNlY2VhZTYiLz48cmVjdCB4PSIyNCIgeT0iMjQiIHdpZHRoPSIxMTUyIiBoZWlnaHQ9IjYyNyIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMWU1YTdkIiBzdHJva2Utd2lkdGg9IjMiIHN0cm9rZS1kYXNoYXJyYXk9IjE0IDEwIiBvcGFjaXR5PSIwLjU1Ii8+PGNpcmNsZSBjeD0iNjAwIiBjeT0iMzAwIiByPSI1OCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMWU1YTdkIiBzdHJva2Utd2lkdGg9IjYiIG9wYWNpdHk9IjAuNiIvPjxwYXRoIGQ9Ik01NzIgMzIyIGwyNCAtMzAgMjAgMjQgMTQgLTE2IDI2IDM0eiIgZmlsbD0iIzFlNWE3ZCIgb3BhY2l0eT0iMC42Ii8+PHRleHQgeD0iNjAwIiB5PSI0MzAiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZvbnQtZmFtaWx5PSJzeXN0ZW0tdWksc2Fucy1zZXJpZiIgZm9udC1zaXplPSIzMCIgZmlsbD0iIzZkNjc1ZiI+aW1hZ2VzL2dhbGxlcnkuc3ZnICYjODIxMjsgcmVwbGFjZSB3aXRoIHlvdXIgcGhvdG88L3RleHQ+PC9zdmc+Cg==" alt=""><div class="grid"><div class="card"><h3>1412 Harkness Avenue — new listing</h3><p>A 1920s craftsman bungalow in the North End. Three bedrooms, original fir floors. listing-craftsman.html</p></div><div class="card"><h3>410 Quarry Bend, Unit 6B — price improved</h3><p>Two bedrooms downtown, sixth floor, corner unit with secure parking. listing-condo.html</p></div><div class="card"><h3>27 Alder Row — coming soon</h3><p>A three-bedroom townhouse with an attached garage, on the market in ten days. listing-townhouse.html</p></div><div class="card"><h3>Lot 4, Milfoil Road — land</h3><p>Nine acres with a drilled well and power at the road. listing-acreage.html</p></div><div class="card"><h3>882 and 884 Coyle Street — under contract</h3><p>A side-by-side duplex, both units rented, taking backups. listing-duplex.html</p></div><div class="card"><h3>3305 Kestrel Loop — move-in ready</h3><p>New construction, four bedrooms, finished and never occupied. listing-newbuild.html</p></div><div class="card"><h3>76 Heronmark Lane — by appointment</h3><p>Riverfront, four bedrooms, shown with a lender letter first. listing-riverfront.html</p></div><div class="card"><h3>215 Fernrow Street, Unit 2 — for rent</h3><p>A two-bedroom ground-floor rental on a twelve-month lease. listing-rental.html</p></div></div></div></section><!-- EDIT: heading -->
<section class="features" id="features"><div class="wrap"><h2>What I do for a listing</h2><div class="grid"><div class="card"><h3>A page of its own</h3><p>Your house gets its own address on this site, not a slot in a portal that expires when the sale closes.</p></div><div class="card"><h3>The details written out</h3><p>Beds, baths, lot, year, heating, parking and the things a buyer rings up to ask.</p></div><div class="card"><h3>Room by room</h3><p>Photographs with a sentence each, so a buyer knows what they are looking at instead of guessing.</p></div><div class="card"><h3>A showing form on the page</h3><p>The enquiry arrives with the address attached, so nobody has to ask which house.</p></div><div class="card"><h3>It stays up</h3><p>The page keeps working after the sale closes, which is where the next seller on the street finds me.</p></div></div></div></section><!-- EDIT: heading -->
<section class="about" id="about"><div class="wrap"><h2>Who you would be working with</h2><!-- EDIT: text -->
<p>Nine years selling in Boise, the last four on my own listings rather than a team's.</p><!-- EDIT: text -->
<p>I take a limited number of listings so each one gets photographed, written and priced properly.</p><!-- EDIT: text -->
<p>You talk to me. There is no coordinator between us.</p><!-- EDIT: replace with your own photo (keep the file name, or change the src) --><img class="ph" src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMjAwIDY3NSIgcm9sZT0iaW1nIiBhcmlhLWxhYmVsPSJhYm91dCBpbWFnZSBwbGFjZWhvbGRlciI+PHJlY3Qgd2lkdGg9IjEyMDAiIGhlaWdodD0iNjc1IiBmaWxsPSIjZWNlYWU2Ii8+PHJlY3QgeD0iMjQiIHk9IjI0IiB3aWR0aD0iMTE1MiIgaGVpZ2h0PSI2MjciIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzFlNWE3ZCIgc3Ryb2tlLXdpZHRoPSIzIiBzdHJva2UtZGFzaGFycmF5PSIxNCAxMCIgb3BhY2l0eT0iMC41NSIvPjxjaXJjbGUgY3g9IjYwMCIgY3k9IjMwMCIgcj0iNTgiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzFlNWE3ZCIgc3Ryb2tlLXdpZHRoPSI2IiBvcGFjaXR5PSIwLjYiLz48cGF0aCBkPSJNNTcyIDMyMiBsMjQgLTMwIDIwIDI0IDE0IC0xNiAyNiAzNHoiIGZpbGw9IiMxZTVhN2QiIG9wYWNpdHk9IjAuNiIvPjx0ZXh0IHg9IjYwMCIgeT0iNDMwIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBmb250LWZhbWlseT0ic3lzdGVtLXVpLHNhbnMtc2VyaWYiIGZvbnQtc2l6ZT0iMzAiIGZpbGw9IiM2ZDY3NWYiPmltYWdlcy9hYm91dC5zdmcgJiM4MjEyOyByZXBsYWNlIHdpdGggeW91ciBwaG90bzwvdGV4dD48L3N2Zz4K" alt=""></div></section><!-- EDIT: heading -->
<section class="text" id="text"><div class="wrap"><h2>What a page of your own does that a portal does not</h2><!-- EDIT: text -->
<p>A portal listing comes down when the sale closes, and the link on your postcard dies with it.</p><!-- EDIT: text -->
<p>A page on this site keeps its address, so the sign rider, the mailer and the email all keep working afterwards.</p><!-- EDIT: text -->
<p>It is also the only version where the wording is yours and mine, rather than whatever fits a form field.</p></div></section><!-- EDIT: heading -->
<section class="cta" id="cta"><div class="wrap"><h2>Thinking about selling this year?</h2><!-- EDIT: text -->
<p>Tell me the street and roughly when.</p><p><a class="btn" href="contact.html">Send a message</a></p></div></section></main>
<footer><div class="wrap">Tess Bramley · Willowbank Realty, Boise · Equal Housing Opportunity</div></footer>
<section data-yj-cta="paid" style="margin:3rem auto;max-width:46rem;padding:1.5rem 1.25rem;border:1px solid #d8dee9;border-radius:12px;background:#fbfcfe;font:16px/1.6 system-ui,-apple-system,Segoe UI,sans-serif"><h2 style="margin:0 0 .5rem;font-size:1.25rem">Get the complete version <span class="yj-price">$49</span></h2><p style="margin:.25rem 0 1rem;color:#41505f">This page is the working piece. The full pack has everything below.</p><p style="margin:0 0 1rem;color:#41505f">16 pages, 77 finished sections, 8 complete listing pages — copy one file per new listing instead of renewing a plan every month.</p><p style="margin:0 0 1rem;color:#5b6b7c;font-size:.94rem">A hosted website builder bills a site plan every month for as long as the site stays online, and those published pricing pages list the plans as recurring; this folder is paid for once, opens with no account, and keeps working off</p><a href="https://getreadystack.com/api/buy/cl/polar_cl_WxhQdMLZQusCHTihnqyLXY3unxTX1slW7Xkx648RL5I" rel="nofollow" style="display:inline-block;padding:.7rem 1.3rem;border-radius:8px;background:#1b64f2;color:#fff;text-decoration:none;font-weight:600">Buy the full version — $49</a></section>
<section class="yj-related" style="max-width:920px;margin:56px auto 40px;padding:0 20px"><h2 style="font:600 21px/1.3 system-ui,sans-serif;margin:0 0 6px;color:#1b1f24">More from ReadyStack</h2><p style="font:400 14.5px/1.5 system-ui,sans-serif;margin:0 0 20px;color:#5b6570">Ready-to-use files. One-time download, no subscription.</p><div style="display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px"><a class="yj-rel-c" href="https://getreadystack.com/tools/revit-furniture-families"><span class="yj-rel-t">Revit Furniture Families - 14 Plan Blocks at Real Furniture Dimensions + 2010 </span><span class="yj-rel-p">$100</span></a><a class="yj-rel-c" href="https://getreadystack.com/tools/bookkeeper-website-template"><span class="yj-rel-t">Bookkeeper Website Template</span><span class="yj-rel-p">$49</span></a><a class="yj-rel-c" href="https://getreadystack.com/tools/ats-resume-template"><span class="yj-rel-t">ATS Resume Template — 6 Fill-In Word Documents for US Job Applications (Manage</span><span class="yj-rel-p">$29</span></a><a class="yj-rel-c" href="https://getreadystack.com/tools/web-ui-kit-figma-sketch"><span class="yj-rel-t">Web UI Kit for SaaS Dashboards — 8 Components, 32 Variant States (Figma plugin</span><span class="yj-rel-p">$168</span></a><a class="yj-rel-c" href="https://getreadystack.com/tools/jewelry-shopify-theme"><span class="yj-rel-t">Jewelry Shopify Theme - Ring Size Guide | Hallmark Wording, Made-to-Order and </span><span class="yj-rel-p">$200</span></a><a class="yj-rel-c" href="https://getreadystack.com/tools/medical-clinic-website-template"><span class="yj-rel-t">Medical Clinic Website Template — Self-Hosted 9-Page Clinic Site in Plain HTML</span><span class="yj-rel-p">$49</span></a></div><style>.yj-rel-c{display:flex;flex-direction:column;gap:8px;padding:15px 16px;border:1px solid #e2e6ea;border-radius:6px;text-decoration:none;background:#fff}.yj-rel-c:hover{border-color:#b9c2cb;background:#fafbfc}.yj-rel-t{font:500 14.5px/1.42 system-ui,sans-serif;color:#1b1f24}.yj-rel-p{font:600 13px system-ui,sans-serif;color:#0a6238}</style></section><!--yj-share-s101--><div style="margin:28px 0 8px;text-align:center"><button id="yjcp" type="button" style="font:inherit;padding:10px 18px;border:1px solid #8884;border-radius:10px;background:transparent;cursor:pointer">Copy link</button></div><script>(function(){var b=document.getElementById("yjcp");if(!b)return;var t=b.textContent;b.addEventListener("click",function(){var u=location.href.split("#")[0];function d(){b.textContent="Link copied";setTimeout(function(){b.textContent=t;},1800);}if(navigator.clipboard&&navigator.clipboard.writeText){navigator.clipboard.writeText(u).then(d,function(){prompt("",u);});}else{prompt("",u);}});})();</script>
<div class="yj-home-find"><div class="yj-lgbar"><a href="/" class="yj-lg on">EN</a><a href="/de/" class="yj-lg">DE</a><a href="/ja/" class="yj-lg">JA</a><a href="/es/" class="yj-lg">ES</a><a href="/pt/" class="yj-lg">PT</a></div><section class="yj-find"><h2>Find a tool</h2><input id="yjq" type="search" autocomplete="off" placeholder="Type a product name, format or task"><div id="yjr"></div></section><style>.yj-lgbar{position:absolute;top:14px;right:18px;display:flex;gap:6px;z-index:60}.yj-lg{font:600 12px/1 system-ui,sans-serif;padding:6px 9px;border-radius:4px;text-decoration:none;color:#8b96a3;border:1px solid rgba(140,150,165,.28)}.yj-lg:hover{color:#e8eaed;border-color:rgba(160,175,195,.6)}.yj-lg.on{color:#0e1116;background:#cfd6de;border-color:#cfd6de}.yj-find{max-width:760px;margin:34px auto 8px;padding:0 20px}.yj-find h2{font:600 20px/1.3 system-ui,sans-serif;margin:0 0 10px}#yjq{width:100%;box-sizing:border-box;padding:13px 15px;font:400 15.5px system-ui,sans-serif;border:1px solid rgba(140,150,165,.34);border-radius:8px;background:rgba(255,255,255,.04);color:inherit}#yjq:focus{outline:none;border-color:#7FD1C4}#yjr{margin-top:10px;display:flex;flex-direction:column;gap:6px}#yjr a{display:flex;justify-content:space-between;gap:12px;padding:11px 14px;border:1px solid rgba(140,150,165,.22);border-radius:6px;text-decoration:none;font:400 14.5px/1.4 system-ui,sans-serif;color:inherit}#yjr a:hover{border-color:#7FD1C4}#yjr .pr{font:600 13px system-ui,sans-serif;color:#5fbf9a;white-space:nowrap}</style><script>(function(){var q=document.getElementById("yjq"),r=document.getElementById("yjr"),D=null;function load(){if(D)return Promise.resolve(D);return fetch("/search-index.json").then(function(x){return x.json();}).then(function(j){D=j;return j;}).catch(function(){D=[];return D;});}function esc(t){return String(t).replace(/[&<>"]/g,function(c){return {"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;"}[c];});}function run(){var v=q.value.trim().toLowerCase();if(v.length<2){r.innerHTML="";return;}load().then(function(j){var w=v.split(/\s+/),o=[];for(var i=0;i<j.length&&o.length<12;i++){var t=j[i].t.toLowerCase();var ok=true;for(var k=0;k<w.length;k++){if(t.indexOf(w[k])<0){ok=false;break;}}if(ok)o.push(j[i]);}r.innerHTML=o.length?o.map(function(x){return "<a href=\""+esc(x.u)+"\">"+"<span>"+esc(x.t)+"</span>"+(x.p?"<span class=\"pr\">$"+x.p+"</span>":"")+"</a>";}).join(""):"";});}q.addEventListener("input",run);q.addEventListener("focus",load);})();</script></div><section class="yj-email-gate" style="max-width:46rem;margin:2.5rem auto;padding:1.25rem;border:1px solid rgba(140,150,165,.28);border-radius:10px;font:400 15px/1.5 system-ui,sans-serif"><b style="font-size:1.05rem">Want the full version?</b><div style="opacity:.75;margin:.35rem 0 .8rem">Enter your email and we send the download link.</div><div style="display:flex;gap:8px;flex-wrap:wrap"><input id="yjge" type="email" placeholder="you@example.com" style="flex:1;min-width:210px;padding:11px 13px;border:1px solid rgba(140,150,165,.34);border-radius:8px;background:rgba(255,255,255,.04);color:inherit"><button id="yjgb" style="padding:11px 18px;border-radius:8px;border:0;cursor:pointer;font:600 15px system-ui,sans-serif">Send it to me</button></div><div id="yjgo" hidden style="margin-top:.6rem;color:#5fbf9a">Sent. Check your inbox.</div><script>(function(){var b=document.getElementById("yjgb"),e=document.getElementById("yjge");if(!b||!e)return;b.addEventListener("click",function(){var v=e.value.trim();if(!/.+@.+\..+/.test(v))return;try{localStorage.setItem("yj_em","1");}catch(_){}fetch(location.origin+"/api/subscribe",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({email:v,slug:"real-estate-template",lang:"en",source:"hub_gate"})}).catch(function(){}).then(function(){document.getElementById("yjgo").hidden=false;});});})();</script></section>
<script data-yj="yj-view-beacon">(function(){try{var p=location.pathname;var k='yjv:'+p;if(sessionStorage.getItem(k))return;sessionStorage.setItem(k,'1');fetch('/api/ev',{method:'POST',keepalive:true,headers:{'Content-Type':'application/json'},body:JSON.stringify({path:p,lang:"en",ref:(document.referrer||''),src:(function(){try{return (new URLSearchParams(location.search).get('ref')||'').replace(/[^a-z_]/g,'').slice(0,12)}catch(e){return ''}})()})}).catch(function(){});}catch(e){}})();</script>
<script data-yj="yj-use-beacon v2">(function(){try{var r=document.querySelector('main')||document.body;var p=location.pathname,k='yju:'+p,sent=false,armed=false;function ours(el){return !!(el&&el.closest&&el.closest('[data-yj],[data-yj-cta],.yj-email-gate,.yj-find,.yj-related,#yj-ask,#yjgo,#yjr'));}function fire(){if(sent||!armed||sessionStorage.getItem(k))return;sent=true;sessionStorage.setItem(k,'1');fetch('/api/ev',{method:'POST',keepalive:true,headers:{'Content-Type':'application/json'},body:JSON.stringify({path:p,lang:"en",t:'use',src:(function(){try{return (new URLSearchParams(location.search).get('ref')||'').replace(/[^a-z_]/g,'').slice(0,12)}catch(e){return ''}})()})}).catch(function(){});}r.addEventListener('click',function(e){var b=e.target&&e.target.closest?e.target.closest('button,input[type=submit],[role=button]'):null;if(!b||ours(b))return;armed=true;setTimeout(fire,400);},true);r.addEventListener('input',function(e){if(!ours(e.target))armed=true;},true);var mo=new MutationObserver(function(){if(armed){fire();if(sent)mo.disconnect();}});mo.observe(r,{childList:true,characterData:true,subtree:true});}catch(e){}})();</script>
</body>
</html>