{"title":"Tradesmen Profiles","description":"","products":[{"product_id":"royal-masonry-masonry-repairs","title":"Royal Masonry: Masonry Repairs (Profile)","description":"\u003c!-- About the Tradesman Section --\u003e\n\u003cdiv style=\"background: #ffffff; border-radius: 12px; padding: 20px; margin-top: 30px; box-shadow: 0 2px 8px rgba(0,0,0,0.05);\"\u003e\n  \u003c!-- Title --\u003e\n  \u003ch2 style=\"font-size: 1.4em; font-weight: 600; margin-bottom: 15px; color: #333;\"\u003e👷 \u003cmeta charset=\"utf-8\"\u003eMeet Your Tradesman — Real Person, Real Experience\u003c\/h2\u003e\n  \n  \u003cp class=\"tm-meet-caption\"\u003e\n    A quick introduction so you know who’s working on your home.\n  \u003c\/p\u003e\n  \u003c!-- Video Embed --\u003e\n  \u003cdiv style=\"margin-bottom: 20px; position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; border-radius: 10px;\"\u003e\n    \u003ciframe src=\"https:\/\/www.youtube.com\/embed\/W-IXw8dDMpE?si=uf59ekHwYDC-rjm7\" style=\"position: absolute; top: 0; left: 0; width: 100%; height: 100%; border-radius: 10px;\"\u003e\n    \u003c\/iframe\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv style=\"display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 20px;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n  \u003cul style=\"list-style: none; padding: 0; font-size: 1em; color: #555; line-height: 1.6;\"\u003e\u003c!-- TradeMatch-style photo scroll bar (Compact version, Yellow #FFE033, no title\/subheader) --\u003e\u003c\/ul\u003e\n\n  \u003cdiv class=\"tm-photo-scroll\"\u003e\n    \u003cdiv class=\"tm-photo-scroll__viewport\"\u003e\n      \u003cbutton aria-label=\"Previous photos\" type=\"button\" class=\"tm-photo-scroll__arrow tm-photo-scroll__arrow--left\"\u003e ❮ \u003c\/button\u003e\n      \u003cdiv class=\"tm-photo-scroll__track\"\u003e\n        \u003c!-- Replace these with your own images --\u003e\n        \u003cdiv class=\"tm-photo-scroll__item\"\u003e\u003cimg alt=\"Project photo 1\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0698\/4695\/8394\/files\/6EC9C483-F850-4EE3-A8B3-658F7CEC9540.jpg?v=1753729153\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"tm-photo-scroll__item\"\u003e\u003cimg alt=\"Project photo 2\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0698\/4695\/8394\/files\/WhatsApp_Image_2025-07-28_at_15.07.58.jpg?v=1753729842\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"tm-photo-scroll__item\"\u003e\u003cimg alt=\"Project photo 3\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0698\/4695\/8394\/files\/99AD937D-7B9A-4EAA-B09C-6819C6834D6A.heic?v=1753729049\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"tm-photo-scroll__item\"\u003e\u003cimg alt=\"Project photo 4\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0698\/4695\/8394\/files\/FFA9A145-080D-4BAC-9B5C-2BCA7312C11B_430x.heic?v=1753729237#\"\u003e\u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cbutton aria-label=\"Next photos\" type=\"button\" class=\"tm-photo-scroll__arrow tm-photo-scroll__arrow--right\"\u003e ❯ \u003c\/button\u003e\n    \u003c\/div\u003e\n    \u003cdiv aria-hidden=\"true\" class=\"tm-photo-scroll__dots\"\u003e\n      \u003cspan class=\"tm-photo-scroll__dot tm-photo-scroll__dot--active\"\u003e\u003c\/span\u003e\n      \u003cspan class=\"tm-photo-scroll__dot\"\u003e\u003c\/span\u003e\n      \u003cspan class=\"tm-photo-scroll__dot\"\u003e\u003c\/span\u003e\n      \u003cspan class=\"tm-photo-scroll__dot\"\u003e\u003c\/span\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cul style=\"list-style: none; padding: 0; font-size: 1em; color: #555; line-height: 1.6;\"\u003e\u003c\/ul\u003e\n\u003c\/div\u003e\n\n\u003cstyle\u003e\n  .tm-photo-scroll {\n    margin: 24px 0;\n    padding: 20px 18px 24px;\n    border-radius: 18px;\n    background: #ffffff; \/* was #f8fafc *\/\n    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.06);\n    font-family: inherit;\n  }\n\n  .tm-photo-scroll__viewport {\n    position: relative;\n    display: flex;\n    align-items: center;\n    margin-top: 0;\n  }\n\n  .tm-photo-scroll__track {\n    display: flex;\n    gap: 12px;\n    overflow-x: auto;\n    scroll-snap-type: x mandatory;\n    scroll-behavior: smooth;\n    padding: 4px 4px 8px;\n    -webkit-overflow-scrolling: touch;\n  }\n\n  .tm-photo-scroll__track::-webkit-scrollbar {\n    height: 6px;\n  }\n\n  .tm-photo-scroll__track::-webkit-scrollbar-thumb {\n    background: #FFE033;\n    border-radius: 999px;\n  }\n\n  \/* 🔥 COMPACT IMAGE SIZES *\/\n  .tm-photo-scroll__item {\n    flex: 0 0 60%;\n    max-width: 60%;\n    scroll-snap-align: center;\n  }\n\n  @media (min-width: 900px) {\n    .tm-photo-scroll__item {\n      flex: 0 0 35%;\n      max-width: 35%;\n    }\n  }\n\n  .tm-photo-scroll__item img {\n    display: block;\n    width: 100%;\n    height: auto;\n    border-radius: 14px;\n    object-fit: cover;\n    background: #e5e7eb;\n  }\n\n  .tm-photo-scroll__arrow {\n    flex: 0 0 auto;\n    border: none;\n    background: #FFE033;\n    color: #000;\n    border-radius: 999px;\n    width: 34px;\n    height: 34px;\n    font-size: 18px;\n    cursor: pointer;\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    transition: transform 0.1s ease, box-shadow 0.15s ease;\n    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.18);\n  }\n\n  .tm-photo-scroll__arrow:hover {\n    background: #ffea66;\n    transform: translateY(-1px);\n  }\n\n  .tm-photo-scroll__arrow:active {\n    transform: translateY(0);\n    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);\n  }\n\n  .tm-photo-scroll__arrow--left {\n    margin-right: 8px;\n  }\n\n  .tm-photo-scroll__arrow--right {\n    margin-left: 8px;\n  }\n\n  .tm-photo-scroll__dots {\n    display: flex;\n    justify-content: center;\n    gap: 6px;\n    margin-top: 12px;\n  }\n\n  .tm-photo-scroll__dot {\n    width: 7px;\n    height: 7px;\n    border-radius: 999px;\n    background: #fff3a5;\n    transition: width 0.15s ease, background 0.15s ease;\n  }\n\n  .tm-photo-scroll__dot--active {\n    width: 18px;\n    background: #FFE033;\n  }\n\u003c\/style\u003e\n\n\u003cdiv style=\"background: #ffffff; border-radius: 12px; padding: 20px; margin-top: 30px; box-shadow: 0 2px 8px rgba(0,0,0,0.05);\"\u003e\n  \u003cscript\u003e\n    (function() {\n      var containers = document.querySelectorAll('.tm-photo-scroll');\n      if (!containers.length) return;\n\n      containers.forEach(function(container) {\n        var track = container.querySelector('.tm-photo-scroll__track');\n        var items = Array.prototype.slice.call(container.querySelectorAll('.tm-photo-scroll__item'));\n        var left = container.querySelector('.tm-photo-scroll__arrow--left');\n        var right = container.querySelector('.tm-photo-scroll__arrow--right');\n        var dots = Array.prototype.slice.call(container.querySelectorAll('.tm-photo-scroll__dot'));\n\n        function getCurrentIndex() {\n          var scrollLeft = track.scrollLeft;\n          var itemWidth = items[0].offsetWidth + 12;\n          return Math.round(scrollLeft \/ itemWidth);\n        }\n\n        function goToIndex(index) {\n          if (index \u003c 0) index = 0;\n          if (index \u003e items.length - 1) index = items.length - 1;\n          var itemWidth = items[0].offsetWidth + 12;\n          track.scrollTo({ left: index * itemWidth, behavior: 'smooth' });\n          updateDots(index);\n        }\n\n        function updateDots(activeIndex) {\n          dots.forEach(function(dot, i) {\n            dot.classList.toggle('tm-photo-scroll__dot--active', i === activeIndex);\n          });\n        }\n\n        left.addEventListener('click', function() {\n          goToIndex(getCurrentIndex() - 1);\n        });\n\n        right.addEventListener('click', function() {\n          goToIndex(getCurrentIndex() + 1);\n        });\n\n        track.addEventListener('scroll', function() {\n          if (track._tmScrolling) return;\n          track._tmScrolling = true;\n          window.requestAnimationFrame(function() {\n            track._tmScrolling = false;\n            updateDots(getCurrentIndex());\n          });\n        });\n\n        updateDots(0);\n      });\n    })();\n  \u003c\/script\u003e\n\n  \u003c!-- What Homeowners Say Section --\u003e\n  \u003csection style=\"padding: 20px; background-color: #ffffff; border-radius: 10px; margin-top: 30px; margin-bottom: 30px;\"\u003e\n    \u003ch2 style=\"font-size: 1.5em; margin-bottom: 20px; text-align: center; color: #333;\"\u003e🗣️ What Homeowners Are Saying\u003c\/h2\u003e\n    \u003cdiv style=\"display: flex; flex-direction: column; gap: 15px;\"\u003e\n      \u003cdiv style=\"background-color: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.05);\"\u003e\n        \u003cp style=\"font-style: italic; margin-bottom: 10px;\"\u003e“The team was professional, efficient, and the wall looks better than ever. Highly recommend!”\u003c\/p\u003e\n        \u003cp style=\"font-weight: bold; text-align: right; margin: 0;\"\u003e— Sarah T., Kitchener\u003c\/p\u003e\n      \u003c\/div\u003e\n      \u003cdiv style=\"background-color: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.05);\"\u003e\n        \u003cp style=\"font-style: italic; margin-bottom: 10px;\"\u003e“Fast response and clear communication. The repair was seamless and stress-free.”\u003c\/p\u003e\n        \u003cp style=\"font-weight: bold; text-align: right; margin: 0;\"\u003e— Mark L., Waterloo\u003c\/p\u003e\n      \u003c\/div\u003e\n      \u003cdiv style=\"background-color: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.05);\"\u003e\n        \u003cp style=\"font-style: italic; margin-bottom: 10px;\"\u003e“Reused our existing stones perfectly. The wall blends in beautifully with our yard.”\u003c\/p\u003e\n        \u003cp style=\"font-weight: bold; text-align: right; margin: 0;\"\u003e— Emily H., Cambridge\u003cmeta charset=\"utf-8\"\u003e\u003c\/p\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- FAQ Section --\u003e\n  \u003csection style=\"padding: 20px; background-color: #ffffff; border-radius: 10px; margin-top: 30px; margin-bottom: 40px;\"\u003e\n  \u003ch2 style=\"font-size: 1.5em; margin-bottom: 20px; text-align: center; color: #333;\"\u003e❓Questions homeowners ask most before booking.\u003c\/h2\u003e\n\n    \u003cdetails style=\"background-color: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.05); margin-bottom: 10px;\"\u003e\n      \u003csummary style=\"font-weight: bold; cursor: pointer;\"\u003eIs it free to use TradeMatch?\u003c\/summary\u003e\n      \u003cp style=\"margin-top: 10px;\"\u003eYes, signing up and browsing tradesmen is completely free!\u003c\/p\u003e\n    \u003c\/details\u003e\n\n    \u003cdetails style=\"background-color: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.05); margin-bottom: 10px;\"\u003e\n      \u003csummary style=\"font-weight: bold; cursor: pointer;\"\u003eHow do I know if the tradesmen are reliable?\u003c\/summary\u003e\n      \u003cp style=\"margin-top: 10px;\"\u003eTradesmen are rated by previous customers. You can read reviews, see ratings, and view their work portfolio before making a decision.\u003c\/p\u003e\n    \u003c\/details\u003e\n\n    \u003cdetails style=\"background-color: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.05); margin-bottom: 10px;\"\u003e\n      \u003csummary style=\"font-weight: bold; cursor: pointer;\"\u003eCan I choose which tradesman I want to hire?\u003c\/summary\u003e\n      \u003cp style=\"margin-top: 10px;\"\u003eYes! You can select the tradesman that best fits your needs based on experience, reviews, and services offered.\u003c\/p\u003e\n    \u003c\/details\u003e\n\n    \u003cdetails style=\"background-color: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.05); margin-bottom: 10px;\"\u003e\n      \u003csummary style=\"font-weight: bold; cursor: pointer;\"\u003eHow do I book a job?\u003c\/summary\u003e\n      \u003cp style=\"margin-top: 10px;\"\u003eBrowse available tradesmen, select the service and package you need, fill out the details, and you'll be put in direct contact to schedule a time.\u003c\/p\u003e\n    \u003c\/details\u003e\n\n    \u003cdetails style=\"background-color: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.05); margin-bottom: 10px;\"\u003e\n      \u003csummary style=\"font-weight: bold; cursor: pointer;\"\u003eWhat if the job turns out to be more complicated than expected?\u003c\/summary\u003e\n      \u003cp style=\"margin-top: 10px;\"\u003eIf the project scope changes, the tradesman will provide an updated quote. You’ll always be kept informed with no surprises.\u003c\/p\u003e\n    \u003c\/details\u003e\n\n    \u003cdetails style=\"background-color: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.05); margin-bottom: 10px;\"\u003e\n      \u003csummary style=\"font-weight: bold; cursor: pointer;\"\u003eHow do I pay for the service?\u003c\/summary\u003e\n      \u003cp style=\"margin-top: 10px;\"\u003ePayment is made directly to the tradesman after the job is completed. Methods may include bank transfer, credit card, or other preferred options.\u003c\/p\u003e\n    \u003c\/details\u003e\n\n    \u003cdetails style=\"background-color: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.05); margin-bottom: 10px;\"\u003e\n      \u003csummary style=\"font-weight: bold; cursor: pointer;\"\u003eAre there any hidden fees?\u003c\/summary\u003e\n      \u003cp style=\"margin-top: 10px;\"\u003eNo. We don’t charge homeowners any fees beyond the cost of the job itself.\u003c\/p\u003e\n    \u003c\/details\u003e\n\n    \u003cdetails style=\"background-color: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.05); margin-bottom: 10px;\"\u003e\n      \u003csummary style=\"font-weight: bold; cursor: pointer;\"\u003eWhat if I’m not happy with the work?\u003c\/summary\u003e\n      \u003cp style=\"margin-top: 10px;\"\u003eDiscuss concerns directly with the tradesman. If needed, our support team can help facilitate a resolution.\u003c\/p\u003e\n    \u003c\/details\u003e\n  \u003c\/section\u003e\n\u003c\/div\u003e","brand":"Royal Masonry","offers":[{"title":"Default Title","offer_id":52154066829626,"sku":null,"price":0.0,"currency_code":"CAD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0698\/4695\/8394\/files\/brick-and-stone-structures-collage-fireplace-chimney-wall.png?v=1770951656"},{"product_id":"cruz-contracting-carpentry-services","title":"Cruz Contracting: Carpentry Services (Profile)","description":"\u003c!-- About the Tradesman Section --\u003e\n\u003cdiv style=\"background: #f9f9f9; border-radius: 12px; padding: 20px; margin-top: 30px; box-shadow: 0 2px 8px rgba(0,0,0,0.05);\"\u003e\n\u003c!-- Title --\u003e\n\u003ch2 style=\"font-size: 1.4em; font-weight: 600; margin-bottom: 15px; color: #333;\"\u003e👷\u003cspan\u003e \u003c\/span\u003eWho You'll Be Working With\u003c\/h2\u003e\n\u003c!-- TradeMatch-style photo scroll bar (Compact version, Yellow #FFE033, no title\/subheader) --\u003e\n\u003cdiv class=\"tm-photo-scroll\"\u003e\n\u003cdiv class=\"tm-photo-scroll__viewport\"\u003e\n\u003cbutton class=\"tm-photo-scroll__arrow tm-photo-scroll__arrow--left\" type=\"button\" aria-label=\"Previous photos\"\u003e❮\u003c\/button\u003e\n\u003cdiv class=\"tm-photo-scroll__track\"\u003e\n\u003c!-- 👇 VA: DUPLICATE THIS BLOCK FOR MORE PHOTOS \u0026 JUST CHANGE THE src URL + alt TEXT --\u003e \u003c!-- Slide 1 --\u003e\n\u003cdiv class=\"tm-photo-scroll__item\"\u003e\u003cimg alt=\"Project photo 1\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0698\/4695\/8394\/files\/Screenshot_2025-11-21_054135_1f4acf7c-1e65-4162-abe5-de092eb4b312.jpg?v=1763721819\"\u003e\u003c\/div\u003e\n\u003c!-- Slide 2 --\u003e\n\u003cdiv class=\"tm-photo-scroll__item\"\u003e\u003cimg alt=\"Project photo 2\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0698\/4695\/8394\/files\/Screenshot_2025-11-21_054514.jpg?v=1763721944\"\u003e\u003c\/div\u003e\n\u003c!-- Slide 3 --\u003e\n\u003cdiv class=\"tm-photo-scroll__item\"\u003e\u003cimg alt=\"Project photo 3\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0698\/4695\/8394\/files\/cruzcontracting.jpg?v=1763723044\"\u003e\u003c\/div\u003e\n\u003c!-- Slide 4 --\u003e\n\u003cdiv class=\"tm-photo-scroll__item\"\u003e\u003cimg alt=\"Project photo 4\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0698\/4695\/8394\/files\/cruzcontracting2.jpg?v=1763723220\"\u003e\u003c\/div\u003e\n\u003c!-- 👆 VA: JUST COPY\/PASTE MORE OF THESE .tm-photo-scroll__item BLOCKS AS NEEDED --\u003e\n\u003c\/div\u003e\n\u003cbutton class=\"tm-photo-scroll__arrow tm-photo-scroll__arrow--right\" type=\"button\" aria-label=\"Next photos\"\u003e❯\u003c\/button\u003e\n\u003c\/div\u003e\n\u003c!-- Dots: make the number of dots match the number of slides above --\u003e\n\u003cdiv class=\"tm-photo-scroll__dots\" aria-hidden=\"true\"\u003e\n\u003cspan class=\"tm-photo-scroll__dot tm-photo-scroll__dot--active\"\u003e\u003c\/span\u003e \u003cspan class=\"tm-photo-scroll__dot\"\u003e\u003c\/span\u003e \u003cspan class=\"tm-photo-scroll__dot\"\u003e\u003c\/span\u003e \u003cspan class=\"tm-photo-scroll__dot\"\u003e\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n  .tm-photo-scroll {\n    margin: 24px 0;\n    padding: 20px 18px 24px;\n    border-radius: 18px;\n    background: #f8fafc;\n    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.06);\n    font-family: inherit;\n  }\n\n  .tm-photo-scroll__viewport {\n    position: relative;\n    display: flex;\n    align-items: center;\n    margin-top: 0;\n  }\n\n  .tm-photo-scroll__track {\n    display: flex;\n    gap: 12px;\n    overflow-x: auto;\n    scroll-snap-type: x mandatory;\n    scroll-behavior: smooth;\n    padding: 4px 4px 8px;\n    -webkit-overflow-scrolling: touch;\n  }\n\n  .tm-photo-scroll__track::-webkit-scrollbar {\n    height: 6px;\n  }\n\n  .tm-photo-scroll__track::-webkit-scrollbar-thumb {\n    background: #FFE033;\n    border-radius: 999px;\n  }\n\n  .tm-photo-scroll__item {\n    flex: 0 0 60%;\n    max-width: 60%;\n    scroll-snap-align: center;\n  }\n\n  @media (min-width: 900px) {\n    .tm-photo-scroll__item {\n      flex: 0 0 35%;\n      max-width: 35%;\n    }\n  }\n\n  .tm-photo-scroll__item img {\n    display: block;\n    width: 100%;\n    height: auto;\n    border-radius: 14px;\n    object-fit: cover;\n    background: #e5e7eb;\n  }\n\n  .tm-photo-scroll__arrow {\n    flex: 0 0 auto;\n    border: none;\n    background: #FFE033;\n    color: #000;\n    border-radius: 999px;\n    width: 34px;\n    height: 34px;\n    font-size: 18px;\n    cursor: pointer;\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    transition: transform 0.1s ease, box-shadow 0.15s ease;\n    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.18);\n  }\n\n  .tm-photo-scroll__arrow:hover {\n    background: #ffea66;\n    transform: translateY(-1px);\n  }\n\n  .tm-photo-scroll__arrow:active {\n    transform: translateY(0);\n    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);\n  }\n\n  .tm-photo-scroll__arrow--left {\n    margin-right: 8px;\n  }\n\n  .tm-photo-scroll__arrow--right {\n    margin-left: 8px;\n  }\n\n  .tm-photo-scroll__dots {\n    display: flex;\n    justify-content: center;\n    gap: 6px;\n    margin-top: 12px;\n  }\n\n  .tm-photo-scroll__dot {\n    width: 7px;\n    height: 7px;\n    border-radius: 999px;\n    background: #fff3a5;\n    transition: width 0.15s ease, background 0.15s ease;\n  }\n\n  .tm-photo-scroll__dot--active {\n    width: 18px;\n    background: #FFE033;\n  }\n\u003c\/style\u003e\n\u003cdiv style=\"background: #f9f9f9; border-radius: 12px; padding: 20px; margin-top: 30px; box-shadow: 0 2px 8px rgba(0,0,0,0.05);\"\u003e\n\u003cscript\u003e\n  (function() {\n    var containers = document.querySelectorAll('.tm-photo-scroll');\n    if (!containers.length) return;\n\n    containers.forEach(function(container) {\n      var track = container.querySelector('.tm-photo-scroll__track');\n      var items = Array.prototype.slice.call(container.querySelectorAll('.tm-photo-scroll__item'));\n      if (!items.length) return;\n\n      var left = container.querySelector('.tm-photo-scroll__arrow--left');\n      var right = container.querySelector('.tm-photo-scroll__arrow--right');\n      var dots = Array.prototype.slice.call(container.querySelectorAll('.tm-photo-scroll__dot'));\n\n      function getCurrentIndex() {\n        var scrollLeft = track.scrollLeft;\n        var itemWidth = items[0].offsetWidth + 12;\n        return Math.round(scrollLeft \/ itemWidth);\n      }\n\n      function goToIndex(index) {\n        if (index \u003c 0) index = 0;\n        if (index \u003e items.length - 1) index = items.length - 1;\n        var itemWidth = items[0].offsetWidth + 12;\n        track.scrollTo({ left: index * itemWidth, behavior: 'smooth' });\n        updateDots(index);\n      }\n\n      function updateDots(activeIndex) {\n        dots.forEach(function(dot, i) {\n          dot.classList.toggle('tm-photo-scroll__dot--active', i === activeIndex);\n        });\n      }\n\n      if (left) {\n        left.addEventListener('click', function() {\n          goToIndex(getCurrentIndex() - 1);\n        });\n      }\n\n      if (right) {\n        right.addEventListener('click', function() {\n          goToIndex(getCurrentIndex() + 1);\n        });\n      }\n\n      track.addEventListener('scroll', function() {\n        if (track._tmScrolling) return;\n        track._tmScrolling = true;\n        window.requestAnimationFrame(function() {\n          track._tmScrolling = false;\n          updateDots(getCurrentIndex());\n        });\n      });\n\n      updateDots(0);\n    });\n  })();\n \u003c\/script\u003e \u003c!-- What Homeowners Say Section --\u003e\n\u003csection style=\"padding: 20px; background-color: #ffffff; border-radius: 10px; margin-top: 30px; margin-bottom: 30px;\"\u003e\n\u003ch2 style=\"font-size: 1.5em; margin-bottom: 20px; text-align: center; color: #333;\"\u003e🗣️ What Homeowners Are Saying\u003c\/h2\u003e\n\u003cdiv style=\"display: flex; flex-direction: column; gap: 15px;\"\u003e\n\u003cdiv style=\"background-color: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.05);\"\u003e\n\u003cp style=\"font-style: italic; margin-bottom: 10px;\"\u003e“Cruz Contracting worked on my home. I'm a Realtor with 30 plus years in and I've seen a lot of work done with various levels of proficiency. Cruz did an outstanding job, saved me money and was finished on time. I would recommend them to anyone and I plan to use them again for my next project.”\u003c\/p\u003e\n\u003cp style=\"font-weight: bold; text-align: right; margin: 0;\"\u003e— Edward C.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"background-color: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.05);\"\u003e\n\u003cp style=\"font-style: italic; margin-bottom: 10px;\"\u003e“Cody and Jenna are fantastic to work with! Quick to reply to calls and emails, and professionally attended to every detail of the project.”\u003c\/p\u003e\n\u003cp style=\"font-weight: bold; text-align: right; margin: 0;\"\u003e— Pavel Sv\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"background-color: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.05);\"\u003e\n\u003cp style=\"font-style: italic; margin-bottom: 10px;\"\u003e“Cody has taught me a lot. And helped me more. I’m very grateful for all the work he’s has done over the years. 2 things - he’s extremely honest. And the hardest worker I’ve ever met. No one compares”\u003c\/p\u003e\n\u003cp style=\"font-weight: bold; text-align: right; margin: 0;\"\u003e— Doug L.\u003cmeta charset=\"utf-8\"\u003e\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cul style=\"list-style: none; padding: 0; font-size: 1em; color: #555; line-height: 1.6;\"\u003e\u003c!-- FAQ Section --\u003e\u003c\/ul\u003e\n\u003csection style=\"padding: 20px; background-color: #f9f9f9; border-radius: 10px; margin-top: 40px; margin-bottom: 40px;\"\u003e\n\u003ch2 style=\"font-size: 1.5em; margin-bottom: 20px; text-align: center; color: #333;\"\u003e❓ Frequently Asked Questions\u003c\/h2\u003e\n\u003cdetails style=\"background-color: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.05); margin-bottom: 10px;\"\u003e\n\u003csummary style=\"font-weight: bold; cursor: pointer;\"\u003eIs it free to use TradeMatch?\u003c\/summary\u003e\n\u003cp style=\"margin-top: 10px;\"\u003eYes, signing up and browsing tradesmen is completely free!\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails style=\"background-color: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.05); margin-bottom: 10px;\"\u003e\n\u003csummary style=\"font-weight: bold; cursor: pointer;\"\u003eHow do I know if the tradesmen are reliable?\u003c\/summary\u003e\n\u003cp style=\"margin-top: 10px;\"\u003eTradesmen are rated by previous customers. You can read reviews, see ratings, and view their work portfolio before making a decision.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails style=\"background-color: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.05); margin-bottom: 10px;\"\u003e\n\u003csummary style=\"font-weight: bold; cursor: pointer;\"\u003eCan I choose which tradesman I want to hire?\u003c\/summary\u003e\n\u003cp style=\"margin-top: 10px;\"\u003eYes! You can select the tradesman that best fits your needs based on experience, reviews, and services offered.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails style=\"background-color: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.05); margin-bottom: 10px;\"\u003e\n\u003csummary style=\"font-weight: bold; cursor: pointer;\"\u003eHow do I book a job?\u003c\/summary\u003e\n\u003cp style=\"margin-top: 10px;\"\u003eBrowse available tradesmen, select the service and package you need, fill out the details, and you'll be put in direct contact to schedule a time.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails style=\"background-color: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.05); margin-bottom: 10px;\"\u003e\n\u003csummary style=\"font-weight: bold; cursor: pointer;\"\u003eWhat if the job turns out to be more complicated than expected?\u003c\/summary\u003e\n\u003cp style=\"margin-top: 10px;\"\u003eIf the project scope changes, the tradesman will provide an updated quote. You’ll always be kept informed with no surprises.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails style=\"background-color: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.05); margin-bottom: 10px;\"\u003e\n\u003csummary style=\"font-weight: bold; cursor: pointer;\"\u003eHow do I pay for the service?\u003c\/summary\u003e\n\u003cp style=\"margin-top: 10px;\"\u003ePayment is made directly to the tradesman after the job is completed. Methods may include bank transfer, credit card, or other preferred options.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails style=\"background-color: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.05); margin-bottom: 10px;\"\u003e\n\u003csummary style=\"font-weight: bold; cursor: pointer;\"\u003eAre there any hidden fees?\u003c\/summary\u003e\n\u003cp style=\"margin-top: 10px;\"\u003eNo. We don’t charge homeowners any fees beyond the cost of the job itself.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails style=\"background-color: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.05); margin-bottom: 10px;\"\u003e\n\u003csummary style=\"font-weight: bold; cursor: pointer;\"\u003eWhat if I’m not happy with the work?\u003c\/summary\u003e\n\u003cp style=\"margin-top: 10px;\"\u003eDiscuss concerns directly with the tradesman. If needed, our support team can help facilitate a resolution.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003c\/section\u003e\n\u003c\/section\u003e\n\u003c\/div\u003e","brand":"Cruz Contracting","offers":[{"title":"Default Title","offer_id":52173596197178,"sku":null,"price":0.0,"currency_code":"CAD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0698\/4695\/8394\/files\/home-interior-collage-staircase-living-room-kitchen-bathroom.png?v=1770951238"},{"product_id":"straight-edge-painting-services-profile","title":"Straight Edge: Painting Services (Profile)","description":"\u003c!-- About the Tradesman Section --\u003e\n\u003cdiv style=\"background: #f9f9f9; border-radius: 12px; padding: 20px; margin-top: 30px; box-shadow: 0 2px 8px rgba(0,0,0,0.05);\"\u003e\n\u003c!-- Title --\u003e\n\u003ch2 style=\"font-size: 1.4em; font-weight: 600; margin-bottom: 15px; color: #333;\"\u003e👷\u003cspan\u003e \u003c\/span\u003eWho You'll Be Working With\u003c\/h2\u003e\n\u003c!-- TradeMatch-style photo scroll bar (Compact version, Yellow #FFE033, no title\/subheader) --\u003e\n\u003cdiv class=\"tm-photo-scroll\"\u003e\n\u003cdiv class=\"tm-photo-scroll__viewport\"\u003e\n\u003cbutton aria-label=\"Previous photos\" type=\"button\" class=\"tm-photo-scroll__arrow tm-photo-scroll__arrow--left\"\u003e❮\u003c\/button\u003e\n\u003cdiv class=\"tm-photo-scroll__track\"\u003e\n\u003c!-- 👇 VA: DUPLICATE THIS BLOCK FOR MORE PHOTOS \u0026 JUST CHANGE THE src URL + alt TEXT --\u003e \u003c!-- Slide 1 --\u003e\n\u003cdiv class=\"tm-photo-scroll__item\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0698\/4695\/8394\/files\/Screenshot_2025-11-21_045511.jpg?v=1763718972\" alt=\"Project photo 1\"\u003e\u003c\/div\u003e\n\u003c!-- Slide 2 --\u003e\n\u003cdiv class=\"tm-photo-scroll__item\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0698\/4695\/8394\/files\/Screenshot2025-11-21044213.jpg?v=1763718681\" alt=\"Project photo 2\"\u003e\u003c\/div\u003e\n\u003c!-- Slide 3 --\u003e\n\u003cdiv class=\"tm-photo-scroll__item\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0698\/4695\/8394\/files\/Screenshot2025-11-21044131.jpg?v=1763718665\" alt=\"Project photo 3\"\u003e\u003c\/div\u003e\n\u003c!-- Slide 4 --\u003e\n\u003cdiv class=\"tm-photo-scroll__item\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0698\/4695\/8394\/files\/Screenshot2025-11-21044037.jpg?v=1763718647\" alt=\"Project photo 4\"\u003e\u003c\/div\u003e\n\u003c!-- Slide 5 --\u003e\n\u003cdiv class=\"tm-photo-scroll__item\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0698\/4695\/8394\/files\/Screenshot_2025-11-21_050042.jpg?v=1763719300\" alt=\"Project photo 5\"\u003e\u003c\/div\u003e\n\u003c!-- Slide 6 --\u003e\n\u003cdiv class=\"tm-photo-scroll__item\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0698\/4695\/8394\/files\/Screenshot_2025-11-21_050403.jpg?v=1763719488\" alt=\"Project photo 6\"\u003e\u003c\/div\u003e\n\u003c!-- 👆 VA: JUST COPY\/PASTE MORE OF THESE .tm-photo-scroll__item BLOCKS AS NEEDED --\u003e\n\u003c\/div\u003e\n\u003cbutton aria-label=\"Next photos\" type=\"button\" class=\"tm-photo-scroll__arrow tm-photo-scroll__arrow--right\"\u003e❯\u003c\/button\u003e\n\u003c\/div\u003e\n\u003c!-- Dots: make the number of dots match the number of slides above --\u003e\n\u003cdiv aria-hidden=\"true\" class=\"tm-photo-scroll__dots\"\u003e\n\u003cspan class=\"tm-photo-scroll__dot tm-photo-scroll__dot--active\"\u003e\u003c\/span\u003e \u003cspan class=\"tm-photo-scroll__dot\"\u003e\u003c\/span\u003e \u003cspan class=\"tm-photo-scroll__dot\"\u003e\u003c\/span\u003e \u003cspan class=\"tm-photo-scroll__dot\"\u003e\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n  .tm-photo-scroll {\n    margin: 24px 0;\n    padding: 20px 18px 24px;\n    border-radius: 18px;\n    background: #f8fafc;\n    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.06);\n    font-family: inherit;\n  }\n\n  .tm-photo-scroll__viewport {\n    position: relative;\n    display: flex;\n    align-items: center;\n    margin-top: 0;\n  }\n\n  .tm-photo-scroll__track {\n    display: flex;\n    gap: 12px;\n    overflow-x: auto;\n    scroll-snap-type: x mandatory;\n    scroll-behavior: smooth;\n    padding: 4px 4px 8px;\n    -webkit-overflow-scrolling: touch;\n  }\n\n  .tm-photo-scroll__track::-webkit-scrollbar {\n    height: 6px;\n  }\n\n  .tm-photo-scroll__track::-webkit-scrollbar-thumb {\n    background: #FFE033;\n    border-radius: 999px;\n  }\n\n  .tm-photo-scroll__item {\n    flex: 0 0 60%;\n    max-width: 60%;\n    scroll-snap-align: center;\n  }\n\n  @media (min-width: 900px) {\n    .tm-photo-scroll__item {\n      flex: 0 0 35%;\n      max-width: 35%;\n    }\n  }\n\n  .tm-photo-scroll__item img {\n    display: block;\n    width: 100%;\n    height: auto;\n    border-radius: 14px;\n    object-fit: cover;\n    background: #e5e7eb;\n  }\n\n  .tm-photo-scroll__arrow {\n    flex: 0 0 auto;\n    border: none;\n    background: #FFE033;\n    color: #000;\n    border-radius: 999px;\n    width: 34px;\n    height: 34px;\n    font-size: 18px;\n    cursor: pointer;\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    transition: transform 0.1s ease, box-shadow 0.15s ease;\n    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.18);\n  }\n\n  .tm-photo-scroll__arrow:hover {\n    background: #ffea66;\n    transform: translateY(-1px);\n  }\n\n  .tm-photo-scroll__arrow:active {\n    transform: translateY(0);\n    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);\n  }\n\n  .tm-photo-scroll__arrow--left {\n    margin-right: 8px;\n  }\n\n  .tm-photo-scroll__arrow--right {\n    margin-left: 8px;\n  }\n\n  .tm-photo-scroll__dots {\n    display: flex;\n    justify-content: center;\n    gap: 6px;\n    margin-top: 12px;\n  }\n\n  .tm-photo-scroll__dot {\n    width: 7px;\n    height: 7px;\n    border-radius: 999px;\n    background: #fff3a5;\n    transition: width 0.15s ease, background 0.15s ease;\n  }\n\n  .tm-photo-scroll__dot--active {\n    width: 18px;\n    background: #FFE033;\n  }\n\u003c\/style\u003e\n\u003cdiv style=\"background: #f9f9f9; border-radius: 12px; padding: 20px; margin-top: 30px; box-shadow: 0 2px 8px rgba(0,0,0,0.05);\"\u003e\n\u003cscript\u003e\n  (function() {\n    var containers = document.querySelectorAll('.tm-photo-scroll');\n    if (!containers.length) return;\n\n    containers.forEach(function(container) {\n      var track = container.querySelector('.tm-photo-scroll__track');\n      var items = Array.prototype.slice.call(container.querySelectorAll('.tm-photo-scroll__item'));\n      if (!items.length) return;\n\n      var left = container.querySelector('.tm-photo-scroll__arrow--left');\n      var right = container.querySelector('.tm-photo-scroll__arrow--right');\n      var dots = Array.prototype.slice.call(container.querySelectorAll('.tm-photo-scroll__dot'));\n\n      function getCurrentIndex() {\n        var scrollLeft = track.scrollLeft;\n        var itemWidth = items[0].offsetWidth + 12;\n        return Math.round(scrollLeft \/ itemWidth);\n      }\n\n      function goToIndex(index) {\n        if (index \u003c 0) index = 0;\n        if (index \u003e items.length - 1) index = items.length - 1;\n        var itemWidth = items[0].offsetWidth + 12;\n        track.scrollTo({ left: index * itemWidth, behavior: 'smooth' });\n        updateDots(index);\n      }\n\n      function updateDots(activeIndex) {\n        dots.forEach(function(dot, i) {\n          dot.classList.toggle('tm-photo-scroll__dot--active', i === activeIndex);\n        });\n      }\n\n      if (left) {\n        left.addEventListener('click', function() {\n          goToIndex(getCurrentIndex() - 1);\n        });\n      }\n\n      if (right) {\n        right.addEventListener('click', function() {\n          goToIndex(getCurrentIndex() + 1);\n        });\n      }\n\n      track.addEventListener('scroll', function() {\n        if (track._tmScrolling) return;\n        track._tmScrolling = true;\n        window.requestAnimationFrame(function() {\n          track._tmScrolling = false;\n          updateDots(getCurrentIndex());\n        });\n      });\n\n      updateDots(0);\n    });\n  })();\n\u003c\/script\u003e \u003c!-- FAQ Section --\u003e\n\u003csection style=\"padding: 20px; background-color: #f9f9f9; border-radius: 10px; margin-top: 40px; margin-bottom: 40px;\"\u003e\n\u003ch2 style=\"font-size: 1.5em; margin-bottom: 20px; text-align: center; color: #333;\"\u003e❓ Frequently Asked Questions\u003c\/h2\u003e\n\u003cdetails style=\"background-color: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.05); margin-bottom: 10px;\"\u003e\n\u003csummary style=\"font-weight: bold; cursor: pointer;\"\u003eIs it free to use TradeMatch?\u003c\/summary\u003e\n\u003cp style=\"margin-top: 10px;\"\u003eYes, signing up and browsing tradesmen is completely free!\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails style=\"background-color: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.05); margin-bottom: 10px;\"\u003e\n\u003csummary style=\"font-weight: bold; cursor: pointer;\"\u003eHow do I know if the tradesmen are reliable?\u003c\/summary\u003e\n\u003cp style=\"margin-top: 10px;\"\u003eTradesmen are rated by previous customers. You can read reviews, see ratings, and view their work portfolio before making a decision.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails style=\"background-color: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.05); margin-bottom: 10px;\"\u003e\n\u003csummary style=\"font-weight: bold; cursor: pointer;\"\u003eCan I choose which tradesman I want to hire?\u003c\/summary\u003e\n\u003cp style=\"margin-top: 10px;\"\u003eYes! You can select the tradesman that best fits your needs based on experience, reviews, and services offered.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails style=\"background-color: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.05); margin-bottom: 10px;\"\u003e\n\u003csummary style=\"font-weight: bold; cursor: pointer;\"\u003eHow do I book a job?\u003c\/summary\u003e\n\u003cp style=\"margin-top: 10px;\"\u003eBrowse available tradesmen, select the service and package you need, fill out the details, and you'll be put in direct contact to schedule a time.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails style=\"background-color: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.05); margin-bottom: 10px;\"\u003e\n\u003csummary style=\"font-weight: bold; cursor: pointer;\"\u003eWhat if the job turns out to be more complicated than expected?\u003c\/summary\u003e\n\u003cp style=\"margin-top: 10px;\"\u003eIf the project scope changes, the tradesman will provide an updated quote. You’ll always be kept informed with no surprises.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails style=\"background-color: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.05); margin-bottom: 10px;\"\u003e\n\u003csummary style=\"font-weight: bold; cursor: pointer;\"\u003eHow do I pay for the service?\u003c\/summary\u003e\n\u003cp style=\"margin-top: 10px;\"\u003ePayment is made directly to the tradesman after the job is completed. Methods may include bank transfer, credit card, or other preferred options.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails style=\"background-color: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.05); margin-bottom: 10px;\"\u003e\n\u003csummary style=\"font-weight: bold; cursor: pointer;\"\u003eAre there any hidden fees?\u003c\/summary\u003e\n\u003cp style=\"margin-top: 10px;\"\u003eNo. We don’t charge homeowners any fees beyond the cost of the job itself.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails open=\"\" style=\"background-color: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.05); margin-bottom: 10px;\"\u003e\n\u003csummary style=\"font-weight: bold; cursor: pointer;\"\u003eWhat if I’m not happy with the work?\u003c\/summary\u003e\n\u003cp style=\"margin-top: 10px;\"\u003eDiscuss concerns directly with the tradesman. If needed, our support team can help facilitate a resolution.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003c\/section\u003e\n\u003c\/div\u003e","brand":"Straight Edge Painting","offers":[{"title":"Default Title","offer_id":52177789190458,"sku":null,"price":0.0,"currency_code":"CAD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0698\/4695\/8394\/files\/straight-edge-painting.png?v=1770950559"},{"product_id":"macintosh-exteriors-profile","title":"Macintosh Exteriors: Siding Services (Profile)","description":"\u003c!-- About the Tradesman Section --\u003e\n\u003cdiv style=\"background: #f9f9f9; border-radius: 12px; padding: 20px; margin-top: 30px; box-shadow: 0 2px 8px rgba(0,0,0,0.05);\"\u003e\n\u003c!-- Title --\u003e\n\u003ch2 style=\"font-size: 1.4em; font-weight: 600; margin-bottom: 15px; color: #333;\"\u003e👷\u003cspan\u003e \u003c\/span\u003eWho You'll Be Working With\u003c\/h2\u003e\n\u003c!-- TradeMatch-style photo scroll bar (Compact version, Yellow #FFE033, no title\/subheader) --\u003e\n\u003cdiv class=\"tm-photo-scroll\"\u003e\n\u003cdiv class=\"tm-photo-scroll__viewport\"\u003e\n\u003cbutton aria-label=\"Previous photos\" type=\"button\" class=\"tm-photo-scroll__arrow tm-photo-scroll__arrow--left\"\u003e❮\u003c\/button\u003e\n\u003cdiv class=\"tm-photo-scroll__track\"\u003e\n\u003c!-- 👇 VA: DUPLICATE THIS BLOCK FOR MORE PHOTOS \u0026 JUST CHANGE THE src URL + alt TEXT --\u003e \u003c!-- Slide 1 --\u003e\n\u003cdiv class=\"tm-photo-scroll__item\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0698\/4695\/8394\/files\/square.jpg?v=1764675482\" alt=\"Project photo 1\"\u003e\u003c\/div\u003e\n\u003c!-- Slide 2 --\u003e\n\u003cdiv class=\"tm-photo-scroll__item\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0698\/4695\/8394\/files\/mac1.jpg?v=1764666958\" alt=\"Project photo 2\"\u003e\u003c\/div\u003e\n\u003c!-- Slide 3 --\u003e\n\u003cdiv class=\"tm-photo-scroll__item\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0698\/4695\/8394\/files\/mac2.jpg?v=1764666981\" alt=\"Project photo 3\"\u003e\u003c\/div\u003e\n\u003c!-- Slide 4 --\u003e\n\u003cdiv class=\"tm-photo-scroll__item\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0698\/4695\/8394\/files\/mac3.jpg?v=1764667000\" alt=\"Project photo 4\"\u003e\u003c\/div\u003e\n\u003c!-- Slide 5 --\u003e\n\u003cdiv class=\"tm-photo-scroll__item\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0698\/4695\/8394\/files\/mac.jpg?v=1764666896\" alt=\"Project photo 5\"\u003e\u003c\/div\u003e\n\u003c!-- 👆 VA: JUST COPY\/PASTE MORE OF THESE .tm-photo-scroll__item BLOCKS AS NEEDED --\u003e\n\u003c\/div\u003e\n\u003cbutton aria-label=\"Next photos\" type=\"button\" class=\"tm-photo-scroll__arrow tm-photo-scroll__arrow--right\"\u003e❯\u003c\/button\u003e\n\u003c\/div\u003e\n\u003c!-- Dots: make the number of dots match the number of slides above --\u003e\n\u003cdiv aria-hidden=\"true\" class=\"tm-photo-scroll__dots\"\u003e\n\u003cspan class=\"tm-photo-scroll__dot tm-photo-scroll__dot--active\"\u003e\u003c\/span\u003e \u003cspan class=\"tm-photo-scroll__dot\"\u003e\u003c\/span\u003e \u003cspan class=\"tm-photo-scroll__dot\"\u003e\u003c\/span\u003e \u003cspan class=\"tm-photo-scroll__dot\"\u003e\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n  .tm-photo-scroll {\n    margin: 24px 0;\n    padding: 20px 18px 24px;\n    border-radius: 18px;\n    background: #f8fafc;\n    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.06);\n    font-family: inherit;\n  }\n\n  .tm-photo-scroll__viewport {\n    position: relative;\n    display: flex;\n    align-items: center;\n    margin-top: 0;\n  }\n\n  .tm-photo-scroll__track {\n    display: flex;\n    gap: 12px;\n    overflow-x: auto;\n    scroll-snap-type: x mandatory;\n    scroll-behavior: smooth;\n    padding: 4px 4px 8px;\n    -webkit-overflow-scrolling: touch;\n  }\n\n  .tm-photo-scroll__track::-webkit-scrollbar {\n    height: 6px;\n  }\n\n  .tm-photo-scroll__track::-webkit-scrollbar-thumb {\n    background: #FFE033;\n    border-radius: 999px;\n  }\n\n  .tm-photo-scroll__item {\n    flex: 0 0 60%;\n    max-width: 60%;\n    scroll-snap-align: center;\n  }\n\n  @media (min-width: 900px) {\n    .tm-photo-scroll__item {\n      flex: 0 0 35%;\n      max-width: 35%;\n    }\n  }\n\n  .tm-photo-scroll__item img {\n    display: block;\n    width: 100%;\n    height: auto;\n    border-radius: 14px;\n    object-fit: cover;\n    background: #e5e7eb;\n  }\n\n  .tm-photo-scroll__arrow {\n    flex: 0 0 auto;\n    border: none;\n    background: #FFE033;\n    color: #000;\n    border-radius: 999px;\n    width: 34px;\n    height: 34px;\n    font-size: 18px;\n    cursor: pointer;\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    transition: transform 0.1s ease, box-shadow 0.15s ease;\n    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.18);\n  }\n\n  .tm-photo-scroll__arrow:hover {\n    background: #ffea66;\n    transform: translateY(-1px);\n  }\n\n  .tm-photo-scroll__arrow:active {\n    transform: translateY(0);\n    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);\n  }\n\n  .tm-photo-scroll__arrow--left {\n    margin-right: 8px;\n  }\n\n  .tm-photo-scroll__arrow--right {\n    margin-left: 8px;\n  }\n\n  .tm-photo-scroll__dots {\n    display: flex;\n    justify-content: center;\n    gap: 6px;\n    margin-top: 12px;\n  }\n\n  .tm-photo-scroll__dot {\n    width: 7px;\n    height: 7px;\n    border-radius: 999px;\n    background: #fff3a5;\n    transition: width 0.15s ease, background 0.15s ease;\n  }\n\n  .tm-photo-scroll__dot--active {\n    width: 18px;\n    background: #FFE033;\n  }\n\u003c\/style\u003e\n\u003cdiv style=\"background: #f9f9f9; border-radius: 12px; padding: 20px; margin-top: 30px; box-shadow: 0 2px 8px rgba(0,0,0,0.05);\"\u003e\n\u003cscript\u003e\n  (function() {\n    var containers = document.querySelectorAll('.tm-photo-scroll');\n    if (!containers.length) return;\n\n    containers.forEach(function(container) {\n      var track = container.querySelector('.tm-photo-scroll__track');\n      var items = Array.prototype.slice.call(container.querySelectorAll('.tm-photo-scroll__item'));\n      if (!items.length) return;\n\n      var left = container.querySelector('.tm-photo-scroll__arrow--left');\n      var right = container.querySelector('.tm-photo-scroll__arrow--right');\n      var dots = Array.prototype.slice.call(container.querySelectorAll('.tm-photo-scroll__dot'));\n\n      function getCurrentIndex() {\n        var scrollLeft = track.scrollLeft;\n        var itemWidth = items[0].offsetWidth + 12;\n        return Math.round(scrollLeft \/ itemWidth);\n      }\n\n      function goToIndex(index) {\n        if (index \u003c 0) index = 0;\n        if (index \u003e items.length - 1) index = items.length - 1;\n        var itemWidth = items[0].offsetWidth + 12;\n        track.scrollTo({ left: index * itemWidth, behavior: 'smooth' });\n        updateDots(index);\n      }\n\n      function updateDots(activeIndex) {\n        dots.forEach(function(dot, i) {\n          dot.classList.toggle('tm-photo-scroll__dot--active', i === activeIndex);\n        });\n      }\n\n      if (left) {\n        left.addEventListener('click', function() {\n          goToIndex(getCurrentIndex() - 1);\n        });\n      }\n\n      if (right) {\n        right.addEventListener('click', function() {\n          goToIndex(getCurrentIndex() + 1);\n        });\n      }\n\n      track.addEventListener('scroll', function() {\n        if (track._tmScrolling) return;\n        track._tmScrolling = true;\n        window.requestAnimationFrame(function() {\n          track._tmScrolling = false;\n          updateDots(getCurrentIndex());\n        });\n      });\n\n      updateDots(0);\n    });\n  })();\n  \u003c\/script\u003e \u003c!-- What Homeowners Say Section --\u003e\n\u003csection style=\"padding: 20px; background-color: #ffffff; border-radius: 10px; margin-top: 30px; margin-bottom: 30px;\"\u003e\n\u003ch2 style=\"font-size: 1.5em; margin-bottom: 20px; text-align: center; color: #333;\"\u003e🗣️ What Homeowners Are Saying\u003c\/h2\u003e\n\u003cdiv style=\"display: flex; flex-direction: column; gap: 15px;\"\u003e\n\u003cdiv style=\"background-color: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.05);\"\u003e\n\u003cp style=\"font-style: italic; margin-bottom: 10px;\"\u003e“We are extremely satisfied with his work, pricing and results.”\u003c\/p\u003e\n\u003cp style=\"font-weight: bold; text-align: right; margin: 0;\"\u003e— Christina M.,\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"background-color: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.05);\"\u003e\n\u003cp style=\"font-style: italic; margin-bottom: 10px;\"\u003e“Rick and his team did a fantastic job on our home.”\u003c\/p\u003e\n\u003cp style=\"font-weight: bold; text-align: right; margin: 0;\"\u003e— Bruce K.,\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"background-color: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.05);\"\u003e\n\u003cp style=\"font-style: italic; margin-bottom: 10px;\"\u003e“An amazing \u0026amp; professional job done on one of the most challenging properties. Neighbours have since hired this excellent team as well. 100% Highly recommended”\u003c\/p\u003e\n\u003cp style=\"font-weight: bold; text-align: right; margin: 0;\"\u003e— Patricia H.,\u003cmeta charset=\"utf-8\"\u003e\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- FAQ Section --\u003e\n\u003csection style=\"padding: 20px; background-color: #f9f9f9; border-radius: 10px; margin-top: 40px; margin-bottom: 40px;\"\u003e\n\u003ch2 style=\"font-size: 1.5em; margin-bottom: 20px; text-align: center; color: #333;\"\u003e❓ Frequently Asked Questions\u003c\/h2\u003e\n\u003cdetails style=\"background-color: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.05); margin-bottom: 10px;\"\u003e\n\u003csummary style=\"font-weight: bold; cursor: pointer;\"\u003eIs it free to use TradeMatch?\u003c\/summary\u003e\n\u003cp style=\"margin-top: 10px;\"\u003eYes, signing up and browsing tradesmen is completely free!\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails style=\"background-color: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.05); margin-bottom: 10px;\"\u003e\n\u003csummary style=\"font-weight: bold; cursor: pointer;\"\u003eHow do I know if the tradesmen are reliable?\u003c\/summary\u003e\n\u003cp style=\"margin-top: 10px;\"\u003eTradesmen are rated by previous customers. You can read reviews, see ratings, and view their work portfolio before making a decision.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails style=\"background-color: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.05); margin-bottom: 10px;\"\u003e\n\u003csummary style=\"font-weight: bold; cursor: pointer;\"\u003eCan I choose which tradesman I want to hire?\u003c\/summary\u003e\n\u003cp style=\"margin-top: 10px;\"\u003eYes! You can select the tradesman that best fits your needs based on experience, reviews, and services offered.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails style=\"background-color: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.05); margin-bottom: 10px;\"\u003e\n\u003csummary style=\"font-weight: bold; cursor: pointer;\"\u003eHow do I book a job?\u003c\/summary\u003e\n\u003cp style=\"margin-top: 10px;\"\u003eBrowse available tradesmen, select the service and package you need, fill out the details, and you'll be put in direct contact to schedule a time.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails style=\"background-color: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.05); margin-bottom: 10px;\"\u003e\n\u003csummary style=\"font-weight: bold; cursor: pointer;\"\u003eWhat if the job turns out to be more complicated than expected?\u003c\/summary\u003e\n\u003cp style=\"margin-top: 10px;\"\u003eIf the project scope changes, the tradesman will provide an updated quote. You’ll always be kept informed with no surprises.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails style=\"background-color: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.05); margin-bottom: 10px;\"\u003e\n\u003csummary style=\"font-weight: bold; cursor: pointer;\"\u003eHow do I pay for the service?\u003c\/summary\u003e\n\u003cp style=\"margin-top: 10px;\"\u003ePayment is made directly to the tradesman after the job is completed. Methods may include bank transfer, credit card, or other preferred options.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails style=\"background-color: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.05); margin-bottom: 10px;\"\u003e\n\u003csummary style=\"font-weight: bold; cursor: pointer;\"\u003eAre there any hidden fees?\u003c\/summary\u003e\n\u003cp style=\"margin-top: 10px;\"\u003eNo. We don’t charge homeowners any fees beyond the cost of the job itself.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails open=\"\" style=\"background-color: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.05); margin-bottom: 10px;\"\u003e\n\u003csummary style=\"font-weight: bold; cursor: pointer;\"\u003eWhat if I’m not happy with the work?\u003c\/summary\u003e\n\u003cp style=\"margin-top: 10px;\"\u003eDiscuss concerns directly with the tradesman. If needed, our support team can help facilitate a resolution.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003c\/section\u003e\n\u003c\/div\u003e","brand":"Macintosh Exteriors","offers":[{"title":"Default Title","offer_id":52192242925882,"sku":null,"price":0.0,"currency_code":"CAD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0698\/4695\/8394\/files\/collage-of-a-painted-house.png?v=1770949154"},{"product_id":"local-masonry-masonry-repairs-profile","title":"Local Masonry: Masonry Repairs (Profile)","description":"\u003c!-- About the Tradesman Section --\u003e\n\u003cdiv style=\"background: #ffffff; border-radius: 12px; padding: 20px; margin-top: 30px; box-shadow: 0 2px 8px rgba(0,0,0,0.05);\"\u003e\n\u003c!-- Title --\u003e\n\u003ch2 style=\"font-size: 1.4em; font-weight: 600; margin-bottom: 15px; color: #333;\"\u003e👷 \u003cmeta charset=\"utf-8\"\u003eWho You'll Be Working With\u003c\/h2\u003e\n\u003c!-- TradeMatch-style photo scroll bar (Compact version, Yellow #FFE033, no title\/subheader) --\u003e\n\u003cdiv class=\"tm-photo-scroll\"\u003e\n\u003cdiv class=\"tm-photo-scroll__viewport\"\u003e\n\u003cbutton class=\"tm-photo-scroll__arrow tm-photo-scroll__arrow--left\" type=\"button\" aria-label=\"Previous photos\"\u003e ❮ \u003c\/button\u003e\n\u003cdiv class=\"tm-photo-scroll__track\"\u003e\n\u003c!-- Replace these with your own images --\u003e\n\u003cdiv class=\"tm-photo-scroll__item\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0698\/4695\/8394\/files\/lm_1.jpg?v=1764686360\" alt=\"Project photo 1\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"tm-photo-scroll__item\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0698\/4695\/8394\/files\/lm1_1.jpg?v=1764686360\" alt=\"Project photo 2\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"tm-photo-scroll__item\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0698\/4695\/8394\/files\/lm2_1.jpg?v=1764686360\" alt=\"Project photo 3\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"tm-photo-scroll__item\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0698\/4695\/8394\/files\/lm3_1.jpg?v=1764686360\" alt=\"Project photo 4\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"tm-photo-scroll__item\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0698\/4695\/8394\/files\/lm4_1.jpg?v=1764686360\" alt=\"Project photo 5\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cbutton class=\"tm-photo-scroll__arrow tm-photo-scroll__arrow--right\" type=\"button\" aria-label=\"Next photos\"\u003e ❯ \u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"tm-photo-scroll__dots\" aria-hidden=\"true\"\u003e\n\u003cspan class=\"tm-photo-scroll__dot tm-photo-scroll__dot--active\"\u003e\u003c\/span\u003e \u003cspan class=\"tm-photo-scroll__dot\"\u003e\u003c\/span\u003e \u003cspan class=\"tm-photo-scroll__dot\"\u003e\u003c\/span\u003e \u003cspan class=\"tm-photo-scroll__dot\"\u003e\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cul style=\"list-style: none; padding: 0; font-size: 1em; color: #555; line-height: 1.6;\"\u003e\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n  .tm-photo-scroll {\n    margin: 24px 0;\n    padding: 20px 18px 24px;\n    border-radius: 18px;\n    background: #ffffff; \/* was #f8fafc *\/\n    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.06);\n    font-family: inherit;\n  }\n\n  .tm-photo-scroll__viewport {\n    position: relative;\n    display: flex;\n    align-items: center;\n    margin-top: 0;\n  }\n\n  .tm-photo-scroll__track {\n    display: flex;\n    gap: 12px;\n    overflow-x: auto;\n    scroll-snap-type: x mandatory;\n    scroll-behavior: smooth;\n    padding: 4px 4px 8px;\n    -webkit-overflow-scrolling: touch;\n  }\n\n  .tm-photo-scroll__track::-webkit-scrollbar {\n    height: 6px;\n  }\n\n  .tm-photo-scroll__track::-webkit-scrollbar-thumb {\n    background: #FFE033;\n    border-radius: 999px;\n  }\n\n  \/* 🔥 COMPACT IMAGE SIZES *\/\n  .tm-photo-scroll__item {\n    flex: 0 0 60%;\n    max-width: 60%;\n    scroll-snap-align: center;\n  }\n\n  @media (min-width: 900px) {\n    .tm-photo-scroll__item {\n      flex: 0 0 35%;\n      max-width: 35%;\n    }\n  }\n\n  .tm-photo-scroll__item img {\n    display: block;\n    width: 100%;\n    height: auto;\n    border-radius: 14px;\n    object-fit: cover;\n    background: #e5e7eb;\n  }\n\n  .tm-photo-scroll__arrow {\n    flex: 0 0 auto;\n    border: none;\n    background: #FFE033;\n    color: #000;\n    border-radius: 999px;\n    width: 34px;\n    height: 34px;\n    font-size: 18px;\n    cursor: pointer;\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    transition: transform 0.1s ease, box-shadow 0.15s ease;\n    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.18);\n  }\n\n  .tm-photo-scroll__arrow:hover {\n    background: #ffea66;\n    transform: translateY(-1px);\n  }\n\n  .tm-photo-scroll__arrow:active {\n    transform: translateY(0);\n    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);\n  }\n\n  .tm-photo-scroll__arrow--left {\n    margin-right: 8px;\n  }\n\n  .tm-photo-scroll__arrow--right {\n    margin-left: 8px;\n  }\n\n  .tm-photo-scroll__dots {\n    display: flex;\n    justify-content: center;\n    gap: 6px;\n    margin-top: 12px;\n  }\n\n  .tm-photo-scroll__dot {\n    width: 7px;\n    height: 7px;\n    border-radius: 999px;\n    background: #fff3a5;\n    transition: width 0.15s ease, background 0.15s ease;\n  }\n\n  .tm-photo-scroll__dot--active {\n    width: 18px;\n    background: #FFE033;\n  }\n\u003c\/style\u003e\n\u003cdiv style=\"background: #ffffff; border-radius: 12px; padding: 20px; margin-top: 30px; box-shadow: 0 2px 8px rgba(0,0,0,0.05);\"\u003e\n\u003cscript\u003e\n    (function() {\n      var containers = document.querySelectorAll('.tm-photo-scroll');\n      if (!containers.length) return;\n\n      containers.forEach(function(container) {\n        var track = container.querySelector('.tm-photo-scroll__track');\n        var items = Array.prototype.slice.call(container.querySelectorAll('.tm-photo-scroll__item'));\n        var left = container.querySelector('.tm-photo-scroll__arrow--left');\n        var right = container.querySelector('.tm-photo-scroll__arrow--right');\n        var dots = Array.prototype.slice.call(container.querySelectorAll('.tm-photo-scroll__dot'));\n\n        function getCurrentIndex() {\n          var scrollLeft = track.scrollLeft;\n          var itemWidth = items[0].offsetWidth + 12;\n          return Math.round(scrollLeft \/ itemWidth);\n        }\n\n        function goToIndex(index) {\n          if (index \u003c 0) index = 0;\n          if (index \u003e items.length - 1) index = items.length - 1;\n          var itemWidth = items[0].offsetWidth + 12;\n          track.scrollTo({ left: index * itemWidth, behavior: 'smooth' });\n          updateDots(index);\n        }\n\n        function updateDots(activeIndex) {\n          dots.forEach(function(dot, i) {\n            dot.classList.toggle('tm-photo-scroll__dot--active', i === activeIndex);\n          });\n        }\n\n        left.addEventListener('click', function() {\n          goToIndex(getCurrentIndex() - 1);\n        });\n\n        right.addEventListener('click', function() {\n          goToIndex(getCurrentIndex() + 1);\n        });\n\n        track.addEventListener('scroll', function() {\n          if (track._tmScrolling) return;\n          track._tmScrolling = true;\n          window.requestAnimationFrame(function() {\n            track._tmScrolling = false;\n            updateDots(getCurrentIndex());\n          });\n        });\n\n        updateDots(0);\n      });\n    })();\n  \u003c\/script\u003e \u003c!-- What Homeowners Say Section --\u003e\n\u003csection style=\"padding: 20px; background-color: #ffffff; border-radius: 10px; margin-top: 30px; margin-bottom: 30px;\"\u003e\n\u003ch2 style=\"font-size: 1.5em; margin-bottom: 20px; text-align: center; color: #333;\"\u003e🗣️ What Homeowners Are Saying\u003c\/h2\u003e\n\u003cdiv style=\"display: flex; flex-direction: column; gap: 15px;\"\u003e\n\u003cdiv style=\"background-color: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.05);\"\u003e\n\u003cp style=\"font-style: italic; margin-bottom: 10px;\"\u003e“Devon and his team did an amazing job with our brick veneer. They finished it on time and under our budget. Thanks for everything! Highly recommend!”\u003c\/p\u003e\n\u003cp style=\"font-weight: bold; text-align: right; margin: 0;\"\u003e— Troy W.,\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"background-color: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.05);\"\u003e\n\u003cp style=\"font-style: italic; margin-bottom: 10px;\"\u003e“Did a great job and easy to work with. Excellent communications. Arrived on time, completed the work agreed to and cleaned up quickly. Easy invoice and payment method.”\u003c\/p\u003e\n\u003cp style=\"font-weight: bold; text-align: right; margin: 0;\"\u003e— Dave G.,\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"background-color: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.05);\"\u003e\n\u003cp style=\"font-style: italic; margin-bottom: 10px;\"\u003e“Damon and Devon did a fantastic job tearing down my porch and repairing the concrete on the side of my house. Couldn't have asked for a better crew. Thank you so much!”\u003c\/p\u003e\n\u003cp style=\"font-weight: bold; text-align: right; margin: 0;\"\u003e— Julia S.,\u003cmeta charset=\"utf-8\"\u003e\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- FAQ Section --\u003e\n\u003csection style=\"padding: 20px; background-color: #ffffff; border-radius: 10px; margin-top: 30px; margin-bottom: 40px;\"\u003e\n\u003ch2 style=\"font-size: 1.5em; margin-bottom: 20px; text-align: center; color: #333;\"\u003e❓ Frequently Asked Questions\u003c\/h2\u003e\n\u003cdetails style=\"background-color: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.05); margin-bottom: 10px;\"\u003e\n\u003csummary style=\"font-weight: bold; cursor: pointer;\"\u003eIs it free to use TradeMatch?\u003c\/summary\u003e\n\u003cp style=\"margin-top: 10px;\"\u003eYes, signing up and browsing tradesmen is completely free!\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails style=\"background-color: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.05); margin-bottom: 10px;\"\u003e\n\u003csummary style=\"font-weight: bold; cursor: pointer;\"\u003eHow do I know if the tradesmen are reliable?\u003c\/summary\u003e\n\u003cp style=\"margin-top: 10px;\"\u003eTradesmen are rated by previous customers. You can read reviews, see ratings, and view their work portfolio before making a decision.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails style=\"background-color: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.05); margin-bottom: 10px;\"\u003e\n\u003csummary style=\"font-weight: bold; cursor: pointer;\"\u003eCan I choose which tradesman I want to hire?\u003c\/summary\u003e\n\u003cp style=\"margin-top: 10px;\"\u003eYes! You can select the tradesman that best fits your needs based on experience, reviews, and services offered.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails style=\"background-color: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.05); margin-bottom: 10px;\"\u003e\n\u003csummary style=\"font-weight: bold; cursor: pointer;\"\u003eHow do I book a job?\u003c\/summary\u003e\n\u003cp style=\"margin-top: 10px;\"\u003eBrowse available tradesmen, select the service and package you need, fill out the details, and you'll be put in direct contact to schedule a time.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails style=\"background-color: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.05); margin-bottom: 10px;\"\u003e\n\u003csummary style=\"font-weight: bold; cursor: pointer;\"\u003eWhat if the job turns out to be more complicated than expected?\u003c\/summary\u003e\n\u003cp style=\"margin-top: 10px;\"\u003eIf the project scope changes, the tradesman will provide an updated quote. You’ll always be kept informed with no surprises.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails style=\"background-color: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.05); margin-bottom: 10px;\"\u003e\n\u003csummary style=\"font-weight: bold; cursor: pointer;\"\u003eHow do I pay for the service?\u003c\/summary\u003e\n\u003cp style=\"margin-top: 10px;\"\u003ePayment is made directly to the tradesman after the job is completed. Methods may include bank transfer, credit card, or other preferred options.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails style=\"background-color: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.05); margin-bottom: 10px;\"\u003e\n\u003csummary style=\"font-weight: bold; cursor: pointer;\"\u003eAre there any hidden fees?\u003c\/summary\u003e\n\u003cp style=\"margin-top: 10px;\"\u003eNo. We don’t charge homeowners any fees beyond the cost of the job itself.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails style=\"background-color: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.05); margin-bottom: 10px;\"\u003e\n\u003csummary style=\"font-weight: bold; cursor: pointer;\"\u003eWhat if I’m not happy with the work?\u003c\/summary\u003e\n\u003cp style=\"margin-top: 10px;\"\u003eDiscuss concerns directly with the tradesman. If needed, our support team can help facilitate a resolution.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003c\/section\u003e\n\u003c\/div\u003e","brand":"Local Masonry","offers":[{"title":"Default Title","offer_id":52192810369338,"sku":null,"price":0.0,"currency_code":"CAD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0698\/4695\/8394\/files\/Exterior-home-elements.png?v=1770866072"},{"product_id":"alderrock-masonry-masonry-repairs-profile","title":"Alderrock Masonry: Masonry Repairs (Profile)","description":"\u003c!-- About the Tradesman Section --\u003e\n\u003cdiv style=\"background: #f9f9f9; border-radius: 12px; padding: 20px; margin-top: 30px; box-shadow: 0 2px 8px rgba(0,0,0,0.05);\"\u003e\n\u003c!-- Title --\u003e\n\u003ch2 style=\"font-size: 1.4em; font-weight: 600; margin-bottom: 15px; color: #333;\"\u003e👷\u003cspan\u003e \u003c\/span\u003eWho You'll Be Working With\u003c\/h2\u003e\n\u003c!-- TradeMatch-style photo scroll bar (Compact version, Yellow #FFE033, no title\/subheader) --\u003e\n\u003cdiv class=\"tm-photo-scroll\"\u003e\n\u003cdiv class=\"tm-photo-scroll__viewport\"\u003e\n\u003cbutton class=\"tm-photo-scroll__arrow tm-photo-scroll__arrow--left\" type=\"button\" aria-label=\"Previous photos\"\u003e❮\u003c\/button\u003e\n\u003cdiv class=\"tm-photo-scroll__track\"\u003e\n\u003c!-- 👇 VA: DUPLICATE THIS BLOCK FOR MORE PHOTOS \u0026 JUST CHANGE THE src URL + alt TEXT --\u003e \u003c!-- Slide 1 --\u003e\n\u003cdiv class=\"tm-photo-scroll__item\"\u003e\u003cimg alt=\"Project photo 1\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0698\/4695\/8394\/files\/alderrock4_a2126e47-2c46-42eb-8a7f-ffd1d48b9d28.jpg?v=1764757089\"\u003e\u003c\/div\u003e\n\u003c!-- Slide 2 --\u003e\n\u003cdiv class=\"tm-photo-scroll__item\"\u003e\u003cimg alt=\"Project photo 2\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0698\/4695\/8394\/files\/alderrock1.jpg?v=1764757106\"\u003e\u003c\/div\u003e\n\u003c!-- Slide 3 --\u003e\n\u003cdiv class=\"tm-photo-scroll__item\"\u003e\u003cimg alt=\"Project photo 3\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0698\/4695\/8394\/files\/alderrock2_c206f32e-aaea-4148-a0ee-1ea92bcbc7b4.jpg?v=1764757118\"\u003e\u003c\/div\u003e\n\u003c!-- Slide 4 --\u003e\n\u003cdiv class=\"tm-photo-scroll__item\"\u003e\u003cimg alt=\"Project photo 4\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0698\/4695\/8394\/files\/alderrock3_aee162d9-973d-4b1f-b5f0-0b5d158ed81f.jpg?v=1764757130\"\u003e\u003c\/div\u003e\n\u003c!-- 👆 VA: JUST COPY\/PASTE MORE OF THESE .tm-photo-scroll__item BLOCKS AS NEEDED --\u003e\n\u003c\/div\u003e\n\u003cbutton class=\"tm-photo-scroll__arrow tm-photo-scroll__arrow--right\" type=\"button\" aria-label=\"Next photos\"\u003e❯\u003c\/button\u003e\n\u003c\/div\u003e\n\u003c!-- Dots: make the number of dots match the number of slides above --\u003e\n\u003cdiv class=\"tm-photo-scroll__dots\" aria-hidden=\"true\"\u003e\n\u003cspan class=\"tm-photo-scroll__dot tm-photo-scroll__dot--active\"\u003e\u003c\/span\u003e \u003cspan class=\"tm-photo-scroll__dot\"\u003e\u003c\/span\u003e \u003cspan class=\"tm-photo-scroll__dot\"\u003e\u003c\/span\u003e \u003cspan class=\"tm-photo-scroll__dot\"\u003e\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n  .tm-photo-scroll {\n    margin: 24px 0;\n    padding: 20px 18px 24px;\n    border-radius: 18px;\n    background: #f8fafc;\n    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.06);\n    font-family: inherit;\n  }\n\n  .tm-photo-scroll__viewport {\n    position: relative;\n    display: flex;\n    align-items: center;\n    margin-top: 0;\n  }\n\n  .tm-photo-scroll__track {\n    display: flex;\n    gap: 12px;\n    overflow-x: auto;\n    scroll-snap-type: x mandatory;\n    scroll-behavior: smooth;\n    padding: 4px 4px 8px;\n    -webkit-overflow-scrolling: touch;\n  }\n\n  .tm-photo-scroll__track::-webkit-scrollbar {\n    height: 6px;\n  }\n\n  .tm-photo-scroll__track::-webkit-scrollbar-thumb {\n    background: #FFE033;\n    border-radius: 999px;\n  }\n\n  .tm-photo-scroll__item {\n    flex: 0 0 60%;\n    max-width: 60%;\n    scroll-snap-align: center;\n  }\n\n  @media (min-width: 900px) {\n    .tm-photo-scroll__item {\n      flex: 0 0 35%;\n      max-width: 35%;\n    }\n  }\n\n  .tm-photo-scroll__item img {\n    display: block;\n    width: 100%;\n    height: auto;\n    border-radius: 14px;\n    object-fit: cover;\n    background: #e5e7eb;\n  }\n\n  .tm-photo-scroll__arrow {\n    flex: 0 0 auto;\n    border: none;\n    background: #FFE033;\n    color: #000;\n    border-radius: 999px;\n    width: 34px;\n    height: 34px;\n    font-size: 18px;\n    cursor: pointer;\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    transition: transform 0.1s ease, box-shadow 0.15s ease;\n    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.18);\n  }\n\n  .tm-photo-scroll__arrow:hover {\n    background: #ffea66;\n    transform: translateY(-1px);\n  }\n\n  .tm-photo-scroll__arrow:active {\n    transform: translateY(0);\n    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);\n  }\n\n  .tm-photo-scroll__arrow--left {\n    margin-right: 8px;\n  }\n\n  .tm-photo-scroll__arrow--right {\n    margin-left: 8px;\n  }\n\n  .tm-photo-scroll__dots {\n    display: flex;\n    justify-content: center;\n    gap: 6px;\n    margin-top: 12px;\n  }\n\n  .tm-photo-scroll__dot {\n    width: 7px;\n    height: 7px;\n    border-radius: 999px;\n    background: #fff3a5;\n    transition: width 0.15s ease, background 0.15s ease;\n  }\n\n  .tm-photo-scroll__dot--active {\n    width: 18px;\n    background: #FFE033;\n  }\n\u003c\/style\u003e\n\u003cdiv style=\"background: #f9f9f9; border-radius: 12px; padding: 20px; margin-top: 30px; box-shadow: 0 2px 8px rgba(0,0,0,0.05);\"\u003e\n\u003cscript\u003e\n  (function() {\n    var containers = document.querySelectorAll('.tm-photo-scroll');\n    if (!containers.length) return;\n\n    containers.forEach(function(container) {\n      var track = container.querySelector('.tm-photo-scroll__track');\n      var items = Array.prototype.slice.call(container.querySelectorAll('.tm-photo-scroll__item'));\n      if (!items.length) return;\n\n      var left = container.querySelector('.tm-photo-scroll__arrow--left');\n      var right = container.querySelector('.tm-photo-scroll__arrow--right');\n      var dots = Array.prototype.slice.call(container.querySelectorAll('.tm-photo-scroll__dot'));\n\n      function getCurrentIndex() {\n        var scrollLeft = track.scrollLeft;\n        var itemWidth = items[0].offsetWidth + 12;\n        return Math.round(scrollLeft \/ itemWidth);\n      }\n\n      function goToIndex(index) {\n        if (index \u003c 0) index = 0;\n        if (index \u003e items.length - 1) index = items.length - 1;\n        var itemWidth = items[0].offsetWidth + 12;\n        track.scrollTo({ left: index * itemWidth, behavior: 'smooth' });\n        updateDots(index);\n      }\n\n      function updateDots(activeIndex) {\n        dots.forEach(function(dot, i) {\n          dot.classList.toggle('tm-photo-scroll__dot--active', i === activeIndex);\n        });\n      }\n\n      if (left) {\n        left.addEventListener('click', function() {\n          goToIndex(getCurrentIndex() - 1);\n        });\n      }\n\n      if (right) {\n        right.addEventListener('click', function() {\n          goToIndex(getCurrentIndex() + 1);\n        });\n      }\n\n      track.addEventListener('scroll', function() {\n        if (track._tmScrolling) return;\n        track._tmScrolling = true;\n        window.requestAnimationFrame(function() {\n          track._tmScrolling = false;\n          updateDots(getCurrentIndex());\n        });\n      });\n\n      updateDots(0);\n    });\n  })();\n  \u003c\/script\u003e \u003c!-- What Homeowners Say Section --\u003e\n\u003csection style=\"padding: 20px; background-color: #ffffff; border-radius: 10px; margin-top: 30px; margin-bottom: 30px;\"\u003e\n\u003ch2 style=\"font-size: 1.5em; margin-bottom: 20px; text-align: center; color: #333;\"\u003e🗣️ What Homeowners Are Saying\u003c\/h2\u003e\n\u003cdiv style=\"display: flex; flex-direction: column; gap: 15px;\"\u003e\n\u003cdiv style=\"background-color: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.05);\"\u003e\n\u003cp style=\"font-style: italic; margin-bottom: 10px;\"\u003e“We highly recommend this company for your brick\/stone work.”\u003c\/p\u003e\n\u003cp style=\"font-weight: bold; text-align: right; margin: 0;\"\u003e— Liviu C.,\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"background-color: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.05);\"\u003e\n\u003cp style=\"font-style: italic; margin-bottom: 10px;\"\u003e“Couldn't be happier with the service!”\u003c\/p\u003e\n\u003cp style=\"font-weight: bold; text-align: right; margin: 0;\"\u003e— Matt D.,\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"background-color: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.05);\"\u003e\n\u003cp style=\"font-style: italic; margin-bottom: 10px;\"\u003e“Fast response, scheduling, fair price and completion.”\u003c\/p\u003e\n\u003cp style=\"font-weight: bold; text-align: right; margin: 0;\"\u003e— Karen H.,\u003cmeta charset=\"utf-8\"\u003e\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- FAQ Section --\u003e\n\u003csection style=\"padding: 20px; background-color: #f9f9f9; border-radius: 10px; margin-top: 40px; margin-bottom: 40px;\"\u003e\n\u003ch2 style=\"font-size: 1.5em; margin-bottom: 20px; text-align: center; color: #333;\"\u003e❓ Frequently Asked Questions\u003c\/h2\u003e\n\u003cdetails style=\"background-color: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.05); margin-bottom: 10px;\"\u003e\n\u003csummary style=\"font-weight: bold; cursor: pointer;\"\u003eIs it free to use TradeMatch?\u003c\/summary\u003e\n\u003cp style=\"margin-top: 10px;\"\u003eYes, signing up and browsing tradesmen is completely free!\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails style=\"background-color: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.05); margin-bottom: 10px;\"\u003e\n\u003csummary style=\"font-weight: bold; cursor: pointer;\"\u003eHow do I know if the tradesmen are reliable?\u003c\/summary\u003e\n\u003cp style=\"margin-top: 10px;\"\u003eTradesmen are rated by previous customers. You can read reviews, see ratings, and view their work portfolio before making a decision.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails style=\"background-color: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.05); margin-bottom: 10px;\"\u003e\n\u003csummary style=\"font-weight: bold; cursor: pointer;\"\u003eCan I choose which tradesman I want to hire?\u003c\/summary\u003e\n\u003cp style=\"margin-top: 10px;\"\u003eYes! You can select the tradesman that best fits your needs based on experience, reviews, and services offered.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails style=\"background-color: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.05); margin-bottom: 10px;\"\u003e\n\u003csummary style=\"font-weight: bold; cursor: pointer;\"\u003eHow do I book a job?\u003c\/summary\u003e\n\u003cp style=\"margin-top: 10px;\"\u003eBrowse available tradesmen, select the service and package you need, fill out the details, and you'll be put in direct contact to schedule a time.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails style=\"background-color: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.05); margin-bottom: 10px;\"\u003e\n\u003csummary style=\"font-weight: bold; cursor: pointer;\"\u003eWhat if the job turns out to be more complicated than expected?\u003c\/summary\u003e\n\u003cp style=\"margin-top: 10px;\"\u003eIf the project scope changes, the tradesman will provide an updated quote. You’ll always be kept informed with no surprises.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails style=\"background-color: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.05); margin-bottom: 10px;\"\u003e\n\u003csummary style=\"font-weight: bold; cursor: pointer;\"\u003eHow do I pay for the service?\u003c\/summary\u003e\n\u003cp style=\"margin-top: 10px;\"\u003ePayment is made directly to the tradesman after the job is completed. Methods may include bank transfer, credit card, or other preferred options.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails style=\"background-color: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.05); margin-bottom: 10px;\"\u003e\n\u003csummary style=\"font-weight: bold; cursor: pointer;\"\u003eAre there any hidden fees?\u003c\/summary\u003e\n\u003cp style=\"margin-top: 10px;\"\u003eNo. We don’t charge homeowners any fees beyond the cost of the job itself.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails style=\"background-color: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.05); margin-bottom: 10px;\" open=\"\"\u003e\n\u003csummary style=\"font-weight: bold; cursor: pointer;\"\u003eWhat if I’m not happy with the work?\u003c\/summary\u003e\n\u003cp style=\"margin-top: 10px;\"\u003eDiscuss concerns directly with the tradesman. If needed, our support team can help facilitate a resolution.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003c\/section\u003e\n\u003c\/div\u003e","brand":"Alderrock Masonry Ltd.","offers":[{"title":"Default Title","offer_id":52196897554746,"sku":null,"price":0.0,"currency_code":"CAD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0698\/4695\/8394\/files\/brick-and-stone-masonry-repair-home-exterior.png?v=1770831247"},{"product_id":"grand-river-brick-and-stone-masonry-repairs-profile","title":"Grand River Brick and Stone: Masonry Repairs (Profile)","description":"\u003c!-- About the Tradesman Section --\u003e\n\u003cdiv style=\"background: #f9f9f9; border-radius: 12px; padding: 20px; margin-top: 30px; box-shadow: 0 2px 8px rgba(0,0,0,0.05);\"\u003e\n\u003c!-- Title --\u003e\n\u003ch2 style=\"font-size: 1.4em; font-weight: 600; margin-bottom: 15px; color: #333;\"\u003e👷\u003cspan\u003e \u003c\/span\u003eWho You'll Be Working With\u003c\/h2\u003e\n\u003c!-- TradeMatch-style photo scroll bar (Compact version, Yellow #FFE033, no title\/subheader) --\u003e\n\u003cdiv class=\"tm-photo-scroll\"\u003e\n\u003cdiv class=\"tm-photo-scroll__viewport\"\u003e\n\u003cbutton class=\"tm-photo-scroll__arrow tm-photo-scroll__arrow--left\" type=\"button\" aria-label=\"Previous photos\"\u003e❮\u003c\/button\u003e\n\u003cdiv class=\"tm-photo-scroll__track\"\u003e\n\u003c!-- 👇 VA: DUPLICATE THIS BLOCK FOR MORE PHOTOS \u0026 JUST CHANGE THE src URL + alt TEXT --\u003e \u003c!-- Slide 1 --\u003e\n\u003cdiv class=\"tm-photo-scroll__item\"\u003e\u003cimg alt=\"Project photo 1\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0698\/4695\/8394\/files\/grbs.jpg?v=1764774453\"\u003e\u003c\/div\u003e\n\u003c!-- 👆 VA: JUST COPY\/PASTE MORE OF THESE .tm-photo-scroll__item BLOCKS AS NEEDED --\u003e\n\u003c\/div\u003e\n\u003cbutton class=\"tm-photo-scroll__arrow tm-photo-scroll__arrow--right\" type=\"button\" aria-label=\"Next photos\"\u003e❯\u003c\/button\u003e\n\u003c\/div\u003e\n\u003c!-- Dots: make the number of dots match the number of slides above --\u003e\n\u003cdiv class=\"tm-photo-scroll__dots\" aria-hidden=\"true\"\u003e\n\u003cspan class=\"tm-photo-scroll__dot tm-photo-scroll__dot--active\"\u003e\u003c\/span\u003e \u003cspan class=\"tm-photo-scroll__dot\"\u003e\u003c\/span\u003e \u003cspan class=\"tm-photo-scroll__dot\"\u003e\u003c\/span\u003e \u003cspan class=\"tm-photo-scroll__dot\"\u003e\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n  .tm-photo-scroll {\n    margin: 24px 0;\n    padding: 20px 18px 24px;\n    border-radius: 18px;\n    background: #f8fafc;\n    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.06);\n    font-family: inherit;\n  }\n\n  .tm-photo-scroll__viewport {\n    position: relative;\n    display: flex;\n    align-items: center;\n    margin-top: 0;\n  }\n\n  .tm-photo-scroll__track {\n    display: flex;\n    gap: 12px;\n    overflow-x: auto;\n    scroll-snap-type: x mandatory;\n    scroll-behavior: smooth;\n    padding: 4px 4px 8px;\n    -webkit-overflow-scrolling: touch;\n  }\n\n  .tm-photo-scroll__track::-webkit-scrollbar {\n    height: 6px;\n  }\n\n  .tm-photo-scroll__track::-webkit-scrollbar-thumb {\n    background: #FFE033;\n    border-radius: 999px;\n  }\n\n  .tm-photo-scroll__item {\n    flex: 0 0 60%;\n    max-width: 60%;\n    scroll-snap-align: center;\n  }\n\n  @media (min-width: 900px) {\n    .tm-photo-scroll__item {\n      flex: 0 0 35%;\n      max-width: 35%;\n    }\n  }\n\n  .tm-photo-scroll__item img {\n    display: block;\n    width: 100%;\n    height: auto;\n    border-radius: 14px;\n    object-fit: cover;\n    background: #e5e7eb;\n  }\n\n  .tm-photo-scroll__arrow {\n    flex: 0 0 auto;\n    border: none;\n    background: #FFE033;\n    color: #000;\n    border-radius: 999px;\n    width: 34px;\n    height: 34px;\n    font-size: 18px;\n    cursor: pointer;\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    transition: transform 0.1s ease, box-shadow 0.15s ease;\n    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.18);\n  }\n\n  .tm-photo-scroll__arrow:hover {\n    background: #ffea66;\n    transform: translateY(-1px);\n  }\n\n  .tm-photo-scroll__arrow:active {\n    transform: translateY(0);\n    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);\n  }\n\n  .tm-photo-scroll__arrow--left {\n    margin-right: 8px;\n  }\n\n  .tm-photo-scroll__arrow--right {\n    margin-left: 8px;\n  }\n\n  .tm-photo-scroll__dots {\n    display: flex;\n    justify-content: center;\n    gap: 6px;\n    margin-top: 12px;\n  }\n\n  .tm-photo-scroll__dot {\n    width: 7px;\n    height: 7px;\n    border-radius: 999px;\n    background: #fff3a5;\n    transition: width 0.15s ease, background 0.15s ease;\n  }\n\n  .tm-photo-scroll__dot--active {\n    width: 18px;\n    background: #FFE033;\n  }\n\u003c\/style\u003e\n\u003cdiv style=\"background: #f9f9f9; border-radius: 12px; padding: 20px; margin-top: 30px; box-shadow: 0 2px 8px rgba(0,0,0,0.05);\"\u003e\n\u003cscript\u003e\n  (function() {\n    var containers = document.querySelectorAll('.tm-photo-scroll');\n    if (!containers.length) return;\n\n    containers.forEach(function(container) {\n      var track = container.querySelector('.tm-photo-scroll__track');\n      var items = Array.prototype.slice.call(container.querySelectorAll('.tm-photo-scroll__item'));\n      if (!items.length) return;\n\n      var left = container.querySelector('.tm-photo-scroll__arrow--left');\n      var right = container.querySelector('.tm-photo-scroll__arrow--right');\n      var dots = Array.prototype.slice.call(container.querySelectorAll('.tm-photo-scroll__dot'));\n\n      function getCurrentIndex() {\n        var scrollLeft = track.scrollLeft;\n        var itemWidth = items[0].offsetWidth + 12;\n        return Math.round(scrollLeft \/ itemWidth);\n      }\n\n      function goToIndex(index) {\n        if (index \u003c 0) index = 0;\n        if (index \u003e items.length - 1) index = items.length - 1;\n        var itemWidth = items[0].offsetWidth + 12;\n        track.scrollTo({ left: index * itemWidth, behavior: 'smooth' });\n        updateDots(index);\n      }\n\n      function updateDots(activeIndex) {\n        dots.forEach(function(dot, i) {\n          dot.classList.toggle('tm-photo-scroll__dot--active', i === activeIndex);\n        });\n      }\n\n      if (left) {\n        left.addEventListener('click', function() {\n          goToIndex(getCurrentIndex() - 1);\n        });\n      }\n\n      if (right) {\n        right.addEventListener('click', function() {\n          goToIndex(getCurrentIndex() + 1);\n        });\n      }\n\n      track.addEventListener('scroll', function() {\n        if (track._tmScrolling) return;\n        track._tmScrolling = true;\n        window.requestAnimationFrame(function() {\n          track._tmScrolling = false;\n          updateDots(getCurrentIndex());\n        });\n      });\n\n      updateDots(0);\n    });\n  })();\n  \u003c\/script\u003e \u003c!-- What Homeowners Say Section --\u003e\n\u003csection style=\"padding: 20px; background-color: #ffffff; border-radius: 10px; margin-top: 30px; margin-bottom: 30px;\"\u003e\n\u003ch2 style=\"font-size: 1.5em; margin-bottom: 20px; text-align: center; color: #333;\"\u003e🗣️ What Homeowners Are Saying\u003c\/h2\u003e\n\u003cdiv style=\"display: flex; flex-direction: column; gap: 15px;\"\u003e\n\u003cdiv style=\"background-color: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.05);\"\u003e\n\u003cp style=\"font-style: italic; margin-bottom: 10px;\"\u003e“Stefan was professional and clever when he added stones to my front windows above a steel lintel and then rebuilt my chimney using the stones at the top. Every time I see it, it makes me feel happy. Sometimes I just go look at it. :)”\u003c\/p\u003e\n\u003cp style=\"font-weight: bold; text-align: right; margin: 0;\"\u003e— Susan L.,\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"background-color: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.05);\"\u003e\n\u003cp style=\"font-style: italic; margin-bottom: 10px;\"\u003e“Does great job, friendly, nice guy.”\u003c\/p\u003e\n\u003cp style=\"font-weight: bold; text-align: right; margin: 0;\"\u003e— Branko S.,\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- FAQ Section --\u003e\n\u003csection style=\"padding: 20px; background-color: #f9f9f9; border-radius: 10px; margin-top: 40px; margin-bottom: 40px;\"\u003e\n\u003ch2 style=\"font-size: 1.5em; margin-bottom: 20px; text-align: center; color: #333;\"\u003e❓ Frequently Asked Questions\u003c\/h2\u003e\n\u003cdetails style=\"background-color: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.05); margin-bottom: 10px;\"\u003e\n\u003csummary style=\"font-weight: bold; cursor: pointer;\"\u003eIs it free to use TradeMatch?\u003c\/summary\u003e\n\u003cp style=\"margin-top: 10px;\"\u003eYes, signing up and browsing tradesmen is completely free!\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails style=\"background-color: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.05); margin-bottom: 10px;\"\u003e\n\u003csummary style=\"font-weight: bold; cursor: pointer;\"\u003eHow do I know if the tradesmen are reliable?\u003c\/summary\u003e\n\u003cp style=\"margin-top: 10px;\"\u003eTradesmen are rated by previous customers. You can read reviews, see ratings, and view their work portfolio before making a decision.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails style=\"background-color: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.05); margin-bottom: 10px;\"\u003e\n\u003csummary style=\"font-weight: bold; cursor: pointer;\"\u003eCan I choose which tradesman I want to hire?\u003c\/summary\u003e\n\u003cp style=\"margin-top: 10px;\"\u003eYes! You can select the tradesman that best fits your needs based on experience, reviews, and services offered.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails style=\"background-color: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.05); margin-bottom: 10px;\"\u003e\n\u003csummary style=\"font-weight: bold; cursor: pointer;\"\u003eHow do I book a job?\u003c\/summary\u003e\n\u003cp style=\"margin-top: 10px;\"\u003eBrowse available tradesmen, select the service and package you need, fill out the details, and you'll be put in direct contact to schedule a time.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails style=\"background-color: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.05); margin-bottom: 10px;\"\u003e\n\u003csummary style=\"font-weight: bold; cursor: pointer;\"\u003eWhat if the job turns out to be more complicated than expected?\u003c\/summary\u003e\n\u003cp style=\"margin-top: 10px;\"\u003eIf the project scope changes, the tradesman will provide an updated quote. You’ll always be kept informed with no surprises.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails style=\"background-color: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.05); margin-bottom: 10px;\"\u003e\n\u003csummary style=\"font-weight: bold; cursor: pointer;\"\u003eHow do I pay for the service?\u003c\/summary\u003e\n\u003cp style=\"margin-top: 10px;\"\u003ePayment is made directly to the tradesman after the job is completed. Methods may include bank transfer, credit card, or other preferred options.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails style=\"background-color: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.05); margin-bottom: 10px;\"\u003e\n\u003csummary style=\"font-weight: bold; cursor: pointer;\"\u003eAre there any hidden fees?\u003c\/summary\u003e\n\u003cp style=\"margin-top: 10px;\"\u003eNo. We don’t charge homeowners any fees beyond the cost of the job itself.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails style=\"background-color: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.05); margin-bottom: 10px;\" open=\"\"\u003e\n\u003csummary style=\"font-weight: bold; cursor: pointer;\"\u003eWhat if I’m not happy with the work?\u003c\/summary\u003e\n\u003cp style=\"margin-top: 10px;\"\u003eDiscuss concerns directly with the tradesman. If needed, our support team can help facilitate a resolution.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003c\/section\u003e\n\u003c\/div\u003e","brand":"Grand River Brick and Stone","offers":[{"title":"Default Title","offer_id":52198404161850,"sku":null,"price":0.0,"currency_code":"CAD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0698\/4695\/8394\/files\/grandriver.jpg?v=1764774313"},{"product_id":"brickwash-masonry-cleaning-profile","title":"BrickWash: Masonry Cleaning (Profile)","description":"\u003c!-- About the Tradesman Section --\u003e\n\u003cdiv style=\"background: #f9f9f9; border-radius: 12px; padding: 20px; margin-top: 30px; box-shadow: 0 2px 8px rgba(0,0,0,0.05);\"\u003e\n\u003c!-- Title --\u003e\n\u003ch2 style=\"font-size: 1.4em; font-weight: 600; margin-bottom: 15px; color: #333;\"\u003e👷\u003cspan\u003e \u003c\/span\u003eWho You'll Be Working With\u003c\/h2\u003e\n\u003c!-- TradeMatch-style photo scroll bar (Compact version, Yellow #FFE033, no title\/subheader) --\u003e\n\u003cdiv class=\"tm-photo-scroll\"\u003e\n\u003cdiv class=\"tm-photo-scroll__viewport\"\u003e\n\u003cbutton aria-label=\"Previous photos\" type=\"button\" class=\"tm-photo-scroll__arrow tm-photo-scroll__arrow--left\"\u003e❮\u003c\/button\u003e\n\u003cdiv class=\"tm-photo-scroll__track\"\u003e\n\u003c!-- 👇 VA: DUPLICATE THIS BLOCK FOR MORE PHOTOS \u0026 JUST CHANGE THE src URL + alt TEXT --\u003e \u003c!-- Slide 1 --\u003e\n\u003cdiv class=\"tm-photo-scroll__item\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0698\/4695\/8394\/files\/brickwash.jpg?v=1764866937\" alt=\"Project photo 1\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cbutton aria-label=\"Next photos\" type=\"button\" class=\"tm-photo-scroll__arrow tm-photo-scroll__arrow--right\"\u003e❯\u003c\/button\u003e\n\u003c\/div\u003e\n\u003c!-- Dots: make the number of dots match the number of slides above --\u003e\n\u003cdiv aria-hidden=\"true\" class=\"tm-photo-scroll__dots\"\u003e\n\u003cspan class=\"tm-photo-scroll__dot tm-photo-scroll__dot--active\"\u003e\u003c\/span\u003e \u003cspan class=\"tm-photo-scroll__dot\"\u003e\u003c\/span\u003e \u003cspan class=\"tm-photo-scroll__dot\"\u003e\u003c\/span\u003e \u003cspan class=\"tm-photo-scroll__dot\"\u003e\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n  .tm-photo-scroll {\n    margin: 24px 0;\n    padding: 20px 18px 24px;\n    border-radius: 18px;\n    background: #f8fafc;\n    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.06);\n    font-family: inherit;\n  }\n\n  .tm-photo-scroll__viewport {\n    position: relative;\n    display: flex;\n    align-items: center;\n    margin-top: 0;\n  }\n\n  .tm-photo-scroll__track {\n    display: flex;\n    gap: 12px;\n    overflow-x: auto;\n    scroll-snap-type: x mandatory;\n    scroll-behavior: smooth;\n    padding: 4px 4px 8px;\n    -webkit-overflow-scrolling: touch;\n  }\n\n  .tm-photo-scroll__track::-webkit-scrollbar {\n    height: 6px;\n  }\n\n  .tm-photo-scroll__track::-webkit-scrollbar-thumb {\n    background: #FFE033;\n    border-radius: 999px;\n  }\n\n  .tm-photo-scroll__item {\n    flex: 0 0 60%;\n    max-width: 60%;\n    scroll-snap-align: center;\n  }\n\n  @media (min-width: 900px) {\n    .tm-photo-scroll__item {\n      flex: 0 0 35%;\n      max-width: 35%;\n    }\n  }\n\n  .tm-photo-scroll__item img {\n    display: block;\n    width: 100%;\n    height: auto;\n    border-radius: 14px;\n    object-fit: cover;\n    background: #e5e7eb;\n  }\n\n  .tm-photo-scroll__arrow {\n    flex: 0 0 auto;\n    border: none;\n    background: #FFE033;\n    color: #000;\n    border-radius: 999px;\n    width: 34px;\n    height: 34px;\n    font-size: 18px;\n    cursor: pointer;\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    transition: transform 0.1s ease, box-shadow 0.15s ease;\n    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.18);\n  }\n\n  .tm-photo-scroll__arrow:hover {\n    background: #ffea66;\n    transform: translateY(-1px);\n  }\n\n  .tm-photo-scroll__arrow:active {\n    transform: translateY(0);\n    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);\n  }\n\n  .tm-photo-scroll__arrow--left {\n    margin-right: 8px;\n  }\n\n  .tm-photo-scroll__arrow--right {\n    margin-left: 8px;\n  }\n\n  .tm-photo-scroll__dots {\n    display: flex;\n    justify-content: center;\n    gap: 6px;\n    margin-top: 12px;\n  }\n\n  .tm-photo-scroll__dot {\n    width: 7px;\n    height: 7px;\n    border-radius: 999px;\n    background: #fff3a5;\n    transition: width 0.15s ease, background 0.15s ease;\n  }\n\n  .tm-photo-scroll__dot--active {\n    width: 18px;\n    background: #FFE033;\n  }\n\u003c\/style\u003e\n\u003cdiv style=\"background: #f9f9f9; border-radius: 12px; padding: 20px; margin-top: 30px; box-shadow: 0 2px 8px rgba(0,0,0,0.05);\"\u003e\n\u003cscript\u003e\n  (function() {\n    var containers = document.querySelectorAll('.tm-photo-scroll');\n    if (!containers.length) return;\n\n    containers.forEach(function(container) {\n      var track = container.querySelector('.tm-photo-scroll__track');\n      var items = Array.prototype.slice.call(container.querySelectorAll('.tm-photo-scroll__item'));\n      if (!items.length) return;\n\n      var left = container.querySelector('.tm-photo-scroll__arrow--left');\n      var right = container.querySelector('.tm-photo-scroll__arrow--right');\n      var dots = Array.prototype.slice.call(container.querySelectorAll('.tm-photo-scroll__dot'));\n\n      function getCurrentIndex() {\n        var scrollLeft = track.scrollLeft;\n        var itemWidth = items[0].offsetWidth + 12;\n        return Math.round(scrollLeft \/ itemWidth);\n      }\n\n      function goToIndex(index) {\n        if (index \u003c 0) index = 0;\n        if (index \u003e items.length - 1) index = items.length - 1;\n        var itemWidth = items[0].offsetWidth + 12;\n        track.scrollTo({ left: index * itemWidth, behavior: 'smooth' });\n        updateDots(index);\n      }\n\n      function updateDots(activeIndex) {\n        dots.forEach(function(dot, i) {\n          dot.classList.toggle('tm-photo-scroll__dot--active', i === activeIndex);\n        });\n      }\n\n      if (left) {\n        left.addEventListener('click', function() {\n          goToIndex(getCurrentIndex() - 1);\n        });\n      }\n\n      if (right) {\n        right.addEventListener('click', function() {\n          goToIndex(getCurrentIndex() + 1);\n        });\n      }\n\n      track.addEventListener('scroll', function() {\n        if (track._tmScrolling) return;\n        track._tmScrolling = true;\n        window.requestAnimationFrame(function() {\n          track._tmScrolling = false;\n          updateDots(getCurrentIndex());\n        });\n      });\n\n      updateDots(0);\n    });\n  })();\n  \u003c\/script\u003e \u003c!-- What Homeowners Say Section --\u003e\n\u003csection style=\"padding: 20px; background-color: #ffffff; border-radius: 10px; margin-top: 30px; margin-bottom: 30px;\"\u003e\n\u003ch2 style=\"font-size: 1.5em; margin-bottom: 20px; text-align: center; color: #333;\"\u003e🗣️ What Homeowners Are Saying\u003c\/h2\u003e\n\u003cdiv style=\"display: flex; flex-direction: column; gap: 15px;\"\u003e\n\u003cdiv style=\"background-color: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.05);\"\u003e\n\u003cp style=\"font-style: italic; margin-bottom: 10px;\"\u003e“Just had our backyard brick wall washed and it turned out amazing. Never thought they would get old paint and blackened stains off but they did! Very pleased. Thanks Cam!”\u003c\/p\u003e\n\u003cp style=\"font-weight: bold; text-align: right; margin: 0;\"\u003e— Katherine W.,\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"background-color: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.05);\"\u003e\n\u003cp style=\"font-style: italic; margin-bottom: 10px;\"\u003e“Incredible transformation of our interior back wall! Worth every penny. The process is meticulous and the end result is amazing.”\u003c\/p\u003e\n\u003cp style=\"font-weight: bold; text-align: right; margin: 0;\"\u003e— Gillian F.,\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"background-color: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.05);\"\u003e\n\u003cp style=\"font-style: italic; margin-bottom: 10px;\"\u003e“Great work, a wonderful improvement to remove 100 years of grime and paint from the bricks.”\u003c\/p\u003e\n\u003cp style=\"font-weight: bold; text-align: right; margin: 0;\"\u003e— Trevor T.,\u003cmeta charset=\"utf-8\"\u003e\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- FAQ Section --\u003e\n\u003csection style=\"padding: 20px; background-color: #f9f9f9; border-radius: 10px; margin-top: 40px; margin-bottom: 40px;\"\u003e\n\u003ch2 style=\"font-size: 1.5em; margin-bottom: 20px; text-align: center; color: #333;\"\u003e❓ Frequently Asked Questions\u003c\/h2\u003e\n\u003cdetails style=\"background-color: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.05); margin-bottom: 10px;\"\u003e\n\u003csummary style=\"font-weight: bold; cursor: pointer;\"\u003eIs it free to use TradeMatch?\u003c\/summary\u003e\n\u003cp style=\"margin-top: 10px;\"\u003eYes, signing up and browsing tradesmen is completely free!\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails style=\"background-color: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.05); margin-bottom: 10px;\"\u003e\n\u003csummary style=\"font-weight: bold; cursor: pointer;\"\u003eHow do I know if the tradesmen are reliable?\u003c\/summary\u003e\n\u003cp style=\"margin-top: 10px;\"\u003eTradesmen are rated by previous customers. You can read reviews, see ratings, and view their work portfolio before making a decision.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails style=\"background-color: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.05); margin-bottom: 10px;\"\u003e\n\u003csummary style=\"font-weight: bold; cursor: pointer;\"\u003eCan I choose which tradesman I want to hire?\u003c\/summary\u003e\n\u003cp style=\"margin-top: 10px;\"\u003eYes! You can select the tradesman that best fits your needs based on experience, reviews, and services offered.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails style=\"background-color: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.05); margin-bottom: 10px;\"\u003e\n\u003csummary style=\"font-weight: bold; cursor: pointer;\"\u003eHow do I book a job?\u003c\/summary\u003e\n\u003cp style=\"margin-top: 10px;\"\u003eBrowse available tradesmen, select the service and package you need, fill out the details, and you'll be put in direct contact to schedule a time.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails style=\"background-color: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.05); margin-bottom: 10px;\"\u003e\n\u003csummary style=\"font-weight: bold; cursor: pointer;\"\u003eWhat if the job turns out to be more complicated than expected?\u003c\/summary\u003e\n\u003cp style=\"margin-top: 10px;\"\u003eIf the project scope changes, the tradesman will provide an updated quote. You’ll always be kept informed with no surprises.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails style=\"background-color: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.05); margin-bottom: 10px;\"\u003e\n\u003csummary style=\"font-weight: bold; cursor: pointer;\"\u003eHow do I pay for the service?\u003c\/summary\u003e\n\u003cp style=\"margin-top: 10px;\"\u003ePayment is made directly to the tradesman after the job is completed. Methods may include bank transfer, credit card, or other preferred options.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails style=\"background-color: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.05); margin-bottom: 10px;\"\u003e\n\u003csummary style=\"font-weight: bold; cursor: pointer;\"\u003eAre there any hidden fees?\u003c\/summary\u003e\n\u003cp style=\"margin-top: 10px;\"\u003eNo. We don’t charge homeowners any fees beyond the cost of the job itself.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails open=\"\" style=\"background-color: #fff; padding: 15px; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.05); margin-bottom: 10px;\"\u003e\n\u003csummary style=\"font-weight: bold; cursor: pointer;\"\u003eWhat if I’m not happy with the work?\u003c\/summary\u003e\n\u003cp style=\"margin-top: 10px;\"\u003eDiscuss concerns directly with the tradesman. If needed, our support team can help facilitate a resolution.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003c\/section\u003e\n\u003c\/div\u003e","brand":"BrickWash","offers":[{"title":"Default Title","offer_id":52217757335866,"sku":null,"price":0.0,"currency_code":"CAD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0698\/4695\/8394\/files\/brick-washing-exterior-home-cleaning.jpg?v=1770781175"}],"url":"https:\/\/canadiantradematch.ca\/collections\/tradesmen-profiles.oembed","provider":"TradeMatch","version":"1.0","type":"link"}