1import{r as n,g as d,j as e}from"./index-CFpKRsqK.js";import{S as m,F as u}from"./FooterSection-f0xbZi-H.js";import{M as p}from"./MobileStickyBar-BfutC5Dn.js";import{P as x}from"./PageSeo-CQ_hj2we.js";import{B as g}from"./Breadcrumbs-DKmXxIY-.js";import{F as f,a as y}from"./FactsBlock-BU8VE2kA.js";import{C as b}from"./CtaBand-BkjAUbdr.js";import{r}from"./static-rates-DyI2cQjE.js";import{u as v}from"./use-calculator-url-DmdX7Ctw.js";import"./shield-check-Bj9tAiBN.js";import"./index-XuL5PFv7.js";import"./arrow-right-C7GveNrA.js";const a={seo:{title:"House Cleaning Prices in Highlands Ranch & South Denver | CompanyClean",description:"How much does house cleaning cost in the south Denver metro? CompanyClean publishes flat rates by home size and package. See your exact rate in 60 seconds, no in-home estimate.",canonical:"https://companyclean.co/pricing/"},hero:{h1:"What house cleaning costs in the south Denver metro.",intro:`How much does house cleaning cost in Highlands Ranch and the south Denver metro? At CompanyClean, recurring cleaning for a typical 2,000 square foot home runs ${r.biWeekly2000} per visit on our most popular plan, and your exact rate depends on three things: your home's square footage, the package you choose, and how often we clean. Our rates are flat and published. Use the calculator below to see live rates for your home in about 60 seconds, no phone call and no in-home estimate required.`},calculator:{heading:"See your rate now.",subline:"Comfort and Luxury plans include a dedicated technician who learns your home.",iframeUrl:"",iframeTitle:"CompanyClean Rate Calculator"},exampleRates:{heading:"Example house cleaning prices by home size.",intro:"Real numbers, the same math the calculator uses. Your home's exact rate: 60 seconds
1in the calculator above.",rows:[{plan:"Recurring Essentials, bi-weekly, Comfort",homeSize:"1,500 sqft",rate:r.recurring1500},{plan:"Recurring Essentials, bi-weekly, Comfort",homeSize:"2,000 sqft",rate:r.biWeekly2000},{plan:"Recurring Essentials, bi-weekly, Comfort",homeSize:"3,000 sqft",rate:r.biWeekly3000},{plan:"Recurring Essentials, bi-weekly, Comfort",homeSize:"4,000 sqft",rate:r.recurring4000},{plan:"Deep clean, one-time, Comfort",homeSize:"2,000 sqft",rate:r.deep2000},{plan:"Deep clean, one-time, Comfort",homeSize:"3,000 sqft",rate:r.deep3000},{plan:"Move In/Out, one-time, Comfort",homeSize:"2,000 sqft",rate:r.move2000},{plan:"Move In/Out, one-time, Comfort",homeSize:"3,000 sqft",rate:r.move3000}],footnote:"Rates are examples for typical homes; your exact rate depends on home size, package, and frequency."},howItWorks:{heading:"How our pricing works.",paragraphs:["Three inputs set your rate: the service (recurring Essentials cleaning, Deep cleaning, or Move In/Out cleaning), the package you choose, and your home's square footage. Recurring plans al
1so factor in frequency, and more frequent visits carry a lower per-visit rate, because a home we clean weekly never falls far from the standard.","We quote flat rates, not hourly billing. You'll never watch a clock, and the rate we quote is the rate you pay. The calculator shows your rate as a range; your exact rate inside that range is confirmed on a quick booking call, and it never falls below or above what the calculator showed you.","Every quote, whether it comes from this page, a phone call, or your invoice, comes from the same math. The website and your dedicated Comfort Advisor cannot disagree with each other, because they're reading from the same numbers."]},whyWePublish:{heading:"Why we publish our prices when most cleaning companies won't.",paragraphs:["Most cleaning companies make you call, schedule a walkthrough, and wait for a quote that was built by feel. We think that's backwards. Your time is the whole reason you're hiring a cleaning company, so we publish our rates, put the calculator on the page, and let you see your number before we ever talk.","Publishing our prices also keeps us honest. When your rate is computed instead of built by a salesperson's judgment, there's nothing to haggle, nothing hidden, and no worry that your neighbor got a different deal. The rate is the rate, for everyone."]},annualPlans:{heading:"Annual plans for recurring cleaning.",paragraphs:[`Recurring Essentials cleaning is available as an annual plan. Pay monthly at a reduced annual rate, and save ${r.annualSavings} per year on a typical 2,000 square foot bi-weekly plan, with the exact figure for your home shown in the calculator. Same technician standard, same follow-up, same guarantee.`]},faq:{heading:"Frequently asked questions.",questions:[{q:"How much does house cleaning cost in Highlands Ranch?",a:`For a typical 2,000 square foot home, recurring bi-weekly cleaning on our Comfort package runs ${r.biWeekly2000} per visit. Your exact rate depends on square footage, package, and frequency. The calculator on this page shows live rates for your home in about 60 seconds.`},{q:"Do you charge hourly or a flat rate?",a:"Flat rate, always. Your rate is set by your home's size, your package, and your frequency, not by how long the visit takes. Nobody watches a clock in your home, and your rate doesn't drift from visit to visit."},{q:"Why do you show a range instead of one exact price?",a:"The calculator shows the honest range for your home's size and plan. Your exact rate inside that range is confirmed on a quick booking call, and it will never be below or above the range you saw. We'd rather show you a truthful range online than a fake precise number that changes after a walkthrough."},{q:"Are there any hidden fees?",a:"No. Fresh supplies at every visit, follow-up after every clean, your dedicated Comfort Advisor, and the CompanyClean Guarantee are all included in your rate. Optional add-ons, like inside the oven or fridge, are available through your Comfort Advisor and are always quoted to you before they're added, never after."},{q:"Does cleaning more often cost less?",a:"Per visit, yes. Weekly cleaning carries a lower per-visit rate than bi-weekly, and bi-weekly lower than every four weeks, because a home on a tighter cadence never falls far from the standard. The calculator shows the difference for your home side by side."},{q:"Is a deep clean or move-out clean priced differently than recurring cleaning?",a:"Yes. Deep cleans and Move In/Out cleans are more thorough one-time services and carry higher rates than recurring Essentials cleaning for the same home. The calculator gives your exact numbers."}]},facts:{content:"CompanyClean publishes its house cleaning rates for the south Denver metro, including Highlands Ranch, Sterling Ranch, Castle Pines, Castle Rock, Parker, Centennial, Littleton, and Lone Tree. Rates are flat, set by home size, package, and frequency, and every quote comes from the same math, so the website and the phone always agree. Every rate includes fresh supplies, follow-up after each visit, a dedicated Comfort Advisor, and the CompanyClean Guarantee: report a miss and we're back within 48 hours, or the cleaning is free. Serving the south Denver metro since 2022, with 275+ five-star reviews across Google, Angi, and other platforms. Call or text (720) 536-0940."}},w={"@context":"https://schema.org","@type":"FAQPage",mainEntity:a.faq.questions.map(s=>
1({"@type":"Question",name:s.q,acceptedAnswer:{"@type":"Answer",text:s.a}}))};function E(){const s=n.useRef(null),[i,c]=n.useState(!1),l=v(a.calculator.iframeUrl),{phoneTel:h}=d();return n.useEffect(()=>{const t=new IntersectionObserver(o=>{o[0].isIntersecting&&(c(!0),t.disconnect())},{rootMargin:"300px"});return s.current&&t.observe(s.current),()=>t.disconnect()},[]),e.jsxs("div",{className:"flex flex-col min-h-screen bg-[var(--bg)] text-[var(--ink)] font-sans pb-[64px] md:pb-0",children:[e.jsx(x,{title:a.seo.title,description:a.seo.description,canonical:a.seo.canonical}),e.jsx("script",{type:"application/ld+json",dangerouslySetInnerHTML:{__html:JSON.stringify(w)}}),e.jsx(m,{}),e.jsxs("main",{children:[e.jsx("section",{className:"pt-12 pb-20 md:pt-20 md:pb-32 bg-white",children:e.jsxs("div",{className:"max-w-[1200px] mx-auto px-6 md:px-5",children:[e.jsx(g,{items:[{name:"Home",item:"/"},{name:"Rates",item:"/pricing/"}]}),e.jsxs("div",{className:"max-w-3xl",children:[e.jsx("h1",{className:"text-4xl md:text-5xl lg:text-6xl font-bold leading-[1.1] text-[var(--ink)] mb-6",children:a.hero.h1}),e.jsx("p",{className:"text-xl md:text-2xl text-[var(--ink-soft)] leading-relaxed",children:a.hero.intro})]})]})}),e.jsx("section",{id:"choose",className:"bg-[var(--bg-soft)] py-20 md:py-28 scroll-mt-[64px] border-t border-border",children:e.jsxs("div",{className:"max-w-[1200px] mx-auto px-6 md:px-5",children:[e.jsxs("div",{className:"mb-12 text-center max-w-3xl mx-auto",children:[e.jsx("h2",{className:"text-3xl md:text-4xl font-bold leading-tight text-[var(--ink)] mb-4",children:a.calculator.heading}),e.jsx("p",{className:"text-lg text-[var(--ink-soft)] font-medium",children:a.calculator.subline})]}),e.jsxs("div",{ref:s,id:"calculator-container",className:"w-full h-[clamp(560px,calc(100dvh-180px),680px)] md:h-[720px] bg-white rounded-xl shadow-sm flex items-center justify-center relative overflow-hidden border border-border",children:[!i&&e.jsxs("div",{className:"text-[var(--muted)] flex items-center gap-3",children:[e.jsx("span",{className:"w-5 h-5 rounded-full border-2 border-[var(--muted)] border-t-transparent animate-spin"}),"Loading rate calculator..."]}),i&&l&&e.jsx("iframe",{src:l,"data-cc-calculator":!0,style:{width:"100%",height:"100%",border:"none"},title:a.calculator.iframeTitle,className:"absolute inset-0 w-full h-full"})]})]})}),e.jsx("section",{className:"py-20 md:py-28 bg-white border-t border-border",children:e.jsxs("div",{className:"max-w-[800px] mx-auto px-6 md:px-5 space-y-20",children:[e.jsxs("div",{children:[e.jsx("h2",{className:"text-3xl md:text-4xl font-bold leading-tight text-[var(--ink)] mb-4",children:a.exampleRates.heading}),e.jsx("p",{className:"text-lg md:text-xl text-[var(--ink-soft)] leading-relaxed mb-6",children:a.exampleRates.intro}),e.jsx("div",{className:"overflow-x-auto rounded-xl border border-border",children:e.jsxs("table",{className:"w-full text-left",children:[e.jsx("thead",{className:"bg-[var(--bg-soft)]",children:e.jsxs("tr",{children:[e.jsx("th",{className:"p-4",children:"Service"}),e.jsx("th",{className:"p-4",children:"Home size"}),e.jsx("th",{className:"p-4",children:"Rate"})]})}),e.jsx("tbody",{children:a.exampleRates.rows.map(t=>e.jsxs("tr",{className:"border-t border-border",children:[e.jsx("td",{className:"p-4",children:t.plan}),e.jsx("td",{className:"p-4",children:t.homeSize}),e.jsx("td",{className:"p-4 font-semibold",children:t.rate})]},`${t.plan}-${t.homeSize}`))})]})}),e.jsx("p",{className:"text-sm text-[var(--ink-soft)] mt-3",children:a.exampleRates.footnote})]}),e.jsxs("div",{children:[e.jsx("h2",{className:"text-3xl md:text-4xl font-bold leading-tight text-[var(--ink)] mb-6",children:a.howItWorks.heading}),e.jsx("div",{className:"space-y-6 text-lg md:text-xl text-[var(--ink-soft)] leading-relaxed",children:a.howItWorks.paragraphs.map((t,o)=>e.jsx("p",{children:t},o))})]}),e.jsxs("div",{children:[e.jsx("h2",{className:"text-3xl md:text-4xl font-bold leading-tight text-[var(--ink)] mb-6",children:a.whyWePublish.heading}),e.jsx("div",{className:"space-y-6 text-lg md:text-xl text-[var(--ink-soft)] leading-relaxed",children:a.whyWePublish.paragraphs.map((t,o)=>e.jsx("p",{children:t},o))})]}),e.jsxs("div",{children:[e.jsx("h2",{className:"text-3xl md:text-4xl font-bold leading-tight text-[var(--ink)] mb-6",children:a.annualPlans.heading}),e.jsx("div",{className:"space-y-6 text-lg md:text-xl text-[var(--ink-soft)] leading-relaxed",children:a.annualPlans.paragraphs.map((t,o)=>e.jsx("p",{children:t},o))})]})]})}),e.jsx(f,{heading:a.faq.heading,faqs:a.faq.questions,showCta:!1}),e.jsx(b,{heading:"Your rate is 60 seconds away.",subheading:"No walkthrough. No waiting. No w
1ondering.",primaryButtonText:"See my rate",primaryButtonHref:"#choose",secondaryButtonText:"Call or text (720) 536-0940",secondaryButtonHref:`tel:${h}`}),e.jsx(y,{content:a.facts.content})]}),e.jsx(u,{}),e.jsx(p,{})]})}export{E as default};
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.