{"product_id":"before-you-clear-checklist","title":"Before You Clear: The Landowner's 15-Point Pre-Clearing Checklist","description":"\u003cdiv class=\"pcm\" data-funnel=\"pre-clearing-checklist\"\u003e\n\u003cstyle\u003e\n\/* ============================================================\n   HERITAGE ARBORIST - PRE-CLEARING CHECKLIST PRODUCT PAGE\n   Visual language matches the .la local-area page shell, but\n   scoped under .pcm so it cannot collide with .la on any page\n   that might load both (e.g. Product + Page templates).\n   ============================================================ *\/\n.pcm{--ink:#141414;--paper:#fff;--sand:#f4f2ed;--line:#e2ded6;--green:#2f4a35;--green-lt:#eaefe9;--rust:#7a3b1e;--muted:#5c574f;\nmax-width:1080px;margin:0 auto;color:var(--ink);line-height:1.6;font-size:1.02rem;padding-bottom:3rem}\n.pcm *{box-sizing:border-box}\n.pcm h2,.pcm h3{line-height:1.15;text-wrap:balance;margin:0}\n.pcm h2{font-size:clamp(1.4rem,4vw,1.9rem);font-weight:700;margin:0 0 .7rem}\n.pcm h3{font-size:1.08rem;font-weight:700;margin:0 0 .35rem}\n.pcm p{margin:.7rem 0;max-width:68ch}\n.pcm ul,.pcm ol{max-width:68ch}\n.pcm li{margin:.3rem 0}\n.pcm section{padding:2.2rem 0;border-top:1px solid var(--line)}\n.pcm section:first-of-type{border-top:none;padding-top:1rem}\n.pcm .eyebrow{font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--green);margin:0 0 .6rem}\n.pcm .lead{font-size:1.08rem;color:var(--muted);max-width:62ch}\n.pcm a{color:var(--rust)}\n@media(max-width:700px){.pcm{font-size:1rem}.pcm section{padding:1.7rem 0}.pcm .lead{font-size:1.02rem}}\n\n\/* intro band *\/\n.pcm-band{background:var(--green);color:#fff;padding:1.9rem 1.3rem;margin:.6rem 0 0;border-radius:2px}\n.pcm-band p{color:#dbe6dc}\n.pcm-band .eyebrow{color:#b9d0bd}\n.pcm-band strong{color:#fff}\n@media(max-width:700px){.pcm-band{padding:1.5rem 1rem}}\n\n\/* cards *\/\n.pcm-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:.9rem;margin:1.1rem 0}\n@media(max-width:900px){.pcm-cards{grid-template-columns:1fr 1fr}}\n@media(max-width:520px){.pcm-cards{grid-template-columns:1fr}}\n.pcm-card{border:1px solid var(--line);background:var(--paper);padding:.95rem 1.05rem}\n.pcm-card p{font-size:.92rem;color:var(--muted);margin:.3rem 0 0}\n.pcm-card .n{font-size:.72rem;font-weight:800;color:var(--green);letter-spacing:.08em;margin-bottom:.2rem;display:block}\n\n\/* how-to-get-it box *\/\n.pcm-getit{background:var(--sand);border-left:4px solid var(--green);padding:1.2rem 1.3rem;margin:1.1rem 0}\n.pcm-getit h3{margin-bottom:.4rem}\n.pcm-btn{display:inline-block;background:var(--ink);color:#fff !important;text-decoration:none;font-weight:800;padding:.85rem 1.4rem;font-size:.98rem;border:2px solid var(--ink);min-height:48px;line-height:1.5;text-align:center;margin-top:.6rem}\n\n\/* note *\/\n.pcm-note{background:#f7f4ec;border-left:4px solid #8a6d3b;padding:.95rem 1.1rem;font-size:.93rem;margin:1.1rem 0}\n.pcm-note p{max-width:none;margin:.4rem 0}\n\n\/* optional divider \/ form wrap *\/\n.pcm-optional-tag{display:inline-block;background:var(--green-lt);color:var(--green);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:.3rem .6rem;margin-bottom:.6rem}\n.pcm-form-wrap{background:var(--sand);border:1px solid var(--line);padding:1.4rem}\n@media(max-width:700px){.pcm-form-wrap{padding:1rem}}\n.pcm-form-wrap label{display:block;font-weight:700;font-size:.87rem;margin:.9rem 0 .3rem}\n.pcm-form-wrap label.opt:after{content:\" (optional)\";font-weight:400;color:#857f76}\n.pcm-form-wrap input[type=text],.pcm-form-wrap input[type=tel],.pcm-form-wrap input[type=email],.pcm-form-wrap select,.pcm-form-wrap textarea{width:100%;max-width:100%;padding:.75rem;border:1px solid #b5b0a7;background:#fff;font:inherit;font-size:16px;min-height:48px;border-radius:0}\n.pcm-form-wrap textarea{min-height:100px}\n.pcm-row2{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}\n@media(max-width:700px){.pcm-row2{grid-template-columns:1fr}}\n.pcm-form-wrap fieldset{border:none;padding:0;margin:1rem 0 0;min-width:0}\n.pcm-form-wrap legend{font-weight:700;font-size:.87rem;padding:0;margin-bottom:.4rem}\n.pcm-check label{font-weight:400;display:flex;align-items:flex-start;gap:.5rem;margin:.3rem 0;min-height:auto}\n.pcm-check input{margin-top:.2rem}\n.pcm-submit{background:var(--ink);color:#fff;border:2px solid var(--ink);font:inherit;font-weight:800;font-size:.98rem;padding:.95rem;min-height:50px;cursor:pointer;width:100%;margin-top:1.3rem}\n.pcm-submit:disabled{opacity:.6;cursor:default}\n.pcm-err{background:#fdecea;border:1px solid #d93025;color:#8a1c14;padding:.65rem .85rem;font-size:.88rem;margin:.85rem 0}\n.pcm :focus-visible{outline:3px solid var(--rust);outline-offset:2px}\n\n\/* faq *\/\n.pcm-faq details{border-bottom:1px solid var(--line);padding:.75rem 0}\n.pcm-faq summary{cursor:pointer;font-weight:700;font-size:.98rem;list-style:none;padding-right:1.3rem;position:relative}\n.pcm-faq summary::-webkit-details-marker{display:none}\n.pcm-faq summary:after{content:\"+\";position:absolute;right:0;top:0;font-weight:400;font-size:1.25rem;line-height:1;color:var(--green)}\n.pcm-faq details[open] summary:after{content:\"–\"}\n.pcm-faq p{font-size:.94rem;color:var(--muted);margin:.55rem 0 .1rem}\n\n\/* links *\/\n.pcm-links{list-style:none;padding:0;margin:1rem 0;display:grid;grid-template-columns:repeat(2,1fr);gap:.55rem;max-width:none}\n@media(max-width:640px){.pcm-links{grid-template-columns:1fr}}\n.pcm-links li{background:var(--sand);margin:0}\n.pcm-links a{display:block;padding:.8rem .95rem;text-decoration:none;font-weight:700;font-size:.92rem;color:var(--ink) !important;min-height:46px;line-height:1.4;border-left:3px solid var(--green)}\n.pcm-links a:hover{background:var(--green-lt)}\n.pcm-links span{display:block;font-weight:400;font-size:.84rem;color:var(--muted);margin-top:.15rem}\n\u003c\/style\u003e\n\n\u003cdiv class=\"pcm-band\"\u003e\n\u003cp class=\"eyebrow\"\u003eFree Digital Download · North Alabama Landowners\u003c\/p\u003e\n\u003ch2\u003eBefore You Clear: The Landowner's 15-Point Pre-Clearing Checklist\u003c\/h2\u003e\n\u003cp class=\"lead\"\u003eIf you own wooded or overgrown acreage in North Alabama and you're weighing forestry mulching or land clearing, this checklist walks you through what's worth working out on your own \u003cem\u003ebefore\u003c\/em\u003e any equipment ever shows up — boundaries, utilities, which trees to keep, and what the ground will actually look like when it's done.\u003c\/p\u003e\n\u003c\/div\u003e\n\n\u003csection\u003e\n\u003cp class=\"eyebrow\"\u003eWhat's inside\u003c\/p\u003e\n\u003ch2\u003e15 points, in four sections\u003c\/h2\u003e\n\u003cp\u003eThis isn't a sales piece — it's a working checklist you can print or keep on your phone and go through at your own pace, on your own property.\u003c\/p\u003e\n\u003cdiv class=\"pcm-cards\"\u003e\n\u003cdiv class=\"pcm-card\"\u003e\n\u003cspan class=\"n\"\u003eSection 1\u003c\/span\u003e\u003ch3\u003eBefore you call anyone\u003c\/h3\u003e\n\u003cp\u003eBoundaries, utilities, septic and well locations, deed restrictions, and local jurisdiction requirements.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"pcm-card\"\u003e\n\u003cspan class=\"n\"\u003eSection 2\u003c\/span\u003e\u003ch3\u003eDeciding what stays\u003c\/h3\u003e\n\u003cp\u003eIdentifying and flagging keeper trees, and understanding how clearing changes what's left standing.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"pcm-card\"\u003e\n\u003cspan class=\"n\"\u003eSection 3\u003c\/span\u003e\u003ch3\u003eUnderstanding the method\u003c\/h3\u003e\n\u003cp\u003eWhat forestry mulching does and doesn't do to roots, surface material, and regrowth.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"pcm-card\"\u003e\n\u003cspan class=\"n\"\u003eSection 4\u003c\/span\u003e\u003ch3\u003ePractical logistics\u003c\/h3\u003e\n\u003cp\u003eEquipment access, timing, and ground conditions to think through ahead of time.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp\u003eIt's written for property owners — not contractors — considering forestry mulching or land clearing anywhere in North Alabama, whether or not you ever hire Heritage Arborist for anything.\u003c\/p\u003e\n\u003c\/section\u003e\n\n\u003csection\u003e\n\u003cp class=\"eyebrow\"\u003eHow to get it\u003c\/p\u003e\n\u003ch2\u003eGetting your copy\u003c\/h2\u003e\n\u003cdiv class=\"pcm-getit\"\u003e\n\u003ch3\u003eAdd this to your cart and complete checkout — it's free — to get your copy.\u003c\/h3\u003e\n\u003cp style=\"margin-bottom:0\"\u003eThis product is priced at $0.00. Add it to your cart and go through Shopify's normal checkout like any other order. The PDF is delivered as a standard digital download through your order — check your order confirmation and any follow-up email from checkout for the download link. If you don't see it, contact Heritage Arborist directly and a copy will be sent to you.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003csection\u003e\n\u003cp class=\"eyebrow\"\u003eNo strings attached\u003c\/p\u003e\n\u003ch2\u003eThis checklist stands on its own\u003c\/h2\u003e\n\u003cdiv class=\"pcm-note\"\u003e\n\u003cp style=\"margin-top:0\"\u003eThis download does not require hiring Heritage Arborist for anything. It's free, it's yours to keep, and it's meant to be useful on its own — whether you end up doing the work yourself, hiring someone else, or deciding not to clear at all.\u003c\/p\u003e\n\u003cp style=\"margin-bottom:0\"\u003eIt's general educational information, not a substitute for a site visit, a survey, a licensed utility locate, or a documented tree risk assessment.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003csection id=\"pcm-followup\"\u003e\n\u003cspan class=\"pcm-optional-tag\"\u003eCompletely optional — not required for the checklist\u003c\/span\u003e\n\u003ch2\u003eWant us to follow up about your specific property?\u003c\/h2\u003e\n\u003cp\u003eThe checklist above is yours either way — you don't need to fill anything out below to get it. This short form is only for landowners who'd like a real conversation about an actual project on their property. If that's not you right now, feel free to skip it entirely.\u003c\/p\u003e\n\n\u003cdiv class=\"pcm-form-wrap\"\u003e\n\u003cdiv id=\"pcm-err\" class=\"pcm-err\" style=\"display:none\" role=\"alert\"\u003e\u003c\/div\u003e\n\n\u003cform id=\"pcm-form\" action=\"\/contact#pcm-followup\" method=\"post\" accept-charset=\"UTF-8\" novalidate\u003e\n\u003cinput type=\"hidden\" name=\"form_type\" value=\"contact\"\u003e\n\u003cinput type=\"hidden\" name=\"utf8\" value=\"✓\"\u003e\n\u003cinput type=\"hidden\" name=\"contact[Request Type]\" value=\"PRE-CLEARING CHECKLIST - FOLLOW-UP REQUEST\"\u003e\n\u003cinput type=\"hidden\" name=\"contact[Division]\" value=\"Heritage Arborist\"\u003e\n\u003cinput type=\"hidden\" id=\"pcm-landing\" name=\"contact[Landing Page]\" value=\"\"\u003e\n\u003cinput type=\"hidden\" id=\"pcm-ref\" name=\"contact[Referring URL]\" value=\"\"\u003e\n\u003cinput type=\"hidden\" id=\"pcm-us\" name=\"contact[UTM Source]\" value=\"\"\u003e\n\u003cinput type=\"hidden\" id=\"pcm-um\" name=\"contact[UTM Medium]\" value=\"\"\u003e\n\u003cinput type=\"hidden\" id=\"pcm-uc\" name=\"contact[UTM Campaign]\" value=\"\"\u003e\n\u003cinput type=\"hidden\" id=\"pcm-ucn\" name=\"contact[UTM Content]\" value=\"\"\u003e\n\u003cinput type=\"hidden\" id=\"pcm-ut\" name=\"contact[UTM Term]\" value=\"\"\u003e\n\u003cinput type=\"hidden\" id=\"pcm-first\" name=\"contact[First Known Source]\" value=\"\"\u003e\n\u003cinput type=\"hidden\" id=\"pcm-ts\" name=\"contact[Submitted At]\" value=\"\"\u003e\n\n\u003ch3 style=\"margin-top:.2rem\"\u003eThe property\u003c\/h3\u003e\n\u003clabel for=\"pcm-addr\" class=\"opt\"\u003eProperty address\u003c\/label\u003e\n\u003cinput type=\"text\" id=\"pcm-addr\" name=\"contact[Property Address]\" autocomplete=\"street-address\"\u003e\n\u003cdiv class=\"pcm-row2\"\u003e\n\u003cdiv\u003e\n\u003clabel for=\"pcm-town\"\u003eTown\u003c\/label\u003e\u003cinput type=\"text\" id=\"pcm-town\" name=\"contact[Town]\" required autocomplete=\"address-level2\"\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003clabel for=\"pcm-zip\"\u003eZIP\u003c\/label\u003e\u003cinput type=\"text\" id=\"pcm-zip\" name=\"contact[ZIP]\" required inputmode=\"numeric\" autocomplete=\"postal-code\"\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003clabel for=\"pcm-acres\"\u003eApproximate acreage\u003c\/label\u003e\n\u003cselect id=\"pcm-acres\" name=\"contact[Acreage]\" required\u003e\n\u003coption value=\"\"\u003eSelect one\u003c\/option\u003e\n\u003coption\u003eUnder 1 acre\u003c\/option\u003e\n\u003coption\u003e1-2 acres\u003c\/option\u003e\n\u003coption\u003e2-5 acres\u003c\/option\u003e\n\u003coption\u003e5-10 acres\u003c\/option\u003e\n\u003coption\u003e10-25 acres\u003c\/option\u003e\n\u003coption\u003e25+ acres\u003c\/option\u003e\n\u003coption\u003eNot sure\u003c\/option\u003e\n\u003c\/select\u003e\n\n\u003ch3 style=\"margin-top:1.4rem\"\u003eWhat are you trying to accomplish?\u003c\/h3\u003e\n\u003cfieldset\u003e\n\u003clegend\u003eCheck all that apply\u003c\/legend\u003e\n\u003cdiv class=\"pcm-check\"\u003e\n\u003clabel\u003e\u003cinput type=\"checkbox\" name=\"contact[Goal][]\" value=\"Homesite \/ building prep\"\u003e Homesite \/ building prep\u003c\/label\u003e\n\u003clabel\u003e\u003cinput type=\"checkbox\" name=\"contact[Goal][]\" value=\"Driveway or access\"\u003e Driveway or access\u003c\/label\u003e\n\u003clabel\u003e\u003cinput type=\"checkbox\" name=\"contact[Goal][]\" value=\"Pasture\"\u003e Pasture\u003c\/label\u003e\n\u003clabel\u003e\u003cinput type=\"checkbox\" name=\"contact[Goal][]\" value=\"Recreation\"\u003e Recreation\u003c\/label\u003e\n\u003clabel\u003e\u003cinput type=\"checkbox\" name=\"contact[Goal][]\" value=\"Hunting \/ property management\"\u003e Hunting \/ property management\u003c\/label\u003e\n\u003clabel\u003e\u003cinput type=\"checkbox\" name=\"contact[Goal][]\" value=\"Visibility \/ opening up the property\"\u003e Visibility \/ opening up the property\u003c\/label\u003e\n\u003clabel\u003e\u003cinput type=\"checkbox\" name=\"contact[Goal][]\" value=\"Commercial \/ development\"\u003e Commercial \/ development\u003c\/label\u003e\n\u003clabel\u003e\u003cinput type=\"checkbox\" name=\"contact[Goal][]\" value=\"General vegetation reclamation\"\u003e General vegetation reclamation\u003c\/label\u003e\n\u003clabel\u003e\u003cinput type=\"checkbox\" name=\"contact[Goal][]\" value=\"Tree preservation focus\"\u003e Tree preservation focus\u003c\/label\u003e\n\u003clabel\u003e\u003cinput type=\"checkbox\" name=\"contact[Goal][]\" value=\"Other\"\u003e Other\u003c\/label\u003e\n\u003c\/div\u003e\n\u003c\/fieldset\u003e\n\u003clabel for=\"pcm-notes\" class=\"opt\"\u003eAnything else about the property or project\u003c\/label\u003e\n\u003ctextarea id=\"pcm-notes\" name=\"contact[Body]\" placeholder=\"e.g. what the ground looks like now, what you're hoping it looks like when it's done\"\u003e\u003c\/textarea\u003e\n\n\u003ch3 style=\"margin-top:1.4rem\"\u003eHow should we reach you?\u003c\/h3\u003e\n\u003clabel for=\"pcm-name\"\u003eName\u003c\/label\u003e\n\u003cinput type=\"text\" id=\"pcm-name\" name=\"contact[Name]\" required autocomplete=\"name\"\u003e\n\u003cdiv class=\"pcm-row2\"\u003e\n\u003cdiv\u003e\n\u003clabel for=\"pcm-phone\"\u003ePhone\u003c\/label\u003e\u003cinput type=\"tel\" id=\"pcm-phone\" name=\"contact[Phone]\" required autocomplete=\"tel\"\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003clabel for=\"pcm-email\"\u003eEmail\u003c\/label\u003e\u003cinput type=\"email\" id=\"pcm-email\" name=\"contact[email]\" required autocomplete=\"email\"\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cbutton type=\"submit\" class=\"pcm-submit\" id=\"pcm-submit\"\u003eSend Follow-Up Request\u003c\/button\u003e\n\u003cp style=\"font-size:.85rem;color:var(--muted)\"\u003eSubmitting sends your details to Heritage Arborist for a follow-up conversation. It does not affect your checklist download, does not schedule work, and does not charge anything.\u003c\/p\u003e\n\u003c\/form\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003csection\u003e\n\u003cp class=\"eyebrow\"\u003eStraight answers\u003c\/p\u003e\n\u003ch2\u003eA few questions people ask\u003c\/h2\u003e\n\u003cdiv class=\"pcm-faq\"\u003e\n\u003cdetails\u003e\u003csummary\u003eDo I have to fill out the form to get the checklist?\u003c\/summary\u003e\u003cp\u003eNo. Add the product to your cart and complete the free checkout — that's all that's needed for the PDF. The follow-up form further up this page is entirely separate and optional, for anyone who wants to talk about an actual project.\u003c\/p\u003e\u003c\/details\u003e\n\u003cdetails\u003e\u003csummary\u003eDoes downloading this obligate me to hire Heritage Arborist?\u003c\/summary\u003e\u003cp\u003eNo. It's a free, standalone resource. Plenty of people who download it never contact Heritage Arborist at all, and that's fine.\u003c\/p\u003e\u003c\/details\u003e\n\u003cdetails\u003e\u003csummary\u003eIs this specific to Heritage Arborist's methods or equipment?\u003c\/summary\u003e\u003cp\u003eNo. It's general guidance for anyone considering forestry mulching or land clearing in North Alabama, regardless of who — if anyone — ends up doing the work.\u003c\/p\u003e\u003c\/details\u003e\n\u003cdetails\u003e\u003csummary\u003eWho put this together?\u003c\/summary\u003e\u003cp\u003eHeritage Arborist is based in Arab, Alabama. Jeremy VanMaanen is a professional arborist and a Certified Alabama Urban Forester who works across North Alabama.\u003c\/p\u003e\u003c\/details\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003csection\u003e\n\u003cp class=\"eyebrow\"\u003eMore from Heritage Arborist\u003c\/p\u003e\n\u003cul class=\"pcm-links\"\u003e\n\u003cli\u003e\u003ca href=\"https:\/\/heritagearborist.com\/pages\/forestry-mulching-land-clearing\"\u003eForestry mulching \u0026amp; land clearing in North Alabama\u003cspan\u003eThe main hub page for this service, wherever your property sits\u003c\/span\u003e\u003c\/a\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ca href=\"https:\/\/heritagearborist.com\/blogs\/news\/walk-your-property-with-an-arborist-before-clearing\"\u003eWhy walk your property with an arborist before clearing\u003cspan\u003eWhat a pre-clearing walk actually covers, and why it's worth doing first\u003c\/span\u003e\u003c\/a\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/section\u003e\n\n\u003c\/div\u003e\n\n\u003cscript\u003e\n\/* =====================================================================\n   HERITAGE ARBORIST - PRE-CLEARING CHECKLIST PRODUCT PAGE (behaviour)\n   PROGRESSIVE ENHANCEMENT ONLY. The follow-up form posts natively to\n   Shopify \/contact. Nothing here intercepts, serialises or transmits\n   the lead, and nothing here affects the checklist purchase\/checkout.\n   ===================================================================== *\/\n(function(){\n\"use strict\";\n\nvar FUNNEL = \"pre-clearing-checklist\";\n\nfunction $(s, c){ return (c||document).querySelector(s); }\nfunction $$(s, c){ return Array.prototype.slice.call((c||document).querySelectorAll(s)); }\nfunction setv(id, val){ var el = document.getElementById(id); if (el) el.value = val == null ? \"\" : String(val); }\n\nfunction track(name, extra){\n  var d = {event:name, funnel:FUNNEL};\n  if (extra) { for (var k in extra) { if (Object.prototype.hasOwnProperty.call(extra,k)) d[k] = extra[k]; } }\n  try { window.dataLayer = window.dataLayer || []; window.dataLayer.push(d); } catch(e){}\n  try { if (typeof window.gtag === \"function\") window.gtag(\"event\", name, d); } catch(e){}\n}\n\n\/* ---------- attribution ---------- *\/\n(function attribution(){\n  var q = {};\n  try {\n    var qstr = location.search;\n    if (qstr.charAt(0) === \"?\") qstr = qstr.substring(1);\n    var raw = qstr.split(\"\u0026\");\n    for (var i=0;i\u003craw.length;i++){\n      if(!raw[i]) continue;\n      var p = raw[i].split(\"=\");\n      q[decodeURIComponent(p[0]).toLowerCase()] = decodeURIComponent((p[1]||\"\").split(\"+\").join(\" \"));\n    }\n  } catch(e){}\n\n  setv(\"pcm-landing\", location.origin + location.pathname);\n  setv(\"pcm-ref\", document.referrer || \"direct \/ none\");\n  setv(\"pcm-us\",  q[\"utm_source\"]   || \"\");\n  setv(\"pcm-um\",  q[\"utm_medium\"]   || \"\");\n  setv(\"pcm-uc\",  q[\"utm_campaign\"] || \"\");\n  setv(\"pcm-ucn\", q[\"utm_content\"]  || \"\");\n  setv(\"pcm-ut\",  q[\"utm_term\"]     || \"\");\n\n  var first = \"\";\n  try {\n    first = localStorage.getItem(\"ha_first_source\") || \"\";\n    if (!first) {\n      first = (q[\"utm_source\"] ? \"utm:\" + q[\"utm_source\"] + \" \/ \" + (q[\"utm_medium\"]||\"unknown\") : \"\")\n            || (document.referrer ? \"referrer:\" + document.referrer : \"\")\n            || \"direct\";\n      first = first + \" @ \" + new Date().toISOString();\n      localStorage.setItem(\"ha_first_source\", first);\n    }\n  } catch(e){ first = \"unavailable (storage blocked)\"; }\n  setv(\"pcm-first\", first);\n\n  track(\"funnel_view\", {landing_page: location.pathname, utm_source: q[\"utm_source\"] || \"(none)\"});\n})();\n\n\/* ---------- follow-up form ---------- *\/\n(function formLayer(){\n  var form = $(\"#pcm-form\"); if (!form) return;\n  var submit = $(\"#pcm-submit\");\n  var errBox = $(\"#pcm-err\");\n  var started = false, sent = false;\n\n  form.addEventListener(\"input\", function(){\n    if (!started) { started = true; track(\"form_start\", {}); }\n  }, false);\n\n  function labelFor(el){\n    if (el.id) { var l = form.querySelector(\"label[for='\" + el.id + \"']\"); if (l) return l.textContent.trim(); }\n    var fs = el.closest ? el.closest(\"fieldset\") : null;\n    if (fs) { var lg = fs.querySelector(\"legend\"); if (lg) return lg.textContent.trim(); }\n    var nm = el.getAttribute(\"name\") || \"this field\";\n    return nm.indexOf(\"[\") \u003e -1 ? nm.split(\"[\").pop().split(\"]\")[0] : nm;\n  }\n\n  form.addEventListener(\"submit\", function(ev){\n    if (sent) { ev.preventDefault(); return; }\n\n    var missing = [];\n    $$(\"input[required], select[required], textarea[required]\", form).forEach(function(el){\n      var ok = el.checkValidity ? el.checkValidity() : !!el.value;\n      if (!ok) { missing.push(labelFor(el)); el.setAttribute(\"aria-invalid\",\"true\"); }\n      else { el.removeAttribute(\"aria-invalid\"); }\n    });\n    if (missing.length) {\n      ev.preventDefault();\n      if (errBox) {\n        errBox.textContent = \"Before sending, please complete: \" + missing.join(\", \") + \".\";\n        errBox.style.display = \"block\";\n        try { errBox.scrollIntoView({behavior:\"smooth\", block:\"center\"}); } catch(e){ errBox.scrollIntoView(); }\n      }\n      track(\"form_error\", {missing: missing.join(\" | \")});\n      var firstBad = $(\"[aria-invalid='true']\", form);\n      if (firstBad) { try { firstBad.focus(); } catch(e){} }\n      return;\n    }\n    if (errBox) { errBox.style.display = \"none\"; errBox.textContent = \"\"; }\n\n    var now = new Date();\n    setv(\"pcm-ts\", now.toISOString() + \" (\" + now.toString() + \")\");\n\n    sent = true;\n    if (submit) { submit.disabled = true; submit.textContent = \"Sending...\"; }\n    track(\"form_submit\", {});\n    \/* NO preventDefault, NO fetch. The browser posts to \/contact natively. *\/\n  }, false);\n})();\n\n})();\n\u003c\/script\u003e\n","brand":"Heritage Arborist","offers":[{"title":"Default Title","offer_id":48059826372745,"sku":null,"price":0.0,"currency_code":"USD","in_stock":true}],"url":"https:\/\/heritagearborist.com\/products\/before-you-clear-checklist","provider":"Heritage Arborist","version":"1.0","type":"link"}