+ Math.round(n).toLocaleString();}\n function calculateResults(){\n var raw = state.base * state.qty * state.fabricMult * state.conditionMult;\n var low = Math.max(55, raw * 0.86);\n var high = raw * 1.16 + 22;\n var midpoint = (low + high) \u002F 2;\n var lowest = midpoint * 0.86;\n var savings = Math.max(18, midpoint - lowest);\n\n var dryLow = 3;\n var dryHigh = 5;\n if(state.fabric === 'Cotton or Linen' || state.fabric === 'Velvet') { dryLow += 1; dryHigh += 2; }\n if(state.condition === 'Heavy Soil' || state.condition === 'Pet Odor' || state.condition === 'Pet Urine') { dryLow += 1; dryHigh += 2; }\n if(state.item === 'Sectional' || state.item === 'Mattress') { dryHigh += 1; }\n\n var confidence = 96;\n if(state.fabric === 'Not Sure') confidence -= 4;\n if(state.condition === 'Pet Urine') confidence -= 5;\n if(!state.zip) confidence -= 2;\n\n var time = state.baseTime * state.qty;\n if(state.conditionMult \u003E 1.2) time *= 1.18;\n if(state.fabricMult \u003E 1.1) time *= 1.12;\n\n document.getElementById('resultPrice').textContent = money(low) + '–' + money(high);\n document.getElementById('resultConfidence').textContent = confidence + '%';\n document.getElementById('resultDry').textContent = dryLow + '–' + dryHigh + ' Hours';\n document.getElementById('resultDifficulty').textContent = state.difficulty;\n document.getElementById('resultTime').textContent = time.toFixed(1) + ' Hours';\n document.getElementById('savingEstimate').textContent = money(midpoint);\n document.getElementById('savingLow').textContent = money(lowest);\n document.getElementById('savingAmount').textContent = money(savings);\n }\n\n openBtns.forEach(function(btn){\n btn.addEventListener('click', openWizard);\n btn.addEventListener('keydown', function(e){\n if(e.key === 'Enter' || e.key === ' '){\n e.preventDefault();\n openWizard();\n }\n });\n });\n closeWizardBtn.addEventListener('click', closeWizard);\n nextBtn.addEventListener('click', nextStep);\n backBtn.addEventListener('click', prevStep);\n document.getElementById('restartCalc').addEventListener('click', resetCalc);\n\n wizard.addEventListener('click', function(e){\n if(e.target === wizard) closeWizard();\n });\n\n document.addEventListener('keydown', function(e){\n if(e.key === 'Escape'){\n closeWizard();\n closeInfo();\n }\n });\n\n \u002F* Info popups *\u002F\n var infoModal = document.getElementById('infoModal');\n var infoTitle = document.getElementById('infoTitle');\n var infoBody = document.getElementById('infoBody');\n var infoClose = infoModal.querySelector('.info-close');\n\n var info = {\n quote:{title:'Quote Fairness Checker',body:'\u003Cp\u003EThis tool will help homeowners compare a contractor quote against typical furniture cleaning ranges. For now, use the Cost Calculator first, then compare trusted pros.\u003C\u002Fp\u003E'},\n confidence:{title:'Contractor Confidence Score™',body:'\u003Cp\u003EThis tool will score a company based on reviews, response time, experience, explanation quality, and quote transparency.\u003C\u002Fp\u003E'},\n stain:{title:'Pet Stain Predictor™',body:'\u003Cp\u003EThis tool will estimate the chance of visible stain and odor improvement based on stain type, age, fabric, and depth.\u003C\u002Fp\u003E'},\n replace:{title:'Clean or Replace?',body:'\u003Cp\u003EThis tool will compare cleaning cost against furniture replacement cost so homeowners can avoid replacing furniture too soon.\u003C\u002Fp\u003E'},\n dry:{title:'Dry Time Calculator™',body:'\u003Cp\u003EThis tool will estimate drying time based on fabric, humidity, cleaning method, airflow, and furniture thickness.\u003C\u002Fp\u003E'},\n analyze:{title:'Analyze My Furniture',body:'\u003Cp\u003EComing later: homeowners will be able to upload furniture photos for smarter cleaning guidance.\u003C\u002Fp\u003E'},\n analyzer:{title:'Quote Analyzer™',body:'\u003Cp\u003EComing later: homeowners will be able to paste or upload a quote and check for missing details, add-ons, and possible overcharges.\u003C\u002Fp\u003E'},\n petUrine:{title:'Can pet urine really be removed?',body:'\u003Cp\u003ESometimes, but it depends on how deep the urine traveled. Surface stains are usually easier. Odor inside cushion foam or padding may need deeper treatment and may not fully disappear with a basic cleaning.\u003C\u002Fp\u003E\u003Cul\u003E\u003Cli\u003EFresh stains usually have a better success rate.\u003C\u002Fli\u003E\u003Cli\u003EOlder urine can bond deeper into fabric and cushion layers.\u003C\u002Fli\u003E\u003Cli\u003EAsk if odor treatment is included or priced separately.\u003C\u002Fli\u003E\u003C\u002Ful\u003E'},\n replaceQ:{title:'Should I clean or replace my sofa?',body:'\u003Cp\u003EIf the furniture is structurally solid and the cleaning cost is much lower than replacement, cleaning usually makes sense. Replacement may be better when cushions are damaged, fabric is heavily worn, or odor is deep inside the foam.\u003C\u002Fp\u003E'},\n costQ:{title:'How much should upholstery cleaning cost?',body:'\u003Cp\u003EPricing depends on furniture size, fabric, stains, odor treatment, and travel. Sofas, sectionals, and mattresses usually cost more than chairs or ottomans.\u003C\u002Fp\u003E'},\n dryQ:{title:'How long does furniture take to dry?',body:'\u003Cp\u003EMost upholstery dries the same day, but thick cushions, humid rooms, and deep cleaning can take longer. Airflow, fans, and lower humidity help speed up dry time.\u003C\u002Fp\u003E'},\n steam:{title:'Steam vs Low Moisture?',body:'\u003Cp\u003ESteam or hot water extraction can be effective for deeper cleaning, while low moisture methods may be better for delicate fabrics or faster drying. The best method depends on fabric type, soil level, and the manufacturer care code.\u003C\u002Fp\u003E'},\n oldStains:{title:'Do old stains come out?',body:'\u003Cp\u003ESome old stains improve a lot, but not every stain disappears completely. Heat, time, previous DIY cleaners, and fabric type can make stains permanent. A good pro should explain realistic expectations before cleaning.\u003C\u002Fp\u003E'}\n };\n\n function openInfo(key){\n var item = info[key];\n if(!item) return;\n infoTitle.textContent = item.title;\n infoBody.innerHTML = item.body;\n infoModal.classList.add('active');\n infoModal.setAttribute('aria-hidden','false');\n document.body.classList.add('modal-open');\n }\n function closeInfo(){\n infoModal.classList.remove('active');\n infoModal.setAttribute('aria-hidden','true');\n if(!wizard.classList.contains('active')) document.body.classList.remove('modal-open');\n }\n\n document.querySelectorAll('.js-open-info').forEach(function(btn){\n btn.addEventListener('click', function(){\n openInfo(btn.getAttribute('data-info'));\n });\n btn.addEventListener('keydown', function(e){\n if(e.key === 'Enter' || e.key === ' '){\n e.preventDefault();\n openInfo(btn.getAttribute('data-info'));\n }\n });\n });\n infoClose.addEventListener('click', closeInfo);\n infoModal.addEventListener('click', function(e){\n if(e.target === infoModal) closeInfo();\n });\n })();\n \u003C\u002Fscript\u003E\n\u003C\u002Fbody\u003E\n\u003C\u002Fhtml\u003E\n","elementPosition":null},"type":"wb-custom-html"},{"id":"section-shared-header","properties":{"isHiddenOnMobile":true,"backgroundColor":{"origin":"palette","name":"ColorOne"},"paddingTop":0,"paddingLeft":0,"paddingRight":0,"paddingBottom":0,"backgroundImage":null,"backgroundVideo":null,"isBorderEnabled":false,"borderRadiusTopLeft":0,"borderRadiusTopRight":0,"borderRadiusBottomLeft":0,"borderRadiusBottomRight":0,"isRadiusLocked":true,"borderWidthTop":1,"borderWidthLeft":1,"borderWidthRight":1,"borderWidthBottom":1,"borderStyleTop":"solid","borderStyleLeft":"solid","borderStyleRight":"solid","borderStyleBottom":"solid","borderColorTop":{"origin":"palette","name":"ColorThree"},"borderColorLeft":{"origin":"palette","name":"ColorThree"},"borderColorRight":{"origin":"palette","name":"ColorThree"},"borderColorBottom":{"origin":"palette","name":"ColorThree"},"isShadowEnabled":true,"shadowColor":{"origin":"custom","value":"#00000047"},"shadowOffsetX":0,"shadowOffsetY":0,"shadowSpreadRadius":0,"shadowBlurRadius":5,"shadowOpacity":100,"bottomSpace":0,"isFullWidth":true,"templateModule":null,"elementPosition":{"type":"relative","isContainer":true,"horizontalRelative":null,"verticalRelative":null,"top":null,"left":null,"right":null,"bottom":null,"width":null,"zIndex":null},"backgroundOpacity":100,"isBackgroundMediaEnabled":false,"isRadiusEnabled":false,"scrollingBehavior":0,"backgroundPosition":null,"backgroundRepeat":null,"backgroundSize":null,"isHidden":false,"isPaddingEnabled":true,"isPaddingLocked":false,"isInlinedOnMobile":false,"isReversedOnMobile":false,"isHiddenOnDesktop":false},"type":"section"},{"id":"section-shared-footer","properties":{"isHiddenOnMobile":true,"backgroundColor":{"origin":"palette","name":"ColorOne"},"paddingTop":0,"paddingLeft":0,"paddingRight":0,"paddingBottom":0,"backgroundImage":null,"backgroundVideo":null,"isBorderEnabled":false,"borderRadiusTopLeft":0,"borderRadiusTopRight":0,"borderRadiusBottomLeft":0,"borderRadiusBottomRight":0,"isRadiusLocked":true,"borderWidthTop":1,"borderWidthLeft":1,"borderWidthRight":1,"borderWidthBottom":1,"borderStyleTop":"solid","borderStyleLeft":"solid","borderStyleRight":"solid","borderStyleBottom":"solid","borderColorTop":{"origin":"palette","name":"ColorThree"},"borderColorLeft":{"origin":"palette","name":"ColorThree"},"borderColorRight":{"origin":"palette","name":"ColorThree"},"borderColorBottom":{"origin":"palette","name":"ColorThree"},"isShadowEnabled":false,"shadowColor":{"origin":"custom","value":"#000000"},"shadowOffsetX":0,"shadowOffsetY":0,"shadowSpreadRadius":10,"shadowBlurRadius":10,"shadowOpacity":100,"bottomSpace":0,"isFullWidth":true,"templateModule":null,"elementPosition":{"type":"relative","isContainer":true,"horizontalRelative":null,"verticalRelative":null,"top":null,"left":null,"right":null,"bottom":null,"width":null,"zIndex":null},"backgroundOpacity":100,"isBackgroundMediaEnabled":false,"isRadiusEnabled":false,"scrollingBehavior":null,"backgroundPosition":null,"backgroundRepeat":null,"backgroundSize":null,"isHidden":false,"isPaddingEnabled":true,"isPaddingLocked":false,"isInlinedOnMobile":false,"isReversedOnMobile":false,"isHiddenOnDesktop":false},"type":"section"}],"relations":[{"children":["section-shared-header","section-c4520b80ee91","section-shared-footer"],"elementId":"body"},{"children":["wb-column-group-0bf16bef0332"],"elementId":"section-c4520b80ee91"},{"children":["column-f70dbb669394"],"elementId":"wb-column-group-0bf16bef0332"},{"children":["wb-custom-html-bb18bf137da0"],"elementId":"column-f70dbb669394"},{"children":[],"elementId":"section-shared-header"},{"children":[],"elementId":"section-shared-footer"}],"customFonts":[]},"isHomepage":false,"socialImage":null,"title":"","isSearchEnginesOn":true,"description":"","scheduledOn":null,"isHidden":false,"name":"CleanQuote IQ","parentId":null,"status":"active","type":1,"url":"\u002Fcleanquote-iq","uuid":"c04c5132-accf-437c-b7f7-b35c37264a61","headContent":null}],"externalPages":[],"pagePositions":["5562f8cc-716c-4654-aa28-94458ebd6561","9576b902-97b7-440a-a07d-142115d54f2e","5b5964bb-6184-4acd-b7b1-804a5c46f5f5","e43188fe-cce9-4de9-9b65-9e0b6b4f941c","12bdddc9-5036-45a9-8c03-77be3443ec34","a2657c73-a2f1-451a-8547-810e9390f2bf","8a23673b-bed1-4694-a345-279e074e5bcc","5877f661-d73d-45ad-a5ce-357c4c001082","a307329f-8375-47b0-b152-96ed1d402e0a","8b883ec2-e134-4d48-8218-0cde1b638ff3","00d58808-c173-4dd9-a381-e4d0d73f5181","e6dc87a6-6480-4a70-aa94-0e559011f41b","80a132ed-4918-4eb7-af24-328983c2c4e9","c04c5132-accf-437c-b7f7-b35c37264a61"],"theming":{"palette":{"selectedPaletteUUID":"e85fadf1-0516-476b-af2b-f874e65dbcc2","availablePalettes":[{"uuid":"e85fadf1-0516-476b-af2b-f874e65dbcc2","colors":[{"name":"ColorOne","value":"#FFFFFF","origin":"palette"},{"name":"ColorTwo","value":"#202730","origin":"palette"},{"name":"ColorThree","value":"#004291FF","origin":"palette"},{"name":"ColorFour","value":"#F6F6F6","origin":"palette"},{"name":"ColorFive","value":"#9C7C00FF","origin":"palette"}],"defaultColors":[{"name":"ColorOne","value":"#FFFFFF","origin":"palette"},{"name":"ColorTwo","value":"#202730","origin":"palette"},{"name":"ColorThree","value":"#004291FF","origin":"palette"},{"name":"ColorFour","value":"#F6F6F6","origin":"palette"},{"name":"ColorFive","value":"#9C7C00FF","origin":"palette"}]},{"uuid":"f1d217e2-8307-41dc-8780-74e16b3ffea5","colors":[{"name":"ColorOne","value":"#202730","origin":"palette"},{"name":"ColorTwo","value":"#FFFFFF","origin":"palette"},{"name":"ColorThree","value":"#00BAFF","origin":"palette"},{"name":"ColorFour","value":"#A0C3D5FF","origin":"palette"},{"name":"ColorFive","value":"#0E1014","origin":"palette"}],"defaultColors":[{"name":"ColorOne","value":"#202730","origin":"palette"},{"name":"ColorTwo","value":"#FFFFFF","origin":"palette"},{"name":"ColorThree","value":"#00BAFF","origin":"palette"},{"name":"ColorFour","value":"#A0C3D5FF","origin":"palette"},{"name":"ColorFive","value":"#0E1014","origin":"palette"}]},{"uuid":"b37722aa-57e3-4395-8860-cddc68472a16","colors":[{"name":"ColorOne","value":"#F8FBFC","origin":"palette"},{"name":"ColorTwo","value":"#1678F8","origin":"palette"},{"name":"ColorThree","value":"#00A2FF","origin":"palette"},{"name":"ColorFour","value":"#00BAFF","origin":"palette"},{"name":"ColorFive","value":"#1F5EF5","origin":"palette"}],"defaultColors":[{"name":"ColorOne","value":"#F8FBFC","origin":"palette"},{"name":"ColorTwo","value":"#1678F8","origin":"palette"},{"name":"ColorThree","value":"#00A2FF","origin":"palette"},{"name":"ColorFour","value":"#00BAFF","origin":"palette"},{"name":"ColorFive","value":"#1F5EF5","origin":"palette"}]}]},"typography":{"custom":null,"predefined":{"header":{"fontFamily":"Roboto, Arial, sans-serif","fontSize":44,"isBold":true,"isItalic":false,"isUnderline":false},"subheader":{"fontFamily":"Roboto, Arial, sans-serif","fontSize":26,"isBold":true,"isItalic":false,"isUnderline":false},"paragraph":{"fontFamily":"Roboto, Arial, sans-serif","fontSize":16,"isBold":false,"isItalic":false,"isUnderline":false},"meta":{"fontFamily":"Roboto, Arial, sans-serif","fontSize":14,"isBold":false,"isItalic":false,"isUnderline":false},"link":{"fontFamily":"inherit","fontSize":null,"isBold":false,"isItalic":false,"isUnderline":true},"hover-link":{"fontFamily":"inherit","fontSize":null,"isBold":false,"isItalic":false,"isUnderline":true},"top-header":{"fontFamily":"Roboto, Arial, sans-serif","fontSize":52,"isBold":true,"isItalic":false,"isUnderline":false},"header4":{"fontSize":14,"fontFamily":"Arial, sans-serif","isBold":false,"isUnderline":false,"isItalic":false},"header5":{"fontSize":11,"fontFamily":"Arial, sans-serif","isBold":false,"isUnderline":false,"isItalic":false}}},"body":{"defaultContentWidth":1180,"contentWidth":null,"isResponsiveWidth":false},"button":{"defaultProperties":{"paddingTop":18,"paddingLeft":44,"paddingRight":44,"paddingBottom":18,"backgroundColor":{"origin":"palette","name":"ColorThree"},"textColor":{"origin":"palette","name":"ColorOne"},"borderRadiusTopLeft":5,"borderRadiusTopRight":5,"borderRadiusBottomLeft":5,"borderRadiusBottomRight":5,"fontFamily":"Roboto, Arial, sans-serif","fontSize":16,"isBold":true,"isItalic":false,"isUnderline":false,"borderWidthTop":2,"borderWidthLeft":2,"borderWidthRight":2,"borderWidthBottom":2,"borderStyleTop":"solid","borderStyleLeft":"solid","borderStyleRight":"solid","borderStyleBottom":"solid","borderColorTop":{"origin":"palette","name":"ColorThree"},"borderColorLeft":{"origin":"palette","name":"ColorThree"},"borderColorRight":{"origin":"palette","name":"ColorThree"},"borderColorBottom":{"origin":"palette","name":"ColorThree"},"isBorderEnabled":true,"shadowColor":{"origin":"custom","value":"#000000"},"shadowOffsetX":0,"shadowOffsetY":4,"shadowSpreadRadius":-10,"shadowBlurRadius":20,"shadowOpacity":95,"isShadowEnabled":false,"isRadiusLocked":true,"backgroundColorHover":{"origin":"palette","name":"ColorOne"},"textColorHover":{"origin":"palette","name":"ColorThree"},"isRadiusEnabled":true},"customProperties":null},"mobile":{"headerFontSize":30,"subheaderFontSize":24,"paragraphFontSize":16,"verticalSpacingRatio":100,"horizontalSpacingRatio":100,"topHeaderFontSize":36,"header4FontSize":14,"header5FontSize":11},"popup":null,"customCode":{"hasClassesAndIds":false}},"webfonts":[{"displayName":"Roboto","fontStack":["Roboto","Arial","sans-serif"]}],"settings":{"favicon":{"url":null},"cookieBanner":{"title":"This website uses cookies","message":"We use cookies to make sure that our website works correctly and that you have the best experience possible. By accepting, you agree to our use of such cookies.","button":"OK","isEnabled":false,"decline":"Decline all"},"analytics":{"isChatsEnabled":false,"chatId":"f00cb5906421c6b3fcb51bd543720a3d6e89008391e582733ae6285d67","isAnalyticsEnabled":false,"analyticsPlatforms":[],"isStatsCookieEnabled":true},"businessInformation":{"company":"","country":"","state":"","postalCode":"","city":"","street":"","phoneNumber":"","email":""},"experiments":{},"webPush":[],"language":{"code":"en"},"ecommerce":{"storeId":null,"provider":null,"paymentProcessor":null,"subscriptionListId":"78s8Y"},"subscription":null},"kind":1}},"asyncData":{"isLoading":false,"data":{}},"member":{"isLoggedIn":false},"runtime":{"endpoints":{"statistics":"\u002F_collector","apiBase":{"url":""}},"flags":{"isStatisticsEnabled":true,"isExternalLinksEnabled":true,"navigationMode":"browser","isCookieBannerEnabled":true,"isGrChatsBeta":false,"isGrChatsEnabled":true,"isForcingDisabledPages":false,"isDataElementIdEnabled":false,"isCustomCodeDisabled":false,"isElementAsyncDataMocked":false,"isMembersPlatformEnabled":false},"initialPagePath":"\u002Fcleanquote-iq","origin":"https:\u002F\u002Fcleanquotepros.com","websitePath":"\u002F","websiteId":"b57767a6-3532-4b25-ba6d-cc502c8faf2c","account":{"isFreemium":false,"isTrial":false,"hasBadge":true,"grBadgeUrl":"https:\u002F\u002Fgr8.com\u002F\u002Fpr\u002FmvGHX\u002Fw","id":"32f2dab1-ba4e-426d-9829-9656f7986599"},"userFonts":[]}};window.__W_TRANSLATION__=; + Math.round(n).toLocaleString();} function calculateResults(){ var raw = state.base * state.qty * state.fabricMult * state.conditionMult; var low = Math.max(55, raw * 0.86); var high = raw * 1.16 + 22; var midpoint = (low + high) / 2; var lowest = midpoint * 0.86; var savings = Math.max(18, midpoint - lowest); var dryLow = 3; var dryHigh = 5; if(state.fabric === 'Cotton or Linen' || state.fabric === 'Velvet') { dryLow += 1; dryHigh += 2; } if(state.condition === 'Heavy Soil' || state.condition === 'Pet Odor' || state.condition === 'Pet Urine') { dryLow += 1; dryHigh += 2; } if(state.item === 'Sectional' || state.item === 'Mattress') { dryHigh += 1; } var confidence = 96; if(state.fabric === 'Not Sure') confidence -= 4; if(state.condition === 'Pet Urine') confidence -= 5; if(!state.zip) confidence -= 2; var time = state.baseTime * state.qty; if(state.conditionMult > 1.2) time *= 1.18; if(state.fabricMult > 1.1) time *= 1.12; document.getElementById('resultPrice').textContent = money(low) + '–' + money(high); document.getElementById('resultConfidence').textContent = confidence + '%'; document.getElementById('resultDry').textContent = dryLow + '–' + dryHigh + ' Hours'; document.getElementById('resultDifficulty').textContent = state.difficulty; document.getElementById('resultTime').textContent = time.toFixed(1) + ' Hours'; document.getElementById('savingEstimate').textContent = money(midpoint); document.getElementById('savingLow').textContent = money(lowest); document.getElementById('savingAmount').textContent = money(savings); } openBtns.forEach(function(btn){ btn.addEventListener('click', openWizard); btn.addEventListener('keydown', function(e){ if(e.key === 'Enter' || e.key === ' '){ e.preventDefault(); openWizard(); } }); }); closeWizardBtn.addEventListener('click', closeWizard); nextBtn.addEventListener('click', nextStep); backBtn.addEventListener('click', prevStep); document.getElementById('restartCalc').addEventListener('click', resetCalc); wizard.addEventListener('click', function(e){ if(e.target === wizard) closeWizard(); }); document.addEventListener('keydown', function(e){ if(e.key === 'Escape'){ closeWizard(); closeInfo(); } }); /* Info popups */ var infoModal = document.getElementById('infoModal'); var infoTitle = document.getElementById('infoTitle'); var infoBody = document.getElementById('infoBody'); var infoClose = infoModal.querySelector('.info-close'); var info = { quote:{title:'Quote Fairness Checker',body:'

This tool will help homeowners compare a contractor quote against typical furniture cleaning ranges. For now, use the Cost Calculator first, then compare trusted pros.

'}, confidence:{title:'Contractor Confidence Score™',body:'

This tool will score a company based on reviews, response time, experience, explanation quality, and quote transparency.

'}, stain:{title:'Pet Stain Predictor™',body:'

This tool will estimate the chance of visible stain and odor improvement based on stain type, age, fabric, and depth.

'}, replace:{title:'Clean or Replace?',body:'

This tool will compare cleaning cost against furniture replacement cost so homeowners can avoid replacing furniture too soon.

'}, dry:{title:'Dry Time Calculator™',body:'

This tool will estimate drying time based on fabric, humidity, cleaning method, airflow, and furniture thickness.

'}, analyze:{title:'Analyze My Furniture',body:'

Coming later: homeowners will be able to upload furniture photos for smarter cleaning guidance.

'}, analyzer:{title:'Quote Analyzer™',body:'

Coming later: homeowners will be able to paste or upload a quote and check for missing details, add-ons, and possible overcharges.

'}, petUrine:{title:'Can pet urine really be removed?',body:'

Sometimes, but it depends on how deep the urine traveled. Surface stains are usually easier. Odor inside cushion foam or padding may need deeper treatment and may not fully disappear with a basic cleaning.

'}, replaceQ:{title:'Should I clean or replace my sofa?',body:'

If the furniture is structurally solid and the cleaning cost is much lower than replacement, cleaning usually makes sense. Replacement may be better when cushions are damaged, fabric is heavily worn, or odor is deep inside the foam.

'}, costQ:{title:'How much should upholstery cleaning cost?',body:'

Pricing depends on furniture size, fabric, stains, odor treatment, and travel. Sofas, sectionals, and mattresses usually cost more than chairs or ottomans.

'}, dryQ:{title:'How long does furniture take to dry?',body:'

Most upholstery dries the same day, but thick cushions, humid rooms, and deep cleaning can take longer. Airflow, fans, and lower humidity help speed up dry time.

'}, steam:{title:'Steam vs Low Moisture?',body:'

Steam or hot water extraction can be effective for deeper cleaning, while low moisture methods may be better for delicate fabrics or faster drying. The best method depends on fabric type, soil level, and the manufacturer care code.

'}, oldStains:{title:'Do old stains come out?',body:'

Some old stains improve a lot, but not every stain disappears completely. Heat, time, previous DIY cleaners, and fabric type can make stains permanent. A good pro should explain realistic expectations before cleaning.

'} }; function openInfo(key){ var item = info[key]; if(!item) return; infoTitle.textContent = item.title; infoBody.innerHTML = item.body; infoModal.classList.add('active'); infoModal.setAttribute('aria-hidden','false'); document.body.classList.add('modal-open'); } function closeInfo(){ infoModal.classList.remove('active'); infoModal.setAttribute('aria-hidden','true'); if(!wizard.classList.contains('active')) document.body.classList.remove('modal-open'); } document.querySelectorAll('.js-open-info').forEach(function(btn){ btn.addEventListener('click', function(){ openInfo(btn.getAttribute('data-info')); }); btn.addEventListener('keydown', function(e){ if(e.key === 'Enter' || e.key === ' '){ e.preventDefault(); openInfo(btn.getAttribute('data-info')); } }); }); infoClose.addEventListener('click', closeInfo); infoModal.addEventListener('click', function(e){ if(e.target === infoModal) closeInfo(); }); })();
GetResponse