PageSourceSearch

https://aiyardplanner.com/pricing/

html aiyardplanner.com collected 2026-10-05 08:02:14 UTC 32,746 bytes, 64 lines download raw bytes

1<!DOCTYPE html><html lang="en" class="h-full bg-canvas"> <head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><link rel="icon" type="image/png" sizes="32x32" href="/favicon-32.png"><link rel="icon" type="image/png" sizes="192x192" href="/favicon-192.png"><link rel="apple-touch-icon" href="/apple-touch-icon.png"><link rel="preconnect" href="https://api.skybringup.com"><link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Hanken+Grotesk:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&family=Instrument+Serif:ital@0;1&display=swap"><!-- Primary Meta Tags --><title>AI Yard Planner Pricing</title><meta name="title" content="AI Yard Planner Pricing"><meta name="description" content="AI Yard Planner uses a simple credits model. Start free, then add credits for more landscape design previews."><meta name="robots" content="index, follow"><link rel="canonical" href="https://aiyardplanner.com/pricing/"><!-- Open Graph --><meta property="og:type" content="website"><meta property="og:url" content="https://aiyardplanner.com/pricing/"><meta property="og:title" content="AI Yard Planner Pricing"><meta property="og:description" content="AI Yard Planner uses a simple credits model. Start free, then add credits for more landscape design previews."><meta property="og:image" content="https://aiyardplanner.com/og-image.jpg"><meta property="og:site_name" content="AI Yard Planner"><meta property="og:locale" content="en-US"><!-- Twitter --><meta name="twitter:card" content="summary_large_image"><meta name="twitter:url" content="https://aiyardplanner.com/pricing/"><meta name="twitter:title" content="AI Yard Planner Pricing"><meta name="twitter:description" content="AI Yard Planner uses a simple credits model. Start free, then add credits for more landscape design previews."><meta name="twitter:image" content="https://aiyardplanner.com/og-image.jpg">
1<script defer data-domain="aiyardplanner.com" src="https://plausible.skybringup.tech/js/script.tagged-events.js"></script>
vendor: 63 bytes, line 1
1<script async src="https://www.googletagmanager.com/gtag/js?id=
1G-1CQ28XLQL6
vendor: 12 bytes, line 1
1"></script> 
1<script>(function(){const measurementId = "G-1CQ28XLQL6";
2const consentDefault = {"analytics_storage":"denied","ad_storage":"denied","ad_user_data":"denied","ad_personalization":"denied","region":["AT","BE","BG","HR","CY","CZ","DK","EE","FI","FR","DE","GR","HU","IE","IT","LV","LT","LU","MT","NL","PL","PT","RO","SK","SI","ES","SE","IS","LI","NO","GB","CH"]};
3
4  window.dataLayer = window.dataLayer || [];
5  function gtag(){dataLayer.push(arguments);}
6  window.gtag = gtag;
7  // Consent Mode v2: EEA/UK/CH visitors default to denied (cookieless GA,
8  // no banner); other regions keep GA's unrestricted default. Must run
9  // before 'config'.
10  gtag('consent', 'default', consentDefault);
11  gtag('js', new Date());
12  gtag('config', measurementId);
13})();</script>
13<script>window.track=function(name,props){try{if(window.plausible)window.plausible(name,{props:props||{}});}catch(e){}try{if(window.gtag)window.gtag('event',name,props||{});}catch(e){}};window.addEventListener('saas:checkout-start',function(e){if(window.track)window.track('checkout_click',{productType:e.detail&&e.detail.productType,packageId:e.detail&&e.detail.packageId});});</script>
13<script type="application/ld+json">{"@context":"https://schema.org","@type":"Organization","name":"AI Yard Planner","url":"https://aiyardplanner.com/","logo":"https://aiyardplanner.com/brand/logo.jpg"}</script>
13<script type="application/ld+json">{"@context":"https://schema.org","@type":"WebSite","name":"AI Yard Planner","url":"https://aiyardplanner.com/","description":"AI Yard Planner uses a simple credits model. Start free, then add credits for more landscape design previews.","inLanguage":"en-US"}</script>
13<link rel="stylesheet" href="/_astro/account-deletion.BLS9u6l2.css">
14<style>.glass-panel{position:relative;background-color:#ffffffad;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.6);box-shadow:0 8px 30px #17221c1a,0 2px 8px #17221c0f,inset 0 0 0 1px #17221c0a;border-radius:16px}.glass-panel:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(to bottom,#ffffff8c,#fff0 38%)}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.glass-panel{background-color:#f8f4eaf5}}
15</style>
16<link rel="stylesheet" href="/_astro/account.CTI_i6gB.css">
16<script type="module" src="/_astro/hoisted.DDqT_6ml.js"></script>
16</head> <body class="min-h-full bg-canvas text-ink antialiased font-body"> <header id="site-header" class="sticky top-0 z-50 border-b border-stone/60 bg-canvas/85 backdrop-blur-md transition-[background-color,box-shadow,border-color] duration-300 motion-reduce:transition-none data-[scrolled=true]:border-white/60 data-[scrolled=true]:bg-canvas-card/70 data-[scrolled=true]:shadow-glass data-[scrolled=true]:backdrop-blur-xl"> <nav class="mx-auto flex h-16 max-w-7xl items-center justify-between px-4 sm:px-6 lg:px-8"> <a href="/" class="flex min-w-0 items-center gap-3" aria-label="AI Yard Planner home"> <img src="/brand/mark.jpg" alt="AI Yard Planner logo mark" width="36" height="36" class="h-9 w-9 rounded-card object-cover"> <span class="truncate text-base font-bold tracking-normal text-garden-shadow sm:text-lg">AI Yard Planner</span> </a> <div class="hidden items-center gap-6 md:flex"> <div class="group relative"> <a href="/tool/" class="rounded-crisp px-2 py-2 text-sm font-semibold text-ink-muted transition hover:text-garden-shadow focus:outline-none focus:ring-2 focus:ring-clay"> Planner </a>  </div><div class="group relative"> <a href="/ai-backyard-design/" class="rounded-crisp px-2 py-2 text-sm font-semibold text-ink-muted transition hover:text-garden-shadow focus:outline-none focus:ring-2 focus:ring-clay"> Use cases </a> <div class="pointer-events-none absolute left-1/2 top-full w-80 -translate-x-1/2 pt-3 opacity-0 transition group-hover:pointer-events-auto group-hover:opacity-100 group-focus-within:pointer-events-auto group-focus-within:opacity-100"> <div class="rounded-card border border-stone bg-white p-2 shadow-[0_24px_70px_rgba(23,34,28,0.18)]"> <a href="/ai-backyard-design/" class="block rounded-crisp px-3 py-3 transition hover:bg-sage-pale focus:outline-none focus:ring-2 focus:ring-clay"> <span class="block text-sm font-bold text-garden-shadow">Backyard design</span> <span class="mt-1 block text-xs leading-5 text-ink-soft">Outdoor living, patios, and family-friendly yards.</span> </a><a href="/ai-front-yard-design/" class="block rounded-crisp px-3 py-3 transition hover:bg-sage-pale focus:outline-none focus:ring-2 focus:ring-clay"> <span class="block text-sm font-bold text-garden-shadow">Front yard design</span> <span class="mt-1 block text-xs leading-5 text-ink-soft">Curb appeal, walkways, and entry planting ideas.</span> </a><a href="/ai-garden-design/" class="block rounded-crisp px-3 py-3 transition hover:bg-sage-pale focus:outline-none focus:ring-2 focus:ring-clay"> <span class="block text-sm font-bold text-garden-shadow">Garden planner</span> <span class="mt-1 block text-xs leading-5 text-ink-soft">Planting beds, pollinator gardens, and low-maintenance layouts.</span> </a> </div> </div> </div><div class="group relative"> <a href="/examples/" class="rounded-crisp px-2 py-2 text-sm font-semibold text-ink-muted transition hover:text-garden-shadow focus:outline-none focus:ring-2 focus:ring-clay"> Examples </a>  </div><div class="group relative"> <a href="/blog/" class="rounded-crisp px-2 py-2 text-sm font-semibold text-ink-muted transition hover:text-garden-shadow focus:outline-none focus:ring-2 focus:ring-clay"> Guides </a>  </div><div class="group relative"> <a href="/pricing/" class="rounded-crisp px-2 py-2 text-sm font-semibold text-ink-muted transition hover:text-garden-shadow focus:outline-none focus:ring-2 focus:ring-clay"> Pricing </a>  </div> <style>astro-island,astro-slot,astro-static-slot{display:contents}</style>
16<script>(()=>{var e=async t=>{await(await t())()};(self.Astro||(self.Astro={})).load=e;window.dispatchEvent(new Event("astro:load"));})();;(()=>{var A=Object.defineProperty;var g=(i,o,a)=>o in i?A(i,o,{enumerable:!0,configurable:!0,writable:!0,value:a}):i[o]=a;var d=(i,o,a)=>g(i,typeof o!="symbol"?o+"":o,a);{let i={0:t=>m(t),1:t=>a(t),2:t=>new RegExp(t),3:t=>new Date(t),4:t=>new Map(a(t)),5:t=>new Set(a(t)),6:t=>BigInt(t),7:t=>new URL(t),8:t=>new Uint8Array(t),9:t=>new Uint16Array(t),10:t=>new Uint32Array(t),11:t=>1/0*t},o=t=>{let[l,e]=t;return l in i?i[l](e):void 0},a=t=>t.map(o),m=t=>typeof t!="object"||t===null?t:Object.fromEntries(Object.entries(t).map(([l,e])=>[l,o(e)]));class y extends HTMLElement{constructor(){super(...arguments);d(this,"Component");d(this,"hydrator");d(this,"hydrate",async()=>{var b;if(!this.hydrator||!this.isConnected)return;let e=(b=this.parentElement)==null?void 0:b.closest("astro-island[ssr]");if(e){e.addEventListener("astro:hydrate",this.hydrate,{once:!0});return}let c=this.querySelectorAll("astro-slot"),n={},h=this.querySelectorAll("template[data-astro-template]");for(let r of h){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute("data-astro-template")||"default"]=r.innerHTML,r.remove())}for(let r of c){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute("name")||"default"]=r.innerHTML)}let p;try{p=this.hasAttribute("props")?m(JSON.parse(this.getAttribute("props"))):{}}catch(r){let s=this.getAttribute("component-url")||"<unknown>",v=this.getAttribute("component-export");throw v&&(s+=` (export ${v})`),console.error(`[hydrate] Error parsing props for component ${s}`,this.getAttribute("props"),r),r}let u;await this.hydrator(this)(this.Component,p,n,{client:this.getAttribute("client")}),this.removeAttribute("ssr"),this.dispatchEvent(new CustomEvent("astro:hydrate"))});d(this,"unmount",()=>{this.isConnected||this.dispatchEvent(new CustomEvent("astro:unmount"))})}disconnectedCallback(){document.removeEventListener("astro:after-swap",this.unmount),document.addEventListener("astro:after-swap",this.unmount,{once:!0})}connectedCallback(){if(!this.hasAttribute("await-children")||document.readyState==="interactive"||document.readyState==="complete")this.childrenConnectedCallback();else{let e=()=>{document.removeEventListener("DOMContentLoaded",e),c.disconnect(),this.childrenConnectedCallback()},c=new MutationObserver(()=>{var n;((n=this.lastChild)==null?void 0:n.nodeType)===Node.COMMENT_NODE&&this.lastChild.nodeValue==="astro:end"&&(this.lastChild.remove(),e())});c.observe(this,{childList:!0}),document.addEventListener("DOMContentLoaded",e)}}async childrenConnectedCallback(){let e=this.getAttribute("before-hydration-url");e&&await import(e),this.start()}async start(){let e=JSON.parse(this.getAttribute("opts")),c=this.getAttribute("client");if(Astro[c]===void 0){window.addEventListener(`astro:${c}`,()=>this.start(),{once:!0});return}try{await Astro[c](async()=>{let n=this.getAttribute("renderer-url"),[h,{default:p}]=await Promise.all([import(this.getAttribute("component-url")),n?import(n):()=>()=>{}]),u=this.getAttribute("component-export")||"default";if(!u.includes("."))this.Component=h[u];else{this.Component=h;for(let f of u.split("."))this.Component=this.Component[f]}return this.hydrator=p,this.hydrate},e,this)}catch(n){console.error(`[astro-island] Error hydrating ${this.getAttribute("component-url")}`,n)}}attributeChangedCallback(){this.hydrate()}}d(y,"observedAttributes",["props"]),customElements.get("astro-island")||customElements.define("astro-island",y)}})();</script>
16<astro-island uid="Z1EPKKa" prefix="r3" component-url="/_astro/AuthButton.2sDqUstv.js" component-export="default" renderer-url="/_astro/client.i2PwhOJ4.js" props="{&quot;slot&quot;:[0,&quot;auth-button&quot;],&quot;apiBaseUrl&quot;:[0,&quot;https://api.skybringup.com&quot;],&quot;siteId&quot;:[0,&quot;aiyardplanner&quot;],&quot;googleClientId&quot;:[0,&quot;305000389638-75ekm5cl835nnjdj8d27cors5gkh3pi2.apps.googleusercontent.com&quot;],&quot;googleOneTap&quot;:[0,false],&quot;buttonClassName&quot;:[0,&quot;rounded-card bg-garden px-4 py-2 text-sm font-bold text-white transition hover:bg-garden-shadow focus:outline-none focus:ring-2 focus:ring-clay focus:ring-offset-2&quot;],&quot;modalInputClassName&quot;:[0,&quot;mt-1 w-full rounded-lg border border-stone px-3 py-2 text-sm text-ink outline-none focus:border-clay focus:ring-2 focus:ring-clay/20&quot;],&quot;modalSubmitClassName&quot;:[0,&quot;w-full rounded-lg bg-clay px-4 py-2.5 text-sm font-bold text-white transition-colors hover:bg-clay-deep disabled:opacity-60&quot;]}" ssr="" client="load" opts="{&quot;name&quot;:&quot;AuthButton&quot;,&quot;value&quot;:true}" await-children=""><button class="rounded-card bg-garden px-4 py-2 text-sm font-bold text-white transition hover:bg-garden-shadow focus:outline-none focus:ring-2 focus:ring-clay focus:ring-offset-2">Sign In</button><!--astro:end--></astro-island> </div> <button id="mobile-menu-btn" type="button" class="flex h-11 w-11 items-center justify-center rounded-card border border-stone bg-white text-garden-shadow md:hidden" aria-label="Open menu" aria-expanded="false"> <span class="grid gap-1.5" aria-hidden="true"> <span class="block h-0.5 w-5 rounded-full bg-current"></span> <span class="block h-0.5 w-5 rounded-full bg-current"></span> <span class="block h-0.5 w-5 rounded-full bg-current"></span> </span> </button> </nav> <div id="mobile-menu" class="hidden border-t border-stone bg-canvas px-4 py-4 md:hidden"> <div class="space-y-1"> <div> <a href="/tool/" class="block rounded-crisp px-3 py-2 text-sm font-bold text-garden-shadow hover:bg-sage-pale"> Planner </a>  </div><div> <a href="/ai-backyard-design/" class="block rounded-crisp px-3 py-2 text-sm font-bold text-garden-shadow hover:bg-sage-pale"> Use cases </a> <div class="ml-3 border-l border-stone pl-3"> <a href="/ai-backyard-design/" class="block rounded-crisp px-3 py-2 text-sm text-ink-muted hover:bg-sage-pale"> Backyard design </a><a href="/ai-front-yard-design/" class="block rounded-crisp px-3 py-2 text-sm text-ink-muted hover:bg-sage-pale"> Front yard design </a><a href="/ai-garden-design/" class="block rounded-crisp px-3 py-2 text-sm text-ink-muted hover:bg-sage-pale"> Garden planner </a> </div> </div><div> <a href="/examples/" class="block rounded-crisp px-3 py-2 text-sm font-bold text-garden-shadow hover:bg-sage-pale"> Examples </a>  </div><div> <a href="/blog/" class="block rounded-crisp px-3 py-2 text-sm font-bold text-garden-shadow hover:bg-sage-pale"> Guides </a>  </div><div> <a href="/pricing/" class="block rounded-crisp px-3 py-2 text-sm font-bold text-garden-shadow hover:bg-sage-pale"> Pricing </a>  </div> <div class="px-3 pt-3"> <astro-island uid="Z2f6xrs" prefix="r4" component-url="/_astro/AuthButton.2sDqUstv.js" component-export="default" renderer-url="/_astro/client.i2PwhOJ4.js" props="{&quot;slot&quot;:[0,&quot;auth-button-mobile&quot;],&quot;apiBaseUrl&quot;:[0,&quot;https://api.skybringup.com&quot;],&quot;siteId&quot;:[0,&quot;aiyardplanner&quot;],&quot;googleClientId&quot;:[0,&quot;305000389638-75ekm5cl835nnjdj8d27cors5gkh3pi2.apps.googleusercontent.com&quot;],&quot;googleOneTap&quot;:[0,false],&quot;buttonClassName&quot;:[0,&quot;w-full rounded-card bg-garden px-4 py-2.5 text-sm font-bold text-white transition hover:bg-garden-shadow&quot;],&quot;modalInputClassName&quot;:[0,&quot;mt-1 w-full rounded-lg border border-stone px-3 py-2 text-sm text-ink outline-none focus:border-clay focus:ring-2 focus:ring-clay/20&quot;],&quot;modalSubmitClassName&quot;:[0,&quot;w-full rounded-lg bg-clay px-4 py-2.5 text-sm font-bold text-white transition-colors hover:bg-clay-deep disabled:opacity-60&quot;]}" ssr="" client="load" opts="{&quot;name&quot;:&quot;AuthButton&quot;,&quot;value&quot;:true}" await-children=""><button class="w-full rounded-card bg-garden px-4 py-2.5 text-sm font-bold text-white transition hover:bg-garden-shadow">Sign In</button><!--astro:end--></astro-island> </div> </div> </div> </header> <main>  <section class="bg-canvas px-4 py-14 sm:px-6 lg:px-8"> <div class="mx-auto max-w-5xl text-center"> <p class="font-mono text-[11px] font-medium uppercase tracking-[0.2em] text-clay">Credits-first pricing</p> <h1 class="mt-4 font-display text-5xl font-normal leading-[1.02] tracking-tight text-garden-shadow sm:text-6xl">Pay for previews, not a complicated plan.</h1> <p class="mx-auto mt-5 max-w-2xl text-base leading-7 text-ink-muted">
17A new account starts with 5 free credits. One yard preview uses one credit, so you can compare directions before committing to plants, pavers, or contractor conversations.
18</p> </div> <div class="mx-auto mt-10 grid max-w-6xl gap-4 lg:grid-cols-4"> <article class="rounded-card border border-stone bg-white p-5 shadow-sm"> <div class="text-sm font-bold text-clay">Free</div> <h2 class="mt-3 text-3xl font-black text-garden-shadow">5 credits</h2> <p class="mt-3 text-sm leading-6 text-ink-muted">Enough to try the planner and see whether a photo-based outdoor preview helps your project.</p> <a href="/tool/" class="mt-6 inline-flex min-h-11 w-full items-center justify-center rounded-card bg-garden px-4 text-sm font-black text-white transition hover:bg-garden-shadow">
19Start planning
20</a> </article> <article class="rounded-card border bg-white p-5 shadow-sm border-stone"> <div class="flex items-center justify-between gap-3"> <div class="text-sm font-bold text-clay">Starter</div>  </div> <h2 class="mt-3 text-3xl font-black text-garden-shadow">30 credits</h2> <div class="mt-1 text-lg font-bold text-ink">$4.99</div> <p class="mt-3 text-sm leading-6 text-ink-muted">Good for testing several yard directions.</p> <ul class="mt-5 space-y-2 text-sm leading-6 text-ink-muted"> <li>One credit creates one visual yard concept.</li> <li>Use credits for backyard, front yard, garden, and patio previews.</li> <li>Credits add to your account balance.</li> </ul> <astro-island uid="Lw1Yk" prefix="r0" component-url="/_astro/CheckoutButton.Czni8ktD.js" component-export="default" renderer-url="/_astro/client.i2PwhOJ4.js" props="{&quot;apiBaseUrl&quot;:[0,&quot;https://api.skybringup.com&quot;],&quot;siteId&quot;:[0,&quot;aiyardplanner&quot;],&quot;productType&quot;:[0,&quot;credits_pack&quot;],&quot;packageId&quot;:[0,&quot;starter_30&quot;],&quot;label&quot;:[0,&quot;Add credits&quot;],&quot;popular&quot;:[0,false],&quot;className&quot;:[0,&quot;bg-sage-pale text-garden-shadow hover:bg-sage&quot;]}" ssr="" client="load" opts="{&quot;name&quot;:&quot;CheckoutButton&quot;,&quot;value&quot;:true}" await-children=""><div class="mt-6"><button type="button" class="block w-full text-center py-3 px-4 rounded-lg font-semibold text-sm transition-colors disabled:opacity-50 bg-gray-100 text-gray-900 hover:bg-gray-200 bg-sage-pale text-garden-shadow hover:bg-sage">Add credits</button></div><!--astro:end--></astro-island> </article><article class="rounded-card border bg-white p-5 shadow-sm border-clay ring-2 ring-clay/20"> <div class="flex items-center justify-between gap-3"> <div class="text-sm font-bold text-clay">Planner</div> <span class="rounded-crisp bg-clay px-2.5 py-1 text-xs font-black text-white">Best value</span> </div> <h2 class="mt-3 text-3xl font-black text-garden-shadow">100 credits</h2> <div class="mt-1 text-lg font-bold text-ink">$14.99</div> <p class="mt-3 text-sm leading-6 text-ink-muted">Best for comparing backyard, front yard, and patio ideas.</p> <ul class="mt-5 space-y-2 text-sm leading-6 text-ink-muted"> <li>One credit creates one visual yard concept.</li> <li>Use credits for backyard, front yard, garden, and patio previews.</li> <li>Credits add to your account balance.</li> </ul> <astro-island uid="Z2uGBmM" prefix="r1" component-url="/_astro/CheckoutButton.Czni8ktD.js" component-export="default" renderer-url="/_astro/client.i2PwhOJ4.js" props="{&quot;apiBaseUrl&quot;:[0,&quot;https://api.skybringup.com&quot;],&quot;siteId&quot;:[0,&quot;aiyardplanner&quot;],&quot;productType&quot;:[0,&quot;credits_pack&quot;],&quot;packageId&quot;:[0,&quot;popular_100&quot;],&quot;label&quot;:[0,&quot;Add credits&quot;],&quot;popular&quot;:[0,true],&quot;className&quot;:[0,&quot;bg-clay text-white hover:bg-clay-deep&quot;]}" ssr="" client="load" opts="{&quot;name&quot;:&quot;CheckoutButton&quot;,&quot;value&quot;:true}" await-children=""><div class="mt-6"><button type="button" class="block w-full text-center py-3 px-4 rounded-lg font-semibold text-sm transition-colors disabled:opacity-50 bg-blue-600 text-white hover:bg-blue-700 bg-clay text-white hover:bg-clay-deep">Add credits</button></div><!--astro:end--></astro-island> </article><article class="rounded-card border bg-white p-5 shadow-sm border-stone"> <div class="flex items-center justify-between gap-3"> <div class="text-sm font-bold text-clay">Studio</div>  </div> <h2 class="mt-3 text-3xl font-black text-garden-shadow">300 credits</h2> <div class="mt-1 text-lg font-bold text-ink">$29.99</div> <p class="mt-3 text-sm leading-6 text-ink-muted">For repeated iterations across a full outdoor project.</p> <ul class="mt-5 space-y-2 text-sm leading-6 text-ink-muted"> <li>One credit creates one visual yard concept.</li> <li>Use credits for backyard, front yard, garden, and patio previews.</li> <li>Credits add to your account balance.</li> </ul> <astro-island uid="2448RM" prefix="r2" component-url="/_astro/CheckoutButton.Czni8ktD.js" component-export="default" renderer-url="/_astro/client.i2PwhOJ4.js" props="{&quot;apiBaseUrl&quot;:[0,&quot;https://api.skybringup.com&quot;],&quot;siteId&quot;:[0,&quot;aiyardplanner&quot;],&quot;productType&quot;:[0,&quot;credits_pack&quot;],&quot;packageId&quot;:[0,&quot;studio_300&quot;],&quot;label&quot;:[0,&quot;Add credits&quot;],&quot;popular&quot;:[0,false],&quot;className&quot;:[0,&quot;bg-sage-pale text-garden-shadow hover:bg-sage&quot;]}" ssr="" client="load" opts="{&quot;name&quot;:&quot;CheckoutButton&quot;,&quot;value&quot;:true}" await-children=""><div class="mt-6"><button type="button" class="block w-full text-center py-3 px-4 roun
20ded-lg font-semibold text-sm transition-colors disabled:opacity-50 bg-gray-100 text-gray-900 hover:bg-gray-200 bg-sage-pale text-garden-shadow hover:bg-sage">Add credits</button></div><!--astro:end--></astro-island> </article> </div> </section> <section class="border-y border-stone bg-white py-14"> <div class="mx-auto grid max-w-6xl gap-6 px-4 sm:px-6 lg:grid-cols-3 lg:px-8"> <article class="rounded-card border border-stone bg-canvas p-5"> <h2 class="text-lg font-black text-garden-shadow">Compare concepts</h2> <p class="mt-3 text-sm leading-6 text-ink-muted">Use 3 to 5 previews to compare low-maintenance, modern, native, and patio-focused directions.</p> </article><article class="rounded-card border border-stone bg-canvas p-5"> <h2 class="text-lg font-black text-garden-shadow">Plan with a household</h2> <p class="mt-3 text-sm leading-6 text-ink-muted">Share visual options before spending a weekend, calling a contractor, or visiting a nursery.</p> </article><article class="rounded-card border border-stone bg-canvas p-5"> <h2 class="text-lg font-black text-garden-shadow">Stay flexible</h2> <p class="mt-3 text-sm leading-6 text-ink-muted">Credits are better than a forced subscription while this outdoor planner is still a focused vertical tool.</p> </article> </div> </section>  </main> <footer class="border-t border-stone bg-garden-shadow text-sage-pale"> <div class="mx-auto max-w-7xl px-4 py-10 sm:px-6 lg:px-8"> <div class="flex flex-col gap-6 md:flex-row md:items-center md:justify-between"> <div class="flex items-center gap-3"> <img src="/brand/mark.jpg" alt="AI Yard Planner logo mark" width="36" height="36" class="h-9 w-9 rounded-card object-cover"> <div> <div class="font-bold text-white">AI Yard Planner</div> <div class="text-sm text-sage">Outdoor AI design previews from yard photos.</div> </div> </div> <div class="flex flex-wrap gap-x-5 gap-y-2"> <a href="/tool/" class="text-sm text-sage-pale transition hover:text-white">Planner</a><a href="/examples/" class="text-sm text-sage-pale transition hover:text-white">Examples</a><a href="/ai-backyard-design/" class="text-sm text-sage-pale transition hover:text-white">Backyard design</a><a href="/ai-front-yard-design/" class="text-sm text-sage-pale transition hover:text-white">Front yard design</a><a href="/ai-garden-design/" class="text-sm text-sage-pale transition hover:text-white">Garden planner</a><a href="/ai-patio-design/" class="text-sm text-sage-pale transition hover:text-white">Patio design</a><a href="/pricing/" class="text-sm text-sage-pale transition hover:text-white">Pricing</a><a href="/support/" class="text-sm text-sage-pale transition hover:text-white">Support</a><a href="/account/" class="text-sm text-sage-pale transition hover:text-white">Account</a><a href="/account-deletion/" class="text-sm text-sage-pale transition hover:text-white">Delete account</a><a href="/privacy/" class="text-sm text-sage-pale transition hover:text-white">Privacy</a><a href="/terms/" class="text-sm text-sage-pale transition hover:text-white">Terms</a> 
20<script>(()=>{var l=(o,t)=>{let i=async()=>{await(await o())()},e=typeof t.value=="object"?t.value:void 0,s={timeout:e==null?void 0:e.timeout};"requestIdleCallback"in window?window.requestIdleCallback(i,s):setTimeout(i,s.timeout||200)};(self.Astro||(self.Astro={})).idle=l;window.dispatchEvent(new Event("astro:idle"));})();</script>
20<astro-island uid="ZTlYuJ" prefix="r5" component-url="/_astro/FeedbackLink.B1xKlWbV.js" component-export="default" renderer-url="/_astro/client.i2PwhOJ4.js" props="{&quot;locale&quot;:[0,&quot;en&quot;],&quot;className&quot;:[0,&quot;inline-flex items-center gap-1.5 text-sm text-sage-pale transition hover:text-white&quot;]}" ssr="" client="idle" opts="{&quot;name&quot;:&quot;FeedbackLink&quot;,&quot;value&quot;:true}" await-children=""><button type="button" class="inline-flex items-center gap-1.5 text-sm text-sage-pale transition hover:text-white" aria-haspopup="dialog"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M21 12c0 4.4-4 8-9 8a9.9 9.9 0 0 1-4.3-.9L3 20l1.4-3.7A7.5 7.5 0 0 1 3 12c0-4.4 4-8 9-8s9 3.6 9 8Z"></path></svg>Feedback</button><!--astro:end--></astro-island> </div> </div> <div class="mt-8 border-t border-white/10 pt-5 text-xs text-sage">
21AI Yard Planner creates visual concepts and planning notes. It does not replace permits, local code checks, or professional construction documents.
22</div> </div> </footer> <astro-island uid="2aSgD4" prefix="r6" component-url="/_astro/FeedbackWidget.B92-Mjzv.js" component-export="default" renderer-url="/_astro/client.i2PwhOJ4.js" props="{&quot;apiBaseUrl&quot;:[0,&quot;https://api.skybringup.com&quot;],&quot;siteId&quot;:[0,&quot;aiyardplanner&quot;],&quot;locale&quot;:[0,&quot;en&quot;],&quot;accentColor&quot;:[0,&quot;#B65A32&quot;],&quot;accentTextColor&quot;:[0,&quot;#ffffff&quot;]}" ssr="" client="idle" opts="{&quot;name&quot;:&quot;FeedbackWidget&quot;,&quot;value&quot;:true}" await-children=""><div class="sf-fb-root" style="--sf-fb-accent:#B65A32;--sf-fb-on-accent:#ffffff" data-sf-feedback=""><style>
23.sf-fb-root{--sf-fb-accent-d:var(--sf-fb-accent,#1f2937);--sf-fb-on-accent-d:var(--sf-fb-on-accent,#fff)}
24.sf-fb-launcher{position:fixed;right:calc(16px + env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px) + var(--sf-fb-offset,0px));z-index:40;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:0;border-radius:9999px;background:var(--sf-fb-accent-d);color:var(--sf-fb-on-accent-d);box-shadow:0 6px 18px rgba(15,23,42,.22);cursor:pointer;transition:transform .15s ease,filter .15s ease;-webkit-tap-highlight-color:transparent}
25.sf-fb-launcher:hover{filter:brightness(1.1)}
26.sf-fb-launcher:active{transform:scale(.94)}
27.sf-fb-launcher:focus-visible,.sf-fb-icon-btn:focus-visible,.sf-fb-send:focus-visible{outline:2px solid var(--sf-fb-accent-d);outline-offset:2px}
28.sf-fb-launcher svg{width:20px;height:20px}
29.sf-fb-backdrop{position:fixed;inset:0;z-index:49;background:rgba(15,23,42,.35);animation:sf-fb-fade .15s ease}
30.sf-fb-panel{position:fixed;z-index:50;left:0;right:0;bottom:var(--sf-fb-kb,0px);box-sizing:border-box;max-height:calc(var(--sf-fb-vh,100dvh) - 16px);overflow-y:auto;overscroll-behavior:contain;padding:8px 16px calc(16px + env(safe-area-inset-bottom,0px));border-radius:18px 18px 0 0;background:var(--sf-fb-surface,#fff);color:var(--sf-fb-text,#111827);box-shadow:0 -8px 30px rgba(15,23,42,.18);font:14px/1.45 ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;animation:sf-fb-up .2s ease}
31.sf-fb-handle{width:36px;height:4px;margin:0 auto 8px;border-radius:9999px;background:var(--sf-fb-line,#e5e7eb)}
32.sf-fb-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}
33.sf-fb-title{display:flex;align-items:center;gap:8px;margin:0;font-size:15px;font-weight:600}
34.sf-fb-title svg{width:18px;height:18px;color:var(--sf-fb-muted,#6b7280)}
35.sf-fb-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;margin-right:-8px;padding:0;border:0;border-radius:9999px;background:transparent;color:var(--sf-fb-muted,#6b7280);cursor:pointer}
36.sf-fb-icon-btn:hover{background:rgba(127,127,127,.12)}
37.sf-fb-icon-btn svg{width:18px;height:18px}
38.sf-fb-field{display:block;box-sizing:border-box;width:100%;margin:0;padding:10px 12px;border:1px solid var(--sf-fb-line,#e5e7eb);border-radius:10px;background:transparent;color:inherit;font:inherit;font-size:16px;outline:none}
39.sf-fb-field::placeholder{color:var(--sf-fb-muted,#9ca3af)}
40.sf-fb-field:focus{border-color:var(--sf-fb-accent-d);box-shadow:0 0 0 3px color-mix(in srgb,var(--sf-fb-accent-d) 18%,transparent)}
41.sf-fb-field[aria-invalid="true"]{border-color:#dc2626}
42textarea.sf-fb-field{height:112px;resize:none}
43.sf-fb-email{position:relative;display:block;margin-top:8px}
44.sf-fb-email svg{position:absolute;left:12px;top:50%;width:16px;height:16px;transform:translateY(-50%);color:var(--sf-fb-muted,#9ca3af);pointer-events:none}
45.sf-fb-email .sf-fb-field{padding-left:36px}
46.sf-fb-send{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:44px;margin-top:10px;padding:0 16px;border:0;border-radius:10px;background:var(--sf-fb-accent-d);color:var(--sf-fb-on-accent-d);font:inherit;font-weight:600;cursor:pointer;transition:filter .15s ease,opacity .15s ease}
47.sf-fb-send:hover:not(:disabled){filter:brightness(1.1)}
48.sf-fb-send:disabled{opacity:.45;cursor:default}
49.sf-fb-send svg{width:16px;height:16px}
50.sf-fb-done{display:flex;flex-direction:column;align-items:center;gap:10px;padding:18px 8px 10px;text-align:center}
51.sf-fb-done svg{width:36px;height:36px;color:#16a34a}
52.sf-fb-error{margin:8px 0 0;color:#dc2626;font-size:13px}
53@keyframes sf-fb-up{from{transform:translateY(24px);opacity:.4}to{transform:none;opacity:1}}
54@keyframes sf-fb-fade{from{opacity:0}to{opacity:1}}
55@media (min-width:640px){
56.sf-fb-launcher{bottom:calc(20px + var(--sf-fb-desktop-offset,0px));right:20px;width:48px;height:48px}
57.sf-fb-backdrop,.sf-fb-handle{display:none}
58.sf-fb-panel{left:auto;right:20px;bottom:calc(20px + var(--sf-fb-desktop-offset,0px));width:340px;max-height:calc(100vh - 40px);padding:14px 16px 16px;border:1px solid var(--sf-fb-line,#e5e7eb);border-radius:14px;box-shadow:0 18px 50px rgba(15,23,42,.2)}
59textarea.sf-fb-field{height:96px}
60.sf-fb-field{font-size:14px}
61}
62@media (prefers-reduced-motion:reduce){.sf-fb-panel,.sf-fb-backdrop{animation:none}.sf-fb-launcher{transition:none}}
63</style><button type="button" class="sf-fb-launcher" aria-label="Send feedback" aria-haspopup="dialog"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M21 12c0 4.4-4 8-9 8a9.9 9.9 0 0 1-4.3-.9L3 20l1.4-3.7A7.5 7.5 0 0 1 3 12c0-4.4 4-8 9-8s9 3.6 9 8Z"></path><path d="M8 12h.01M12 12h.01M16 12h.01"></path></svg></button></div><!--astro:end--></astro-island>   
63<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"a3e6b1fa2b7e4da1a790688c2b0e0948","r":1,"spa":2}' crossorigin="anonymous"></script>
63
64</body> </html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.