PageSourceSearch

https://philadelphiaattorneylawyer.com/_next/static/chunks/2gibm92…?dpl=dpl_5ouH5U4mgXGXBtDkvV3Bed5Yu7ar

js philadelphiaattorneylawyer.com collected 2026-10-05 03:05:17 UTC 75,366 bytes, 131 lines download raw bytes

1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,748742,e=>{"use strict";var t=e.i(435368),a=e.i(611599);function r(e,t){let a=e.toFixed(t.decimals);if(!t.grouped)return a;let r=a.indexOf("."),i=-1===r?a:a.slice(0,r),n=-1===r?"":a.slice(r);return i.replace(/\B(?=(\d{3})+(?!\d))/g,",")+n}e.s(["BakeryCountUp",0,function({value:e,className:i}){let n=(0,a.useMemo)(()=>(function(e){let t=/^([^0-9]*)([0-9][0-9,]*(?:\.[0-9]+)?)([^0-9]*)$/.exec(e);if(!t)return null;let[,a,r,i]=t,n=r.replace(/,/g,""),l=Number(n);if(!Number.isFinite(l)||l<=0)return null;let s=n.indexOf("."),o=-1===s?0:n.length-s-1,c=-1!==r.indexOf(",");return!c&&0===o&&4===n.length&&l>=1800&&l<=2100||0===o&&l<2||0===o&&l<3&&/^\s*[A-Za-z]/.test(i)?null:{prefix:a,suffix:i,target:l,decimals:o,grouped:c}})(e),[e]),l=(0,a.useRef)(null),[s,o]=(0,a.useState)(null);return(0,a.useEffect)(()=>{if(!n)return;let e=l.current;if(!e||"function"==typeof window.matchMedia&&window.matchMedia("(prefers-reduced-motion: reduce)").matches||"u"<typeof IntersectionObserver)return;let t=0,a=!1,i=0,s=(e,l)=>{if(!a)return;let c=Math.min((e-l)/1200,1);if(c>=1)return void(a=!1,window.clearTimeout(i),t&&cancelAnimationFrame(t),t=0,o(null));let d=1-Math.pow(1-c,3);o(r(n.target*d,n)),t=requestAnimationFrame(e=>s(e,l))};o(r(0,n));let c=new IntersectionObserver(e=>{e.some(e=>e.isIntersecting)&&(c.disconnect(),a=!0,t=requestAnimationFrame(e=>s(e,e)))},{threshold:0,rootMargin:"0px 0px 20% 0px"});return c.observe(e),i=window.setTimeout(()=>{a||o(null)},3e3),()=>{window.clearTimeout(i),t&&cancelAnimationFrame(t),c.disconnect()}},[n]),(0,t.jsx)("span",{ref:l,className:i,children:null!==s&&n?n.prefix+s+n.suffix:e})}])},207840,e=>{"use strict";var t=e.i(611599),a=e.i(641729);e.s(["FlScrollReveal",0,function(){let e=(0,a.usePathname)();return(0,t.useEffect)(()=>{document.documentElement.classList.add("fl-reveal-ready");let e=e=>{let t=e.getBoundingClientRect();return t.top<window.innerHeight&&t.bottom>0},t=document.querySelectorAll(".fl-reveal"),a=new IntersectionObserver(e=>e.forEach(e=>{e.isIntersecting&&(e.target.classList.add("is-visible"),a.unobserve(e.target))}),{threshold:0,rootMargin:"0px"});t.forEach(e=>a.observe(e));let r=document.querySelectorAll(".fl-stagger"),i=new IntersectionObserver(e=>e.forEach(e=>{e.isIntersecting&&(e.target.querySelectorAll(".fl-reveal").forEach((e,t)=>{e.style.transitionDelay=`${120*t}ms`,e.classList.add("is-visible")}),i.unobserve(e.target))}),{threshold:0,rootMargin:"0px"});r.forEach(e=>i.observe(e));let n=()=>{r.forEach(t=>{e(t)&&(t.querySelectorAll(".fl-reveal").forEach((e,t)=>{e.style.transitionDelay="",e.classList.add("is-visible")}),i.unobserve(t))}),document.querySelectorAll(".fl-reveal:not(.is-visible)").forEach(t=>{e(t)&&(t.classList.add("is-visible"),a.unobserve(t))})};n();let l=setTimeout(()=>{document.querySelectorAll(".fl-reveal:not(.is-visible)").forEach(e=>e.classList.add("is-visible"))},900),s=document.querySelector(".fl-nav"),o=!1,c=()=>{o=!1,s&&s.classList.toggle("fl-nav--scrolled",window.scrollY>24)},d=()=>{o||(o=!0,requestAnimationFrame(c))};c(),window.addEventListener("scroll",d,{passive:!0});let u=e=>{e.persisted&&n()};return window.addEventListener("pageshow",u),()=>{clearTimeout(l),a.disconnect(),i.disconnect(),window.removeEventListener("scroll",d),window.removeEventListener("pageshow",u)}},[e]),null}])},41660,e=>{"use strict";var t=e.i(435368),a=e.i(611599),r=e.i(641729),i=e.i(635589),n=e.i(142021);let l="fl-lead-popup-dismissed",s="fl:open-case-review-modal",o='a[href], button:not([disabled]), textarea:not([disabled]), input:not([disabled]), select:not([disabled]), [tabindex]:not([tabindex="-1"])';e.s(["FlCaseReviewModal",0,function(){let e=(0,r.usePathname)(),[c,d]=a.useState(!1),[u,p]=a.useState("button"),m=a.useRef(null),h=a.useRef(null);function f(){d(!1),window.sessionStorage.setItem(l,"1");let e=h.current;h.current=null,e?.focus()}return(a.useEffect(()=>{if(e===`${i.SCOPE}/contact`||window.sessionStorage.getItem(l))return;let t=Date.now(),a=!1,r=0,n=!1;function s(){n||(n=!0,p("exit-intent"),d(!0),document.removeEventListener("mouseleave",c),window.removeEventListener("scroll",u))}function o(){return Date.now()-t>=8e3}
1function c(e){e.clientY<=0&&o()&&s()}function u(){let e=window.scrollY;e>r&&(r=e),!a&&r>=400&&(a=!0),a&&o()&&e<r-120&&e<400&&s()}return document.addEventListener("mouseleave",c),window.addEventListener("scroll",u,{passive:!0}),()=>{document.removeEventListener("mouseleave",c),window.removeEventListener("scroll",u)}},[e]),a.useEffect(()=>{function e(e){h.current=e,p("button"),d(!0)}function t(t){let a=t.target,r=a?a.closest("[data-fl-case-review-trigger]"):null;r&&(t.preventDefault(),e(r))}function a(){e(document.activeElement)}return document.addEventListener("click",t),window.addEventListener(s,a),()=>{document.removeEventListener("click",t),window.removeEventListener(s,a)}},[]),a.useEffect(()=>{if(!c)return;let e=m.current,t=e?.querySelector(".fl-contact-form__input, .fl-contact-form__textarea")??e?.querySelector(o);function a(t){if("Escape"===t.key){t.preventDefault(),f();return}if("Tab"!==t.key||!e)return;let a=Array.from(e.querySelectorAll(o)).filter(e=>null!==e.offsetParent);if(0===a.length)return;let r=a[0],i=a[a.length-1];t.shiftKey&&document.activeElement===r?(t.preventDefault(),i.focus()):t.shiftKey||document.activeElement!==i||(t.preventDefault(),r.focus())}return t?.focus(),document.addEventListener("keydown",a),()=>document.removeEventListener("keydown",a)},[c]),c)?(0,t.jsx)("div",{className:"fl-popup__overlay",role:"dialog","aria-modal":"true","aria-labelledby":"fl-popup-heading",onClick:f,children:(0,t.jsxs)("div",{className:"fl-popup__card",ref:m,onClick:e=>e.stopPropagation(),children:[(0,t.jsx)("button",{type:"button",className:"fl-popup__close","aria-label":"Close",onClick:f,children:(0,t.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",children:[(0,t.jsx)("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),(0,t.jsx)("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})}),(0,t.jsx)("p",{className:"fl-eyebrow",children:"exit-intent"===u?"Before You Go":"It's Easy to Get Started"}),(0,t.jsx)("h2",{className:"fl-popup__heading",id:"fl-popup-heading",children:"Get a free case review."}),(0,t.jsxs)("p",{className:"fl-popup__sub",children:["exit-intent"===u?"Two minutes now could be the difference in your case. No cost for the review, no pressure, and no obligation to hire us.":"No cost for the review, no pressure, and no obligation to hire us."," ","Or call"," ",(0,t.jsx)("a",{href:`tel:${i.PHONE_TEL}`,children:i.PHONE_DISPLAY})," directly."]}),(0,t.jsx)(n.FlContactForm,{formLocation:"Exit-intent popup"})]})}):null}])},392802,e=>{"use strict";let t="/photos/philadelphiaattorneylawyer-com",a={bar:{items:["Free & Confidential Consultation","No Fee Unless We Win","Serving All 21 NJ Counties"]},top:{cta:"Free Case Review"},hero:{heading:"Employment Lawyers for",headingHighlight:"New Jersey Workers",lede:"Your employer broke the law. Now it's time to make them pay.",body:"Freundlich & Littman has recovered tens of millions of dollars for New Jersey employees who were wrongfully terminated, discriminated against, or harassed at work. We handle your case from start to finish, and you pay nothing unless we win.",urgency:"Employment claims have strict deadlines. Don't wait.",image:{src:`${t}/lp-hero-w1600-e78ffade.jpg`,alt:""},counterLabel:"You could get up to",counterAmount:"1427513",formHeading:"What type of workplace issue?",reassurance:"If you were mistreated at work, let us help you stand up for your rights and get the compensation you deserve.",trustCaption:"Tens of millions recovered for our clients",trustLogos:[{name:"Google"},{name:"Avvo"},{name:"Facebook"}]},stats:{items:[{value:"Tens of Millions",label:"Recovered for employees"},{value:"10+ Years",label:"Named Super Lawyers"},{value:"$0 Upfront",label:"No fee unless we win"},{value:"All 21 Counties",label:"State & federal court"}]},blockA:{heading:"You Deserve to Be Treated Fairly at Work",body:"You may be entitled to significant compensation if you have faced discrimination, harassment, or were fired unfairly. Let us fight for your rights.",cta:"Get my free claim estimate",image:{src:`${t}/lp-block-a-w1600-f30eca2d.jpg`,alt:"A worker at a desk holding her head while looking at a laptop"}},blockB:{heading:"No Upfront Fees. No Risk.",body:"Our employment law team only gets paid if you win your case. We handle the legal pressure so you can focus on moving forward.",cta:"Get my free claim estimate",image:{src:`${t}/lp-block-b-w1600-a9d2d433.jpg`,alt:"An attorney shaking hands with a client across a table"}},blockC:{heading:"We've Handled Every Workplace Issue You Can Imagine",body:"From hostile work environments to illegal firings, we have successfully helped employees across all industries, from retail to corporate, win back their power.",cta:"Get my free claim estimate",image:{src:`${t}/lp-block-c-w1600-e4ccdd79.jpg`,alt:"An attorney reviewing documents with a client"}},cases:{eyebrow:"How we help",heading:"Workplace Cases We Fight",intro:"If your employer crossed the line, you have rights and options. Here's where we step in.",items:[{icon:"briefcase",title:"Wrongful Termination",claim:"Retaliation / Wrongful Termination",body:"Fired unfairly? You may have a claim. We represent NJ employees illegally terminated for reporting misconduct, requesting medical leave, whistleblowing, or due to discrimination. Strict deadlines apply."},{icon:"people",title:"Workplace Discrimination",claim:"Racial Discrimination",body:"Treated unfairly because of your race, age, gender, religion, or disability? New Jersey has strong anti-discrimination laws and we know how to use them. Passed over, paid less, harassed, or fired: discrimination is illegal."},{icon:"face",title:"Sexual Harassment",claim:"Gender / Sex Discrimination",body:"Hostile work environment? Unwanted advances? Quid pro quo demands? Our sexual harassment lawyers handle these sensitive cases with discretion and fight aggressively to hold harassers accountable."},{icon:"heart",title:"FMLA & Disability",claim:"Disability Discrimination",body:"Denied medical leave? Fired after requesting accommodations? Retaliated against for taking time off? You're protected under federal and NJ law. Your health comes first. Don't let your employer punish you for it."},{icon:"list",title:"Whistleblower & Retaliation",claim:"Retaliation / Wrongful Termination",body:"Punished for reporting illegal activity? New Jersey's CEPA law protects employees who speak up. If you faced demotion, pay cuts, schedule changes, or termination after speaking up, you may have a claim worth significant damages."}],notSure:{title:"Not sure if you have a case?",body:"Most employees don't realize their rights were violated. A free, confidential review costs nothing and tells you exactly where you stand.",cta:"Talk to an attorney"}},process:{heading:"It's Easy to Get Started.",asideTitle:"The Fee Is Free.",asideBody:"You only pay if we win your case.",items:[{title:"Tell Us What Happened",body:"Share your story in a free, confidential consultation. There's no obligation and nothing to pay upfront."},{title:"We Build Your Case",body:"We gather evidence, handle the paperwork, and deal with your employer and their lawyers, start to finish."},{title:"We Fight For You",body:"We pursue the maximum compensation you're owed in NJ state and federal court. You pay nothing unless we win."}]},different:{heading:"What Makes Freundlich & Littman Different",intro:"We're not a big corporate firm. We're employee advocates who take your case personally.",items:[{icon:"dollar",title:"Tens of Millions Recovered",sub:"For employees like you"},{icon:"star",title:"Super Lawyers 10+ Years",sub:"Recognized excellence"},{icon:"person",title:"Personal Attention",sub:"Work with your attorney directly"},{icon:"pen",title:"Aggressive Litigation",sub:"We fight like hell for clients"},{icon:"check",title:"No Fee Unless We Win",sub:"$0 risk to you"}]},faq:{eyebrow:"Answers",heading:"Frequently Asked Questions",intro:"Everything you need to know before you reach out. Still have questions? Your consultation is free.",cta:"Get a free case review",items:[{q:"What qualifies as wrongful termination in New Jersey?",a:'While New Jersey is an "at-will" employment state, you cannot be fired for illegal reasons. You may have a wrongful termination claim if you were fired because of:\n• Your race, age, gender, religion, disability, or sexual orientation\n• Reporting harassment, discrimination, or illegal activity\n• Requesting FMLA leave or medical accommodations\n• Filing a workers\' compensation claim\n• Refusing to break the law\nIf you believe your termination was unlawful, contact us for a free case review.'},{q:"How long do I have to file an employment claim in NJ?",a:"Most claims under the New Jersey Law Against Discrimination and CEPA must be filed within two years of the adverse action. Some federal claims have shorter deadlines. The safest step is a free review as soon as possible so nothing expires while you decide."},{q:"How much does it cost to hire an employment lawyer?",a:"Nothing to start. Your case review is free and confidential, and we handle New Jersey employment cases on contingency, so you pay nothing unless we win."},{q:"Do you handle cases throughout New Jersey?",a:"Yes. We represent employees in all 21 New Jersey counties, in state and federal court."},{q:"What should I do if I'm being harassed or discriminated against at work?",a:"Keep records: dates, what was said or done, who was present, and any emails or messages. Report it in writing to HR if you can do so safely. Do not sign anything from your employer before speaking with an attorney. Then call us for a confidential review."},{q:"What compensation can I receive in an employment case?",a:"Depending on the claim, recovery can include lost wages and benefits, front pay, emotional distress damages, punitive damages, and attorney's fees. We tell you what your claim is realistically worth during your free review."},{q:"How long does an employment case take?",a:"Many cases resolve through a confidential settlement within months. Cases that go to trial take longer. We keep you informed at every step and never settle without your say."}]},cta:{heading:"Your employer broke the law.",headingHighlight:"We'll make them pay.",body:"Employment claims have strict deadlines, and every day you wait c
1an weaken your case. Get a free, confidential review today. You pay nothing unless we win.",button:"Get My Free Case Review"},foot:{blurb:"Representing New Jersey employees in wrongful termination, discrimination, harassment, FMLA, and whistleblower claims. No fee unless we win.",address:"1425 Walnut St, Suite 200\nPhiladelphia, PA 19102",contactLink:"Request a Free Consultation",practiceAreas:["Wrongful Termination","Workplace Discrimination","Sexual Harassment","FMLA & Disability","Whistleblower & Retaliation"],disclaimer:"Attorney Advertising. The information on this site is for general informational purposes only and is not legal advice. Contacting Freundlich & Littman, LLC or submitting a form does not create an attorney-client relationship. Prior results do not guarantee a similar outcome; every case is different and results depend on the specific facts and legal circumstances. Freundlich & Littman, LLC is a Philadelphia-based firm licensed to practice in New Jersey.",privacyUrl:"https://philadelphiaattorneylawyer.com/privacy-policy",disclaimerUrl:"https://philadelphiaattorneylawyer.com/disclaimer"}};e.s(["FL_LP_EMPLOYMENT_DEFAULTS",0,a,"LP_PHONE_DISPLAY",0,"(215) 318-6414","LP_PHONE_TEL",0,"+12153186414","LP_SUCCESS_COPY",0,{heading:"Your Confidential Case Review Is in Motion",intro:"Thank you for reaching out. Your details have been sent directly to our New Jersey employment litigation team.",nextLabel:"What happens next:",bullets:[{lead:"Case Review:",body:"Our legal team is reviewing the details of your claim against your employer or union."},{lead:"Intake Call:",body:"We will call you shortly at the number you provided for a private 10 to 15 minute case evaluation."},{lead:"$0 Cost and Zero Obligation:",body:"Your consultation is 100% confidential. You pay nothing out of pocket, and there is no financial risk to speak with us."}],closing:{lead:"Important Step:",body:"Do not sign any severance agreements, write-ups, or release forms from your employer or union before speaking with our team. If you have pay stubs, emails, text messages, or union grievance records, keep them ready for your call."}}])},461356,e=>{"use strict";var t=e.i(435368);e.s(["FlPrintButton",0,function({className:e,children:a}){return(0,t.jsxs)("button",{type:"button",className:e,onClick:()=>window.print(),children:[(0,t.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,t.jsx)("polyline",{points:"6 9 6 2 18 2 18 9"}),(0,t.jsx)("path",{d:"M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2"}),(0,t.jsx)("rect",{x:"6",y:"14",width:"12",height:"8"})]}),a??"Print / Save as PDF"]})}])},68309,e=>{"use strict";var t=e.i(435368),a=e.i(611599),r=e.i(958658),i=e.i(89067),n=e.i(457673),l=e.i(986480),s=e.i(532433),o=e.i(635589);let c="nj-case-review",d="None / My boss is just rude or unfair",u=(e,t)=>(e[t]??"").trim();var p=e.i(392802);let m=["Racial Discrimination","Gender / Sex Discrimination","Age Discrimination","Disability Discrimination","Pregnancy Discrimination","LGBTQ+ Discrimination","Retaliation / Wrongful Termination"],h=["Fired or laid off under false pretenses","Forced to resign due to hostile working conditions","Demoted, had hours cut, or suffered a pay reduction","Denied medical leave (FMLA/NJFLA) or disability accommodations","Blocked or retaliated against by union leadership","Ongoing severe harassment or retaliation",d],f=e=>({value:e,label:e}),g=0,b=(e,t,a,r={})=>({key:e,type:t,label:a,sort_order:g++,...r}),y=[b("claim_type","radio","What type of workplace issue?",{required:!0,options:m.map(f)}),b("__break_1","page_break","",{nextLabel:"NEXT"}),b("adverse_action","radio","What direct action did your employer or union take against you?",{required:!0,options:h.map(f)}),b("within_two_years","radio","Did this happen within the last 2 years?",{required:!0,options:[f("Yes"),f("No")]}),b("__break_2","page_break","",{nextLabel:"NEXT",backLabel:"BACK",showBack:!0}),b("first_name","text","First name",{required:!0,width:"half",placeholder:"Jane"}),b("last_name","text","Last name",{required:!0,width:"half",placeholder:"Smith"}),b("phone","phone","Phone number",{required:!0,width:"half",placeholder:"(201) 555-0100"}),b("email","email","Email address",{required:!0,width:"half",placeholder:"[email protected]"}),b("zip","text","ZIP code",{width:"half",placeholder:"07030",validation:{maxLength:10}}),b("preferred_contact","radio","Preferred contact method",{required:!0,width:"half",options:[f("Phone"),f("Email"),f("Text")]}),b("job_title","text","Job title (optional)",{placeholder:"e.g. Registered Nurse"}),b("message","textarea","Anything else you want us to know? (optional)",{placeholder:"Briefly describe what happened"}),b("consent","checkbox","I agree to be contacted by Freundlich & Littman, LLC about my inquiry. Submitting this form does not create an attorney-client relationship. See our [Privacy Policy].",{required:!0,options:[f("yes")]}),b("qualification","text","Qualification",{visible:!1})],w="fl-lp:preselect-claim",v="claim_type",x="lp-step-heading";function _(e){return"string"==typeof e?e:e.value}function k({text:e,privacyUrl:a}){let[r,i]=e.split("[Privacy Policy]");return void 0===i?(0,t.jsx)(t.Fragment,{children:e}):(0,t.jsxs)(t.Fragment,{children:[r,(0,t.jsx)("a",{href:a,target:"_blank",rel:"noopener noreferrer",children:"Privacy Policy"}),i]})}function j(e){let t=[];for(let a=0;a<e.length;a++){let r=e[a],i=e[a+1];if("half"===r.width&&i?.width==="half"){t.push([r,i]),a++;continue}t.push([r])}return t}function S(e,t){let a={...t};for(let r of e)"checkbox"===r.type&&r.options?.length&&(a[r.key]=t[r.key]?[t[r.key]]:[]);return a}function N(e,t){let a=e.find(e=>e.label===t);return a?.type==="checkbox"?"Please tick the box to agree before submitting.":`${t} is required.`}function L(e,t){if(!e||!t)return null;let a=(t.options??[]).find(t=>_(t)===e);return a?_(a):null}e.s(["ADVERSE_ACTIONS",0,h,"CLAIM_FIELD_KEY",0,v,"CLAIM_TYPES",0,m,"FlLpCaseReviewForm",0,function({stepHeading:e,privacyUrl:m,fallbackDefinition:h}){let[f,g]=a.useState(h??null),b=f?.fields??y,E=a.useMemo(()=>
1(0,l.computeSteps)(b),[b]),[C,M]=a.useState(0),[P,F]=a.useState({}),[A,I]=a.useState(null),[R,T]=a.useState("idle"),D=a.useRef(null),q=a.useRef(null),W=a.useRef(b.find(e=>e.key===v));a.useEffect(()=>{W.current=b.find(e=>e.key===v)},[b]),a.useEffect(()=>{let e=!1;return fetch((0,n.tenantFormDefinitionUrl)(o.TENANT_SLUG,c)).then(e=>e.ok?e.json():null).then(t=>{!e&&(0,s.isValidTenantFormDefinition)(t)&&g(t)}).catch(()=>{}),()=>{e=!0}},[]),a.useEffect(()=>{let e=e=>{let t=L(e.detail?.claim,W.current);t&&F(e=>({...e,[v]:t})),M(0),D.current?.scrollIntoView({behavior:"smooth",block:"start"})},t=e=>{let t=e.target?.closest("[data-fl-lp-claim]");if(!t)return;let a=t.getAttribute("data-fl-lp-claim")??"";L(a,W.current)&&(e.preventDefault(),window.dispatchEvent(new CustomEvent(w,{detail:{claim:a}})))};return window.addEventListener(w,e),document.addEventListener("click",t),()=>{window.removeEventListener(w,e),document.removeEventListener("click",t)}},[]);let $=E[Math.min(C,E.length-1)],Y=C>=E.length-1,B=Math.round((C+1)/E.length*100);function O(e,t){F(a=>({...a,[e]:t}))}async function z(e){let t,a,n;e.preventDefault();let s=(0,l.findMissingRequired)($.fields,S($.fields,P));if(s)return void I(N($.fields,s));I(null),T("loading");let p=(t=[],u(P,"adverse_action")===d&&t.push("no adverse action"),"no"===u(P,"within_two_years").toLowerCase()&&t.push("outside 2-year window"),0===t.length?"Qualified":`Unqualified - ${t.join("; ")}`),m={...P,qualification:p},h={tenantSlug:o.TENANT_SLUG,firstName:P.first_name??"",lastName:P.last_name??"",email:P.email??"",phone:P.phone??"",message:(a=[`Claim type: ${u(P,"claim_type")}`,`What happened: ${u(P,"adverse_action")}`,`Within 2 years: ${u(P,"within_two_years")}`,`Qualification: ${p}`,`ZIP: ${u(P,"zip")}   Job title: ${u(P,"job_title")}   Preferred contact: ${u(P,"preferred_contact")}`],(n=u(P,"message"))&&a.push("",n),a.join("\n")),formLocation:"NJ landing page"},f=JSON.stringify([h.firstName,h.lastName,h.email,h.phone,h.message]),g=q.current===f;try{let[e,t]=await Promise.allSettled([(0,r.submitTenantForm)({tenantSlug:o.TENANT_SLUG,formSlug:c,fields:m}),g?Promise.resolve(!0):(0,i.sendLeadToClio)(h)]);if("fulfilled"===t.status&&t.value&&(q.current=f),"rejected"===e.status)throw e.reason;T("success"),function(e){try{requestAnimationFrame(()=>e.current?.querySelector("h3")?.focus())}catch{}}(D)}catch{I("Something went wrong. Please try again or call us directly."),T("idle")}}return"success"===R?(0,t.jsxs)("div",{id:"case-review",ref:e=>{D.current=e},className:"fl-lp-form fl-lp-form__success",role:"alert",children:[(0,t.jsx)("h3",{tabIndex:-1,children:p.LP_SUCCESS_COPY.heading}),(0,t.jsx)("p",{children:p.LP_SUCCESS_COPY.intro}),(0,t.jsx)("p",{children:(0,t.jsx)("strong",{children:p.LP_SUCCESS_COPY.nextLabel})}),(0,t.jsx)("ul",{children:p.LP_SUCCESS_COPY.bullets.map(e=>(0,t.jsxs)("li",{children:[(0,t.jsx)("strong",{children:e.lead})," ",e.body]},e.lead))}),(0,t.jsxs)("p",{children:[(0,t.jsx)("strong",{children:p.LP_SUCCESS_COPY.closing.lead})," ",p.LP_SUCCESS_COPY.closing.body]})]}):(0,t.jsxs)("form",{id:"case-review",ref:e=>{D.current=e},className:"fl-lp-form","aria-label":"Free case review form",onSubmit:z,noValidate:!0,children:[(0,t.jsxs)("div",{className:"fl-lp-form__progress",role:"progressbar","aria-label":`Step ${C+1} of ${E.length}`,"aria-valuenow":B,"aria-valuemin":0,"aria-valuemax":100,children:[(0,t.jsxs)("span",{children:[B,"%"]}),(0,t.jsx)("div",{className:"fl-lp-form__bar",children:(0,t.jsx)("span",{style:{width:`${B}%`}})})]}),0===C?(0,t.jsx)("h3",{className:"fl-lp-form__title",id:x,children:e}):null,j($.fields).map(e=>(0,t.jsx)("div",{className:e.length>1?"fl-lp-form__row":"fl-lp-form__row fl-lp-form__row--full",children:e.map(e=>(function(e){if("radio"===e.type){let a=0===C&&e.key===v?null:e.label;return(0,t.jsxs)("fieldset",{style:{border:"none",padding:0,margin:0},"aria-labelledby":a?void 0:x,children:[a?(0,t.jsx)("legend",{className:"fl-lp-form__legend",children:a}):null,(e.options??[]).map(a=>(0,t.jsxs)("label",{className:"fl-lp-form__radio",children:[(0,t.jsx)("input",{type:"radio",name:e.key,value:_(a),checked:P[e.key]===_(a),onChange:()=>O(e.key,_(a))}),"string"==typeof a?a:a.label]},_(a)))]},e.key)}if("checkbox"===e.type)return(0,t.jsxs)("label",{className:"fl-lp-form__consent",children:[(0,t.jsx)("input",{type:"checkbox",name:e.key,checked:"yes"===P[e.key],onChange:t=>O(e.key,t.target.checked?"yes":"")}),(0,t.jsx)("span",{children:(0,t.jsx)(k,{text:e.label,privacyUrl:m})})]},e.key);if("textarea"===e.type)return(0,t.jsxs)("div",{className:"fl-lp-form__field",children:[(0,t.jsx)("label",{className:"fl-lp-form__label",htmlFor:`lp-${e.key}`,children:e.label}),(0,t.jsx)("textarea",{id:`lp-${e.key}`,name:e.key,className:"fl-lp-form__input",rows:3,placeholder:e.placeholder,value:P[e.key]??"",onChange:t=>O(e.key,t.target.value)})]},e.key);let a="phone"===e.type?"tel":"email"===e.type?"email":"text";return(0,t.jsxs)("div",{className:"fl-lp-form__field",children:[(0,t.jsxs)("label",{className:"fl-lp-form__label",htmlFor:`lp-${e.key}`,children:[e.label,e.required?" *":""]}),(0,t.jsx)("input",{id:`lp-${e.key}`,name:e.key,type:a,className:"fl-lp-form__input",placeholder:e.placeholder,maxLength:e.validation?.maxLength,value:P[e.key]??"",onChange:t=>O(e.key,t.target.value)})]},e.key)})(e))},e.map(e=>e.key).join("|"))),A?(0,t.jsx)("p",{className:"fl-lp-form__error",role:"alert",children:A}):null,(0,t.jsxs)("div",{className:"fl-lp-form__nav",children:[C>0?(0,t.jsx)("button",{type:"button",className:"fl-lp-form__back",onClick:()=>{I(null),M(e=>Math.max(e-1,0))},children:E[C-1]?.terminator?.backLabel??"BACK"}):null,Y?(0,t.jsx)("button",{type:"submit",className:"fl-lp-btn",disabled:"loading"===R,children:"loading"===R?"Sending…":f?.settings?.submitButtonText??"Get My Free Case Review"}):(0,t.jsx)("button",{type:"button",className:"fl-lp-btn fl-lp-btn--sm",onClick:function(){let e=(0,l.findMissingRequired)($.fields,S($.fields,P));e?I(N($.fields,e)):(I(null),M(e=>Math.min(e+1,E.length-1)))},children:$.terminator?.nextLabel??"NEXT"})]})]})},"LP_FALLBACK_FIELDS",0,y,"PRESELECT_EVENT",0,w,"STEP_HEADING_ID",0,x,"applyPreselect",0,L,"groupRows",0,j,"requiredFieldMessage",0,N,"valuesForValidation",0,S],68309)},83602,e=>{"use strict";var t=e.i(435368),a=e.i(611599);
1e.s(["FlLpCounter",0,function({amount:e}){let r=Number.parseInt(String(e).replace(/[^0-9]/g,""),10),i=Number.isFinite(r)&&r>0,n=a.useRef(null),[l,s]=a.useState(i?r:NaN);a.useLayoutEffect(()=>{if(!i)return;let e=n.current;if(!e)return;if(window.matchMedia?.("(prefers-reduced-motion: reduce)").matches||"u"<typeof IntersectionObserver)return void s(r);s(0);let t=0,a=new IntersectionObserver(e=>{if(!e.some(e=>e.isIntersecting))return;a.disconnect();let i=performance.now(),n=e=>{let a=Math.min(1,(e-i)/1600);s(Math.round(r*(1-Math.pow(1-a,3)))),a<1&&(t=requestAnimationFrame(n))};t=requestAnimationFrame(n)},{threshold:.4});return a.observe(e),()=>{a.disconnect(),cancelAnimationFrame(t)}},[r,i]);let o=i?`$${l.toLocaleString("en-US")}`:String(e),c=i?`$${r.toLocaleString("en-US")}`.length:o.length,d=o.padStart(c," ").split("");return(0,t.jsx)("div",{ref:n,className:"fl-lp-counter__digits",role:"img","aria-label":i?`$${r.toLocaleString("en-US")}`:o,children:d.map((e,a)=>(0,t.jsx)("span",{className:`fl-lp-counter__digit${","===e?" fl-lp-counter__digit--sep":""}`,"aria-hidden":"true",children:" "===e?" ":e},a))})}])},960423,e=>{"use strict";var t=e.i(435368),a=e.i(611599),r=e.i(391477);let i=[{label:"Interior & Exterior Painting",keywords:["painting","paint","painter","interior","exterior","walls","cabinet"]},{label:"Pressure Washing",keywords:["pressure","washing","wash","post-construction"]},{label:"Handyman & General Repairs",keywords:["repairs","repair","handyman","drywall","carpentry","caulking","fixtures","furniture","assembly"]},{label:"Flooring Installation & Repair",keywords:["flooring","floor","tile","vinyl","plank","hardwood","installation"]},{label:"Terrazzo Floor Restoration",keywords:["terrazzo","terrazzo floor","restoration","polish","restore"]},{label:"Tile Work & Installation",keywords:["tile","grout","bathroom tile","kitchen tile","backsplash","waterproofing"]},{label:"AC & HVAC Repair",keywords:["ac","hvac","air conditioner","air conditioning","cooling","heat","tune-up","hvac repair","ac repair"]},{label:"Ceiling Fan Installation",keywords:["ceiling fan","fan","electrical","electrician","outlets","lighting","fixture","switch"]},{label:"Water Fixture Repair",keywords:["plumbing","plumber","faucet","toilet","shower","water","leak","pipe","fixture"]},{label:"TV Mounting",keywords:["tv","television","mounting","mount","wall mount","cable"]},{label:"Deck Resurfacing & Repair",keywords:["deck","outdoor","patio","composite","wood","railing","resurfacing"]}],n=["Painting","Electrical","AC Repair","Plumbing","Flooring","Repairs"];e.s(["AhpcSearchBox",0,function({bookHref:e=`${r.SCOPE}/contact`}={}){let l,[s,o]=a.useState(""),[c,d]=a.useState(!1),[u,p]=a.useState(-1),m=a.useRef(null),h=(l=s.toLowerCase().trim()).length<2?[]:i.filter(e=>e.label.toLowerCase().includes(l)||e.keywords.some(e=>e.includes(l)||l.includes(e))).slice(0,6),f=c&&h.length>0;function g(){window.location.href=e}return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("style",{children:`
2        .ahpc-sb { width: 100%; max-width: 620px; position: relative; }
3        .ahpc-sb__form {
4          display: flex; align-items: center;
5          background: #fff; border-radius: 14px;
6          box-shadow: 0 8px 40px rgba(0,0,0,0.28), 0 0 0 2px transparent;
7          overflow: visible; position: relative;
8          transition: box-shadow 0.15s;
9        }
10        .ahpc-sb__form:focus-within {
11          box-shadow: 0 8px 40px rgba(0,0,0,0.28), 0 0 0 2px #1E6FD9;
12        }
13        .ahpc-sb__icon {
14          flex-shrink: 0; width: 48px; display: flex;
15          align-items: center; justify-content: center; color: #94a3b8;
16        }
17        .ahpc-sb__input {
18          flex: 1; height: 58px; border: none; outline: none;
19          font-size: 1rem; color: #0A1628; background: transparent;
20          padding: 0 0.5rem 0 0; min-width: 0;
21        }
22        .ahpc-sb__input::placeholder { color: #9ca3af; }
23        .ahpc-sb__btn {
24          flex-shrink: 0; height: 58px; padding: 0 1.5rem;
25          background: #1E6FD9; color: #fff;
26          font-weight: 800; font-size: 0.9375rem;
27          border: none; cursor: pointer;
28          border-radius: 0 12px 12px 0;
29          transition: background 0.15s; white-space: nowrap;
30          display: flex; align-items: center; gap: 0.4rem;
31        }
32        .ahpc-sb__btn:hover { background: #3B82F6; }
33        .ahpc-sb__drop {
34          position: absolute; top: calc(100% + 6px); left: 0; right: 0;
35          background: #fff; border-radius: 12px;
36          box-shadow: 0 16px 48px rgba(0,0,0,0.18), 0 0 0 1px rgba(0,0,0,0.06);
37          overflow: hidden; z-index: 600;
38        }
39        .ahpc-sb__result {
40          display: flex; flex-direction: column; gap: 0.15rem;
41          width: 100%; padding: 0.875rem 1.125rem;
42          background: transparent; border: none; cursor: pointer;
43          text-align: left; border-bottom: 1px solid #f1f5f9;
44          transition: background 0.1s;
45        }
46        .ahpc-sb__result:last-child { border-bottom: none; }
47        .ahpc-sb__result:hover,
48        .ahpc-sb__result--on { background: #eff6ff; }
49        .ahpc-sb__result-name {
50          font-size: 0.9375rem; font-weight: 600; color: #0A1628;
51        }
52        .ahpc-sb__result-sub {
53          font-size: 0.78rem; color: #64748b;
54        }
55        .ahpc-sb__result-badge {
56          margin-left: auto; font-size: 0.72rem; font-weight: 700;
57          color: #1E6FD9; white-space: nowrap; padding-top: 0.1rem;
58        }
59        .ahpc-sb__result-row {
60          display: flex; align-items: center; justify-content: space-between;
61        }
62        .ahpc-sb__chips {
63          display: flex; flex-wrap: wrap; gap: 0.5rem;
64          margin-top: 0.875rem; align-items: center;
65          justify-content: center;
66        }
67        .ahpc-sb__chips-label {
68          font-size: 0.72rem; color: rgba(255,255,255,0.5);
69          text-transform: uppercase; letter-spacing: 0.07em; flex-shrink: 0;
70        }
71        .ahpc-sb__chip {
72          padding: 0.32rem 0.875rem;
73          background: rgba(255,255,255,0.10);
74          border: 1px solid rgba(255,255,255,0.22);
75          border-radius: 100px; font-size: 0.8rem; font-weight: 500;
76          color: #fff; cursor: pointer;
77          transition: background 0.15s, border-color 0.15s;
78          backdrop-filter: blur(4px);
79        }
80        .ahpc-sb__chip:hover {
81          background: rgba(255,255,255,0.20);
82          border-color: rgba(255,255,255,0.45);
83        }
84        @media (max-width: 560px) {
85          .ahpc-sb__btn-text { display: none; }
86          .ahpc-sb__btn { padding: 0 1.125rem; }
87          .ahpc-sb__chips-label { display: none; }
88          .ahpc-sb__chips { justify-content: center; }
89        }
90      `}),(0,t.jsxs)("div",{className:"ahpc-sb",children:[(0,t.jsxs)("form",{className:"ahpc-sb__form",onSubmit:function(e){e.preventDefault(),g()},role:"search","aria-label":"Search home services",children:[(0,t.jsx)("span",{className:"ahpc-sb__icon","aria-hidden":"true",children:(0,t.jsxs)("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,t.jsx)("circle",{cx:"11",cy:"11",r:"8"}),(0,t.jsx)("line",{x1:"21",y1:"21",x2:"16.65",y2:"16.65"})]})}),(0,t.jsx)("input",{ref:m,className:"ahpc-sb__input",type:"text",placeholder:"Painting, AC repair, plumbing…",value:s,onChange:e=>{o(e.target.value),d(!0),p(-1)},onFocus:()=>d(!0),onBlur:()=>setTimeout(()=>{d(!1),p(-1)},180),onKeyDown:function(e){f&&("ArrowDown"===e.key?(e.preventDefault(),p(e=>Math.min(e+1,h.length-1))):"ArrowUp"===e.key?(e.preventDefault(),p(e=>Math.max(e-1,0))):"Enter"===e.key&&u>=0?(e.preventDefault(),g()):"Escape"===e.key&&(d(!1),p(-1)))},autoComplete:"off","aria-label":"What service do you need?","aria-autocomplete":"list","aria-expanded":f}),(0,t.jsxs)("button",{type:"submit",className:"ahpc-sb__btn",children:[(0,t.jsx)("span",{className:"ahpc-sb__btn-text",children:"Book a Pro"}),(0,t.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,t.jsx)("line",{x1:"5",y1:"12",x2:"19",y2:"12"}),(0,t.jsx)("polyline",{points:"13 5 19 12 13 19"})]})]}),f&&(0,t.jsx)("div",{className:"ahpc-sb__drop",role:"listbox",children:h.map((e,a)=>(0,t.jsxs)("button",{className:`ahpc-sb__result${a===u?" ahpc-sb__result--on":""}`,role:"option","aria-selected":a===u,onMouseDown:e=>{e.preventDefault(),g()},children:[(0,t.jsxs)("div",{className:"ahpc-sb__result-row",children:[(0,t.jsx)("span",{className:"ahpc-sb__result-name",children:e.label}),(0,t.jsx)("span",{className:"ahpc-sb__result-badge",children:"View Plans →"})]}),(0,t.jsx)("span",{className:"ahpc-sb__result-sub",children:"Covered by all membership plans · Licensed & insured"})]},e.label))})]}),(0,t.jsxs)("div",{className:"ahpc-sb__chips","aria-label":"Popular services",children:[(0,t.jsx)("span",{className:"ahpc-sb__chips-label","aria-hidden":"true",children:"Popular:"}),n.map(e=>(0,t.jsx)("button",{type:"button",className:"ahpc-sb__chip",onClick:g,children:e},e))]})]})]})}])},743214,e=>{"use strict";var t=e.i(435368),a=e.i(611599),r=e.i(519786);e.s(["AhpcStickyBookingBar",0,function({fields:e}={}){let i={...r.AHPC_HOME_DEFAULTS.stickyBar,...e}
90,[n,l]=a.useState(!1),[s,o]=a.useState(!1),[c,d]=a.useState(!1);function u(){sessionStorage.setItem("ahpc-sticky-dismissed","1"),o(!0),l(!1)}if(a.useEffect(()=>{if(sessionStorage.getItem("ahpc-sticky-dismissed"))return void o(!0);function e(){d(window.innerWidth<680)}function t(){let e=window.scrollY;e+window.innerHeight>=document.documentElement.scrollHeight-400?l(!1):e>600?l(!0):e<200&&l(!1)}return d(window.innerWidth<680),window.addEventListener("scroll",t,{passive:!0}),window.addEventListener("resize",e,{passive:!0}),()=>{window.removeEventListener("scroll",t),window.removeEventListener("resize",e)}},[]),s)return null;let p={position:"fixed",bottom:0,left:0,right:0,zIndex:9999,backgroundColor:"#0A1628",borderTop:"2px solid #1E6FD9",transform:n?"translateY(0)":"translateY(100%)",transition:"transform 0.35s cubic-bezier(0.4, 0, 0.2, 1)",display:"flex",alignItems:"center",justifyContent:"space-between",padding:"12px 20px",gap:"16px",boxSizing:"border-box"},m={backgroundColor:"#1E6FD9",color:"#fff",fontWeight:700,fontSize:"0.9rem",padding:"10px 20px",borderRadius:"6px",border:"none",cursor:"pointer",whiteSpace:"nowrap",textDecoration:"none",display:"inline-block",lineHeight:1.3},h={background:"transparent",border:"1px solid rgba(255,255,255,0.25)",color:"#ffffff",borderRadius:"4px",cursor:"pointer",padding:"4px 8px",fontSize:"0.85rem",lineHeight:1,flexShrink:0};return c?(0,t.jsxs)("div",{className:"ahpc-sticky-bar"+(n?" ahpc-sticky-bar--visible":""),style:p,"aria-label":"Booking bar",children:[(0,t.jsx)("a",{href:i.cta?.href,className:"ahpc-sticky-bar__cta",style:m,children:i.cta?.label}),(0,t.jsx)("button",{className:"ahpc-sticky-bar__close",style:h,onClick:u,"aria-label":"Dismiss",children:"X"})]}):(0,t.jsxs)("div",{className:"ahpc-sticky-bar"+(n?" ahpc-sticky-bar--visible":""),style:p,"aria-label":"Booking bar",children:[(0,t.jsxs)("div",{className:"ahpc-sticky-bar__left",style:{color:"#ffffff",fontSize:"0.8rem",lineHeight:1.45,flexShrink:0},children:[(0,t.jsx)("div",{children:i.line1}),(0,t.jsx)("div",{children:i.line2})]}),i.logo?.url?(0,t.jsx)("img",{src:i.logo.url,alt:i.logo?.alt??"",style:{height:"32px",width:"auto",maxWidth:"140px",objectFit:"contain",flexShrink:0}}):null,(0,t.jsx)("a",{href:i.cta?.href,className:"ahpc-sticky-bar__cta",style:m,children:i.cta?.label}),(0,t.jsx)("a",{href:i.phoneHref,className:"ahpc-sticky-bar__phone",style:{color:"rgba(255,255,255,0.75)",fontWeight:700,fontSize:"1rem",textDecoration:"none",whiteSpace:"nowrap"},children:i.phoneDisplay}),(0,t.jsx)("button",{className:"ahpc-sticky-bar__close",style:h,onClick:u,"aria-label":"Dismiss",children:"X"})]})},"ScrollRevealInit",0,function(){return a.useEffect(()=>{document.documentElement.classList.add("ahpc-js");let e=document.querySelectorAll(["ahpc-reveal","ahpc-reveal-left","ahpc-reveal-right","ahpc-reveal-scale"].map(e=>`.${e}`).join(",")),t=new IntersectionObserver(e=>{e.forEach(e=>{e.isIntersecting&&(e.target.classList.add("in-view"),t.unobserve(e.target))})},{threshold:.12,rootMargin:"0px 0px -40px 0px"});e.forEach(e=>t.observe(e));let a=document.querySelectorAll("[data-counter]"),r=new IntersectionObserver(e=>{e.forEach(e=>{e.isIntersecting&&(!function(e){let t=parseInt((e.textContent??"").replace(/[^0-9]/g,""),10);if(isNaN(t))return;let a=parseInt(e.dataset.counterDuration??"",10)||1800,r=e.dataset.counterPrefix??"",i=e.dataset.counterSuffix??"",n=performance.now();requestAnimationFrame(function l(s){let o=Math.min((s-n)/a,1);e.textContent=r+Math.round((1-Math.pow(1-o,3))*t).toLocaleString()+i,o<1&&requestAnimationFrame(l)})}(e.target),r.unobserve(e.target))})},{threshold:.12,rootMargin:"0px 0px -40px 0px"});a.forEach(e=>r.observe(e));let i=document.querySelectorAll("[data-stagger]"),n=new IntersectionObserver(e=>{e.forEach(e=>{if(e.isIntersecting){let t=e.target;t.classList.add("in-view"),t.querySelectorAll(".ahpc-stagger-child").forEach((e,t)=>{setTimeout(()=>{e.classList.add("in-view")},100*t)}),n.unobserve(t)}})},{threshold:.05,rootMargin:"0px 0px 0px 0px"});i.forEach(e=>n.observe(e));let l=e=>{let t=e.getBoundingClientRect();return t.top<window.innerHeight&&t.bottom>0};
90i.forEach(e=>{l(e)&&(e.classList.add("in-view"),e.querySelectorAll(".ahpc-stagger-child").forEach((e,t)=>{e.classList.add("in-view")}),n.unobserve(e))}),e.forEach(e=>{!e.classList.contains("in-view")&&l(e)&&(e.classList.add("in-view"),t.unobserve(e))});let s=window.matchMedia("(hover: hover)").matches,o=[];if(s){function c(){let e=window.scrollY;o.forEach(t=>{let a=Math.max(-80,Math.min(80,-(e*parseFloat(t.dataset.parallax??"0.15")*.4)));t.style.transform="translateY("+a.toFixed(1)+"px)"})}return(o=Array.from(document.querySelectorAll("[data-parallax]"))).forEach(e=>{e.style.willChange="transform"}),window.addEventListener("scroll",c,{passive:!0}),()=>{t.disconnect(),r.disconnect(),n.disconnect(),window.removeEventListener("scroll",c)}}return()=>{t.disconnect(),r.disconnect(),n.disconnect()}},[]),null}])},660334,176806,e=>{"use strict";var t=e.i(435368),a=e.i(611599);let r="https://members.americanhandypaintandclean.com/registration/",i={"pay-as-you-go":"residential"};function n(e){return"number"==typeof e&&Number.isFinite(e)?e:0}function l(e){return 0===e.membershipPrice?{amount:e.servicePrice,unit:"hr"}:{amount:e.membershipPrice,unit:e.renewal}}function s(e){return 0===e.membershipPrice}let o=[{id:8,name:"Pay-As-You-Go",membershipPrice:0,servicePrice:125,renewal:"month",monthlyLimit:0,description:"Standard Rate of $125/hour with a two hour minimum for General Maintenance & Repairs, $145/hour for MEP's. All pricing is per technician. Materials not included.",services:[{label:"Electrical",mep:!0},{label:"Gutter Cleaning & Maintenance",mep:!1},{label:"General Maintenance",mep:!1},{label:"Plumbing",mep:!0},{label:"Carpentry",mep:!1},{label:"Painting",mep:!1},{label:"Flooring",mep:!1},{label:"Pressure Washing",mep:!1},{label:"HVAC Services",mep:!0},{label:"Appliance Repair",mep:!0},{label:"Drywall Repair",mep:!1}],slug:"pay-as-you-go",typeSlug:"residential",mepRate:145},{id:10,name:"Monthly",membershipPrice:69.99,servicePrice:115,renewal:"month",monthlyLimit:0,description:"Unlimited visits per month. Members save on hourly rates.",services:[{label:"General Maintenance",mep:!1},{label:"Gutter Cleaning & Maintenance",mep:!1},{label:"Electrical",mep:!0},{label:"Plumbing",mep:!0},{label:"Carpentry",mep:!1},{label:"Painting",mep:!1},{label:"Pressure Washing",mep:!1},{label:"Appliance Repair",mep:!0},{label:"Flooring",mep:!1},{label:"HVAC Services",mep:!0},{label:"Drywall Repair",mep:!1}],slug:"monthly",typeSlug:"residential",mepRate:135},{id:22,name:"Commercial",membershipPrice:99.99,servicePrice:125,renewal:"month",monthlyLimit:0,description:"Commercial membership with priority scheduling and unlimited visits.",services:[{label:"General Maintenance",mep:!1},{label:"Gutter Cleaning & Maintenance",mep:!1},{label:"Electrical",mep:!0},{label:"Plumbing",mep:!0},{label:"Carpentry",mep:!1},{label:"Painting",mep:!1},{label:"Flooring",mep:!1},{label:"Pressure Washing",mep:!1},{label:"Air Conditioning Repair",mep:!0},{label:"Drywall Repair",mep:!1}],slug:"commercial",typeSlug:"commercial",mepRate:135},{id:2,name:"Yearly",membershipPrice:150,servicePrice:115,renewal:"year",monthlyLimit:0,description:"One payment, unlimited visits all year — the lowest annual rate.",services:[{label:"Pressure Washing",mep:!1},{label:"Flooring",mep:!1},{label:"Painting",mep:!1},{label:"Carpentry",mep:!1},{label:"Gutter Cleaning & Maintenance",mep:!1},{label:"General Maintenance",mep:!1},{label:"HVAC Services",mep:!0},{label:"Plumbing",mep:!0},{label:"Drywall Repair",mep:!1},{label:"Electrical",mep:!0}],slug:"yearly",typeSlug:"residential",mepRate:135}];function c(e,t){try{console.warn(`[ahpc-plans] serving fallback plans — ${e}`,t??"")}catch{}}async function d(){try{var e;let t=await fetch("https://api.americanhandypaintandclean.com/plans",{next:{revalidate:300},signal:AbortSignal.timeout(4e3)});if(!t.ok)return c(`non-OK response (status ${t.status})`),o;let a=(e=await t.json(),!Array.isArray(e)?[]:e.map(e=>{let t=e??{},a=Array.isArray(t.subscription_items)?t.subscription_items:[],r=a.map(e=>{let t=e??{},a=t.item;return a&&"string"==typeof a.value?{label:a.value,mep:n(t.hourly_rate)>0}:null}).filter(e=>null!==e),i="string"==typeof t.name?t.name:"Plan",l=t.subscription_type,s=a.reduce((e,t)=>
90{let a=n(t?.hourly_rate);return a>e?a:e},0);return{id:n(t.id),name:i,membershipPrice:n(t.membership_price),servicePrice:n(t.service_price),renewal:"string"==typeof t.renewal?t.renewal:"month",monthlyLimit:n(t.monthly_limit),description:"string"==typeof t.description?t.description:"",services:r,slug:i.toLowerCase().trim().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,""),typeSlug:"string"==typeof l?.slug?l.slug:"residential",mepRate:s}})).filter(e=>e.services.length>0);if(0===a.length)return c("empty/unusable payload (no plans with services after normalization)"),o;let r=a.find(e=>e.servicePrice<=0);if(r)return c(`servicePrice <= 0 on plan "${r.name}" (slug: ${r.slug})`),o;return a}catch(e){return c("fetch failed or timed out",e instanceof Error?e.message:e),o}}e.s(["AHPC_REG_URL",0,r,"fetchMembershipPlans",0,d,"findPlanBySlug",0,function(e,t){let a=e.find(e=>e.slug===t);return a||(c(`by-slug lookup missed for "${t}" — falling back to the FALLBACK_PLANS snapshot`),o.find(e=>e.slug===t))},"formatAmount",0,function(e){return Number.isInteger(e)?String(e):e.toFixed(2)},"isPayPerVisit",0,s,"planSignupUrl",0,function(e){return`${r}?plan=${encodeURIComponent(i[e.slug]??e.slug)}`},"priceDisplay",0,l,"unitLabel",0,function(e){return"month"===e?"mo":"year"===e?"yr":e}],176806);var u=e.i(519786);function p({title:e,plan:a,children:r,onBack:i,onNext:n,nextLabel:s,backLabel:o}){return(0,t.jsxs)("div",{className:"ahpc-mw__panel",children:[(0,t.jsxs)("div",{className:"ahpc-mw__panel-head",children:[(0,t.jsx)("h1",{className:"ahpc-mw__title ahpc-mw__title--sm",children:e}),a&&(0,t.jsxs)("span",{className:"ahpc-mw__pill",children:[a.name," · $",l(a).amount,"/",l(a).unit]})]}),r,(0,t.jsxs)("div",{className:"ahpc-mw__actions",children:[(0,t.jsx)("button",{type:"button",className:"ahpc-mw__btn-ghost",onClick:i,children:o}),(0,t.jsx)("button",{type:"button",className:"ahpc-pcard__btn--dark ahpc-mw__btn-next",onClick:n,children:s})]})]})}function m({label:e,placeholder:a,type:r="text",full:i=!1}){return(0,t.jsxs)("label",{className:`ahpc-mw__field ${i?"ahpc-mw__field--full":""}`,children:[(0,t.jsx)("span",{className:"ahpc-mw__field-label",children:e}),(0,t.jsx)("input",{className:"ahpc-mw__input",type:r,placeholder:a})]})}let h=`
91.ahpc-mw { max-width: 1080px; margin: 0 auto; padding: 2.5rem 1.25rem 4rem; }
92.ahpc-mw__steps { display: flex; gap: 0.5rem; list-style: none; padding: 0; margin: 0 0 2.5rem; }
93.ahpc-mw__step { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 0.4rem; position: relative; color: #94a3b8; font-size: 0.8rem; font-weight: 600; }
94.ahpc-mw__step:not(:last-child)::after { content: ""; position: absolute; top: 14px; left: 60%; width: 80%; height: 2px; background: #e2e8f0; }
95.ahpc-mw__step.is-done:not(:last-child)::after { background: #1E6FD9; }
96.ahpc-mw__step-num { width: 30px; height: 30px; border-radius: 50%; background: #e2e8f0; color: #64748b; display: flex; align-items: center; justify-content: center; font-weight: 700; z-index: 1; }
97.ahpc-mw__step.is-active .ahpc-mw__step-num { background: #1E6FD9; color: #fff; }
98.ahpc-mw__step.is-done .ahpc-mw__step-num { background: #1E6FD9; color: #fff; }
99.ahpc-mw__step.is-active, .ahpc-mw__step.is-done { color: #0A1628; }
100.ahpc-mw__title { font-size: 2rem; font-weight: 800; text-align: center; color: #0A1628; margin: 0 0 0.5rem; }
101.ahpc-mw__title--sm { font-size: 1.4rem; text-align: left; margin: 0; }
102.ahpc-mw__sub { text-align: center; color: #64748b; margin: 0 auto 2rem; max-width: 620px; }
103.ahpc-mw__cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1.25rem; }
104.ahpc-mw__card { display: flex; flex-direction: column; }
105.ahpc-pcard__asterisk-mark { color: #1E6FD9; font-weight: 700; }
106/* Self-contained copies of card styles that otherwise live only in the /plans
107   page's scoped <style> block — needed so cards render correctly on /membership. */
108.ahpc-pcard__btn--dark { display: block; width: 100%; margin-top: auto; padding: 0.9rem 1.25rem; background: #0A1628; color: #fff; border-radius: 10px; font-weight: 700; font-size: 0.9rem; text-align: center; text-decoration: none; border: none; font-family: inherit; cursor: pointer; transition: background 0.15s, transform 0.1s; }
109.ahpc-pcard__btn--dark:hover { background: #1a2d48; transform: translateY(-1px); }
110.ahpc-pcard__rate { font-size: 0.79rem; line-height: 1.6; margin: 0 0 1.1rem; padding: 0.65rem 0.85rem; background: #f1f5f9; color: #475569; border-radius: 8px; }
111.ahpc-pcard__svc-label { font-size: 0.68rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; margin: 0 0 0.55rem; color: #94a3b8; }
112.ahpc-mw__foot { text-align: center; color: #94a3b8; font-size: 0.8rem; margin-top: 1.5rem; }
113.ahpc-mw__panel { max-width: 720px; margin: 0 auto; background: #fff; border: 1.5px solid #e2e8f0; border-radius: 16px; padding: 2rem; }
114.ahpc-mw__panel-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1.5rem; flex-wrap: wrap; }
115.ahpc-mw__pill { background: #eff6ff; color: #1E6FD9; font-weight: 700; font-size: 0.82rem; padding: 0.4rem 0.85rem; border-radius: 999px; }
116.ahpc-mw__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
117.ahpc-mw__field { display: flex; flex-direction: column; gap: 0.35rem; }
118.ahpc-mw__field--full { grid-column: 1 / -1; }
119.ahpc-mw__field-label { font-size: 0.8rem; font-weight: 600; color: #475569; }
120.ahpc-mw__input { padding: 0.7rem 0.85rem; border: 1.5px solid #e2e8f0; border-radius: 10px; font-size: 0.9rem; font-family: inherit; }
121.ahpc-mw__input:focus { outline: none; border-color: #1E6FD9; box-shadow: 0 0 0 3px rgba(30,111,217,0.12); }
122.ahpc-mw__preview-banner { background: #fffbeb; border: 1.5px solid #fde68a; color: #92400e; font-size: 0.82rem; font-weight: 600; padding: 0.7rem 0.9rem; border-radius: 10px; margin-bottom: 1.25rem; }
123.ahpc-mw__preview-banner--inline { display: inline-block; margin: 1rem auto; }
124.ahpc-mw__actions { display: flex; justify-content: space-between; gap: 1rem; margin-top: 1.75rem; }
125.ahpc-mw__btn-ghost { background: transparent; border: 1.5px solid #e2e8f0; color: #475569; font-weight: 700; padding: 0.9rem 1.5rem; border-radius: 10px; cursor: pointer; font-family: inherit; }
126.ahpc-mw__btn-next { width: auto; margin-top: 0; padding-left: 1.75rem; padding-right: 1.75rem; }
127.ahpc-mw__confirm { max-width: 560px; margin: 0 auto; text-align: center; padding: 2rem 0; }
128.ahpc-mw__confirm-check { width: 72px; height: 72px; border-radius: 50%; background: #dcfce7; color: #16a34a; font-size: 2.2rem; font-weight: 800; display: flex; align-items: center; justify-content: center; margin: 0 auto 1.5rem; }
129.ahpc-mw__restart { width: auto; display: inline-block; margin-top: 0.5rem; padding-left: 1.75rem; padding-right: 1.75rem; }
130@media (max-width: 560px) { .ahpc-mw__grid { grid-template-columns: 1fr; } .ahpc-mw__step-label { display: none; } }
131`;e.s(["MembershipWizard",0,function({plans:e,fields:r}){let i={...u.AHPC_MEMBERSHIP_DEFAULTS,...r},[n,o]=(0,a.useState)(0),[c,d]=(0,a.useState)(null),f=e=>o(Math.max(0,Math.min(3,e)));return(0,t.jsxs)("section",{className:"ahpc-mw",children:[(0,t.jsx)("style",{children:h}),(0,t.jsx)("ol",{className:"ahpc-mw__steps","aria-label":"Registration steps",children:i.steps.map((e,a)=>(0,t.jsxs)("li",{className:`ahpc-mw__step ${a===n?"is-active":""} ${a<n?"is-done":""}
131`,"aria-current":a===n?"step":void 0,children:[(0,t.jsx)("span",{className:"ahpc-mw__step-num",children:a<n?"✓":a+1}),(0,t.jsx)("span",{className:"ahpc-mw__step-label",children:e})]},a))}),0===n&&(0,t.jsxs)("div",{children:[(0,t.jsx)("h1",{className:"ahpc-mw__title",children:i.plansStep.title}),(0,t.jsx)("p",{className:"ahpc-mw__sub",children:i.plansStep.sub}),(0,t.jsx)("div",{className:"ahpc-mw__cards",children:e.map(e=>{let a=l(e);return(0,t.jsxs)("div",{className:"ahpc-pcard ahpc-pcard--lite ahpc-mw__card",children:[(0,t.jsx)("p",{className:"ahpc-pcard__name",children:e.name}),(0,t.jsxs)("div",{className:"ahpc-pcard__price",children:[(0,t.jsx)("sup",{children:"$"}),a.amount,(0,t.jsxs)("span",{children:["/",a.unit]})]}),(0,t.jsx)("p",{className:"ahpc-pcard__equiv",children:s(e)?"No membership - pay per visit":e.monthlyLimit?`${e.monthlyLimit} visits per month`:"Unlimited visits per month"}),(0,t.jsx)("div",{className:"ahpc-pcard__divider"}),e.description&&(0,t.jsx)("p",{className:"ahpc-pcard__rate",children:e.description}),(0,t.jsx)("p",{className:"ahpc-pcard__svc-label",children:"Services available but not limited to:"}),(0,t.jsx)("ul",{className:"ahpc-pcard__list",children:e.services.map((e,a)=>(0,t.jsxs)("li",{className:"ahpc-pcard__item",children:[(0,t.jsx)("svg",{className:"ahpc-pcard__check",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:(0,t.jsx)("path",{d:"M3 8l3.5 3.5L13 4.5",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})}),e.label,e.mep&&(0,t.jsx)("span",{className:"ahpc-pcard__asterisk-mark",children:" *"})]},`${e.label}-${a}`))}),(0,t.jsx)("button",{type:"button",className:"ahpc-pcard__btn--dark",onClick:()=>{d(e),o(1)},children:"Choose Plan"})]},e.id||e.name)})}),(0,t.jsx)("p",{className:"ahpc-mw__foot",children:i.plansStep.foot})]}),1===n&&(0,t.jsx)(p,{title:i.accountStep.title,plan:c,onBack:()=>f(0),onNext:()=>f(2),nextLabel:i.accountStep.nextLabel,backLabel:i.backLabel,children:(0,t.jsxs)("div",{className:"ahpc-mw__grid",children:[(0,t.jsx)(m,{label:"First name",placeholder:"Jane"}),(0,t.jsx)(m,{label:"Last name",placeholder:"Doe"}),(0,t.jsx)(m,{label:"Email",placeholder:"[email protected]",type:"email",full:!0}),(0,t.jsx)(m,{label:"Phone",placeholder:"(305) 555-0142",type:"tel"}),(0,t.jsx)(m,{label:"ZIP code",placeholder:"33101"}),(0,t.jsx)(m,{label:"Service address",placeholder:"123 Main St, Miami, FL",full:!0}),(0,t.jsx)(m,{label:"Password",placeholder:"••••••••",type:"password"}),(0,t.jsx)(m,{label:"Confirm password",placeholder:"••••••••",type:"password"})]})}),2===n&&(0,t.jsxs)(p,{title:i.paymentStep.title,plan:c,onBack:()=>f(1),onNext:()=>f(3),nextLabel:i.paymentStep.nextLabel,backLabel:i.backLabel,children:[(0,t.jsx)("div",{className:"ahpc-mw__preview-banner",children:i.paymentStep.banner}),(0,t.jsxs)("div",{className:"ahpc-mw__grid",children:[(0,t.jsx)(m,{label:"Cardholder name",placeholder:"Jane Doe",full:!0}),(0,t.jsx)(m,{label:"Card number",placeholder:"1234 5678 9012 3456",full:!0}),(0,t.jsx)(m,{label:"Expiry",placeholder:"MM / YY"}),(0,t.jsx)(m,{label:"CVC",placeholder:"123"})]})]}),3===n&&(0,t.jsxs)("div",{className:"ahpc-mw__confirm",children:[(0,t.jsx)("div",{className:"ahpc-mw__confirm-check","aria-hidden":"true",children:"✓"}),(0,t.jsx)("h1",{className:"ahpc-mw__title",children:i.confirmStep.heading}),(0,t.jsxs)("p",{className:"ahpc-mw__sub",children:[i.confirmStep.textLead,c?` - ${c.name}`:"",i.confirmStep.textTail]}),(0,t.jsx)("p",{className:"ahpc-mw__preview-banner ahpc-mw__preview-banner--inline",children:i.confirmStep.previewBanner}),(0,t.jsx)("button",{type:"button",className:"ahpc-pcard__btn--dark ahpc-mw__restart",onClick:()=>{d(null),f(0)},children:i.confirmStep.restartLabel})]})]})}],660334)},628931,e=>{"use strict";var t=e.i(435368),a=e.i(611599),r=e.i(937148),i=e.i(883772);e.s(["StoreProductBuyBox",0,function({product:e,tenantSlug:n}){let l=a.useMemo(()=>(e.variants[0]?.selectedOptions??[]).map(e=>e.name),[e]),[s,o]=a.useState(()=>Object.fromEntries((e.variants[0]?.selectedOptions??[]).map(e=>
131[e.name,e.value]))),[c,d]=a.useState(!1),u=a.useRef(null);a.useEffect(()=>()=>{u.current&&clearTimeout(u.current)},[]);let p=a.useMemo(()=>e.variants.find(e=>e.selectedOptions.every(e=>s[e.name]===e.value))??e.variants[0],[e,s]),m=a.useMemo(()=>new Set(e.variants.map(e=>e.price)).size>1,[e]);return(0,t.jsxs)("div",{className:"tpdp__buybox",children:[e.variants.length>1?l.map(a=>{let r=[...new Set(e.variants.flatMap(e=>e.selectedOptions.filter(e=>e.name===a).map(e=>e.value)))];return(0,t.jsxs)("fieldset",{className:"tpdp__option",children:[(0,t.jsx)("legend",{children:a}),(0,t.jsx)("div",{className:"tpdp__optionvalues",children:r.map(e=>(0,t.jsx)("button",{type:"button",className:`tpdp__optionbtn${s[a]===e?" tpdp__optionbtn--active":""}`,onClick:()=>o(t=>({...t,[a]:e})),children:e},e))})]},a)}):null,p?(0,t.jsxs)("div",{className:"tpdp__buy",children:[m?(0,t.jsxs)("p",{className:"tpdp__variantprice",children:[(0,i.formatStoreMoney)(p.price,e.priceRange.currencyCode),p.compareAtPrice?(0,t.jsx)("s",{className:"tpdp__compare",children:(0,i.formatStoreMoney)(p.compareAtPrice,e.priceRange.currencyCode)}):null]}):null,p.availableForSale?(0,t.jsx)("button",{type:"button",className:"tprd__btn tprd__btn--block",onClick:()=>{(0,r.addLine)({variantId:p.id,handle:e.handle,title:e.title,variantTitle:p.title,price:p.price,currencyCode:e.priceRange.currencyCode,image:e.images[0]?.url??null}),d(!0),u.current&&clearTimeout(u.current),u.current=setTimeout(()=>d(!1),2600)},children:c?"Added to cart ✓":"Add to cart"}):(0,t.jsx)("span",{className:"tprd__btn tprd__btn--disabled tprd__btn--block","aria-disabled":"true",children:"Sold out"}),(0,t.jsx)("span",{className:"tprd__sr",role:"status","aria-live":"polite",children:c?`${e.title} added to cart`:""})]}):null]})},"StoreProductGallery",0,function({product:e}){let[r,i]=a.useState(0),n=e.images[r]??e.images[0];return(0,t.jsxs)("div",{className:"tpdp__media",children:[n?(0,t.jsx)("img",{className:"tpdp__hero",src:n.url,alt:n.altText??e.title}):(0,t.jsx)("span",{className:"tpdp__noimage","aria-hidden":"true"}),e.images.length>1?(0,t.jsx)("div",{className:"tpdp__thumbs",role:"listbox","aria-label":"Product images",children:e.images.map((e,a)=>(0,t.jsx)("button",{type:"button",className:`tpdp__thumb${a===r?" tpdp__thumb--active":""}`,onClick:()=>i(a),"aria-label":`Image ${a+1}`,children:(0,t.jsx)("img",{src:e.url,alt:""})},e.url))}):null]})}])},271857,e=>{"use strict";var t=e.i(435368),a=e.i(611599),r=e.i(937148),i=e.i(883772),n=e.i(34681),l=e.i(999413);e.s(["StoreCartPageClient",0,function({tenantSlug:e}){let s=a.useSyncExternalStore(r.subscribe,r.getSnapshot,r.getServerSnapshot),[o,c]=a.useState(!1),[d,u]=a.useState(new Set),[p,m]=a.useState(new Map),[h,f]=a.useState(!1),[g,b]=a.useState(null);a.useEffect(()=>{let t=!1;return async function(){let a=(0,r.getSnapshot)();if(0===a.length)return c(!0);let i=[...new Set(a.map(e=>e.handle))],n=new Map;if(await Promise.all(i.map(async t=>{try{let a=await fetch((0,l.tenantStoreProductUrl)(e,t));if(404===a.status)return void n.set(t,null);if(!a.ok)return;let r=await a.json();n.set(t,r.product??null)}catch{}})),t)return;let s=new Set,o=[];for(let e of a){if(!n.has(e.handle)){o.push(e);continue}let t=n.get(e.handle),a=t?.variants.find(t=>t.id===e.variantId);if(!t||!a){s.add(e.variantId),o.push(e);continue}o.push({...e,title:t.title,variantTitle:a.title,price:a.price,currencyCode:t.priceRange.currencyCode,image:t.images[0]?.url??e.image}),a.availableForSale||s.add(e.variantId)}(0,r.replaceLines)(o),u(s),c(!0)}(),()=>{t=!0}},[e]);let y=a.useMemo(()=>s.filter(e=>!d.has(e.variantId)),[s,d]),w=a.useMemo(()=>(0,r.totalsFor)(y),[y]);if(!o)return(0,t.jsx)("p",{className:"tcartpage__loading",children:"Loading your cart…"});async function v(){f(!0),b(null);let t=await (0,n.createStoreCheckout)(e,y.map(e=>({variantId:e.variantId,qty:e.qty})));if("redirect"===t.kind){window.location.href=t.checkoutUrl;return}if(f(!1),"line_errors"===t.kind){m(new Map(t.lineErrors.map(e=>[e.variantId,e.message]))),b("Some items could not be checked out — see the flagged lines below.");return}b(t.message)}return 0===s.length?(0,t.jsxs)("div",{className:"tcartpage tcartpage--empty",children:[(0,t.jsx)("p",{children:"Your cart is empty."}),(0,t.jsx)("a",{className:"tprd__btn tprd__btn--secondary",href:"/shop",children:"Browse products"})]}):(0,t.jsxs)("div",{className:"tcartpage",children:[(0,t.jsx)("ul",{className:"tcartpage__lines",children:s.map(e=>{let a=d.has(e.variantId),n=p.get(e.variantId);return(0,t.jsxs)("li",{className:`tcartpage__line${a?" tcartpage__line--gone":""}`,children:[e.image?(0,t.jsx)("img",{src:e.image,alt:""}):(0,t.jsx)("span",{className:"tcart__thumb","aria-hidden":"true"}),(0,t.jsxs)("div",{className:"tcartpage__info",children:[(0,t.jsx)("a",{href:`/products/${e.handle}`,children:e.title}),e.variantTitle&&"Default Title"!==e.variantTitle?(0,t.jsx)("span",{children:e.variantTitle}):null,(0,t.jsx)("span",{className:"tcartpage__price",children:(0,i.formatStoreMoney)(e.price,e.currencyCode)}),a?(0,t.jsx)("span",{className:"tcartpage__flag",role:"alert",children:"No longer available"}):null,n?(0,t.jsx)("span",{className:"tcartpage__flag",role:"alert",children:n}):null]}),(0,t.jsxs)("div",{className:"tcart__qty",children:[(0,t.jsx)("button",{type:"button","aria-label":"Decrease quantity",onClick:()=>(0,r.setQty)(e.variantId,e.qty-1),children:"−"}),(0,t.jsx)("span",{children:e.qty}),(0,t.jsx)("button",{type:"button","aria-label":"Increase quantity",onClick:()=>(0,r.setQty)(e.variantId,e.qty+1),children:"+"})]}),(0,t.jsx)("button",{type:"button",className:"tcart__remove","aria-label":`Remove ${e.title}`,onClick:()=>(0,r.removeLine)(e.variantId),children:"✕"})]},e.variantId)})}),(0,t.jsxs)("aside",{className:"tcartpage__summary",children:[(0,t.jsxs)("p",{className:"tcartpage__subtotal",children:["Subtotal (",w.count," item",1===w.count?"":"s","):"," ",(0,t.jsx)("strong",{children:(0,i.formatStoreMoney)(String(w.subtotal),w.currencyCode)})]}),(0,t.jsx)("p",{className:"tcartpage__note",children:"Shipping, tax and discounts are calculated at checkout."}),g?(0,t.jsx)("p",{className:"tcart__error",role:"alert",children:g}):null,(0,t.jsx)("button",{type:"button",className:"tprd__btn tprd__btn--block",onClick:v,disabled:h||0===y.length,children:h?"Starting checkout…":"Checkout"})]})]})}])},924259,e=>{"use strict";e.i(210781);var t=e.i(9852);let a={prefix:"ha",rootSelector:".ha-scope",features:["reveal"],staggerStepMs:70};function r(){return(0,t.useTemplateMotion)(a),null}e.s(["HaMotion",0,r,"default",0,r])},518602,e=>{"use strict";var t=e.i(435368),a=e.i(611599);function r({n:e}){return(0,t.jsx)("span",{className:"ha-rev__stars","aria-label":`${e} out of 5 stars`,children:[0,1,2,3,4].map(a=>(0,t.jsx)("svg",{viewBox:"0 0 24 24",width:"16",height:"16","aria-hidden":"true",children:(0,t.jsx)("path",{d:"M12 2.5l2.9 6 6.6.9-4.8 4.6 1.2 6.5L12 17.4 6.1 20.5l1.2-6.5L2.5 9.4l6.6-.9z",fill:a<Math.round(e)?"currentColor":"none",stroke:"currentColor",strokeWidth:"1.4",strokeLinejoin:"round"})},a))})}function i({reviews:e}){let n=a.useRef(null),[l,s]=a.useState(0),[o,c]=a.useState(1),d=a.useCallback(()=>{let e=n.current;e&&(c(Math.max(1,Math.ceil(e.scrollWidth/Math.max(1,e.clientWidth)))),s(Math.round(e.scrollLeft/Math.max(1,e.clientWidth))))},[]);a.useEffect(()=>{d();let e=n.current;if(e)return e.addEventListener("scroll",d,{passive:!0}),window.addEventListener("resize",d),()=>{e.removeEventListener("scroll",d),window.removeEventListener("resize",d)}},[d]);let u=e=>{let t=n.current;t&&t.scrollBy({left:e*t.clientWidth,behavior:"smooth"})};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{className:"ha-rev__rail",ref:n,tabIndex:0,"aria-label":"Customer reviews",children:e.map(e=>(0,t.jsxs)("figure",{className:"ha-rev__card",children:[(0,t.jsx)(r,{n:e.rating}),(0,t.jsx)("blockquote",{className:"ha-rev__quote",children:e.text}),(0,t.jsxs)("figcaption",{className:"ha-rev__by",children:[e.author_name,e.relative_time?(0,t.jsx)("span",{children:e.relative_time}):null]})]},e.google_review_id))}),o>1?(0,t.jsxs)("div",{className:"ha-rev__nav",children:[(0,t.jsx)("button",{type:"button",className:"ha-rev__arrow",onClick:()=>u(-1),disabled:l<=0,"aria-label":"Previous reviews",children:(0,t.jsx)("svg",{viewBox:"0 0 24 24",width:"18",height:"18","aria-hidden":"true",children:(0,t.jsx)("path",{d:"M15 5l-7 7 7 7",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})}),(0,t.jsx)("span",{className:"ha-rev__dots",children:Array.from({length:o}).map((e,a)=>(0,t.jsx)("i",{className:a===l?"is-on":void 0,"aria-hidden":"true"},a))}),(0,t.jsx)("button",{type:"button",className:"ha-rev__arrow",onClick:()=>u(1),disabled:l>=o-1,"aria-label":"More reviews",children:(0,t.jsx)("svg",{viewBox:"0 0 24 24",width:"18",height:"18","aria-hidden":"true",children:(0,t.jsx)("path",{d:"M9 5l7 7-7 7",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})})]}):null]})}e.s(["HaReviewsRail",0,i,"HaStars",0,r,"default",0,i])},107202,e=>{"use strict";var t=e.i(435368),a=e.i(611599);let r=e=>
131e.toLocaleString("en-US",{style:"currency",currency:"USD",maximumFractionDigits:0});e.s(["MortgageCalculator",0,function(){let e,i,[n,l]=a.useState(65e4),[s,o]=a.useState(15),[c,d]=a.useState(6.49),[u,p]=a.useState(30),m=Math.round(n*s/100),h=Math.max(n-m,0),f=(e=c/100/12,i=12*u,0===e?h/i:h*e*Math.pow(1+e,i)/(Math.pow(1+e,i)-1)),g=.0055*n/12,b=.0035*n/12;return(0,t.jsxs)("div",{className:"srm-calc srm-reveal",children:[(0,t.jsxs)("div",{className:"srm-calc__inputs",children:[(0,t.jsxs)("div",{className:"srm-calc__field",children:[(0,t.jsxs)("label",{htmlFor:"c-price",children:["Home price ",(0,t.jsx)("b",{children:r(n)})]}),(0,t.jsx)("input",{id:"c-price",type:"range",min:2e5,max:2e6,step:1e4,value:n,onChange:e=>l(+e.target.value)})]}),(0,t.jsxs)("div",{className:"srm-calc__field",children:[(0,t.jsxs)("label",{htmlFor:"c-down",children:["Down payment ",(0,t.jsxs)("b",{children:[s,"% · ",r(m)]})]}),(0,t.jsx)("input",{id:"c-down",type:"range",min:0,max:50,step:1,value:s,onChange:e=>o(+e.target.value)})]}),(0,t.jsxs)("div",{className:"srm-calc__field",children:[(0,t.jsxs)("label",{htmlFor:"c-rate",children:["Interest rate ",(0,t.jsxs)("b",{children:[c.toFixed(2),"%"]})]}),(0,t.jsx)("input",{id:"c-rate",type:"range",min:4,max:9,step:.05,value:c,onChange:e=>d(+e.target.value)})]}),(0,t.jsxs)("div",{className:"srm-calc__field",children:[(0,t.jsxs)("label",{htmlFor:"c-term",children:["Loan term ",(0,t.jsxs)("b",{children:[u," years"]})]}),(0,t.jsx)("input",{id:"c-term",type:"range",min:10,max:30,step:5,value:u,onChange:e=>p(+e.target.value)})]})]}),(0,t.jsxs)("div",{className:"srm-calc__out",children:[(0,t.jsx)("span",{className:"cap",children:"Estimated monthly payment"}),(0,t.jsxs)("div",{className:"big",children:[r(f+g+b).replace("$",""),(0,t.jsx)("span",{children:"/mo"})]}),(0,t.jsxs)("span",{className:"sub",children:["on a ",r(h)," loan · ",c.toFixed(2),"% · ",u," yr"]}),(0,t.jsxs)("div",{className:"srm-calc__break",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{children:"Principal & interest"}),(0,t.jsx)("span",{children:r(f)})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{children:"Est. property tax"}),(0,t.jsx)("span",{children:r(g)})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{children:"Est. homeowners insurance"}),(0,t.jsx)("span",{children:r(b)})]})]}),(0,t.jsx)("p",{className:"srm-calc__note",children:"Estimates only. Taxes and insurance vary by property. Your loan officer will build the real numbers from your file."})]})]})}])},384617,e=>{"use strict";e.i(210781);var t=e.i(9852);let a={prefix:"srm",rootSelector:".srm-root",readyClass:"srm-reveal-ready",readyTarget:"documentElement",features:["reveal"]};function r(){return(0,t.useTemplateMotion)(a),null}e.s(["SrmScrollReveal",0,r,"default",0,r])},345827,e=>{"use strict";e.i(210781);var t=e.i(9852);let a={prefix:"mtu",rootSelector:".mtu-root",readyClass:"mtu-reveal-ready",readyTarget:"documentElement",features:["reveal"]};function r(){return(0,t.useTemplateMotion)(a),null}e.s(["MtuScrollReveal",0,r,"default",0,r])},827170,e=>{"use strict";var t=e.i(611599);e.s(["BhScrollReveal",0,function(){return(0,t.useEffect)(()=>{if(window.matchMedia&&window.matchMedia("(prefers-reduced-motion: reduce)").matches)return;document.documentElement.classList.add("bh-reveal-ready");let e=document.querySelectorAll(".bh-reveal"),t=new IntersectionObserver(e=>e.forEach(e=>{e.isIntersecting&&(e.target.classList.add("is-visible"),t.unobserve(e.target))}),{threshold:.08,rootMargin:"0px 0px -40px 0px"});e.forEach(e=>t.observe(e)),document.querySelectorAll(".bh-reveal:not(.is-visible)").forEach(e=>{let a;(a=e.getBoundingClientRect()).top<window.innerHeight&&a.bottom>0&&(e.classList.add("is-visible"),t.unobserve(e))});let a=setTimeout(()=>{document.querySelectorAll(".bh-reveal:not(.is-visible)").forEach(e=>e.classList.add("is-visible"))},3e3);return()=>{clearTimeout(a),t.disconnect()}},[]),null}])},640549,e=>{"use strict";var t=e.i(611599);e.s(["EsScrollReveal",0,function(){return(0,t.useEffect)(()=>{if(window.matchMedia&&window.matchMedia("(prefers-reduced-motion: reduce)").matches)return;document.documentElement.classList.add("es-reveal-ready");let e=document.querySelectorAll(".es-reveal"),t=new Map;
131e.forEach(e=>{let a=e.parentElement;if(!a)return;let r=t.get(a)??0;t.set(a,r+1);let i=Math.min(75*r,300);i>0&&(e.style.transitionDelay=`${i}ms`)});let a=e=>{let t=e.querySelector("img");if(t&&!t.complete){let a=!1,r=()=>{a||(a=!0,e.classList.add("is-visible"))};t.addEventListener("load",r,{once:!0}),t.addEventListener("error",r,{once:!0}),window.setTimeout(r,1200)}else e.classList.add("is-visible")},r=new IntersectionObserver(e=>e.forEach(e=>{e.isIntersecting&&(a(e.target),r.unobserve(e.target))}),{threshold:.08,rootMargin:"0px 0px -40px 0px"});e.forEach(e=>r.observe(e)),document.querySelectorAll(".es-reveal:not(.is-visible)").forEach(e=>{let t;(t=e.getBoundingClientRect()).top<window.innerHeight&&t.bottom>0&&(a(e),r.unobserve(e))});let i=setTimeout(()=>{document.querySelectorAll(".es-reveal:not(.is-visible)").forEach(e=>e.classList.add("is-visible"))},3e3),n=new IntersectionObserver(e=>e.forEach(e=>{if(!e.isIntersecting)return;n.unobserve(e.target);let t=e.target,a=(t.textContent??"").trim(),r=a.match(/^(\d[\d,]*)(\+?)$/);if(!r)return;let i=r[1].replace(/,/g,""),l=r[2],s=parseInt(i,10);if(!Number.isFinite(s)||s<=0)return;let o=r[1].includes(","),c=e=>o?e.toLocaleString("en-US"):String(e),d=performance.now(),u=e=>{let r=Math.min(1,(e-d)/1100),i=1-Math.pow(1-r,3);r<1?(t.textContent=""+c(Math.round(s*i))+l,requestAnimationFrame(u)):t.textContent=a};t.textContent=""+c(0)+l,requestAnimationFrame(u)}),{threshold:.4});return document.querySelectorAll(".es-band__n").forEach(e=>n.observe(e)),()=>{clearTimeout(i),r.disconnect(),n.disconnect()}},[]),null}])},908522,e=>{"use strict";var t=e.i(611599),a=e.i(641729);e.s(["MrgScrollReveal",0,function(){let e=(0,a.usePathname)();return(0,t.useEffect)(()=>{if(window.matchMedia&&window.matchMedia("(prefers-reduced-motion: reduce)").matches)return;document.documentElement.classList.add("mrg-reveal-ready");let e=document.querySelectorAll(".mrg-reveal"),t=new IntersectionObserver(e=>e.forEach(e=>{e.isIntersecting&&(e.target.classList.add("is-visible"),t.unobserve(e.target))}),{threshold:.08,rootMargin:"0px 0px -40px 0px"});e.forEach(e=>t.observe(e)),document.querySelectorAll(".mrg-reveal:not(.is-visible)").forEach(e=>{let a;(a=e.getBoundingClientRect()).top<window.innerHeight&&a.bottom>0&&(e.classList.add("is-visible"),t.unobserve(e))});let a=setTimeout(()=>{document.querySelectorAll(".mrg-reveal:not(.is-visible)").forEach(e=>e.classList.add("is-visible"))},3e3);return()=>{clearTimeout(a),t.disconnect()}},[e]),null}])},96053,e=>{"use strict";var t=e.i(435368),a=e.i(611599);let r=[{key:"cedar",label:"Cedar privacy",low:28,high:45,note:"6 ft board-on-board, full privacy"},{key:"steel",label:"Ornamental steel",low:32,high:55,note:"powder-coated pickets, open view"},{key:"vinyl",label:"Vinyl",low:30,high:50,note:"low-maintenance panels"},{key:"chain",label:"Chain link",low:12,high:22,note:"galvanized, security & pets"}];function i(e){return"$"+10*Math.round(e/10)}function n(){let[e,n]=a.useState("cedar"),[l,s]=a.useState(150),[o,c]=a.useState(!0),d=r.find(t=>t.key===e)??r[0],u=Math.max(0,Math.min(2e3,Number.isFinite(l)?l:0)),p=u*d.low+250*!!o,m=u*d.high+650*!!o,h=u>0;return(0,t.jsxs)("div",{className:"iw-est","data-hs-reveal":!0,children:[(0,t.jsxs)("div",{className:"iw-est__row",children:[(0,t.jsxs)("div",{className:"iw-est__field",style:{gridColumn:"1 / -1"},children:[(0,t.jsx)("span",{className:"iw-est__label",children:"Fence material"}),(0,t.jsx)("div",{className:"iw-est__opts",role:"group","aria-label":"Fence material",children:r.map(a=>(0,t.jsx)("button",{type:"button",className:"iw-est__opt","aria-pressed":e===a.key,onClick:()=>n(a.key),children:a.label},a.key))})]}),(0,t.jsxs)("div",{className:"iw-est__field",children:[(0,t.jsx)("label",{className:"iw-est__label",htmlFor:"iw-est-feet",children:"Linear feet of fence"}),(0,t.jsx)("input",{id:"iw-est-feet",className:"iw-est__input",type:"number",min:0,max:2e3,inputMode:"numeric",value:Number.isFinite(l)?l:"",onChange:e=>s(parseInt(e.target.value,10))})]}),(0,t.jsxs)("div",{className:"iw-est__field",style:{justifyContent:"flex-end"},children:[(0,t.jsx)("span",{className:"iw-est__label",children:"Options"}),(0,t.jsxs)("label",{className:"iw-est__toggle",children:[(0,t.jsx)("input",{type:"checkbox",checked:o,onChange:e=>c(e.target.checked)}),"Include one gate"]})]})]}),(0,t.jsxs)("div",{className:"iw-est__result",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{className:"iw-est__label",style:{display:"block",marginBottom:".5rem"},children:"Estimated range"}),(0,t.jsx)("div",{className:"iw-est__price",children:h?(0,t.jsxs)(t.Fragment,{children:[i(p)," ",(0,t.jsx)("span",{children:"to"})," ",i(m)]}):(0,t.jsx)("span",{children:"Enter your footage"})})]}),(0,t.jsx)("p",{className:"iw-est__breakdown",children:h?(0,t.jsxs)(t.Fragment,{children:[d.label," (",d.note,") across ",u," ft",o?", one gate included":"",". Grade, tear-out and permits move the final number. Book a free walkthrough for the exact price."]}):(0,t.jsx)(t.Fragment,{children:"Typical back yards run 120 to 220 linear feet. Not sure? We will measure it for free."})})]})]})}e.s(["IwEstimator",0,n,"default",0,n])},449320,e=>{"use strict";e.i(210781);var t=e.i(9852);let a={prefix:"svo",rootSelector:".svo-root",readyClass:"svo-reveal-ready",readyTarget:"documentElement",features:["reveal"]};function r(){return(0,t.useTemplateMotion)(a),null}e.s(["SvoScrollReveal",0,r,"default",0,r])},794402,e=>{"use strict";e.i(210781);var t=e.i(9852);let a={prefix:"svt",rootSelector:".svt-root",readyClass:"svt-reveal-ready",readyTarget:"documentElement",features:["reveal"]};function r(){return(0,t.useTemplateMotion)(a),null}e.s(["SvtScrollReveal",0,r,"default",0,r])}]);

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.