1const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/PlotConfigurator-C_uLWpYz.js","assets/index-Dg3KYYTh.js","assets/chunk-aKtaBQYM.js","assets/suspense-D8gUwhCn.js","assets/invariant-DEEwAagU.js","assets/redirect-Coy-z-9D.js","assets/jsx-runtime-ByNbsjhr.js","assets/quote-input--jDNTEf4.js","assets/ClientOnly-DU10TWa0.js","assets/useStore-BCkWGi3m.js","assets/link-Ah0YTJT_.js","assets/useRouter-BsjigPBS.js","assets/utils-C-PTjIT8.js","assets/react-dom-DYs9Ksx4.js","assets/matchContext-CSa9TSKL.js","assets/useMatch-ad_47tdN.js","assets/root-DLTE-HSj.js","assets/createLucideIcon-D00xIhYY.js","assets/tending2-Y2ePe76J.js","assets/analytics-CveI9zCN.js","assets/quote-config-BuvbL_WJ.js","assets/sales-config-7wCYTzwB.js","assets/index-hupoER5A.css","assets/useQuery-BZ0mY7UC.js","assets/circle-alert-DTm0g4_m.js","assets/circle-check-BveWJf3t.js","assets/minus-P7R8j8gU.js","assets/mobile-flow-DYXYlYTO.js","assets/PlotConfigurator-BN8KmdOW.css","assets/SharedQuoteLanding-CW8auzX3.js","assets/TaxNote-xiYEAwHb.js"])))=>i.map(i=>d[i]); 2import{i as e}from"./chunk-aKtaBQYM.js";import{n as t,t as n}from"./jsx-runtime-ByNbsjhr.js";import{t as r}from"./analytics-CveI9zCN.js";import{t as i}from"./quote-config-BuvbL_WJ.js";import{Et as a,lt as o}from"./index-Dg3KYYTh.js";/* empty css */var s=e(t(),1),c={version:1,asset_id:`bc0bf446-892f-4b20-be23-8bf0c292269b`,project_id:`dd528992-6045-4b51-8fa2-5e2025d5cf56`,url:`/lovable-assets/bc0bf446-892f-4b20-be23-8bf0c292269b/pricing-calc-icon.png`,r2_key:`a/v1/dd528992-6045-4b51-8fa2-5e2025d5cf56/bc0bf446-892f-4b20-be23-8bf0c292269b/pricing-calc-icon.png`,original_filename:`pricing-calc-icon.png`,size:7530,content_type:`image/png`,created_at:`2026-07-10T13:00:20Z`},l=n(),u=(0,s.lazy)(()=>o(()=>import(`./PlotConfigurator-C_uLWpYz.js`).then(e=>({default:e.PlotConfigurator})),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28]))),d=(0,s.lazy)(()=>o(()=>import(`./SharedQuoteLanding-CW8auzX3.js`).then(e=>({default:e.SharedQuoteSingleLanding})),__vite__mapDeps([29,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,24,25,30]))),f=(0,s.lazy)(()=>o(()=>import(`./SharedQuoteLanding-CW8auzX3.js`).then(e=>({default:e.SharedQuoteMultiLanding})),__vite__mapDeps([29,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,24,25,30]))),p=[{item_id:`restoration`,item_name:`One-Time Restoration`,item_category:`plan`,item_list_id:`pricing_calculator_page`,item_list_name:`Pricing â Calculator`},{item_id:`maintenance`,item_name:`Ongoing Maintenance`,item_category:`plan`,item_list_id:`pricing_calculator_page`,item_list_name:`Pricing â Calculator`},{item_id:`bundle`,item_name:`Restoration + Maintenance`,item_category:`plan`,item_list_id:`pricing_calculator_page`,item_list_name:`Pricing â Calculator`}];function m(e){let t={initialConfig:null,initialState:null,savedId:null,sharedFlag:!1,fromShared:!1,bundleParam:null,bundleConfigs:[],showChooser:!1};try{let t=new URLSearchParams(e.startsWith(`?`)?e.slice(1):e),n=t.get(`c`),r=t.get(`share`)||t.get(`bundle`),a=r?r.split(`|`).map(e=>e.trim()).filter(Boolean):[];return{initialConfig:n,initialState:n?i(n):null,savedId:t.get(`saved`),sharedFlag:t.get(`shared`)===`1`||t.get(`from`)===`shared`,fromShared:t.get(`from`)===`shared`,bundleParam:r,bundleConfigs:a,showChooser:!n&&a.length>1}}catch{return t}}function h({embedded:e=!1}){let t=e?`/pricing-mobile/`:`/pricing/`,n=(0,s.useRef)(null),i=(0,s.useRef)(!1),o=a({select:e=>e.location.searchStr}),h=(0,s.useMemo)(()=>m(o),[o]),g=!!h.initialConfig&&h.sharedFlag&&!h.fromShared&&h.bundleConfigs.length===0,_=h.showChooser,v=g||_;return(0,s.useEffect)(()=>{if(v||typeof window>`u`||typeof IntersectionObserver>`u`||i.current)return;let e=n.current;if(!e)return;let t=new IntersectionObserver(e=>{for(let n of e)if(n.isIntersecting&&!i.current){i.current=!0,r(`view_item_list`,{item_list_id:`pricing_calculator_page`,item_list_name:`Pricing â Calculator`,items:p});for(let e of p)r(`view_item`,{items:[e]});t.disconnect();break}},{threshold:.2});return t.observe(e),()=>t.disconnect()},[v]),(0,s.useEffect)(()=>
2{if(typeof window>`u`)return;let e=document.querySelector(`header.head`);if(!e)return;let t=()=>{let t=e.getBoundingClientRect().height;document.documentElement.style.setProperty(`--pricing-strip-top`,`${Math.round(t)}px`)};t();let n=new ResizeObserver(t);return n.observe(e),window.addEventListener(`resize`,t),()=>{n.disconnect(),window.removeEventListener(`resize`,t),document.documentElement.style.removeProperty(`--pricing-strip-top`)}},[]),(0,l.jsxs)(`div`,{className:e?`pricing-page pricing-page--embedded`:`pricing-page`,children:[!v&&h.fromShared?(0,l.jsx)(`div`,{className:`pricing-share-strip`,children:(0,l.jsx)(`div`,{className:`pricing-share-strip__inner`,children:(0,l.jsx)(`button`,{type:`button`,className:`pc-share-back`,onClick:()=>{if(typeof window>`u`)return;let e=new URLSearchParams(window.location.search).get(`c`);window.location.assign(e?`${t}?c=${encodeURIComponent(e)}&shared=1`:t)},children:`â Back to the shared quote`})})}):null,!v&&h.bundleParam&&h.bundleConfigs.length>1&&!_&&!h.fromShared?(0,l.jsx)(`div`,{className:`pricing-share-strip`,children:(0,l.jsxs)(`div`,{className:`pricing-share-strip__inner`,children:[(0,l.jsx)(`button`,{type:`button`,className:`pc-share-back`,onClick:()=>{typeof window>`u`||window.location.assign(`${t}?share=${encodeURIComponent(h.bundleParam)}`)},children:`â Back to shared options`}),(0,l.jsxs)(`span`,{className:`pricing-share-strip__meta`,children:[`Viewing 1 of `,h.bundleConfigs.length,` shared quotes`]})]})}):null,!v&&!e?(0,l.jsx)(`header`,{className:`pricing-hero`,children:(0,l.jsxs)(`div`,{className:`pricing-hero__inner`,children:[(0,l.jsx)(`div`,{className:`pricing-hero__badge`,"aria-hidden":`true`,children:(0,l.jsx)(`img`,{src:c.url,alt:``})}),(0,l.jsx)(`p`,{className:`pricing-hero__kicker`,children:`Build your plan`}),(0,l.jsx)(`h1`,{className:`pricing-hero__title`,children:`Grave Care & Headstone Cleaning Cost Calculator`}),(0,l.jsxs)(`p`,{className:`pricing-hero__sub`,children:[`No sales calls, no hidden fees.`,(0,l.jsx)(`br`,{}),`Choose what you need â the price updates instantly`]})]})}):null,(0,l.jsx)(`main`,{className:`pricing-main`,children:(0,l.jsxs)(`div`,{className:`pricing-wrap`,ref:n,children:[(0,l.jsx)(s.Suspense,{fallback:(0,l.jsx)(`div`,{"aria-hidden":!0,style:{minHeight:480}}),children:g?(0,l.jsx)(d,{config:h.initialConfig}):_?(0,l.jsx)(f,{configs:h.bundleConfigs,bundleParam:h.bundleParam}):(0,l.jsx)(u,{sharedFlag:h.sharedFlag,bundleParam:h.bundleConfigs.length>1?h.bundleParam??void 0:void 0,fromShared:h.fromShared,embedded:e})}),!g&&!_&&!e?(0,l.jsxs)(`section`,{className:`pricing-seo`,"aria-labelledby":`pricing-seo-title`,children:[(0,l.jsx)(`h2`,{id:`pricing-seo-title`,children:`How Our Grave Care Pricing Works`}),(0,l.jsx)(`p`,{children:`The cost of professional headstone cleaning and memorial restoration depends on the stone type, its condition, and the level of care required. Whether you need a deep cleaning for an older bronze marker or a seasonal maintenance plan for a family plot, our live calculator provides an exact, transparent quote instantly. All nationwide services are performed by vetted specialists using stone-safe methods.`})]}):null]})}),e?null:(0,l.jsx)(`section`,{className:`pricing-trust`,children:(0,l.jsxs)(`div`,{className:`pricing-wrap pricing-trust__grid`,children:[(0,l.jsxs)(`div`,{children:[(0,l.jsx)(`h3`,{children:`Photo proof, every visit`}),(0,l.jsx)(`p`,{children:`Before & after photos delivered to your inbox after every service.`})]}),(0,l.jsxs)(`div`,{children:[(0,l.jsx)(`h3`,{children:`$2M liability coverage`}),(0,l.jsx)(`p`,{children:`Every visit is fully insured. Damage-free guarantee.`})]}),(0,l.jsxs)(`div`,{children:[(0,l.jsx)(`h3`,{children:`Cancel anytime`}),(0,l.jsx)(`p`,{children:`Ongoing plans can be paused or cancelled with one click.`})]})]})}),(0,l.jsx)(`style`,{children:` 3 .pricing-page { 4 background: #ffffff; 5 min-height: 100vh; 6 } 7 .pricing-share-strip { 8 width: 100%; 9 background: #ECE9FE; 10 border-bottom: 1px solid rgba(109, 74, 255, 0.12); 11 position: sticky; 12 top: var(--pricing-strip-top, 0px); 13 z-index: 55; 14 } 15 16 17 .pricing-share-strip__inner { 18 display: flex; 19 align-items: center; 20 justify-content: space-between; 21 gap: 16px; 22 padding: 14px 24px; 23 flex-wrap: wrap; 24 } 25 .pricing-share-strip__meta { 26 color: #4b5563; 27 font-size: 0.9375rem; 28 font-family: 'Mulish', system-ui, sans-serif; 29 } 30 @media (max-width: 640px) { 31 .pricing-share-strip__inner { 32 padding: 12px 16px; 33 gap: 6px; 34 } 35 .pricing-share-strip__meta { 36 font-size: 0.8125rem; 37 } 38 } 39 .pricing-hero { 40 41 padding: 40px 20px 32px; 42 background: #ffffff; 43 display: flex; 44 justify-content: center; 45 } 46 .pricing-hero__inner { 47 max-width: 860px; 48 width: 100%; 49 margin: 0 auto; 50 display: flex; 51 flex-direction: column; 52 align-items: center; 53 text-align: center; 54 } 55 .pricing-hero__back { 56 width: 100%; 57 display: flex; 58 justify-content: center; 59 margin: 0 0 20px; 60 } 61 .pricing-hero__badge { 62 63 width: 104px; 64 height: 104px; 65 display: grid; 66 place-items: center; 67 margin: 0 auto 4px; 68 } 69 .pricing-hero__badge img { 70 width: 100%; 71 height: 100%; 72 object-fit: contain; 73 display: block; 74 } 75 .pricing-hero__kicker { 76 font-size: 0.85rem; 77 text-transform: uppercase; 78 letter-spacing: 0.2em; 79 color: #6D4AFF; 80 font-weight: 700; 81 margin: 0 auto 12px; 82 text-align: center; 83 width: 100%; 84 } 85 .pricing-hero__title { 86 font-size: clamp(2.6rem, 6vw, 4.5rem); 87 font-weight: 700; 88 letter-spacing: -0.02em; 89 line-height: 1.08; 90 color: #0b1a12; 91 margin: 0 auto 20px; 92 text-align: center; 93 width: 100%; 94 } 95 .pricing-hero__sub { 96 font-size: clamp(1.15rem, 1.6vw, 1.4rem); 97 line-height: 1.5; 98 color: #4b5563; 99 margin: 0 auto; 100 text-align: center; 101 max-width: 720px; 102 } 103 .pricing-main { 104 padding: 32px 20px 80px; 105 } 106 .pricing-wrap { 107 max-width: 1080px; 108 margin: 0 auto; 109 } 110 .pricing-seo { 111 max-width: 820px; 112 margin: 48px auto 0; 113 padding: 28px 24px; 114 background: #FBFAFE; 115 border: 1px solid #E4E2E8; 116 border-radius: 16px; 117 } 118 .pricing-seo h2 { 119 font-family: var(--serif, Georgia, serif); 120 font-size: clamp(1.4rem, 2.2vw, 1.75rem); 121 margin: 0 0 12px; 122 color: #161D17; 123 } 124 .pricing-seo p { 125 font-size: 1.05rem; 126 line-height: 1.6; 127 color: #3D3D42; 128 margin: 0; 129 } 130 .pricing-trust { 131 background: #f7f6f2; 132 padding: 60px 20px; 133 } 134 .pricing-trust__grid { 135 display: grid; 136 grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); 137 gap: 32px; 138 } 139 .pricing-trust h3 { 140 font-size: 1.05rem; 141 font-weight: 700; 142 margin: 0 0 6px; 143 color: #0b1a12; 144 } 145 .pricing-trust p { 146 font-size: 0.92rem; 147 color: #4b5563; 148 margin: 0; 149 } 150 /* Webview build: no marketing chrome, tighter gutters. 151 Scale + spacing live in mobile-compact.css. */ 152 .pricing-page--embedded { 153 min-height: 100dvh; 154 } 155 `})]})}
155export{h as t};
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.