{"product_id":"pusun-pt-smart-pro","title":"Pusun PT-smart Pro Tennis Ball Machine","description":"\u003cstyle class=\"ptsp-polish-v2\"\u003e\n  .ptsp-page {\n    width: 100%;\n    max-width: 1180px;\n    margin: 0 auto;\n    color: #17231f;\n    font-family: inherit;\n    background: linear-gradient(180deg, #fbfdfb 0%, #f4f8f5 52%, #fbfdfb 100%);\n    padding: 18px;\n  }\n  @supports selector(:has(*)) {\n    rte-formatter:has(.ptsp-page),\n    .text-block:has(.ptsp-page),\n    .rte:has(.ptsp-page) {\n      --max-width: 1180px !important;\n      width: min(1180px, calc(100vw - 32px)) !important;\n      max-width: min(1180px, calc(100vw - 32px)) !important;\n      margin-left: auto !important;\n      margin-right: auto !important;\n    }\n  }\n  .ptsp-page \u003e section {\n    position: relative;\n    margin: 18px 0;\n    padding: 38px !important;\n    border: 1px solid rgba(31,107,71,.12) !important;\n    border-radius: 18px !important;\n    background: rgba(255,255,255,.92);\n    box-shadow: 0 18px 50px rgba(23,35,31,.07);\n    overflow: hidden;\n  }\n  .ptsp-page \u003e section:first-of-type {\n    background: radial-gradient(circle at 83% 12%, rgba(131,220,90,.22), transparent 34%), linear-gradient(135deg, #f9fcfa 0%, #ffffff 52%, #eaf5ed 100%);\n    border-color: rgba(31,107,71,.14) !important;\n    box-shadow: 0 24px 70px rgba(23,35,31,.1);\n  }\n  .ptsp-page \u003e section:nth-of-type(4) {\n    background: linear-gradient(180deg, #f7fbf8 0%, #ffffff 100%);\n    border-color: rgba(31,107,71,.18) !important;\n  }\n  .ptsp-page \u003e section:nth-of-type(5) {\n    background: linear-gradient(135deg, #ffffff 0%, #f6faf8 100%);\n  }\n  .ptsp-page h1,\n  .ptsp-page h2,\n  .ptsp-page h3 { color: #16231f; }\n  .ptsp-page h1 { max-width: 780px; }\n  .ptsp-page a[href*=\"request-a-quote\"] {\n    box-shadow: 0 12px 24px rgba(31,107,71,.2);\n  }\n  .ptsp-page a[href*=\"request-a-quote\"],\n  .ptsp-page a[href*=\"contact\"] { transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }\n  .ptsp-page a[href*=\"request-a-quote\"]:hover,\n  .ptsp-page a[href*=\"contact\"]:hover { transform: translateY(-1px); }\n  .ptsp-page \u003e section:first-of-type img {\n    filter: drop-shadow(0 22px 28px rgba(23,35,31,.16));\n  }\n  .ptsp-page \u003e section:first-of-type \u003e div \u003e div:nth-child(2) \u003e div:first-child {\n    position: relative;\n    border: 0 !important;\n    background: radial-gradient(circle at 50% 28%, rgba(131,220,90,.26), transparent 42%), linear-gradient(180deg, #eef7ef 0%, #dfeee3 100%) !important;\n    padding: 22px !important;\n    box-shadow: inset 0 1px 0 rgba(255,255,255,.75), 0 22px 55px rgba(23,35,31,.12);\n  }\n  .ptsp-page \u003e section:first-of-type \u003e div \u003e div:nth-child(2) \u003e div:first-child::after {\n    content: \"\";\n    position: absolute;\n    left: 18%;\n    right: 18%;\n    bottom: 18px;\n    height: 18px;\n    border-radius: 999px;\n    background: rgba(23,35,31,.13);\n    filter: blur(10px);\n  }\n  .ptsp-page \u003e section:first-of-type \u003e div \u003e div:nth-child(2) \u003e div:first-child img {\n    position: relative;\n    z-index: 1;\n  }\n  .ptsp-page \u003e section:first-of-type \u003e div \u003e div:nth-child(2) \u003e div:nth-child(2) {\n    border-color: rgba(31,107,71,.14) !important;\n    background: rgba(255,255,255,.82) !important;\n    box-shadow: 0 18px 40px rgba(23,35,31,.075);\n    backdrop-filter: blur(8px);\n  }\n  .ptsp-page figure {\n    box-shadow: 0 14px 34px rgba(23,35,31,.07);\n    transition: transform .18s ease, box-shadow .18s ease;\n  }\n  .ptsp-page figure:hover {\n    transform: translateY(-2px);\n    box-shadow: 0 20px 44px rgba(23,35,31,.1);\n  }\n  .ptsp-page figure img { background: #f3f8f4; }\n  .ptsp-video-card {\n    border: 1px solid rgba(31,107,71,.14);\n    border-radius: 12px;\n    overflow: hidden;\n    background: #0f1d19;\n    box-shadow: 0 18px 48px rgba(23,35,31,.1);\n  }\n  .ptsp-video-card video {\n    display: block;\n    width: 100%;\n    height: auto;\n    background: #0f1d19;\n  }\n  .ptsp-video-caption {\n    padding: 14px 16px;\n    background: #fff;\n    color: #52605b;\n    font-size: 14px;\n    line-height: 1.5;\n  }\n  .ptsp-video-caption strong {\n    color: #18211f;\n  }\n  .ptsp-page \u003e section:nth-of-type(3) \u003e div \u003e div {\n    box-shadow: 0 12px 30px rgba(23,35,31,.055);\n  }\n  .ptsp-page \u003e section:nth-of-type(3) \u003e div \u003e div:nth-child(1) {\n    background: linear-gradient(180deg, #f7fcf4 0%, #fff 100%) !important;\n    border-top: 4px solid #1f6b47 !important;\n  }\n  .ptsp-page \u003e section:nth-of-type(3) \u003e div \u003e div:nth-child(2) {\n    background: linear-gradient(180deg, #f4f8ff 0%, #fff 100%) !important;\n    border-top: 4px solid #2f79b7 !important;\n  }\n  .ptsp-page \u003e section:nth-of-type(3) \u003e div \u003e div:nth-child(3) {\n    background: linear-gradient(180deg, #f7fbf8 0%, #fff 100%) !important;\n    border-top: 4px solid #7a9b37 !important;\n  }\n  .ptsp-page \u003e section:nth-of-type(3) \u003e div \u003e div:nth-child(4) {\n    background: linear-gradient(180deg, #fff9ed 0%, #fff 100%) !important;\n    border-top: 4px solid #c6921e !important;\n  }\n  .ptsp-page \u003e section:nth-of-type(3) \u003e div \u003e div:nth-child(5) {\n    background: linear-gradient(180deg, #f6fbfb 0%, #fff 100%) !important;\n    border-top: 4px solid #4f8d86 !important;\n  }\n  .ptsp-page \u003e section:nth-of-type(3) \u003e div \u003e div:nth-child(6) {\n    background: linear-gradient(180deg, #fff8e7 0%, #fff 100%) !important;\n    border-top: 4px solid #d9a72e !important;\n  }\n  .ptsp-mode-tabs label {\n    box-shadow: 0 4px 12px rgba(23,35,31,.045);\n    font-weight: 800;\n  }\n  .ptsp-mode-tabs label:hover { transform: translateY(-1px); }\n  .ptsp-mode-layout \u003e div:first-child {\n    background: linear-gradient(180deg, #f7fbf8 0%, #ffffff 100%) !important;\n    border-color: rgba(31,107,71,.16) !important;\n    color: #17231f;\n    box-shadow: inset 0 1px 0 rgba(255,255,255,.8), 0 16px 34px rgba(23,35,31,.08);\n  }\n  .ptsp-mode-layout \u003e div:first-child h3 { color: #17231f; }\n  .ptsp-mode-layout \u003e div:first-child p { color: #52605b !important; }\n  .ptsp-mode-layout \u003e div:nth-child(2) {\n    background: linear-gradient(180deg, #ffffff 0%, #f6faf8 100%) !important;\n    box-shadow: 0 18px 48px rgba(23,35,31,.09);\n  }\n  .ptsp-court { box-shadow: inset 0 0 0 1px rgba(255,255,255,.6), 0 16px 40px rgba(23,35,31,.12); }\n  .ptsp-program-highlights { margin-top: 2px !important; }\n  .ptsp-program-pill { box-shadow: 0 8px 18px rgba(23,35,31,.06); }\n  .ptsp-spec-row { border-top-color: rgba(31,107,71,.13) !important; }\n  .ptsp-page \u003e section:nth-of-type(6) [style*=\"border: 1px solid #d9e1dc\"] {\n    box-shadow: 0 12px 30px rgba(23,35,31,.055);\n  }\n  .ptsp-page \u003e section:last-of-type {\n    border: 0 !important;\n    background: radial-gradient(circle at 85% 10%, rgba(126,211,164,.18), transparent 30%), linear-gradient(135deg, #15231f 0%, #17231f 55%, #20362d 100%) !important;\n    box-shadow: 0 24px 70px rgba(23,35,31,.18);\n  }\n  .ptsp-page \u003e section:last-of-type h2,\n  .ptsp-page \u003e section:last-of-type h3 { color: #fff; }\n  .ptsp-page section,\n  .ptsp-page section \u003e div,\n  .ptsp-page section div {\n    min-width: 0;\n  }\n  .ptsp-page img,\n  .ptsp-page video,\n  .ptsp-page svg {\n    max-width: 100%;\n  }\n  @media (max-width: 1100px) {\n    .ptsp-page \u003e section {\n      padding: 30px !important;\n    }\n    .ptsp-page \u003e section:first-of-type \u003e div,\n    .ptsp-page \u003e section:nth-of-type(2) \u003e div,\n    .ptsp-page \u003e section:nth-of-type(6) \u003e div,\n    .ptsp-page \u003e section:last-of-type \u003e div {\n      grid-template-columns: 1fr !important;\n    }\n    .ptsp-page \u003e section:nth-of-type(6) \u003e div \u003e div:first-child,\n    .ptsp-page \u003e section:last-of-type \u003e div \u003e div:first-child {\n      max-width: 760px;\n    }\n  }\n  @media (max-width: 980px) {\n    .ptsp-page \u003e section:nth-of-type(6) \u003e div \u003e div:nth-child(2) {\n      grid-template-columns: 1fr !important;\n    }\n    .ptsp-spec-row {\n      grid-template-columns: minmax(92px, .7fr) minmax(0, 1fr) !important;\n    }\n    .ptsp-page \u003e section:last-of-type {\n      padding: 24px !important;\n    }\n  }\n  @media (max-width: 640px) {\n    .ptsp-page \u003e section:nth-of-type(6) \u003e div,\n    .ptsp-page \u003e section:last-of-type \u003e div {\n      display: block !important;\n    }\n    .ptsp-page \u003e section:nth-of-type(6) \u003e div \u003e div + div,\n    .ptsp-page \u003e section:last-of-type \u003e div \u003e div + div {\n      margin-top: 20px !important;\n    }\n    .ptsp-page \u003e section:nth-of-type(6) \u003e div \u003e div:nth-child(2) {\n      display: block !important;\n    }\n    .ptsp-page \u003e section:nth-of-type(6) \u003e div \u003e div:nth-child(2) \u003e div + div {\n      margin-top: 14px !important;\n    }\n  }\n  @media (max-width: 760px) {\n    .ptsp-page { width: 100%; margin: 0 auto; padding: 10px; }\n    .ptsp-page \u003e section { padding: 24px !important; border-radius: 14px !important; }\n    .ptsp-page h1 { font-size: 34px !important; }\n  }\n\u003c\/style\u003e\n\u003cdiv class=\"ptsp-page\"\u003e\n  \u003csection style=\"padding: 24px 0 34px; border-bottom: 1px solid #d9e1dc;\"\u003e\n    \u003cdiv style=\"display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 28px; align-items: center; width: 100%; max-width: 100%;\"\u003e\n      \u003cdiv\u003e\n        \u003cp style=\"margin: 0 0 10px; color: #1f6b47; font-size: 13px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase;\"\u003eSmart Pro Machine\u003c\/p\u003e\n        \u003ch1 style=\"margin: 0 0 14px; font-size: clamp(32px, 5vw, 56px); line-height: 1.04; letter-spacing: 0;\"\u003ePUSUN PT Smart Pro Tennis \u0026amp; Padel Ball Machine\u003c\/h1\u003e\n        \u003cp style=\"margin: 0 0 22px; max-width: 720px; color: #465650; font-size: 18px; line-height: 1.58;\"\u003eA high-value smart training machine for players, coaches, clubs, and padel facilities that need repeatable feeds, custom drill programming, and modern app-based control.\u003c\/p\u003e\n        \u003cdiv style=\"display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 22px;\"\u003e\n          \u003cspan style=\"display: inline-flex; align-items: center; min-height: 34px; padding: 6px 11px; border-radius: 999px; background: #e8f3ec; color: #1f6b47; font-weight: 800; font-size: 13px;\"\u003eCustom Drills\u003c\/span\u003e\n          \u003cspan style=\"display: inline-flex; align-items: center; min-height: 34px; padding: 6px 11px; border-radius: 999px; background: #eef2f7; color: #284b72; font-weight: 800; font-size: 13px;\"\u003eApp + Remote + Apple Watch\u003c\/span\u003e\n          \u003cspan style=\"display: inline-flex; align-items: center; min-height: 34px; padding: 6px 11px; border-radius: 999px; background: #f8eee8; color: #8b3e22; font-weight: 800; font-size: 13px;\"\u003eSaved Routines\u003c\/span\u003e\n        \u003c\/div\u003e\n        \u003cdiv style=\"display: flex; flex-wrap: wrap; gap: 10px;\"\u003e\n          \u003ca href=\"\/pages\/request-a-quote\" style=\"display: inline-block; padding: 13px 18px; border-radius: 6px; background: #1f6b47; color: #fff; text-decoration: none; font-weight: 800;\"\u003eRequest a Quote\u003c\/a\u003e\n          \u003ca href=\"\/pages\/contact\" style=\"display: inline-block; padding: 13px 18px; border-radius: 6px; border: 1px solid #9cad9f; color: #18211f; text-decoration: none; font-weight: 800;\"\u003eCheck UK Stock\u003c\/a\u003e\n          \u003ca href=\"\/pages\/how-to-choose-tennis-ball-machine-from-5-most-popular-battery-tennis-ball-machines\" style=\"display: inline-block; padding: 13px 18px; border-radius: 6px; border: 1px solid #c7d5ce; color: #1f6b47; background: #fff; text-decoration: none; font-weight: 800;\"\u003eCompare All Machines\u003c\/a\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv style=\"display: grid; gap: 14px;\"\u003e\n        \u003cdiv style=\"border: 1px solid #d9e1dc; border-radius: 8px; background: #f8fbf9; padding: 14px;\"\u003e\n          \u003cimg src=\"https:\/\/pusuntennis.com\/cdn\/shop\/files\/smart_pro_black.png?v=1777775252\u0026amp;width=1087\" alt=\"PUSUN PT Smart Pro tennis and padel ball machine\" style=\"display: block; width: 100%; height: auto; border-radius: 6px;\"\u003e\n        \u003c\/div\u003e\n        \u003cdiv style=\"border: 1px solid #d9e1dc; border-radius: 8px; background: #f8fbf9; padding: 20px;\"\u003e\n          \u003ch2 style=\"margin: 0 0 14px; font-size: 22px; letter-spacing: 0;\"\u003eQuick Specs\u003c\/h2\u003e\n          \u003cdiv style=\"display: grid; gap: 10px;\"\u003e\n            \u003cdiv style=\"display: flex; justify-content: space-between; gap: 16px; border-bottom: 1px solid #d9e1dc; padding-bottom: 9px;\"\u003e\n\u003cspan style=\"color: #5b6a65;\"\u003eTop speed\u003c\/span\u003e\u003cstrong\u003e75 mph \/ about 120 km\/h\u003c\/strong\u003e\n\u003c\/div\u003e\n            \u003cdiv style=\"display: flex; justify-content: space-between; gap: 16px; border-bottom: 1px solid #d9e1dc; padding-bottom: 9px;\"\u003e\n\u003cspan style=\"color: #5b6a65;\"\u003eFeed interval\u003c\/span\u003e\u003cstrong\u003e1.8-8 sec\u003c\/strong\u003e\n\u003c\/div\u003e\n            \u003cdiv style=\"display: flex; justify-content: space-between; gap: 16px; border-bottom: 1px solid #d9e1dc; padding-bottom: 9px;\"\u003e\n\u003cspan style=\"color: #5b6a65;\"\u003eCustom map\u003c\/span\u003e\u003cstrong\u003e28 landing points\u003c\/strong\u003e\n\u003c\/div\u003e\n            \u003cdiv style=\"display: flex; justify-content: space-between; gap: 16px; border-bottom: 1px solid #d9e1dc; padding-bottom: 9px;\"\u003e\n\u003cspan style=\"color: #5b6a65;\"\u003eBattery life\u003c\/span\u003e\u003cstrong\u003e5-8 hours\u003c\/strong\u003e\n\u003c\/div\u003e\n            \u003cdiv style=\"display: flex; justify-content: space-between; gap: 16px;\"\u003e\n\u003cspan style=\"color: #5b6a65;\"\u003eWeight\u003c\/span\u003e\u003cstrong\u003e33 lb \/ about 15 kg\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003csection style=\"padding: 26px 0;\"\u003e\n    \u003cdiv style=\"display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 24px; align-items: center; width: 100%; max-width: 100%;\"\u003e\n      \u003cdiv\u003e\n        \u003cp style=\"margin: 0 0 8px; color: #1f6b47; font-size: 13px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase;\"\u003eProduct Video\u003c\/p\u003e\n        \u003ch2 style=\"margin: 0 0 12px; font-size: 30px; letter-spacing: 0;\"\u003eSee the PT Smart Pro in action\u003c\/h2\u003e\n        \u003cp style=\"margin: 0; color: #52605b; line-height: 1.65;\"\u003eA quick visual overview helps customers understand the machine size, operation style, and training feel before they request a quote.\u003c\/p\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"ptsp-video-card\"\u003e\n        \u003cvideo controls preload=\"metadata\" playsinline src=\"https:\/\/cdn.shopify.com\/videos\/c\/o\/v\/9fe8a92a9e144256b7846099c3d6bc7e.mp4\"\u003e\u003c\/video\u003e\n        \u003cdiv class=\"ptsp-video-caption\"\u003e\n\u003cstrong\u003eMain product video\u003c\/strong\u003e\u003cbr\u003eMachine overview and real training presentation for buyers comparing smart tennis ball machines.\u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003csection style=\"padding: 34px 0;\"\u003e\n    \u003ch2 style=\"margin: 0 0 18px; font-size: 30px; letter-spacing: 0;\"\u003eBuilt for Smarter Practice\u003c\/h2\u003e\n    \u003cdiv style=\"display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 14px;\"\u003e\n      \u003cdiv style=\"border: 1px solid #d9e1dc; border-radius: 8px; padding: 18px; background: #fff;\"\u003e\n\u003cdiv style=\"font-size: 24px; color: #1f6b47; margin-bottom: 8px;\"\u003e01\u003c\/div\u003e\n\u003ch3 style=\"margin: 0 0 8px; font-size: 20px;\"\u003eOne-Touch 12 Preset Modes\u003c\/h3\u003e\n\u003cp style=\"margin: 0; color: #52605b; line-height: 1.55;\"\u003eStart quickly with 12 tennis preset modes for common practice patterns, from fixed feeds to cross, random, volley, smash, and AI drills.\u003c\/p\u003e\n\u003c\/div\u003e\n      \u003cdiv style=\"border: 1px solid #d9e1dc; border-radius: 8px; padding: 18px; background: #fff;\"\u003e\n\u003cdiv style=\"font-size: 24px; color: #1f6b47; margin-bottom: 8px;\"\u003e02\u003c\/div\u003e\n\u003ch3 style=\"margin: 0 0 8px; font-size: 20px;\"\u003eCustom Drills\u003c\/h3\u003e\n\u003cp style=\"margin: 0; color: #52605b; line-height: 1.55;\"\u003eBuild programmable drills from a 28-point landing map for tactical movement, reaction training, and targeted shot practice.\u003c\/p\u003e\n\u003c\/div\u003e\n      \u003cdiv style=\"border: 1px solid #d9e1dc; border-radius: 8px; padding: 18px; background: #fff;\"\u003e\n\u003cdiv style=\"font-size: 24px; color: #1f6b47; margin-bottom: 8px;\"\u003e03\u003c\/div\u003e\n\u003ch3 style=\"margin: 0 0 8px; font-size: 20px;\"\u003eSaved Routines\u003c\/h3\u003e\n\u003cp style=\"margin: 0; color: #52605b; line-height: 1.55;\"\u003eSave preferred drill settings in the app so players and coaches can repeat favourite sessions faster next time.\u003c\/p\u003e\n\u003c\/div\u003e\n      \u003cdiv style=\"border: 1px solid #d9e1dc; border-radius: 8px; padding: 18px; background: #fff;\"\u003e\n\u003cdiv style=\"font-size: 24px; color: #1f6b47; margin-bottom: 8px;\"\u003e04\u003c\/div\u003e\n\u003ch3 style=\"margin: 0 0 8px; font-size: 20px;\"\u003eTriple Control System\u003c\/h3\u003e\n\u003cp style=\"margin: 0; color: #52605b; line-height: 1.55;\"\u003eControl training from the mobile app, included smart remote, or Apple Watch for fast changes during live practice.\u003c\/p\u003e\n\u003c\/div\u003e\n      \u003cdiv style=\"border: 1px solid #d9e1dc; border-radius: 8px; padding: 18px; background: #fff;\"\u003e\n\u003cdiv style=\"font-size: 24px; color: #1f6b47; margin-bottom: 8px;\"\u003e05\u003c\/div\u003e\n\u003ch3 style=\"margin: 0 0 8px; font-size: 20px;\"\u003eInternal Oscillation\u003c\/h3\u003e\n\u003cp style=\"margin: 0; color: #52605b; line-height: 1.55;\"\u003eThe machine body stays still while the feed direction changes, making shot patterns less predictable and more match-like.\u003c\/p\u003e\n\u003c\/div\u003e\n      \u003cdiv style=\"border: 1px solid #d9e1dc; border-radius: 8px; padding: 18px; background: #fff;\"\u003e\n\u003cdiv style=\"font-size: 24px; color: #1f6b47; margin-bottom: 8px;\"\u003e06\u003c\/div\u003e\n\u003ch3 style=\"margin: 0 0 8px; font-size: 20px;\"\u003eCompetitive Price Point\u003c\/h3\u003e\n\u003cp style=\"margin: 0; color: #52605b; line-height: 1.55;\"\u003eA high-value smart option for buyers who want app control, tennis and padel presets, and advanced drills without moving to the highest price band.\u003c\/p\u003e\n\u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003csection style=\"padding: 6px 0 34px;\"\u003e\n    \u003cdiv style=\"display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 16px;\"\u003e\n      \u003cfigure style=\"margin: 0; border: 1px solid #d9e1dc; border-radius: 8px; overflow: hidden; background: #fff;\"\u003e\n        \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0653\/7484\/7107\/files\/app.png?v=1776844399\" alt=\"PT Smart Pro mobile app control interface\" style=\"display: block; width: 100%; height: 260px; object-fit: cover; object-position: top center;\"\u003e\n        \u003cfigcaption style=\"padding: 12px 14px; color: #52605b; font-size: 14px; line-height: 1.45;\"\u003e\u003cstrong style=\"color: #18211f;\"\u003eApp Control\u003c\/strong\u003e\u003cbr\u003eSet training mode, speed, spin, and feed interval from the mobile app.\u003c\/figcaption\u003e\n      \u003c\/figure\u003e\n      \u003cfigure style=\"margin: 0; border: 1px solid #d9e1dc; border-radius: 8px; overflow: hidden; background: #fff;\"\u003e\n        \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0653\/7484\/7107\/files\/6b6272d197d26395c591d57b0fc39241.png?v=1776844399\" alt=\"PT Smart Pro remote control\" style=\"display: block; width: 100%; height: 260px; object-fit: cover; object-position: center;\"\u003e\n        \u003cfigcaption style=\"padding: 12px 14px; color: #52605b; font-size: 14px; line-height: 1.45;\"\u003e\u003cstrong style=\"color: #18211f;\"\u003eSmart Remote\u003c\/strong\u003e\u003cbr\u003eMake fast changes during live coaching without returning to the machine.\u003c\/figcaption\u003e\n      \u003c\/figure\u003e\n      \u003cfigure style=\"margin: 0; border: 1px solid #d9e1dc; border-radius: 8px; overflow: hidden; background: #fff;\"\u003e\n        \u003cimg src=\"https:\/\/pusuntennis.com\/cdn\/shop\/files\/smartpro10.png?v=1777513390\u0026amp;width=800\" alt=\"PUSUN PT Smart Pro product range and training quality\" style=\"display: block; width: 100%; height: 260px; object-fit: cover; object-position: center;\"\u003e\n        \u003cfigcaption style=\"padding: 12px 14px; color: #52605b; font-size: 14px; line-height: 1.45;\"\u003e\u003cstrong style=\"color: #18211f;\"\u003eProfessional Range\u003c\/strong\u003e\u003cbr\u003eA smart training machine for tennis, padel, coaches, and club practice.\u003c\/figcaption\u003e\n      \u003c\/figure\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003csection style=\"padding: 34px 0; border-top: 1px solid #d9e1dc;\"\u003e\n    \u003cstyle\u003e\n      .ptsp-mode-tabs input { position: absolute; opacity: 0; pointer-events: none; }\n      .ptsp-mode-tabs label { display: inline-flex; align-items: center; justify-content: center; min-height: 34px; padding: 7px 10px; border-radius: 6px; background: #fff; border: 1px solid #d9e1dc; color: #18211f; font-size: 13px; cursor: pointer; transition: .18s ease; }\n      .ptsp-mode-tabs label[for=\"ptsp-fixed\"],\n      .ptsp-mode-tabs label[for=\"ptsp-basic\"],\n      .ptsp-mode-tabs label[for=\"ptsp-volley\"] { background: #eef8f1; border-color: #b7dfc4; color: #1f6b47; }\n      .ptsp-mode-tabs label[for=\"ptsp-cross\"],\n      .ptsp-mode-tabs label[for=\"ptsp-horizontal\"],\n      .ptsp-mode-tabs label[for=\"ptsp-vertical\"],\n      .ptsp-mode-tabs label[for=\"ptsp-random\"] { background: #edf4fb; border-color: #b9d4ec; color: #22577a; }\n      .ptsp-mode-tabs label[for=\"ptsp-smash\"],\n      .ptsp-mode-tabs label[for=\"ptsp-moon\"],\n      .ptsp-mode-tabs label[for=\"ptsp-vary\"],\n      .ptsp-mode-tabs label[for=\"ptsp-program\"],\n      .ptsp-mode-tabs label[for=\"ptsp-ai\"] { background: #fff5e8; border-color: #edc98f; color: #85521d; }\n      .ptsp-mode-panel { display: none; }\n      #ptsp-fixed:checked ~ .ptsp-mode-layout label[for=\"ptsp-fixed\"],\n      #ptsp-cross:checked ~ .ptsp-mode-layout label[for=\"ptsp-cross\"],\n      #ptsp-horizontal:checked ~ .ptsp-mode-layout label[for=\"ptsp-horizontal\"],\n      #ptsp-vertical:checked ~ .ptsp-mode-layout label[for=\"ptsp-vertical\"],\n      #ptsp-volley:checked ~ .ptsp-mode-layout label[for=\"ptsp-volley\"],\n      #ptsp-smash:checked ~ .ptsp-mode-layout label[for=\"ptsp-smash\"],\n      #ptsp-random:checked ~ .ptsp-mode-layout label[for=\"ptsp-random\"],\n      #ptsp-program:checked ~ .ptsp-mode-layout label[for=\"ptsp-program\"],\n      #ptsp-basic:checked ~ .ptsp-mode-layout label[for=\"ptsp-basic\"],\n      #ptsp-moon:checked ~ .ptsp-mode-layout label[for=\"ptsp-moon\"],\n      #ptsp-vary:checked ~ .ptsp-mode-layout label[for=\"ptsp-vary\"],\n      #ptsp-ai:checked ~ .ptsp-mode-layout label[for=\"ptsp-ai\"] { background: #1f6b47; border-color: #1f6b47; color: #fff; }\n      #ptsp-fixed:checked ~ .ptsp-mode-layout .ptsp-panel-fixed,\n      #ptsp-cross:checked ~ .ptsp-mode-layout .ptsp-panel-cross,\n      #ptsp-horizontal:checked ~ .ptsp-mode-layout .ptsp-panel-horizontal,\n      #ptsp-vertical:checked ~ .ptsp-mode-layout .ptsp-panel-vertical,\n      #ptsp-volley:checked ~ .ptsp-mode-layout .ptsp-panel-volley,\n      #ptsp-smash:checked ~ .ptsp-mode-layout .ptsp-panel-smash,\n      #ptsp-random:checked ~ .ptsp-mode-layout .ptsp-panel-random,\n      #ptsp-program:checked ~ .ptsp-mode-layout .ptsp-panel-program,\n      #ptsp-basic:checked ~ .ptsp-mode-layout .ptsp-panel-basic,\n      #ptsp-moon:checked ~ .ptsp-mode-layout .ptsp-panel-moon,\n      #ptsp-vary:checked ~ .ptsp-mode-layout .ptsp-panel-vary,\n      #ptsp-ai:checked ~ .ptsp-mode-layout .ptsp-panel-ai { display: block; }\n      .ptsp-court { width: 100%; max-width: 420px; height: auto; display: block; margin: 0 auto; border-radius: 8px; background: #eef5f0; }\n      .ptsp-court-bg { fill: #1d7660; stroke: #83dc5a; stroke-width: 5; }\n      .ptsp-court-line { stroke: rgba(255,255,255,.68); stroke-width: 2.2; fill: none; stroke-linecap: round; stroke-linejoin: round; }\n      .ptsp-net-band { display: none; }\n      .ptsp-net { stroke: rgba(246,255,250,.78); stroke-width: 2.5; stroke-linecap: round; fill: none; }\n      .ptsp-net-shadow { stroke: rgba(13,28,25,.5); stroke-width: 7.2; stroke-linecap: round; fill: none; }\n      .ptsp-net-mark { display: none; }\n      .ptsp-net-post { stroke: rgba(246,255,250,.82); stroke-width: 2; stroke-linecap: round; }\n      .ptsp-machine { fill: #172323; stroke: rgba(255,255,255,.72); stroke-width: 1.35; }\n      .ptsp-machine-accent { fill: #83dc5a; stroke: none; }\n      .ptsp-path { fill: none; stroke: #cfff52; stroke-width: 2.8; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 12 4; opacity: .98; }\n      .ptsp-path-fast { stroke: #ecff73; stroke-width: 2.4; stroke-dasharray: 8 3; opacity: .98; }\n      .ptsp-path-mid { stroke: #cfff52; stroke-width: 2.8; stroke-dasharray: 12 4; opacity: .94; }\n      .ptsp-path-slow { stroke: #91f06d; stroke-width: 3; stroke-dasharray: 14 5; opacity: .88; }\n      .ptsp-cross-frame { animation: ptsp-cross-a 3s steps(1, end) infinite; }\n      .ptsp-cross-frame-b { opacity: 0; animation-name: ptsp-cross-b; }\n      .ptsp-path-light { stroke: #dfff7a; stroke-width: 2.1; stroke-dasharray: 6 5; opacity: .86; animation: ptsp-light-pulse 1.5s ease-in-out infinite; }\n      .ptsp-dot-light { fill: #e6ff73; stroke: #fbffe8; stroke-width: 2; animation: ptsp-light-pulse 1.5s ease-in-out infinite; }\n      @keyframes ptsp-cross-a { 0%, 49.99% { opacity: 1; } 50%, 100% { opacity: 0; } }\n      @keyframes ptsp-cross-b { 0%, 49.99% { opacity: 0; } 50%, 100% { opacity: 1; } }\n      @keyframes ptsp-light-pulse { 0%, 100% { opacity: .42; } 45%, 70% { opacity: 1; } }\n      .ptsp-dot { fill: #b8ff5a; stroke: #f4ffe9; stroke-width: 2.4; }\n      .ptsp-dot-alt { fill: #dfe3d5; stroke: #9aa391; stroke-width: 1.8; }\n      .ptsp-dot-label { fill: #6a7166; font-size: 12px; font-weight: 800; text-anchor: middle; dominant-baseline: middle; }\n      .ptsp-dot-label-hot { fill: #163918; font-size: 12px; font-weight: 900; text-anchor: middle; dominant-baseline: middle; }\n      .ptsp-program-highlights { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 22px; }\n      .ptsp-program-pill { display: inline-flex; align-items: center; gap: 8px; border: 1px solid rgba(31,107,71,.18); border-radius: 999px; padding: 8px 13px; background: #f5fbf1; color: #184d36; font-size: 13px; font-weight: 800; }\n      .ptsp-program-pill span { display: inline-grid; place-items: center; width: 20px; height: 20px; border-radius: 999px; background: #1f6b47; color: #fff; font-size: 12px; }\n      .ptsp-program-pill:nth-child(2) { background: #fff8df; border-color: rgba(181,135,23,.22); color: #6c5114; }\n      .ptsp-program-pill:nth-child(2) span { background: #c6921e; }\n      .ptsp-program-pill:nth-child(3) { background: #eef7ff; border-color: rgba(39,105,164,.2); color: #1e527d; }\n      .ptsp-program-pill:nth-child(3) span { background: #2f79b7; }\n      .ptsp-spec-row { display: grid; grid-template-columns: minmax(110px, .7fr) minmax(120px, 1fr); gap: 14px; padding: 11px 0; border-top: 1px solid #d9e1dc; align-items: baseline; }\n      .ptsp-spec-label { color: #66746f; font-size: 13px; }\n      .ptsp-spec-value { color: #18211f; font-weight: 800; line-height: 1.35; }\n      @media (max-width: 760px) { .ptsp-mode-layout { grid-template-columns: 1fr !important; } }\n    \u003c\/style\u003e\n    \u003cp style=\"margin: 0 0 8px; color: #1f6b47; font-size: 13px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase;\"\u003eSmart Training Programs\u003c\/p\u003e\n    \u003ch2 style=\"margin: 0 0 18px; font-size: 30px; letter-spacing: 0;\"\u003eOne-Touch presets, custom drills, and saved routines\u003c\/h2\u003e\n    \u003cp style=\"margin: -6px 0 12px; max-width: 820px; color: #52605b; line-height: 1.65;\"\u003eStart from the preset tennis modes, then build custom drills by adjusting landing points, speed, spin, interval, and sequence. The 28-point landing map is used for precise route building, and favourite routines can be saved in the app for quick repeat sessions.\u003c\/p\u003e\n    \u003cdiv class=\"ptsp-video-card\" style=\"margin: 0 0 18px;\"\u003e\n      \u003cvideo controls preload=\"metadata\" playsinline src=\"https:\/\/cdn.shopify.com\/videos\/c\/o\/v\/6fc3fb7736d94ec08ede43ed89dcc0c5.mp4\"\u003e\u003c\/video\u003e\n      \u003cdiv class=\"ptsp-video-caption\"\u003e\n\u003cstrong\u003eSmart training interface\u003c\/strong\u003e\u003cbr\u003eShows the app-led training programs, preset drills, and how users can adjust and repeat their preferred routines.\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"ptsp-program-highlights\" aria-label=\"Training program highlights\"\u003e\n      \u003cdiv class=\"ptsp-program-pill\"\u003e\n\u003cspan\u003e1\u003c\/span\u003eCustom drill combinations\u003c\/div\u003e\n      \u003cdiv class=\"ptsp-program-pill\"\u003e\n\u003cspan\u003e2\u003c\/span\u003eSave personal preferences\u003c\/div\u003e\n      \u003cdiv class=\"ptsp-program-pill\"\u003e\n\u003cspan\u003e3\u003c\/span\u003eRepeat favourite sessions fast\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"ptsp-mode-tabs\"\u003e\n      \u003cinput id=\"ptsp-fixed\" type=\"radio\" name=\"ptsp-mode\" checked\u003e\n      \u003cinput id=\"ptsp-cross\" type=\"radio\" name=\"ptsp-mode\"\u003e\n      \u003cinput id=\"ptsp-horizontal\" type=\"radio\" name=\"ptsp-mode\"\u003e\n      \u003cinput id=\"ptsp-vertical\" type=\"radio\" name=\"ptsp-mode\"\u003e\n      \u003cinput id=\"ptsp-volley\" type=\"radio\" name=\"ptsp-mode\"\u003e\n      \u003cinput id=\"ptsp-smash\" type=\"radio\" name=\"ptsp-mode\"\u003e\n      \u003cinput id=\"ptsp-random\" type=\"radio\" name=\"ptsp-mode\"\u003e\n      \u003cinput id=\"ptsp-program\" type=\"radio\" name=\"ptsp-mode\"\u003e\n      \u003cinput id=\"ptsp-basic\" type=\"radio\" name=\"ptsp-mode\"\u003e\n      \u003cinput id=\"ptsp-moon\" type=\"radio\" name=\"ptsp-mode\"\u003e\n      \u003cinput id=\"ptsp-vary\" type=\"radio\" name=\"ptsp-mode\"\u003e\n      \u003cinput id=\"ptsp-ai\" type=\"radio\" name=\"ptsp-mode\"\u003e\n\n      \u003cdiv class=\"ptsp-mode-layout\" style=\"display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 18px; align-items: stretch; width: 100%; max-width: 100%;\"\u003e\n        \u003cdiv style=\"border: 1px solid #d9e1dc; border-radius: 8px; background: #f8fbf9; padding: 20px;\"\u003e\n          \u003ch3 style=\"margin: 0 0 12px; font-size: 21px;\"\u003e12 Preset Tennis Modes\u003c\/h3\u003e\n          \u003cp style=\"margin: 0 0 14px; color: #52605b; line-height: 1.6;\"\u003eTap a preset to preview its pattern family. In the app, these presets can become more personal drills when you adjust ball speed, spin, interval, and landing sequence.\u003c\/p\u003e\n          \u003cdiv style=\"display: flex; flex-wrap: wrap; gap: 8px;\"\u003e\n            \u003clabel for=\"ptsp-fixed\"\u003eFixed\u003c\/label\u003e\n            \u003clabel for=\"ptsp-cross\"\u003eCross\u003c\/label\u003e\n            \u003clabel for=\"ptsp-horizontal\"\u003eHorizontal\u003c\/label\u003e\n            \u003clabel for=\"ptsp-vertical\"\u003eVertical\u003c\/label\u003e\n            \u003clabel for=\"ptsp-volley\"\u003eVolley\u003c\/label\u003e\n            \u003clabel for=\"ptsp-smash\"\u003eSmash\u003c\/label\u003e\n            \u003clabel for=\"ptsp-random\"\u003eRandom\u003c\/label\u003e\n            \u003clabel for=\"ptsp-program\"\u003eProgram\u003c\/label\u003e\n            \u003clabel for=\"ptsp-basic\"\u003eBasic Drill\u003c\/label\u003e\n            \u003clabel for=\"ptsp-moon\"\u003eMoon\u003c\/label\u003e\n            \u003clabel for=\"ptsp-vary\"\u003eVary Speed\u003c\/label\u003e\n            \u003clabel for=\"ptsp-ai\"\u003eAI Drill\u003c\/label\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv style=\"border: 1px solid #d9e1dc; border-radius: 8px; background: #fff; padding: 18px;\"\u003e\n          \u003cdiv class=\"ptsp-mode-panel ptsp-panel-fixed\"\u003e\n\u003ch3 style=\"margin: 0 0 8px; font-size: 20px;\"\u003eFixed\u003c\/h3\u003e\n\u003csvg class=\"ptsp-court\" viewbox=\"0 0 300 420\" role=\"img\" aria-label=\"Fixed drill vertical court pattern\"\u003e\u003cpolygon class=\"ptsp-court-bg\" points=\"42,38 258,38 300,368 0,368\"\u003e\u003c\/polygon\u003e\u003cpath class=\"ptsp-court-line\" d=\"M42 38 L0 368 M258 38 L300 368 M82 38 L54 368 M218 38 L246 368 M42 38 L258 38 M0 368 L300 368 M75 118 L225 118 M62 264 L238 264 M150 118 L150 264 M147 38 L153 38 M143 368 L157 368\"\u003e\u003c\/path\u003e\u003cpath class=\"ptsp-net-shadow\" d=\"M28 171 C82 173 218 173 272 171\"\u003e\u003c\/path\u003e\u003cpath class=\"ptsp-net\" d=\"M28 168 C82 170 218 170 272 168\"\u003e\u003c\/path\u003e\u003cline class=\"ptsp-net-post\" x1=\"28\" y1=\"163\" x2=\"28\" y2=\"177\"\u003e\u003c\/line\u003e\u003cline class=\"ptsp-net-post\" x1=\"272\" y1=\"163\" x2=\"272\" y2=\"177\"\u003e\u003c\/line\u003e\u003cline class=\"ptsp-net-post\" x1=\"150\" y1=\"168\" x2=\"150\" y2=\"178\"\u003e\u003c\/line\u003e\u003cimage href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0653\/7484\/7107\/files\/image_c255826a-525d-4064-a5f2-f725a446a1be.png?v=1777448066\u0026amp;width=320\" x=\"120\" y=\"38\" width=\"60\" height=\"78\" preserveaspectratio=\"xMidYMid meet\" style=\"mix-blend-mode: multiply;\"\u003e\u003c\/image\u003e\u003cpath class=\"ptsp-path\" d=\"M150 80 C150 120 150 174 150 252\"\u003e\u003c\/path\u003e\u003ccircle class=\"ptsp-dot\" cx=\"150\" cy=\"252\" r=\"8.5\"\u003e\u003c\/circle\u003e\u003c\/svg\u003e\u003cp style=\"margin: 12px 0 0; color: #52605b; line-height: 1.55;\"\u003eRepeat one consistent landing point for technical correction and stroke rhythm.\u003c\/p\u003e\n\u003c\/div\u003e\n          \u003cdiv class=\"ptsp-mode-panel ptsp-panel-cross\"\u003e\n\u003ch3 style=\"margin: 0 0 8px; font-size: 20px;\"\u003eCross\u003c\/h3\u003e\n\u003csvg class=\"ptsp-court\" viewbox=\"0 0 300 420\" role=\"img\" aria-label=\"Cross drill alternating left deep and right deep court pattern\"\u003e\u003cpolygon class=\"ptsp-court-bg\" points=\"42,38 258,38 300,368 0,368\"\u003e\u003c\/polygon\u003e\u003cpath class=\"ptsp-court-line\" d=\"M42 38 L0 368 M258 38 L300 368 M82 38 L54 368 M218 38 L246 368 M42 38 L258 38 M0 368 L300 368 M75 118 L225 118 M62 264 L238 264 M150 118 L150 264 M147 38 L153 38 M143 368 L157 368\"\u003e\u003c\/path\u003e\u003cpath class=\"ptsp-net-shadow\" d=\"M28 171 C82 173 218 173 272 171\"\u003e\u003c\/path\u003e\u003cpath class=\"ptsp-net\" d=\"M28 168 C82 170 218 170 272 168\"\u003e\u003c\/path\u003e\u003cline class=\"ptsp-net-post\" x1=\"28\" y1=\"163\" x2=\"28\" y2=\"177\"\u003e\u003c\/line\u003e\u003cline class=\"ptsp-net-post\" x1=\"272\" y1=\"163\" x2=\"272\" y2=\"177\"\u003e\u003c\/line\u003e\u003cline class=\"ptsp-net-post\" x1=\"150\" y1=\"168\" x2=\"150\" y2=\"178\"\u003e\u003c\/line\u003e\u003cimage href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0653\/7484\/7107\/files\/image_c255826a-525d-4064-a5f2-f725a446a1be.png?v=1777448066\u0026amp;width=320\" x=\"120\" y=\"38\" width=\"60\" height=\"78\" preserveaspectratio=\"xMidYMid meet\" style=\"mix-blend-mode: multiply;\"\u003e\u003c\/image\u003e\u003cg class=\"ptsp-cross-frame ptsp-cross-frame-a\"\u003e\u003cpath class=\"ptsp-path\" d=\"M150 80 C128 132 108 230 92 314\"\u003e\u003c\/path\u003e\u003cpath class=\"ptsp-path ptsp-path-light\" d=\"M150 80 C150 126 150 178 150 246\"\u003e\u003c\/path\u003e\u003ccircle class=\"ptsp-dot\" cx=\"92\" cy=\"314\" r=\"8\"\u003e\u003c\/circle\u003e\u003ccircle class=\"ptsp-dot-light\" cx=\"150\" cy=\"246\" r=\"7.2\"\u003e\u003c\/circle\u003e\u003ctext x=\"92\" y=\"336\" style=\"fill: rgba(255,255,255,.82); font-size: 11px; font-weight: 800; text-anchor: middle;\"\u003eLeft Deep\u003c\/text\u003e\u003ctext x=\"150\" y=\"267\" style=\"fill: rgba(255,255,255,.76); font-size: 11px; font-weight: 800; text-anchor: middle;\"\u003eMiddle Light\u003c\/text\u003e\u003c\/g\u003e\u003cg class=\"ptsp-cross-frame ptsp-cross-frame-b\"\u003e\u003cpath class=\"ptsp-path\" d=\"M150 80 C172 132 192 230 208 314\"\u003e\u003c\/path\u003e\u003cpath class=\"ptsp-path ptsp-path-light\" d=\"M150 80 C150 126 150 178 150 246\"\u003e\u003c\/path\u003e\u003ccircle class=\"ptsp-dot\" cx=\"208\" cy=\"314\" r=\"8\"\u003e\u003c\/circle\u003e\u003ccircle class=\"ptsp-dot-light\" cx=\"150\" cy=\"246\" r=\"7.2\"\u003e\u003c\/circle\u003e\u003ctext x=\"208\" y=\"336\" style=\"fill: rgba(255,255,255,.82); font-size: 11px; font-weight: 800; text-anchor: middle;\"\u003eRight Deep\u003c\/text\u003e\u003ctext x=\"150\" y=\"267\" style=\"fill: rgba(255,255,255,.76); font-size: 11px; font-weight: 800; text-anchor: middle;\"\u003eMiddle Light\u003c\/text\u003e\u003c\/g\u003e\u003c\/svg\u003e\u003cp style=\"margin: 12px 0 0; color: #52605b; line-height: 1.55;\"\u003eAlternates every 1.5 seconds between Left Deep + Middle Light and Right Deep + Middle Light patterns.\u003c\/p\u003e\n\u003c\/div\u003e\n          \u003cdiv class=\"ptsp-mode-panel ptsp-panel-horizontal\"\u003e\n\u003ch3 style=\"margin: 0 0 8px; font-size: 20px;\"\u003eHorizontal\u003c\/h3\u003e\n\u003csvg class=\"ptsp-court\" viewbox=\"0 0 300 420\" role=\"img\" aria-label=\"Horizontal drill vertical court pattern\"\u003e\u003cpolygon class=\"ptsp-court-bg\" points=\"42,38 258,38 300,368 0,368\"\u003e\u003c\/polygon\u003e\u003cpath class=\"ptsp-court-line\" d=\"M42 38 L0 368 M258 38 L300 368 M82 38 L54 368 M218 38 L246 368 M42 38 L258 38 M0 368 L300 368 M75 118 L225 118 M62 264 L238 264 M150 118 L150 264 M147 38 L153 38 M143 368 L157 368\"\u003e\u003c\/path\u003e\u003cpath class=\"ptsp-net-shadow\" d=\"M28 171 C82 173 218 173 272 171\"\u003e\u003c\/path\u003e\u003cpath class=\"ptsp-net\" d=\"M28 168 C82 170 218 170 272 168\"\u003e\u003c\/path\u003e\u003cline class=\"ptsp-net-post\" x1=\"28\" y1=\"163\" x2=\"28\" y2=\"177\"\u003e\u003c\/line\u003e\u003cline class=\"ptsp-net-post\" x1=\"272\" y1=\"163\" x2=\"272\" y2=\"177\"\u003e\u003c\/line\u003e\u003cline class=\"ptsp-net-post\" x1=\"150\" y1=\"168\" x2=\"150\" y2=\"178\"\u003e\u003c\/line\u003e\u003cimage href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0653\/7484\/7107\/files\/image_c255826a-525d-4064-a5f2-f725a446a1be.png?v=1777448066\u0026amp;width=320\" x=\"120\" y=\"38\" width=\"60\" height=\"78\" preserveaspectratio=\"xMidYMid meet\" style=\"mix-blend-mode: multiply;\"\u003e\u003c\/image\u003e\u003cpath class=\"ptsp-path\" d=\"M150 80 C118 132 92 214 76 280 M150 80 C150 132 150 190 150 254 M150 80 C182 132 208 214 224 280\"\u003e\u003c\/path\u003e\u003ccircle class=\"ptsp-dot\" cx=\"76\" cy=\"280\" r=\"8\"\u003e\u003c\/circle\u003e\u003ccircle class=\"ptsp-dot\" cx=\"150\" cy=\"254\" r=\"8\"\u003e\u003c\/circle\u003e\u003ccircle class=\"ptsp-dot\" cx=\"224\" cy=\"280\" r=\"8\"\u003e\u003c\/circle\u003e\u003c\/svg\u003e\u003cp style=\"margin: 12px 0 0; color: #52605b; line-height: 1.55;\"\u003eSide-to-side feeds across the court for footwork and width coverage.\u003c\/p\u003e\n\u003c\/div\u003e\n          \u003cdiv class=\"ptsp-mode-panel ptsp-panel-vertical\"\u003e\n\u003ch3 style=\"margin: 0 0 8px; font-size: 20px;\"\u003eVertical\u003c\/h3\u003e\n\u003csvg class=\"ptsp-court\" viewbox=\"0 0 300 420\" role=\"img\" aria-label=\"Vertical drill vertical court pattern\"\u003e\u003cpolygon class=\"ptsp-court-bg\" points=\"42,38 258,38 300,368 0,368\"\u003e\u003c\/polygon\u003e\u003cpath class=\"ptsp-court-line\" d=\"M42 38 L0 368 M258 38 L300 368 M82 38 L54 368 M218 38 L246 368 M42 38 L258 38 M0 368 L300 368 M75 118 L225 118 M62 264 L238 264 M150 118 L150 264 M147 38 L153 38 M143 368 L157 368\"\u003e\u003c\/path\u003e\u003cpath class=\"ptsp-net-shadow\" d=\"M28 171 C82 173 218 173 272 171\"\u003e\u003c\/path\u003e\u003cpath class=\"ptsp-net\" d=\"M28 168 C82 170 218 170 272 168\"\u003e\u003c\/path\u003e\u003cline class=\"ptsp-net-post\" x1=\"28\" y1=\"163\" x2=\"28\" y2=\"177\"\u003e\u003c\/line\u003e\u003cline class=\"ptsp-net-post\" x1=\"272\" y1=\"163\" x2=\"272\" y2=\"177\"\u003e\u003c\/line\u003e\u003cline class=\"ptsp-net-post\" x1=\"150\" y1=\"168\" x2=\"150\" y2=\"178\"\u003e\u003c\/line\u003e\u003cimage href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0653\/7484\/7107\/files\/image_c255826a-525d-4064-a5f2-f725a446a1be.png?v=1777448066\u0026amp;width=320\" x=\"120\" y=\"38\" width=\"60\" height=\"78\" preserveaspectratio=\"xMidYMid meet\" style=\"mix-blend-mode: multiply;\"\u003e\u003c\/image\u003e\u003cpath class=\"ptsp-path\" d=\"M150 80 C150 128 150 176 150 254 M150 80 C150 134 150 236 150 318\"\u003e\u003c\/path\u003e\u003ccircle class=\"ptsp-dot\" cx=\"150\" cy=\"254\" r=\"8\"\u003e\u003c\/circle\u003e\u003ccircle class=\"ptsp-dot\" cx=\"150\" cy=\"318\" r=\"8\"\u003e\u003c\/circle\u003e\u003c\/svg\u003e\u003cp style=\"margin: 12px 0 0; color: #52605b; line-height: 1.55;\"\u003eShort-to-deep feeds for depth control, approach work, and recovery.\u003c\/p\u003e\n\u003c\/div\u003e\n          \u003cdiv class=\"ptsp-mode-panel ptsp-panel-volley\"\u003e\n\u003ch3 style=\"margin: 0 0 8px; font-size: 20px;\"\u003eVolley\u003c\/h3\u003e\n\u003csvg class=\"ptsp-court\" viewbox=\"0 0 300 420\" role=\"img\" aria-label=\"Volley drill vertical court pattern\"\u003e\u003cpolygon class=\"ptsp-court-bg\" points=\"42,38 258,38 300,368 0,368\"\u003e\u003c\/polygon\u003e\u003cpath class=\"ptsp-court-line\" d=\"M42 38 L0 368 M258 38 L300 368 M82 38 L54 368 M218 38 L246 368 M42 38 L258 38 M0 368 L300 368 M75 118 L225 118 M62 264 L238 264 M150 118 L150 264 M147 38 L153 38 M143 368 L157 368\"\u003e\u003c\/path\u003e\u003cpath class=\"ptsp-net-shadow\" d=\"M28 171 C82 173 218 173 272 171\"\u003e\u003c\/path\u003e\u003cpath class=\"ptsp-net\" d=\"M28 168 C82 170 218 170 272 168\"\u003e\u003c\/path\u003e\u003cline class=\"ptsp-net-post\" x1=\"28\" y1=\"163\" x2=\"28\" y2=\"177\"\u003e\u003c\/line\u003e\u003cline class=\"ptsp-net-post\" x1=\"272\" y1=\"163\" x2=\"272\" y2=\"177\"\u003e\u003c\/line\u003e\u003cline class=\"ptsp-net-post\" x1=\"150\" y1=\"168\" x2=\"150\" y2=\"178\"\u003e\u003c\/line\u003e\u003cimage href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0653\/7484\/7107\/files\/image_c255826a-525d-4064-a5f2-f725a446a1be.png?v=1777448066\u0026amp;width=320\" x=\"120\" y=\"38\" width=\"60\" height=\"78\" preserveaspectratio=\"xMidYMid meet\" style=\"mix-blend-mode: multiply;\"\u003e\u003c\/image\u003e\u003cpath class=\"ptsp-path\" d=\"M150 80 C118 126 108 168 106 246 M150 80 C150 126 150 168 150 246 M150 80 C182 126 202 168 194 246\"\u003e\u003c\/path\u003e\u003ccircle class=\"ptsp-dot\" cx=\"106\" cy=\"246\" r=\"8\"\u003e\u003c\/circle\u003e\u003ccircle class=\"ptsp-dot\" cx=\"150\" cy=\"246\" r=\"8\"\u003e\u003c\/circle\u003e\u003ccircle class=\"ptsp-dot\" cx=\"194\" cy=\"246\" r=\"8\"\u003e\u003c\/circle\u003e\u003c\/svg\u003e\u003cp style=\"margin: 12px 0 0; color: #52605b; line-height: 1.55;\"\u003eLower, shorter feeds around the net area for volley reaction practice.\u003c\/p\u003e\n\u003c\/div\u003e\n          \u003cdiv class=\"ptsp-mode-panel ptsp-panel-smash\"\u003e\n\u003ch3 style=\"margin: 0 0 8px; font-size: 20px;\"\u003eSmash\u003c\/h3\u003e\n\u003csvg class=\"ptsp-court\" viewbox=\"0 0 300 420\" role=\"img\" aria-label=\"Smash drill vertical court pattern\"\u003e\u003cpolygon class=\"ptsp-court-bg\" points=\"42,38 258,38 300,368 0,368\"\u003e\u003c\/polygon\u003e\u003cpath class=\"ptsp-court-line\" d=\"M42 38 L0 368 M258 38 L300 368 M82 38 L54 368 M218 38 L246 368 M42 38 L258 38 M0 368 L300 368 M75 118 L225 118 M62 264 L238 264 M150 118 L150 264 M147 38 L153 38 M143 368 L157 368\"\u003e\u003c\/path\u003e\u003cpath class=\"ptsp-net-shadow\" d=\"M28 171 C82 173 218 173 272 171\"\u003e\u003c\/path\u003e\u003cpath class=\"ptsp-net\" d=\"M28 168 C82 170 218 170 272 168\"\u003e\u003c\/path\u003e\u003cline class=\"ptsp-net-post\" x1=\"28\" y1=\"163\" x2=\"28\" y2=\"177\"\u003e\u003c\/line\u003e\u003cline class=\"ptsp-net-post\" x1=\"272\" y1=\"163\" x2=\"272\" y2=\"177\"\u003e\u003c\/line\u003e\u003cline class=\"ptsp-net-post\" x1=\"150\" y1=\"168\" x2=\"150\" y2=\"178\"\u003e\u003c\/line\u003e\u003cimage href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0653\/7484\/7107\/files\/image_c255826a-525d-4064-a5f2-f725a446a1be.png?v=1777448066\u0026amp;width=320\" x=\"120\" y=\"38\" width=\"60\" height=\"78\" preserveaspectratio=\"xMidYMid meet\" style=\"mix-blend-mode: multiply;\"\u003e\u003c\/image\u003e\u003cpath class=\"ptsp-path\" d=\"M150 80 C206 132 216 230 150 318\"\u003e\u003c\/path\u003e\u003ccircle class=\"ptsp-dot\" cx=\"150\" cy=\"318\" r=\"8\"\u003e\u003c\/circle\u003e\u003c\/svg\u003e\u003cp style=\"margin: 12px 0 0; color: #52605b; line-height: 1.55;\"\u003eHigh-arc feeds for overhead timing, positioning, and smash practice.\u003c\/p\u003e\n\u003c\/div\u003e\n          \u003cdiv class=\"ptsp-mode-panel ptsp-panel-random\"\u003e\n\u003ch3 style=\"margin: 0 0 8px; font-size: 20px;\"\u003eRandom\u003c\/h3\u003e\n\u003csvg class=\"ptsp-court\" viewbox=\"0 0 300 420\" role=\"img\" aria-label=\"Random drill vertical court pattern\"\u003e\u003cpolygon class=\"ptsp-court-bg\" points=\"42,38 258,38 300,368 0,368\"\u003e\u003c\/polygon\u003e\u003cpath class=\"ptsp-court-line\" d=\"M42 38 L0 368 M258 38 L300 368 M82 38 L54 368 M218 38 L246 368 M42 38 L258 38 M0 368 L300 368 M75 118 L225 118 M62 264 L238 264 M150 118 L150 264 M147 38 L153 38 M143 368 L157 368\"\u003e\u003c\/path\u003e\u003cpath class=\"ptsp-net-shadow\" d=\"M28 171 C82 173 218 173 272 171\"\u003e\u003c\/path\u003e\u003cpath class=\"ptsp-net\" d=\"M28 168 C82 170 218 170 272 168\"\u003e\u003c\/path\u003e\u003cline class=\"ptsp-net-post\" x1=\"28\" y1=\"163\" x2=\"28\" y2=\"177\"\u003e\u003c\/line\u003e\u003cline class=\"ptsp-net-post\" x1=\"272\" y1=\"163\" x2=\"272\" y2=\"177\"\u003e\u003c\/line\u003e\u003cline class=\"ptsp-net-post\" x1=\"150\" y1=\"168\" x2=\"150\" y2=\"178\"\u003e\u003c\/line\u003e\u003cimage href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0653\/7484\/7107\/files\/image_c255826a-525d-4064-a5f2-f725a446a1be.png?v=1777448066\u0026amp;width=320\" x=\"120\" y=\"38\" width=\"60\" height=\"78\" preserveaspectratio=\"xMidYMid meet\" style=\"mix-blend-mode: multiply;\"\u003e\u003c\/image\u003e\u003cpath class=\"ptsp-path\" d=\"M150 80 C118 132 108 204 98 282 M150 80 C176 134 208 236 218 322 M150 80 C144 132 132 190 126 250 M150 80 C150 126 150 170 150 224\"\u003e\u003c\/path\u003e\u003ccircle class=\"ptsp-dot\" cx=\"98\" cy=\"282\" r=\"7.5\"\u003e\u003c\/circle\u003e\u003ccircle class=\"ptsp-dot\" cx=\"126\" cy=\"250\" r=\"7.5\"\u003e\u003c\/circle\u003e\u003ccircle class=\"ptsp-dot\" cx=\"218\" cy=\"322\" r=\"7.5\"\u003e\u003c\/circle\u003e\u003ccircle class=\"ptsp-dot\" cx=\"150\" cy=\"224\" r=\"7.5\"\u003e\u003c\/circle\u003e\u003c\/svg\u003e\u003cp style=\"margin: 12px 0 0; color: #52605b; line-height: 1.55;\"\u003eUnpredictable landing points for reaction training and match-like movement.\u003c\/p\u003e\n\u003c\/div\u003e\n          \u003cdiv class=\"ptsp-mode-panel ptsp-panel-program\"\u003e\n\u003ch3 style=\"margin: 0 0 8px; font-size: 20px;\"\u003eProgram\u003c\/h3\u003e\n\u003csvg class=\"ptsp-court\" viewbox=\"0 0 300 420\" role=\"img\" aria-label=\"Program drill numbered vertical court pattern\"\u003e\u003cpolygon class=\"ptsp-court-bg\" points=\"42,38 258,38 300,368 0,368\"\u003e\u003c\/polygon\u003e\u003cpath class=\"ptsp-court-line\" d=\"M42 38 L0 368 M258 38 L300 368 M82 38 L54 368 M218 38 L246 368 M42 38 L258 38 M0 368 L300 368 M75 118 L225 118 M62 264 L238 264 M150 118 L150 264 M147 38 L153 38 M143 368 L157 368\"\u003e\u003c\/path\u003e\u003cpath class=\"ptsp-net-shadow\" d=\"M28 171 C82 173 218 173 272 171\"\u003e\u003c\/path\u003e\u003cpath class=\"ptsp-net\" d=\"M28 168 C82 170 218 170 272 168\"\u003e\u003c\/path\u003e\u003cline class=\"ptsp-net-post\" x1=\"28\" y1=\"163\" x2=\"28\" y2=\"177\"\u003e\u003c\/line\u003e\u003cline class=\"ptsp-net-post\" x1=\"272\" y1=\"163\" x2=\"272\" y2=\"177\"\u003e\u003c\/line\u003e\u003cline class=\"ptsp-net-post\" x1=\"150\" y1=\"168\" x2=\"150\" y2=\"178\"\u003e\u003c\/line\u003e\u003cimage href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0653\/7484\/7107\/files\/image_c255826a-525d-4064-a5f2-f725a446a1be.png?v=1777448066\u0026amp;width=320\" x=\"120\" y=\"38\" width=\"60\" height=\"78\" preserveaspectratio=\"xMidYMid meet\" style=\"mix-blend-mode: multiply;\"\u003e\u003c\/image\u003e\u003cpath class=\"ptsp-path\" d=\"M150 80 C126 140 104 214 94 276 M150 80 C130 156 112 280 114 350 M150 80 C170 156 176 280 186 350 M150 80 C188 156 208 280 222 350\"\u003e\u003c\/path\u003e\u003ccircle class=\"ptsp-dot-alt\" cx=\"78\" cy=\"218\" r=\"8\"\u003e\u003c\/circle\u003e\u003ctext class=\"ptsp-dot-label\" x=\"78\" y=\"218\"\u003e1\u003c\/text\u003e\u003ccircle class=\"ptsp-dot-alt\" cx=\"102\" cy=\"218\" r=\"8\"\u003e\u003c\/circle\u003e\u003ctext class=\"ptsp-dot-label\" x=\"102\" y=\"218\"\u003e2\u003c\/text\u003e\u003ccircle class=\"ptsp-dot-alt\" cx=\"126\" cy=\"218\" r=\"8\"\u003e\u003c\/circle\u003e\u003ctext class=\"ptsp-dot-label\" x=\"126\" y=\"218\"\u003e3\u003c\/text\u003e\u003ccircle class=\"ptsp-dot-alt\" cx=\"150\" cy=\"218\" r=\"8\"\u003e\u003c\/circle\u003e\u003ctext class=\"ptsp-dot-label\" x=\"150\" y=\"218\"\u003e4\u003c\/text\u003e\u003ccircle class=\"ptsp-dot-alt\" cx=\"174\" cy=\"218\" r=\"8\"\u003e\u003c\/circle\u003e\u003ctext class=\"ptsp-dot-label\" x=\"174\" y=\"218\"\u003e5\u003c\/text\u003e\u003ccircle class=\"ptsp-dot-alt\" cx=\"198\" cy=\"218\" r=\"8\"\u003e\u003c\/circle\u003e\u003ctext class=\"ptsp-dot-label\" x=\"198\" y=\"218\"\u003e6\u003c\/text\u003e\u003ccircle class=\"ptsp-dot-alt\" cx=\"222\" cy=\"218\" r=\"8\"\u003e\u003c\/circle\u003e\u003ctext class=\"ptsp-dot-label\" x=\"222\" y=\"218\"\u003e7\u003c\/text\u003e\u003ccircle class=\"ptsp-dot-alt\" cx=\"66\" cy=\"276\" r=\"8\"\u003e\u003c\/circle\u003e\u003ctext class=\"ptsp-dot-label\" x=\"66\" y=\"276\"\u003e8\u003c\/text\u003e\u003ccircle class=\"ptsp-dot\" cx=\"94\" cy=\"276\" r=\"8\"\u003e\u003c\/circle\u003e\u003ctext class=\"ptsp-dot-label-hot\" x=\"94\" y=\"276\"\u003e9\u003c\/text\u003e\u003ccircle class=\"ptsp-dot-alt\" cx=\"122\" cy=\"276\" r=\"8\"\u003e\u003c\/circle\u003e\u003ctext class=\"ptsp-dot-label\" x=\"122\" y=\"276\"\u003e10\u003c\/text\u003e\u003ccircle class=\"ptsp-dot-alt\" cx=\"150\" cy=\"276\" r=\"8\"\u003e\u003c\/circle\u003e\u003ctext class=\"ptsp-dot-label\" x=\"150\" y=\"276\"\u003e11\u003c\/text\u003e\u003ccircle class=\"ptsp-dot-alt\" cx=\"178\" cy=\"276\" r=\"8\"\u003e\u003c\/circle\u003e\u003ctext class=\"ptsp-dot-label\" x=\"178\" y=\"276\"\u003e12\u003c\/text\u003e\u003ccircle class=\"ptsp-dot-alt\" cx=\"206\" cy=\"276\" r=\"8\"\u003e\u003c\/circle\u003e\u003ctext class=\"ptsp-dot-label\" x=\"206\" y=\"276\"\u003e13\u003c\/text\u003e\u003ccircle class=\"ptsp-dot-alt\" cx=\"234\" cy=\"276\" r=\"8\"\u003e\u003c\/circle\u003e\u003ctext class=\"ptsp-dot-label\" x=\"234\" y=\"276\"\u003e14\u003c\/text\u003e\u003ccircle class=\"ptsp-dot-alt\" cx=\"54\" cy=\"326\" r=\"8\"\u003e\u003c\/circle\u003e\u003ctext class=\"ptsp-dot-label\" x=\"54\" y=\"326\"\u003e15\u003c\/text\u003e\u003ccircle class=\"ptsp-dot-alt\" cx=\"86\" cy=\"326\" r=\"8\"\u003e\u003c\/circle\u003e\u003ctext class=\"ptsp-dot-label\" x=\"86\" y=\"326\"\u003e16\u003c\/text\u003e\u003ccircle class=\"ptsp-dot-alt\" cx=\"118\" cy=\"326\" r=\"8\"\u003e\u003c\/circle\u003e\u003ctext class=\"ptsp-dot-label\" x=\"118\" y=\"326\"\u003e17\u003c\/text\u003e\u003ccircle class=\"ptsp-dot-alt\" cx=\"150\" cy=\"326\" r=\"8\"\u003e\u003c\/circle\u003e\u003ctext class=\"ptsp-dot-label\" x=\"150\" y=\"326\"\u003e18\u003c\/text\u003e\u003ccircle class=\"ptsp-dot-alt\" cx=\"182\" cy=\"326\" r=\"8\"\u003e\u003c\/circle\u003e\u003ctext class=\"ptsp-dot-label\" x=\"182\" y=\"326\"\u003e19\u003c\/text\u003e\u003ccircle class=\"ptsp-dot-alt\" cx=\"214\" cy=\"326\" r=\"8\"\u003e\u003c\/circle\u003e\u003ctext class=\"ptsp-dot-label\" x=\"214\" y=\"326\"\u003e20\u003c\/text\u003e\u003ccircle class=\"ptsp-dot-alt\" cx=\"246\" cy=\"326\" r=\"8\"\u003e\u003c\/circle\u003e\u003ctext class=\"ptsp-dot-label\" x=\"246\" y=\"326\"\u003e21\u003c\/text\u003e\u003ccircle class=\"ptsp-dot-alt\" cx=\"42\" cy=\"350\" r=\"8\"\u003e\u003c\/circle\u003e\u003ctext class=\"ptsp-dot-label\" x=\"42\" y=\"350\"\u003e22\u003c\/text\u003e\u003ccircle class=\"ptsp-dot-alt\" cx=\"78\" cy=\"350\" r=\"8\"\u003e\u003c\/circle\u003e\u003ctext class=\"ptsp-dot-label\" x=\"78\" y=\"350\"\u003e23\u003c\/text\u003e\u003ccircle class=\"ptsp-dot\" cx=\"114\" cy=\"350\" r=\"8\"\u003e\u003c\/circle\u003e\u003ctext class=\"ptsp-dot-label-hot\" x=\"114\" y=\"350\"\u003e24\u003c\/text\u003e\u003ccircle class=\"ptsp-dot-alt\" cx=\"150\" cy=\"350\" r=\"8\"\u003e\u003c\/circle\u003e\u003ctext class=\"ptsp-dot-label\" x=\"150\" y=\"350\"\u003e25\u003c\/text\u003e\u003ccircle class=\"ptsp-dot\" cx=\"186\" cy=\"350\" r=\"8\"\u003e\u003c\/circle\u003e\u003ctext class=\"ptsp-dot-label-hot\" x=\"186\" y=\"350\"\u003e26\u003c\/text\u003e\u003ccircle class=\"ptsp-dot\" cx=\"222\" cy=\"350\" r=\"8\"\u003e\u003c\/circle\u003e\u003ctext class=\"ptsp-dot-label-hot\" x=\"222\" y=\"350\"\u003e27\u003c\/text\u003e\u003ccircle class=\"ptsp-dot-alt\" cx=\"258\" cy=\"350\" r=\"8\"\u003e\u003c\/circle\u003e\u003ctext class=\"ptsp-dot-label\" x=\"258\" y=\"350\"\u003e28\u003c\/text\u003e\u003c\/svg\u003e\u003cp style=\"margin: 12px 0 0; color: #52605b; line-height: 1.55;\"\u003eBuild precise routes from the 28-point landing map and save them for repeat sessions.\u003c\/p\u003e\n\u003c\/div\u003e\n          \u003cdiv class=\"ptsp-mode-panel ptsp-panel-basic\"\u003e\n\u003ch3 style=\"margin: 0 0 8px; font-size: 20px;\"\u003eBasic Drill\u003c\/h3\u003e\n\u003csvg class=\"ptsp-court\" viewbox=\"0 0 300 420\" role=\"img\" aria-label=\"Basic drill vertical court pattern\"\u003e\u003cpolygon class=\"ptsp-court-bg\" points=\"42,38 258,38 300,368 0,368\"\u003e\u003c\/polygon\u003e\u003cpath class=\"ptsp-court-line\" d=\"M42 38 L0 368 M258 38 L300 368 M82 38 L54 368 M218 38 L246 368 M42 38 L258 38 M0 368 L300 368 M75 118 L225 118 M62 264 L238 264 M150 118 L150 264 M147 38 L153 38 M143 368 L157 368\"\u003e\u003c\/path\u003e\u003cpath class=\"ptsp-net-shadow\" d=\"M28 171 C82 173 218 173 272 171\"\u003e\u003c\/path\u003e\u003cpath class=\"ptsp-net\" d=\"M28 168 C82 170 218 170 272 168\"\u003e\u003c\/path\u003e\u003cline class=\"ptsp-net-post\" x1=\"28\" y1=\"163\" x2=\"28\" y2=\"177\"\u003e\u003c\/line\u003e\u003cline class=\"ptsp-net-post\" x1=\"272\" y1=\"163\" x2=\"272\" y2=\"177\"\u003e\u003c\/line\u003e\u003cline class=\"ptsp-net-post\" x1=\"150\" y1=\"168\" x2=\"150\" y2=\"178\"\u003e\u003c\/line\u003e\u003cimage href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0653\/7484\/7107\/files\/image_c255826a-525d-4064-a5f2-f725a446a1be.png?v=1777448066\u0026amp;width=320\" x=\"120\" y=\"38\" width=\"60\" height=\"78\" preserveaspectratio=\"xMidYMid meet\" style=\"mix-blend-mode: multiply;\"\u003e\u003c\/image\u003e\u003cpath class=\"ptsp-path\" d=\"M150 80 C126 132 104 224 92 306 M150 80 C150 132 150 190 150 254 M150 80 C174 132 196 224 208 306\"\u003e\u003c\/path\u003e\u003ccircle class=\"ptsp-dot\" cx=\"92\" cy=\"306\" r=\"8\"\u003e\u003c\/circle\u003e\u003ccircle class=\"ptsp-dot\" cx=\"150\" cy=\"254\" r=\"8\"\u003e\u003c\/circle\u003e\u003ccircle class=\"ptsp-dot\" cx=\"208\" cy=\"306\" r=\"8\"\u003e\u003c\/circle\u003e\u003c\/svg\u003e\u003cp style=\"margin: 12px 0 0; color: #52605b; line-height: 1.55;\"\u003eA simple starter pattern for warm-up and beginner-friendly practice.\u003c\/p\u003e\n\u003c\/div\u003e\n          \u003cdiv class=\"ptsp-mode-panel ptsp-panel-moon\"\u003e\n\u003ch3 style=\"margin: 0 0 8px; font-size: 20px;\"\u003eMoon\u003c\/h3\u003e\n\u003csvg class=\"ptsp-court\" viewbox=\"0 0 300 420\" role=\"img\" aria-label=\"Moon ball drill vertical court pattern\"\u003e\u003cpolygon class=\"ptsp-court-bg\" points=\"42,38 258,38 300,368 0,368\"\u003e\u003c\/polygon\u003e\u003cpath class=\"ptsp-court-line\" d=\"M42 38 L0 368 M258 38 L300 368 M82 38 L54 368 M218 38 L246 368 M42 38 L258 38 M0 368 L300 368 M75 118 L225 118 M62 264 L238 264 M150 118 L150 264 M147 38 L153 38 M143 368 L157 368\"\u003e\u003c\/path\u003e\u003cpath class=\"ptsp-net-shadow\" d=\"M28 171 C82 173 218 173 272 171\"\u003e\u003c\/path\u003e\u003cpath class=\"ptsp-net\" d=\"M28 168 C82 170 218 170 272 168\"\u003e\u003c\/path\u003e\u003cline class=\"ptsp-net-post\" x1=\"28\" y1=\"163\" x2=\"28\" y2=\"177\"\u003e\u003c\/line\u003e\u003cline class=\"ptsp-net-post\" x1=\"272\" y1=\"163\" x2=\"272\" y2=\"177\"\u003e\u003c\/line\u003e\u003cline class=\"ptsp-net-post\" x1=\"150\" y1=\"168\" x2=\"150\" y2=\"178\"\u003e\u003c\/line\u003e\u003cimage href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0653\/7484\/7107\/files\/image_c255826a-525d-4064-a5f2-f725a446a1be.png?v=1777448066\u0026amp;width=320\" x=\"120\" y=\"38\" width=\"60\" height=\"78\" preserveaspectratio=\"xMidYMid meet\" style=\"mix-blend-mode: multiply;\"\u003e\u003c\/image\u003e\u003cpath class=\"ptsp-path\" d=\"M150 80 C86 140 70 248 78 318 M150 80 C214 140 230 248 222 318\"\u003e\u003c\/path\u003e\u003ccircle class=\"ptsp-dot\" cx=\"78\" cy=\"318\" r=\"8\"\u003e\u003c\/circle\u003e\u003ccircle class=\"ptsp-dot\" cx=\"222\" cy=\"318\" r=\"8\"\u003e\u003c\/circle\u003e\u003c\/svg\u003e\u003cp style=\"margin: 12px 0 0; color: #52605b; line-height: 1.55;\"\u003eHigher, deeper feeds for defensive balls, depth practice, and timing.\u003c\/p\u003e\n\u003c\/div\u003e\n          \u003cdiv class=\"ptsp-mode-panel ptsp-panel-vary\"\u003e\n\u003ch3 style=\"margin: 0 0 8px; font-size: 20px;\"\u003eVary Speed\u003c\/h3\u003e\n\u003csvg class=\"ptsp-court\" viewbox=\"0 0 300 420\" role=\"img\" aria-label=\"Vary speed numbered vertical court pattern\"\u003e\u003cpolygon class=\"ptsp-court-bg\" points=\"42,38 258,38 300,368 0,368\"\u003e\u003c\/polygon\u003e\u003cpath class=\"ptsp-court-line\" d=\"M42 38 L0 368 M258 38 L300 368 M82 38 L54 368 M218 38 L246 368 M42 38 L258 38 M0 368 L300 368 M75 118 L225 118 M62 264 L238 264 M150 118 L150 264 M147 38 L153 38 M143 368 L157 368\"\u003e\u003c\/path\u003e\u003cpath class=\"ptsp-net-shadow\" d=\"M28 171 C82 173 218 173 272 171\"\u003e\u003c\/path\u003e\u003cpath class=\"ptsp-net\" d=\"M28 168 C82 170 218 170 272 168\"\u003e\u003c\/path\u003e\u003cline class=\"ptsp-net-post\" x1=\"28\" y1=\"163\" x2=\"28\" y2=\"177\"\u003e\u003c\/line\u003e\u003cline class=\"ptsp-net-post\" x1=\"272\" y1=\"163\" x2=\"272\" y2=\"177\"\u003e\u003c\/line\u003e\u003cline class=\"ptsp-net-post\" x1=\"150\" y1=\"168\" x2=\"150\" y2=\"178\"\u003e\u003c\/line\u003e\u003cimage href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0653\/7484\/7107\/files\/image_c255826a-525d-4064-a5f2-f725a446a1be.png?v=1777448066\u0026amp;width=320\" x=\"120\" y=\"38\" width=\"60\" height=\"78\" preserveaspectratio=\"xMidYMid meet\" style=\"mix-blend-mode: multiply;\"\u003e\u003c\/image\u003e\u003cg class=\"ptsp-varied-paths\"\u003e\u003cpath class=\"ptsp-path ptsp-path-fast\" d=\"M150 80 C126 126 106 204 94 276\"\u003e\u003c\/path\u003e\u003cpath class=\"ptsp-path ptsp-path-slow\" d=\"M150 80 C116 160 106 250 114 326\"\u003e\u003c\/path\u003e\u003cpath class=\"ptsp-path ptsp-path-mid\" d=\"M150 80 C152 138 156 244 150 326\"\u003e\u003c\/path\u003e\u003cpath class=\"ptsp-path ptsp-path-fast\" d=\"M150 80 C188 122 214 244 186 326\"\u003e\u003c\/path\u003e\u003c\/g\u003e\u003ccircle class=\"ptsp-dot\" cx=\"94\" cy=\"276\" r=\"8\"\u003e\u003c\/circle\u003e\u003ctext class=\"ptsp-dot-label-hot\" x=\"94\" y=\"276\"\u003e9\u003c\/text\u003e\u003ccircle class=\"ptsp-dot\" cx=\"114\" cy=\"326\" r=\"8\"\u003e\u003c\/circle\u003e\u003ctext class=\"ptsp-dot-label-hot\" x=\"114\" y=\"326\"\u003e24\u003c\/text\u003e\u003ccircle class=\"ptsp-dot\" cx=\"150\" cy=\"326\" r=\"8\"\u003e\u003c\/circle\u003e\u003ctext class=\"ptsp-dot-label-hot\" x=\"150\" y=\"326\"\u003e25\u003c\/text\u003e\u003ccircle class=\"ptsp-dot\" cx=\"186\" cy=\"326\" r=\"8\"\u003e\u003c\/circle\u003e\u003ctext class=\"ptsp-dot-label-hot\" x=\"186\" y=\"326\"\u003e26\u003c\/text\u003e\u003c\/svg\u003e\u003cp style=\"margin: 12px 0 0; color: #52605b; line-height: 1.55;\"\u003eChange ball speed within a route to train timing adjustment and reaction.\u003c\/p\u003e\n\u003c\/div\u003e\n          \u003cdiv class=\"ptsp-mode-panel ptsp-panel-ai\"\u003e\n\u003ch3 style=\"margin: 0 0 8px; font-size: 20px;\"\u003eAI Drill\u003c\/h3\u003e\n\u003csvg class=\"ptsp-court\" viewbox=\"0 0 300 420\" role=\"img\" aria-label=\"AI drill vertical court pattern\"\u003e\u003cpolygon class=\"ptsp-court-bg\" points=\"42,38 258,38 300,368 0,368\"\u003e\u003c\/polygon\u003e\u003cpath class=\"ptsp-court-line\" d=\"M42 38 L0 368 M258 38 L300 368 M82 38 L54 368 M218 38 L246 368 M42 38 L258 38 M0 368 L300 368 M75 118 L225 118 M62 264 L238 264 M150 118 L150 264 M147 38 L153 38 M143 368 L157 368\"\u003e\u003c\/path\u003e\u003cpath class=\"ptsp-net-shadow\" d=\"M28 171 C82 173 218 173 272 171\"\u003e\u003c\/path\u003e\u003cpath class=\"ptsp-net\" d=\"M28 168 C82 170 218 170 272 168\"\u003e\u003c\/path\u003e\u003cline class=\"ptsp-net-post\" x1=\"28\" y1=\"163\" x2=\"28\" y2=\"177\"\u003e\u003c\/line\u003e\u003cline class=\"ptsp-net-post\" x1=\"272\" y1=\"163\" x2=\"272\" y2=\"177\"\u003e\u003c\/line\u003e\u003cline class=\"ptsp-net-post\" x1=\"150\" y1=\"168\" x2=\"150\" y2=\"178\"\u003e\u003c\/line\u003e\u003cimage href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0653\/7484\/7107\/files\/image_c255826a-525d-4064-a5f2-f725a446a1be.png?v=1777448066\u0026amp;width=320\" x=\"120\" y=\"38\" width=\"60\" height=\"78\" preserveaspectratio=\"xMidYMid meet\" style=\"mix-blend-mode: multiply;\"\u003e\u003c\/image\u003e\u003cg class=\"ptsp-varied-paths\"\u003e\u003cpath class=\"ptsp-path ptsp-path-slow\" d=\"M150 80 C118 130 100 224 92 306\"\u003e\u003c\/path\u003e\u003cpath class=\"ptsp-path ptsp-path-fast\" d=\"M150 80 C152 116 146 170 140 236\"\u003e\u003c\/path\u003e\u003cpath class=\"ptsp-path ptsp-path-mid\" d=\"M150 80 C190 132 210 208 210 282\"\u003e\u003c\/path\u003e\u003cpath class=\"ptsp-path ptsp-path-slow\" d=\"M150 80 C178 162 222 246 222 334\"\u003e\u003c\/path\u003e\u003c\/g\u003e\u003ccircle class=\"ptsp-dot\" cx=\"92\" cy=\"306\" r=\"8\"\u003e\u003c\/circle\u003e\u003ccircle class=\"ptsp-dot\" cx=\"140\" cy=\"236\" r=\"8\"\u003e\u003c\/circle\u003e\u003ccircle class=\"ptsp-dot\" cx=\"210\" cy=\"282\" r=\"8\"\u003e\u003c\/circle\u003e\u003ccircle class=\"ptsp-dot\" cx=\"222\" cy=\"334\" r=\"8\"\u003e\u003c\/circle\u003e\u003c\/svg\u003e\u003cp style=\"margin: 12px 0 0; color: #52605b; line-height: 1.55;\"\u003eGenerate a drill using handedness, player level, pause length, and ball count settings.\u003c\/p\u003e\n\u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003csection style=\"padding: 40px 0; border-top: 1px solid #d9e1dc;\"\u003e\n    \u003cdiv style=\"display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 24px; align-items: start; width: 100%; max-width: 100%;\"\u003e\n      \u003cdiv\u003e\n        \u003cp style=\"margin: 0 0 8px; color: #1f6b47; font-size: 13px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase;\"\u003eTech Specs\u003c\/p\u003e\n        \u003ch2 style=\"margin: 0 0 12px; font-size: 30px; letter-spacing: 0;\"\u003eBuilt for repeatable, coach-led sessions\u003c\/h2\u003e\n        \u003cp style=\"margin: 0 0 18px; color: #52605b; line-height: 1.65;\"\u003eThe headline numbers are simple: strong top speed, short feed interval, long battery life, and app-level drill control in a portable body.\u003c\/p\u003e\n        \u003cdiv style=\"display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 10px;\"\u003e\n          \u003cdiv style=\"border-top: 3px solid #1f6b47; padding-top: 10px;\"\u003e\n\u003cdiv style=\"font-size: 25px; font-weight: 900;\"\u003e75 mph\u003c\/div\u003e\n\u003cdiv style=\"color: #66746f; font-size: 13px;\"\u003eTop speed\u003c\/div\u003e\n\u003c\/div\u003e\n          \u003cdiv style=\"border-top: 3px solid #1f6b47; padding-top: 10px;\"\u003e\n\u003cdiv style=\"font-size: 25px; font-weight: 900;\"\u003e28\u003c\/div\u003e\n\u003cdiv style=\"color: #66746f; font-size: 13px;\"\u003eLanding points\u003c\/div\u003e\n\u003c\/div\u003e\n          \u003cdiv style=\"border-top: 3px solid #1f6b47; padding-top: 10px;\"\u003e\n\u003cdiv style=\"font-size: 25px; font-weight: 900;\"\u003e5-8 h\u003c\/div\u003e\n\u003cdiv style=\"color: #66746f; font-size: 13px;\"\u003eRuntime\u003c\/div\u003e\n\u003c\/div\u003e\n          \u003cdiv style=\"border-top: 3px solid #1f6b47; padding-top: 10px;\"\u003e\n\u003cdiv style=\"font-size: 25px; font-weight: 900;\"\u003e15 kg\u003c\/div\u003e\n\u003cdiv style=\"color: #66746f; font-size: 13px;\"\u003eMachine weight\u003c\/div\u003e\n\u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv style=\"display: grid; grid-template-columns: repeat(auto-fit, minmax(245px, 1fr)); gap: 14px;\"\u003e\n        \u003cdiv style=\"border: 1px solid #d9e1dc; border-radius: 8px; background: #fff; padding: 18px;\"\u003e\n          \u003ch3 style=\"margin: 0 0 4px; font-size: 19px;\"\u003eTraining Performance\u003c\/h3\u003e\n          \u003cdiv class=\"ptsp-spec-row\"\u003e\n\u003cspan class=\"ptsp-spec-label\"\u003eSpeed range\u003c\/span\u003e\u003cspan class=\"ptsp-spec-value\"\u003e12-75 mph\u003c\/span\u003e\n\u003c\/div\u003e\n          \u003cdiv class=\"ptsp-spec-row\"\u003e\n\u003cspan class=\"ptsp-spec-label\"\u003eFeed interval\u003c\/span\u003e\u003cspan class=\"ptsp-spec-value\"\u003e1.8-8 sec\u003c\/span\u003e\n\u003c\/div\u003e\n          \u003cdiv class=\"ptsp-spec-row\"\u003e\n\u003cspan class=\"ptsp-spec-label\"\u003eSpin\u003c\/span\u003e\u003cspan class=\"ptsp-spec-value\"\u003e6 levels\u003c\/span\u003e\n\u003c\/div\u003e\n          \u003cdiv class=\"ptsp-spec-row\"\u003e\n\u003cspan class=\"ptsp-spec-label\"\u003eTop speed\u003c\/span\u003e\u003cspan class=\"ptsp-spec-value\"\u003eAbout 120 km\/h\u003c\/span\u003e\n\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv style=\"border: 1px solid #d9e1dc; border-radius: 8px; background: #fff; padding: 18px;\"\u003e\n          \u003ch3 style=\"margin: 0 0 4px; font-size: 19px;\"\u003eControl \u0026amp; Drills\u003c\/h3\u003e\n          \u003cdiv class=\"ptsp-spec-row\"\u003e\n\u003cspan class=\"ptsp-spec-label\"\u003eControl\u003c\/span\u003e\u003cspan class=\"ptsp-spec-value\"\u003eApp \/ Remote \/ Watch\u003c\/span\u003e\n\u003c\/div\u003e\n          \u003cdiv class=\"ptsp-spec-row\"\u003e\n\u003cspan class=\"ptsp-spec-label\"\u003eCustom drills\u003c\/span\u003e\u003cspan class=\"ptsp-spec-value\"\u003e28 landing points\u003c\/span\u003e\n\u003c\/div\u003e\n          \u003cdiv class=\"ptsp-spec-row\"\u003e\n\u003cspan class=\"ptsp-spec-label\"\u003eTennis presets\u003c\/span\u003e\u003cspan class=\"ptsp-spec-value\"\u003e12 modes\u003c\/span\u003e\n\u003c\/div\u003e\n          \u003cdiv class=\"ptsp-spec-row\"\u003e\n\u003cspan class=\"ptsp-spec-label\"\u003ePadel presets\u003c\/span\u003e\u003cspan class=\"ptsp-spec-value\"\u003e14 modes\u003c\/span\u003e\n\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv style=\"border: 1px solid #d9e1dc; border-radius: 8px; background: #fff; padding: 18px;\"\u003e\n          \u003ch3 style=\"margin: 0 0 4px; font-size: 19px;\"\u003ePower \u0026amp; Portability\u003c\/h3\u003e\n          \u003cdiv class=\"ptsp-spec-row\"\u003e\n\u003cspan class=\"ptsp-spec-label\"\u003eBattery\u003c\/span\u003e\u003cspan class=\"ptsp-spec-value\"\u003eExternal LiFePO4\u003c\/span\u003e\n\u003c\/div\u003e\n          \u003cdiv class=\"ptsp-spec-row\"\u003e\n\u003cspan class=\"ptsp-spec-label\"\u003eRuntime\u003c\/span\u003e\u003cspan class=\"ptsp-spec-value\"\u003e5-8 hours\u003c\/span\u003e\n\u003c\/div\u003e\n          \u003cdiv class=\"ptsp-spec-row\"\u003e\n\u003cspan class=\"ptsp-spec-label\"\u003eCharge time\u003c\/span\u003e\u003cspan class=\"ptsp-spec-value\"\u003e4-6 hours\u003c\/span\u003e\n\u003c\/div\u003e\n          \u003cdiv class=\"ptsp-spec-row\"\u003e\n\u003cspan class=\"ptsp-spec-label\"\u003eWeight\u003c\/span\u003e\u003cspan class=\"ptsp-spec-value\"\u003e33 lb \/ 15 kg\u003c\/span\u003e\n\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv style=\"border: 1px solid #d9e1dc; border-radius: 8px; background: #fff; padding: 18px;\"\u003e\n          \u003ch3 style=\"margin: 0 0 4px; font-size: 19px;\"\u003eCompatibility \u0026amp; Build\u003c\/h3\u003e\n          \u003cdiv class=\"ptsp-spec-row\"\u003e\n\u003cspan class=\"ptsp-spec-label\"\u003eCapacity\u003c\/span\u003e\u003cspan class=\"ptsp-spec-value\"\u003e120 balls\u003c\/span\u003e\n\u003c\/div\u003e\n          \u003cdiv class=\"ptsp-spec-row\"\u003e\n\u003cspan class=\"ptsp-spec-label\"\u003eDimensions\u003c\/span\u003e\u003cspan class=\"ptsp-spec-value\"\u003e19.7 x 13.8 x 17.7 in\u003c\/span\u003e\n\u003c\/div\u003e\n          \u003cdiv class=\"ptsp-spec-row\"\u003e\n\u003cspan class=\"ptsp-spec-label\"\u003eBall type\u003c\/span\u003e\u003cspan class=\"ptsp-spec-value\"\u003eTennis \/ Padel\u003c\/span\u003e\n\u003c\/div\u003e\n          \u003cdiv class=\"ptsp-spec-row\"\u003e\n\u003cspan class=\"ptsp-spec-label\"\u003eCourt type\u003c\/span\u003e\u003cspan class=\"ptsp-spec-value\"\u003eHard \/ Clay \/ Grass\u003c\/span\u003e\n\u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cp style=\"margin: 14px 0 0; color: #66746f; font-size: 12px; line-height: 1.45;\"\u003eSpecifications may vary slightly by production batch. We confirm current stock, warranty, and delivery options before quotation.\u003c\/p\u003e\n  \u003c\/section\u003e\n\n  \u003csection style=\"margin: 10px 0 0; background: #17231f; color: #fff; border-radius: 8px; padding: 28px;\"\u003e\n    \u003cdiv style=\"display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 24px; align-items: center; width: 100%; max-width: 100%;\"\u003e\n      \u003cdiv\u003e\n        \u003cp style=\"margin: 0 0 8px; color: #7ed3a4; font-size: 13px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase;\"\u003eUK Quote \u0026amp; Stock Check\u003c\/p\u003e\n        \u003ch2 style=\"margin: 0 0 10px; color: #fff; font-size: 30px; letter-spacing: 0;\"\u003eMatch the machine to your training setup\u003c\/h2\u003e\n        \u003cp style=\"margin: 0; max-width: 720px; color: #dce5e0; line-height: 1.65;\"\u003eTell us your postcode, player level, and whether the machine is for home, coaching, club, or academy use. We will confirm the best option, delivery route, current stock, and accessories.\u003c\/p\u003e\n      \u003c\/div\u003e\n      \u003cdiv style=\"border: 1px solid rgba(255,255,255,.18); border-radius: 8px; padding: 18px; background: rgba(255,255,255,.06);\"\u003e\n        \u003cdiv style=\"display: grid; gap: 10px; margin-bottom: 16px;\"\u003e\n          \u003cdiv style=\"display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 14px; padding-bottom: 10px; border-bottom: 1px solid rgba(255,255,255,.14);\"\u003e\n\u003cspan style=\"color: #b8c7c1;\"\u003eBest next step\u003c\/span\u003e\u003cstrong style=\"color: #fff;\"\u003eRequest a quote\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv style=\"display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 14px; padding-bottom: 10px; border-bottom: 1px solid rgba(255,255,255,.14);\"\u003e\n\u003cspan style=\"color: #b8c7c1;\"\u003eUseful details\u003c\/span\u003e\u003cstrong style=\"color: #fff;\"\u003ePostcode + use case\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv style=\"display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 14px;\"\u003e\n\u003cspan style=\"color: #b8c7c1;\"\u003eWe confirm\u003c\/span\u003e\u003cstrong style=\"color: #fff;\"\u003eStock + delivery\u003c\/strong\u003e\n\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003ca href=\"\/pages\/request-a-quote\" style=\"display: block; text-align: center; padding: 13px 18px; border-radius: 6px; background: #36a66c; color: #fff; text-decoration: none; font-weight: 800; margin-bottom: 10px;\"\u003eRequest a Quote\u003c\/a\u003e\n        \u003ca href=\"\/pages\/how-to-choose-tennis-ball-machine-from-5-most-popular-battery-tennis-ball-machines\" style=\"display: block; text-align: center; padding: 12px 18px; border-radius: 6px; border: 1px solid rgba(255,255,255,.26); color: #fff; text-decoration: none; font-weight: 800;\"\u003eCompare All Machines\u003c\/a\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\u003c\/div\u003e\n","brand":"Pusun","offers":[{"title":"Default Title","offer_id":53094277677372,"sku":"PT-SMART-PRO","price":1299.0,"currency_code":"GBP","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0983\/7726\/9564\/files\/PTSmartMain.png?v=1780048603","url":"https:\/\/tennismachine.co.uk\/products\/pusun-pt-smart-pro","provider":"TennisMachine","version":"1.0","type":"link"}