getreadystack commited on
Commit
96d84bd
·
verified ·
1 Parent(s): 4bc116d

Upload index.html with huggingface_hub

Browse files
Files changed (1) hide show
  1. index.html +7 -3
index.html CHANGED
@@ -8,14 +8,18 @@
8
  <link rel="canonical" href="https://getreadystack.com/tools/real-estate-icon-set">
9
  <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>
10
 
11
- <script type="application/ld+json" data-yj="yj-capsule-v1">{"@context": "https://schema.org", "@type": "FAQPage", "inLanguage": "en", "mainEntity": [{"@type": "Question", "name": "Real Estate Listing UI Kit — Property Status Badges, Amenity Chips &amp; Agent Cards (Figma + Sketch + SVG)", "acceptedAnswer": {"@type": "Answer", "text": "Straight from the kit: \"every element is a live, text-labeled component you retype and recolor, and no drawn icon glyphs are included.\" That is the difference. A free icon pack hands you a house outline and leaves you to draw the status badge, the hover state, the disabled state and the chip row yourself — on every listing screen, again, at the end of the day. You aren't saving that work. You are doing it right now, unpaid, and you will do it again on the next property page."}}]}</script>
12
  </head>
13
  <body>
14
  <main><h1>Real Estate Listing UI Kit — Property Status Badges, Amenity Chips & Agent Cards (Figma + Sketch + SVG)</h1><p>If you searched for a real estate icon set, this is the layer that sits around one: the status badges, amenity chips, listing cards, search inputs, agent avatars, detail tabs and alerts a property screen is actually made of. It ships as 8 components with 27 variants — every element is a live, text-labeled component you retype and recolor, and no drawn icon glyphs are included.</p><svg xmlns="http://www.w3.org/2000/svg" width="168" height="44" viewBox="0 0 168 44"><rect x="0" y="0" width="168" height="44" rx="8" fill="#1D4ED8"/><text x="84" y="22" font-family="Inter" font-size="14" fill="#FFFFFF" text-anchor="middle" dominant-baseline="middle">Book a Viewing</text></svg><svg xmlns="http://www.w3.org/2000/svg" width="168" height="44" viewBox="0 0 168 44"><rect x="0" y="0" width="168" height="44" rx="8" fill="#0F172A"/><text x="84" y="22" font-family="Inter" font-size="14" fill="#FFFFFF" text-anchor="middle" dominant-baseline="middle">Book a Viewing</text></svg><svg xmlns="http://www.w3.org/2000/svg" width="168" height="44" viewBox="0 0 168 44"><rect x="0" y="0" width="168" height="44" rx="8" fill="#F8FAFC"/><text x="84" y="22" font-family="Inter" font-size="14" fill="#1D4ED8" text-anchor="middle" dominant-baseline="middle">Request Details</text></svg><svg xmlns="http://www.w3.org/2000/svg" width="168" height="44" viewBox="0 0 168 44"><rect x="0" y="0" width="168" height="44" rx="8" fill="#F8FAFC"/><text x="84" y="22" font-family="Inter" font-size="14" fill="#64748B" text-anchor="middle" dominant-baseline="middle">Viewing Unavailable</text></svg></main>
15
 
16
- <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">$168</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">8 live components, 27 variants, and 6 color tokens — swap the tokens once and every listing state repaints in your agency's brand. Works for Figma teams and Sketch teams from the same file.</p><p style="margin:0 0 1rem;color:#5b6b7c;font-size:.94rem">A rival Figma real-estate UI kit is listed at $168 on this same shelf today (price checked 2026-08-20). That is the measured alternative — the kit below is the same job done at 8 components and 27 variants.</p><a href="https://buy.polar.sh/polar_cl_iKonlD8Ig0Xl66b0WHW3BsXjp6v8nvuVYcpIW3UFN54" rel="nofollow" style="display:inline-block;padding:.7rem 1.3rem;border-radius:8px;background:#1b64f2;color:#fff;text-decoration:none;font-weight:600">Send it to me</a></section>
17
  <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/wordpress-ada-compliance-plugin"><span class="yj-rel-t">ADA Compliance Plugin for WordPress: Title II Grievance Form</span><span class="yj-rel-p">$60</span></a><a class="yj-rel-c" href="https://getreadystack.com/tools/fashion-shopify-theme"><span class="yj-rel-t">Fashion Shopify Theme — Apparel Store with Size &amp; Fit, Drop Countdown and Retu</span><span class="yj-rel-p">$200</span></a><a class="yj-rel-c" href="https://getreadystack.com/tools/blender-addon-architecture"><span class="yj-rel-t">Architecture Addon for Blender</span><span class="yj-rel-p">$52</span></a><a class="yj-rel-c" href="https://getreadystack.com/tools/teacher-svg-bundle-cricut"><span class="yj-rel-t">Teacher &amp; School Staff SVG Bundle — 24 Classroom Sign, Tee &amp; Tumbler Cut Files</span><span class="yj-rel-p">$14.99</span></a><a class="yj-rel-c" href="https://getreadystack.com/tools/real-estate-video-luts-for-interior-walkthroughs"><span class="yj-rel-t">Real-Estate Video LUTs for Interior Walkthroughs and Listing Exteriors</span><span class="yj-rel-p">$100</span></a><a class="yj-rel-c" href="https://getreadystack.com/tools/docker-image-for-data-science"><span class="yj-rel-t">Docker Image for Data Science — Reproducible JupyterLab + MLflow Stack (Python</span><span class="yj-rel-p">$19</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>
18
- <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"})}).catch(function(){});}catch(e){}})();</script>
19
  <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-icon-set",lang:"en",source:"hub_gate"})}).catch(function(){}).then(function(){document.getElementById("yjgo").hidden=false;});});})();</script></section>
 
 
 
 
 
20
  </body>
21
  </html>
 
8
  <link rel="canonical" href="https://getreadystack.com/tools/real-estate-icon-set">
9
  <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>
10
 
11
+ <script type="application/ld+json" data-yj="yj-capsule-v1">{"@context": "https://schema.org", "@type": "FAQPage", "inLanguage": "en", "mainEntity": [{"@type": "Question", "name": "What does Real Estate Listing UI Kit — Property Status Badges, Amenity actually do?", "acceptedAnswer": {"@type": "Answer", "text": "If you searched for a real estate icon set, this is the layer that sits around one: the status badges, amenity chips, listing cards, search inputs, agent avatars, detail tabs and alerts a property screen is actually made of. It ships as 8 components with 27 variants — every element is a live, text-labeled component you retype and recolor, and no drawn icon glyphs are included."}}, {"@type": "Question", "name": "Who is Real Estate Listing UI Kit — Property Status Badges, Amenity for?", "acceptedAnswer": {"@type": "Answer", "text": "Two axes at once: property type (for-sale, rental, sold/archived states are all built, not just 'default') × design tool (the .sketch file opens in Figma by drag-and-drop, and Sketch-based agencies and in-house marketing teams use the exact same file — one purchase covers both sides of a mixed team)."}}, {"@type": "Question", "name": "What can I do for free, and what needs the paid version?", "acceptedAnswer": {"@type": "Answer", "text": "HOW TO OPEN IT (also written inside the file, on the first frame): 1) In Figma, drag the . sketch file straight onto the canvas or into the file browser — Figma imports it as an editable page. 2) For the SVG folder, open the . svg and copy-paste it into Figma or Sketch; it lands as editable vectors. 3) The plugin folder holds a TypeScript Figma plugin that regenerates every component from the tokens — import it via Plugins → Development → Import plugin from manifest. ⚠ What is lost: some component structure may be simplified on . sketch import (nesting and naming can flatten). ⚠ What is gained: Sketch users open the identical file, so a mixed Figma/Sketch team buys once. ⚠ Menu names differ between Figma versions and UI languages — look for the import/drag entry rather than an exact wording match. no questions (account-level, set in Gumroad); when a token or component set is revised, the updated file is free from the same listing you already own; a support email address is on the listing page and on the first frame of the file."}}, {"@type": "Question", "name": "What would this cost if someone did it for me?", "acceptedAnswer": {"@type": "Answer", "text": "A rival Figma real-estate UI kit is listed at $168 on this same shelf today (price checked 2026-08-20). That is the measured alternative — the kit below is the same job done at 8 components and 27 variants."}}], "datePublished": "2026-09-25", "dateModified": "2026-09-25", "author": {"@type": "Organization", "name": "ReadyStack", "url": "https://getreadystack.com"}}</script>
12
  </head>
13
  <body>
14
  <main><h1>Real Estate Listing UI Kit — Property Status Badges, Amenity Chips & Agent Cards (Figma + Sketch + SVG)</h1><p>If you searched for a real estate icon set, this is the layer that sits around one: the status badges, amenity chips, listing cards, search inputs, agent avatars, detail tabs and alerts a property screen is actually made of. It ships as 8 components with 27 variants — every element is a live, text-labeled component you retype and recolor, and no drawn icon glyphs are included.</p><svg xmlns="http://www.w3.org/2000/svg" width="168" height="44" viewBox="0 0 168 44"><rect x="0" y="0" width="168" height="44" rx="8" fill="#1D4ED8"/><text x="84" y="22" font-family="Inter" font-size="14" fill="#FFFFFF" text-anchor="middle" dominant-baseline="middle">Book a Viewing</text></svg><svg xmlns="http://www.w3.org/2000/svg" width="168" height="44" viewBox="0 0 168 44"><rect x="0" y="0" width="168" height="44" rx="8" fill="#0F172A"/><text x="84" y="22" font-family="Inter" font-size="14" fill="#FFFFFF" text-anchor="middle" dominant-baseline="middle">Book a Viewing</text></svg><svg xmlns="http://www.w3.org/2000/svg" width="168" height="44" viewBox="0 0 168 44"><rect x="0" y="0" width="168" height="44" rx="8" fill="#F8FAFC"/><text x="84" y="22" font-family="Inter" font-size="14" fill="#1D4ED8" text-anchor="middle" dominant-baseline="middle">Request Details</text></svg><svg xmlns="http://www.w3.org/2000/svg" width="168" height="44" viewBox="0 0 168 44"><rect x="0" y="0" width="168" height="44" rx="8" fill="#F8FAFC"/><text x="84" y="22" font-family="Inter" font-size="14" fill="#64748B" text-anchor="middle" dominant-baseline="middle">Viewing Unavailable</text></svg></main>
15
 
16
+ <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">$168</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">8 live components, 27 variants, and 6 color tokens — swap the tokens once and every listing state repaints in your agency's brand. Works for Figma teams and Sketch teams from the same file.</p><p style="margin:0 0 1rem;color:#5b6b7c;font-size:.94rem">A rival Figma real-estate UI kit is listed at $168 on this same shelf today (price checked 2026-08-20). That is the measured alternative — the kit below is the same job done at 8 components and 27 variants.</p><a href="https://getreadystack.com/api/buy/cl/polar_cl_iKonlD8Ig0Xl66b0WHW3BsXjp6v8nvuVYcpIW3UFN54" 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 — $168</a></section>
17
  <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/wordpress-ada-compliance-plugin"><span class="yj-rel-t">ADA Compliance Plugin for WordPress: Title II Grievance Form</span><span class="yj-rel-p">$60</span></a><a class="yj-rel-c" href="https://getreadystack.com/tools/fashion-shopify-theme"><span class="yj-rel-t">Fashion Shopify Theme — Apparel Store with Size &amp; Fit, Drop Countdown and Retu</span><span class="yj-rel-p">$200</span></a><a class="yj-rel-c" href="https://getreadystack.com/tools/blender-addon-architecture"><span class="yj-rel-t">Architecture Addon for Blender</span><span class="yj-rel-p">$52</span></a><a class="yj-rel-c" href="https://getreadystack.com/tools/teacher-svg-bundle-cricut"><span class="yj-rel-t">Teacher &amp; School Staff SVG Bundle — 24 Classroom Sign, Tee &amp; Tumbler Cut Files</span><span class="yj-rel-p">$14.99</span></a><a class="yj-rel-c" href="https://getreadystack.com/tools/real-estate-video-luts-for-interior-walkthroughs"><span class="yj-rel-t">Real-Estate Video LUTs for Interior Walkthroughs and Listing Exteriors</span><span class="yj-rel-p">$100</span></a><a class="yj-rel-c" href="https://getreadystack.com/tools/docker-image-for-data-science"><span class="yj-rel-t">Docker Image for Data Science — Reproducible JupyterLab + MLflow Stack (Python</span><span class="yj-rel-p">$19</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>
 
18
  <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-icon-set",lang:"en",source:"hub_gate"})}).catch(function(){}).then(function(){document.getElementById("yjgo").hidden=false;});});})();</script></section>
19
+
20
+
21
+ <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>
22
+
23
+ <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>
24
  </body>
25
  </html>