{"product_id":"corebuilt-joint-restore™-knee-massager","title":"CoreBuilt Joint Restore™ - Knee Massager","description":"\u003csection class=\"cb-restore-story\"\u003e\n  \u003cdiv class=\"cb-restore-story-inner\"\u003e\n\n    \u003c!-- ==========================================\n         INTRO\n    ========================================== --\u003e\n\n    \u003cdiv class=\"cb-restore-intro\"\u003e\n      \u003cspan class=\"cb-restore-eyebrow\"\u003e\n        COREBUILT RECOVERY\n      \u003c\/span\u003e\n\n      \u003ch2\u003e\n        Meet \u003cspan\u003eCoreBuilt Joint Restore™\u003c\/span\u003e\n      \u003c\/h2\u003e\n\n      \u003ch3\u003eYour everyday recovery companion.\u003c\/h3\u003e\n    \u003c\/div\u003e\n\n\n    \u003c!-- ==========================================\n         MAIN DESCRIPTION\n    ========================================== --\u003e\n\n    \u003cdiv class=\"cb-restore-main-copy\"\u003e\n\n      \u003cp\u003e\n        \u003cstrong\u003eCoreBuilt Joint Restore™\u003c\/strong\u003e was created for people who want more from their recovery routine — without making recovery complicated.\n      \u003c\/p\u003e\n\n      \u003cp\u003e\n        Designed to combine \u003cstrong\u003ehands-free massage\u003c\/strong\u003e,\n        \u003cstrong\u003etargeted knee \u0026amp; leg comfort\u003c\/strong\u003e and\n        \u003cstrong\u003esoothing heat\u003c\/strong\u003e, Joint Restore™ gives you a convenient\n        way to relax, recharge and make recovery part of your everyday routine.\n      \u003c\/p\u003e\n\n    \u003c\/div\u003e\n\n\n    \u003c!-- ==========================================\n         KEY BENEFITS\n    ========================================== --\u003e\n\n    \u003cdiv class=\"cb-restore-section-heading\"\u003e\n\n      \u003cspan\u003e\n        WHY JOINT RESTORE™\n      \u003c\/span\u003e\n\n      \u003ch3\u003e\n        More than a massage.\u003cbr\u003e\n        \u003cem\u003eA better way to recover.\u003c\/em\u003e\n      \u003c\/h3\u003e\n\n    \u003c\/div\u003e\n\n\n    \u003cdiv class=\"cb-restore-benefits\"\u003e\n\n      \u003c!-- 01 --\u003e\n\n      \u003cdiv class=\"cb-restore-benefit\"\u003e\n\n        \u003cdiv class=\"cb-benefit-number\"\u003e\n          01\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"cb-benefit-content\"\u003e\n\n          \u003ch4\u003e\n            Targeted Knee Massage\n          \u003c\/h4\u003e\n\n          \u003cp\u003e\n            Wrap it around your knee, switch it on and relax. Joint Restore™\n            delivers targeted massage without needing to hold a device in your hands.\n          \u003c\/p\u003e\n\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n\n\n      \u003c!-- 02 --\u003e\n\n      \u003cdiv class=\"cb-restore-benefit\"\u003e\n\n        \u003cdiv class=\"cb-benefit-number\"\u003e\n          02\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"cb-benefit-content\"\u003e\n\n          \u003ch4\u003e\n            Targeted Knee \u0026amp; Leg Comfort\n          \u003c\/h4\u003e\n\n          \u003cp\u003e\n            Designed around the areas that can feel tired after workouts,\n            long days on your feet or everyday movement.\n          \u003c\/p\u003e\n\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n\n\n      \u003c!-- 03 --\u003e\n\n      \u003cdiv class=\"cb-restore-benefit\"\u003e\n\n        \u003cdiv class=\"cb-benefit-number\"\u003e\n          03\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"cb-benefit-content\"\u003e\n\n          \u003ch4\u003e\n            Soothing Heat\n          \u003c\/h4\u003e\n\n          \u003cp\u003e\n            Add gentle warmth to your massage experience for a more\n            relaxing feeling during your recovery routine.\n          \u003c\/p\u003e\n\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n\n\n      \u003c!-- 04 --\u003e\n\n      \u003cdiv class=\"cb-restore-benefit\"\u003e\n\n        \u003cdiv class=\"cb-benefit-number\"\u003e\n          04\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"cb-benefit-content\"\u003e\n\n          \u003ch4\u003e\n            Designed for Everyday Use\n          \u003c\/h4\u003e\n\n          \u003cp\u003e\n            Whether you're relaxing at home, winding down after training\n            or taking a break during the day, Joint Restore™ fits naturally\n            into your routine.\n          \u003c\/p\u003e\n\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n\n    \u003c!-- ==========================================\n         DIFFERENCE SECTION\n    ========================================== --\u003e\n\n    \u003cdiv class=\"cb-restore-difference\"\u003e\n\n      \u003cdiv class=\"cb-difference-left\"\u003e\n\n        \u003cspan\u003e\n          THE COREBUILT DIFFERENCE\n        \u003c\/span\u003e\n\n        \u003ch3\u003e\n          Recovery shouldn't \u003cem\u003ebe complicated.\u003c\/em\u003e\n        \u003c\/h3\u003e\n\n      \u003c\/div\u003e\n\n\n      \u003cdiv class=\"cb-difference-right\"\u003e\n\n        \u003cp\u003e\n          We believe taking care of your body should be something\n          you can actually stick with.\n        \u003c\/p\u003e\n\n        \u003cp\u003e\n          That's why CoreBuilt Joint Restore™ is designed around one\n          simple idea:\n          \u003cstrong\u003emake quality recovery easier to access, easier to use\n          and easier to make part of your routine.\u003c\/strong\u003e\n        \u003c\/p\u003e\n\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n\n    \u003c!-- ==========================================\n         FINAL STATEMENT\n    ========================================== --\u003e\n\n    \u003cdiv class=\"cb-restore-final\"\u003e\n\n      \u003cspan\u003e\n        MOVE · RECOVER · RESET\n      \u003c\/span\u003e\n\n      \u003ch3\u003e\n        Make recovery part\u003cbr\u003e\n        of your \u003cem\u003eroutine.\u003c\/em\u003e\n      \u003c\/h3\u003e\n\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\u003c\/section\u003e\n\n\n\u003cstyle\u003e\n\n\/* =====================================================\n   COREBUILT JOINT RESTORE — PREMIUM STORY\n===================================================== *\/\n\n.cb-restore-story {\n\n  position:relative;\n\n  width:100%;\n\n  padding:110px 20px 120px;\n\n  background:#F7F9F7;\n\n  color:#171A18;\n\n  overflow:hidden;\n\n  font-family:\n    -apple-system,\n    BlinkMacSystemFont,\n    \"Segoe UI\",\n    Roboto,\n    Arial,\n    sans-serif;\n\n}\n\n\n\/* =====================================================\n   SUBTLE BACKGROUND LIGHT\n===================================================== *\/\n\n.cb-restore-story::before {\n\n  content:\"\";\n\n  position:absolute;\n\n  width:500px;\n  height:500px;\n\n  top:-260px;\n  right:-180px;\n\n  background:#DDEBE0;\n\n  border-radius:50%;\n\n  filter:blur(90px);\n\n  opacity:.45;\n\n  pointer-events:none;\n\n}\n\n\n\/* =====================================================\n   SECOND BACKGROUND LIGHT\n===================================================== *\/\n\n.cb-restore-story::after {\n\n  content:\"\";\n\n  position:absolute;\n\n  width:400px;\n  height:400px;\n\n  bottom:-250px;\n  left:-180px;\n\n  background:#E4EEE7;\n\n  border-radius:50%;\n\n  filter:blur(100px);\n\n  opacity:.5;\n\n  pointer-events:none;\n\n}\n\n\n\/* =====================================================\n   CONTAINER\n===================================================== *\/\n\n.cb-restore-story-inner {\n\n  position:relative;\n\n  z-index:2;\n\n  max-width:1050px;\n\n  margin:0 auto;\n\n}\n\n\n\/* =====================================================\n   INTRO\n===================================================== *\/\n\n.cb-restore-intro {\n\n  max-width:850px;\n\n  padding-right:40px;\n\n}\n\n\n.cb-restore-eyebrow {\n\n  display:block;\n\n  margin-bottom:20px;\n\n  color:#2E8B68;\n\n  font-size:11px;\n\n  font-weight:800;\n\n  letter-spacing:3px;\n\n}\n\n\n.cb-restore-intro h2 {\n\n  margin:0;\n\n  font-size:clamp(48px,7vw,76px);\n\n  line-height:.95;\n\n  letter-spacing:-4px;\n\n  font-weight:750;\n\n}\n\n\n.cb-restore-intro h2 span {\n\n  color:#1F4D3A;\n\n}\n\n\n.cb-restore-intro h3 {\n\n  margin:25px 0 0;\n\n  color:#34413A;\n\n  font-size:22px;\n\n  line-height:1.3;\n\n  font-weight:500;\n\n}\n\n\n\/* =====================================================\n   MAIN COPY\n===================================================== *\/\n\n.cb-restore-main-copy {\n\n  max-width:780px;\n\n  margin-top:38px;\n\n}\n\n\n.cb-restore-main-copy p {\n\n  margin:0 0 20px;\n\n  color:#59645E;\n\n  font-size:18px;\n\n  line-height:1.8;\n\n}\n\n\n.cb-restore-main-copy p:first-child {\n\n  font-size:20px;\n\n  color:#34413A;\n\n}\n\n\n.cb-restore-main-copy strong {\n\n  color:#1F4D3A;\n\n  font-weight:750;\n\n}\n\n\n\/* =====================================================\n   SECTION HEADING\n===================================================== *\/\n\n.cb-restore-section-heading {\n\n  margin-top:100px;\n\n  margin-bottom:38px;\n\n}\n\n\n.cb-restore-section-heading \u003e span {\n\n  display:block;\n\n  margin-bottom:14px;\n\n  color:#2E8B68;\n\n  font-size:10px;\n\n  font-weight:800;\n\n  letter-spacing:2.8px;\n\n}\n\n\n.cb-restore-section-heading h3 {\n\n  margin:0;\n\n  color:#171A18;\n\n  font-size:clamp(34px,5vw,52px);\n\n  line-height:1;\n\n  letter-spacing:-2.5px;\n\n}\n\n\n.cb-restore-section-heading h3 em {\n\n  color:#1F4D3A;\n\n  font-style:normal;\n\n}\n\n\n\/* =====================================================\n   BENEFITS\n===================================================== *\/\n\n.cb-restore-benefits {\n\n  display:grid;\n\n  grid-template-columns:1fr 1fr;\n\n  gap:16px;\n\n}\n\n\n.cb-restore-benefit {\n\n  display:flex;\n\n  gap:22px;\n\n  padding:30px;\n\n  background:rgba(255,255,255,.62);\n\n  border-top:1px solid rgba(31,77,58,.10);\n\n  border-bottom:1px solid rgba(31,77,58,.10);\n\n  transition:\n    transform .3s ease,\n    background .3s ease,\n    box-shadow .3s ease;\n\n}\n\n\n.cb-restore-benefit:hover {\n\n  transform:translateY(-5px);\n\n  background:#ffffff;\n\n  box-shadow:\n    0 18px 40px rgba(31,77,58,.07);\n\n}\n\n\n\/* NUMBER *\/\n\n.cb-benefit-number {\n\n  color:#2E8B68;\n\n  font-size:11px;\n\n  font-weight:800;\n\n  letter-spacing:1px;\n\n  padding-top:4px;\n\n  min-width:24px;\n\n}\n\n\n\/* CONTENT *\/\n\n.cb-benefit-content h4 {\n\n  margin:0 0 9px;\n\n  color:#1F4D3A;\n\n  font-size:18px;\n\n  line-height:1.2;\n\n  font-weight:750;\n\n}\n\n\n.cb-benefit-content p {\n\n  margin:0;\n\n  max-width:370px;\n\n  color:#69716C;\n\n  font-size:13px;\n\n  line-height:1.7;\n\n}\n\n\n\/* =====================================================\n   DIFFERENCE\n===================================================== *\/\n\n.cb-restore-difference {\n\n  display:grid;\n\n  grid-template-columns:.9fr 1.1fr;\n\n  gap:80px;\n\n  margin-top:110px;\n\n  padding:70px 0;\n\n  border-top:1px solid rgba(31,77,58,.13);\n\n  border-bottom:1px solid rgba(31,77,58,.13);\n\n}\n\n\n.cb-difference-left \u003e span {\n\n  color:#2E8B68;\n\n  font-size:10px;\n\n  font-weight:800;\n\n  letter-spacing:2.5px;\n\n}\n\n\n.cb-difference-left h3 {\n\n  margin:15px 0 0;\n\n  font-size:clamp(35px,5vw,52px);\n\n  line-height:1;\n\n  letter-spacing:-2.5px;\n\n}\n\n\n.cb-difference-left h3 em {\n\n  color:#1F4D3A;\n\n  font-style:normal;\n\n}\n\n\n.cb-difference-right {\n\n  padding-top:5px;\n\n}\n\n\n.cb-difference-right p {\n\n  margin:0 0 18px;\n\n  color:#69716C;\n\n  font-size:16px;\n\n  line-height:1.8;\n\n}\n\n\n.cb-difference-right strong {\n\n  color:#1F4D3A;\n\n  font-weight:750;\n\n}\n\n\n\/* =====================================================\n   FINAL\n===================================================== *\/\n\n.cb-restore-final {\n\n  margin-top:100px;\n\n  text-align:center;\n\n}\n\n\n.cb-restore-final \u003e span {\n\n  color:#2E8B68;\n\n  font-size:10px;\n\n  font-weight:800;\n\n  letter-spacing:3px;\n\n}\n\n\n.cb-restore-final h3 {\n\n  margin:18px 0 0;\n\n  color:#171A18;\n\n  font-size:clamp(38px,6vw,64px);\n\n  line-height:.98;\n\n  letter-spacing:-3px;\n\n}\n\n\n.cb-restore-final h3 em {\n\n  color:#1F4D3A;\n\n  font-style:normal;\n\n}\n\n\n\/* =====================================================\n   MOBILE\n===================================================== *\/\n\n@media screen and (max-width:749px) {\n\n  .cb-restore-story {\n\n    padding:70px 17px 80px;\n\n  }\n\n\n  .cb-restore-intro {\n\n    padding-right:20px;\n\n  }\n\n\n  .cb-restore-eyebrow {\n\n    font-size:9px;\n\n    letter-spacing:2.2px;\n\n  }\n\n\n  .cb-restore-intro h2 {\n\n    font-size:42px;\n\n    letter-spacing:-2.5px;\n\n  }\n\n\n  .cb-restore-intro h3 {\n\n    font-size:17px;\n\n    margin-top:18px;\n\n  }\n\n\n  .cb-restore-main-copy {\n\n    margin-top:28px;\n\n  }\n\n\n  .cb-restore-main-copy p {\n\n    font-size:15px;\n\n    line-height:1.7;\n\n  }\n\n\n  .cb-restore-main-copy p:first-child {\n\n    font-size:17px;\n\n  }\n\n\n  .cb-restore-section-heading {\n\n    margin-top:70px;\n\n    margin-bottom:28px;\n\n  }\n\n\n  .cb-restore-section-heading h3 {\n\n    font-size:35px;\n\n    letter-spacing:-1.8px;\n\n  }\n\n\n  .cb-restore-benefits {\n\n    grid-template-columns:1fr;\n\n    gap:10px;\n\n  }\n\n\n  .cb-restore-benefit {\n\n    padding:23px 18px;\n\n    gap:16px;\n\n  }\n\n\n  .cb-benefit-content h4 {\n\n    font-size:16px;\n\n  }\n\n\n  .cb-benefit-content p {\n\n    font-size:12px;\n\n  }\n\n\n  .cb-restore-difference {\n\n    grid-template-columns:1fr;\n\n    gap:30px;\n\n    margin-top:75px;\n\n    padding:55px 0;\n\n  }\n\n\n  .cb-difference-left h3 {\n\n    font-size:38px;\n\n  }\n\n\n  .cb-difference-right p {\n\n    font-size:14px;\n\n  }\n\n\n  .cb-restore-final {\n\n    margin-top:70px;\n\n  }\n\n\n  .cb-restore-final h3 {\n\n    font-size:43px;\n\n    letter-spacing:-2px;\n\n  }\n\n}\n\n\n\/* =====================================================\n   REDUCED MOTION\n===================================================== *\/\n\n@media (prefers-reduced-motion:reduce) {\n\n  .cb-restore-benefit {\n\n    transition:none;\n\n  }\n\n}\n\n\u003c\/style\u003e","brand":"CoreBuilt","offers":[{"title":"Default Title","offer_id":49144516640953,"sku":null,"price":499.0,"currency_code":"ZAR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0811\/4851\/0393\/files\/5857efc9-88b3-4e3c-bde1-6c1502675c92.png?v=1789417845","url":"https:\/\/corebuilt.co.za\/products\/corebuilt-joint-restore%e2%84%a2-knee-massager","provider":"CoreBuilt","version":"1.0","type":"link"}