{"title":"Electric Scooter","description":null,"products":[{"product_id":"electric-scooter-for-adults-350w-motor-36v-10-4ah-removable-battery-10-pneumatic-tires-up-to-20-mph-28-mile-range-foldable-commuter-e-scooter","title":"Electric Scooter for Adults – 350W Motor, 36V 10.4Ah Removable Battery, 10\" Pneumatic Tires, Up to 20 MPH \u0026 28-Mile Range, Foldable Commuter E-Scooter","description":"\u003cbody\u003e\n\n\n\n\u003cmeta charset=\"utf-8\"\u003e\n\u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1\"\u003e\n\u003ctitle\u003eX21 Electric Scooter — 350W Foldable Commuter with Removable Battery\u003c\/title\u003e\n\u003cmeta name=\"description\" content=\"Meet the X21: a 350W foldable e-scooter for adults with a removable 36V battery, 10-inch off-road tires, dual disc brakes and app-connected controls. Up to 20 mph (US) and 22-28 mi per charge.\"\u003e\n\n\n  \u003cmain class=\"x21-page\"\u003e\n    \u003cdiv class=\"rte\"\u003e\n\u003carticle class=\"x21-desc\" data-x21-desc\u003e\n  \u003c!-- Hero --\u003e\n  \u003csection class=\"x21-hero reveal\"\u003e\n    \u003cp class=\"x21-eyebrow\"\u003eCommute \u0026amp; Outdoor Series\u003c\/p\u003e\n    \u003ch2\u003eYour city, on your schedule.\u003c\/h2\u003e\n    \u003cp class=\"x21-lead\"\u003eMeet the X21 — a foldable electric scooter for adults, built for the daily commute and ready for the outdoor ride beyond it: the train-to-office last mile, the cross-campus dash, and the weekend trail detour.\u003c\/p\u003e\n    \u003cp\u003eA removable battery you can charge anywhere, grippy 10-inch off-road tires, and front-and-rear suspension add up to one simple promise — get there relaxed, on time, and in control.\u003c\/p\u003e\n\n    \u003cdiv class=\"x21-stats\" aria-label=\"Key specifications\"\u003e\n      \u003cdiv class=\"x21-stat\"\u003e\n        \u003cspan class=\"x21-stat-value\"\u003e\u003cspan data-count=\"20\"\u003e20\u003c\/span\u003e\u003csmall\u003emph\u003c\/small\u003e\u003c\/span\u003e\n        \u003cspan class=\"x21-stat-label\"\u003eTop speed (US)\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"x21-stat\"\u003e\n        \u003cspan class=\"x21-stat-value\"\u003e\u003cspan data-count=\"28\"\u003e28\u003c\/span\u003e\u003csmall\u003emi\u003c\/small\u003e\u003c\/span\u003e\n        \u003cspan class=\"x21-stat-label\"\u003eMax. range \/ charge*\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"x21-stat\"\u003e\n        \u003cspan class=\"x21-stat-value\"\u003e\u003cspan data-count=\"374\"\u003e374\u003c\/span\u003e\u003csmall\u003eWh\u003c\/small\u003e\u003c\/span\u003e\n        \u003cspan class=\"x21-stat-label\"\u003eRemovable battery\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"x21-stat\"\u003e\n        \u003cspan class=\"x21-stat-value\"\u003e\u003cspan data-count=\"265\"\u003e265\u003c\/span\u003e\u003csmall\u003elb\u003c\/small\u003e\u003c\/span\u003e\n        \u003cspan class=\"x21-stat-label\"\u003eMax. rider load\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- Feature grid --\u003e\n  \u003csection class=\"x21-section reveal\"\u003e\n    \u003cp class=\"x21-eyebrow\"\u003eWhy X21\u003c\/p\u003e\n    \u003ch3\u003eCompact on weekdays. Capable on weekends.\u003c\/h3\u003e\n\n    \u003cdiv class=\"x21-grid\"\u003e\n      \u003cdiv class=\"x21-card\"\u003e\n        \u003cspan class=\"x21-icon\" aria-hidden=\"true\"\u003e\n          \u003csvg viewbox=\"0 0 24 24\" focusable=\"false\"\u003e\u003crect x=\"2\" y=\"8\" width=\"17\" height=\"9\" rx=\"2\"\u003e\u003c\/rect\u003e\u003cpath d=\"M21 11v3\"\u003e\u003c\/path\u003e\u003cpath d=\"M6 12.5h7\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n        \u003c\/span\u003e\n        \u003ch4\u003eCharge anywhere\u003c\/h4\u003e\n        \u003cp\u003eThe 36V 10.4Ah lithium battery lifts out in seconds. Charge it under your desk or in your apartment — no need to park the whole scooter next to an outlet.\u003c\/p\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"x21-card\"\u003e\n        \u003cspan class=\"x21-icon\" aria-hidden=\"true\"\u003e\n          \u003csvg viewbox=\"0 0 24 24\" focusable=\"false\"\u003e\u003cpath d=\"M13 2 4 14h6l-1 8 9-12h-6l1-8z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n        \u003c\/span\u003e\n        \u003ch4\u003eEfficient 350W brushless drive\u003c\/h4\u003e\n        \u003cp\u003eQuiet, smooth, and low-maintenance. Three speed levels are region-tuned to 20 mph (32 km\/h) for the US version and 15.5 mph (25 km\/h) for the EU version — ideal for commuting and outdoor riding alike.\u003c\/p\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"x21-card\"\u003e\n        \u003cspan class=\"x21-icon\" aria-hidden=\"true\"\u003e\n          \u003csvg viewbox=\"0 0 24 24\" focusable=\"false\"\u003e\u003cpath d=\"M4 8c2.5-4 5.5-4 8 0s5.5 4 8 0\"\u003e\u003c\/path\u003e\u003cpath d=\"M4 15c2.5-4 5.5-4 8 0s5.5 4 8 0\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n        \u003c\/span\u003e\n        \u003ch4\u003eGrip for streets \u0026amp; trails\u003c\/h4\u003e\n        \u003cp\u003e10-inch off-road tires keep their grip across city roads and light trails, while automotive-style air dual shock absorption smooths out cracked pavement, brick, and bike-lane seams.\u003c\/p\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"x21-card\"\u003e\n        \u003cspan class=\"x21-icon\" aria-hidden=\"true\"\u003e\n          \u003csvg viewbox=\"0 0 24 24\" focusable=\"false\"\u003e\u003ccircle cx=\"12\" cy=\"12\" r=\"8\"\u003e\u003c\/circle\u003e\u003ccircle cx=\"12\" cy=\"12\" r=\"2\"\u003e\u003c\/circle\u003e\u003cpath d=\"M12 6.5v.2M17 9.5v.2M17 14.5v.2M12 17.5v.2M7 14.5v.2M7 9.5v.2\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n        \u003c\/span\u003e\n        \u003ch4\u003eDual disc braking\u003c\/h4\u003e\n        \u003cp\u003eFront and rear disc brakes, supported by electronic E-ABS, deliver reliable, balanced stopping power — in traffic and on the trail.\u003c\/p\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- Battery highlight --\u003e\n  \u003csection class=\"x21-battery reveal\"\u003e\n    \u003cp class=\"x21-eyebrow\"\u003eRemovable battery\u003c\/p\u003e\n    \u003ch3\u003eTake the charge with you.\u003c\/h3\u003e\n    \u003cp\u003eApartment living, office days, dorm rooms — the X21 fits the places a car can't. Pop the battery out, plug it in wherever you are, and ride out with 22–28 miles (35–45 km) of range per charge.\u003c\/p\u003e\n\n    \u003cdiv class=\"x21-meter\" aria-hidden=\"true\"\u003e\u003cspan class=\"x21-meter-fill\"\u003e\u003c\/span\u003e\u003c\/div\u003e\n\n    \u003cdiv class=\"x21-facts\"\u003e\n      \u003cspan class=\"x21-fact\"\u003e\u003cstrong\u003e36V 10.4Ah\u003c\/strong\u003e · 374 Wh\u003c\/span\u003e\n      \u003cspan class=\"x21-fact\"\u003e\u003cstrong\u003e5–6 hrs\u003c\/strong\u003e full charge\u003c\/span\u003e\n      \u003cspan class=\"x21-fact\"\u003e\u003cstrong\u003eRemovable\u003c\/strong\u003e lithium pack\u003c\/span\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- Ride modes (interactive tabs; all panels visible without JS) --\u003e\n  \u003csection class=\"x21-section reveal\"\u003e\n    \u003cp class=\"x21-eyebrow\"\u003eRide your way\u003c\/p\u003e\n    \u003ch3\u003eThree speeds. One simple choice.\u003c\/h3\u003e\n\n    \u003cdiv class=\"x21-tabs\"\u003e\n      \u003cdiv class=\"x21-tablist\" role=\"tablist\" aria-label=\"Speed levels\"\u003e\n        \u003cbutton class=\"x21-tab\" type=\"button\" role=\"tab\" id=\"x21-tab-1\" aria-controls=\"x21-mode-1\" aria-selected=\"true\" data-x21-tab\u003eSpeed 1\u003c\/button\u003e\n        \u003cbutton class=\"x21-tab\" type=\"button\" role=\"tab\" id=\"x21-tab-2\" aria-controls=\"x21-mode-2\" aria-selected=\"false\" tabindex=\"-1\" data-x21-tab\u003eSpeed 2\u003c\/button\u003e\n        \u003cbutton class=\"x21-tab\" type=\"button\" role=\"tab\" id=\"x21-tab-3\" aria-controls=\"x21-mode-3\" aria-selected=\"false\" tabindex=\"-1\" data-x21-tab\u003eSpeed 3\u003c\/button\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"x21-mode\" role=\"tabpanel\" id=\"x21-mode-1\" aria-labelledby=\"x21-tab-1\" data-x21-panel\u003e\n        \u003ch4\u003eSpeed 1 — Take it easy\u003c\/h4\u003e\n        \u003cp\u003eGentle starts for crowded paths, campuses, and shared lanes — and the friendliest setting for stretching your range.\u003c\/p\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"x21-mode\" role=\"tabpanel\" id=\"x21-mode-2\" aria-labelledby=\"x21-tab-2\" data-x21-panel\u003e\n        \u003ch4\u003eSpeed 2 — Everyday city pace\u003c\/h4\u003e\n        \u003cp\u003eThe balanced default for commuting: responsive enough for traffic flow, efficient enough for the ride home.\u003c\/p\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"x21-mode\" role=\"tabpanel\" id=\"x21-mode-3\" aria-labelledby=\"x21-tab-3\" data-x21-panel\u003e\n        \u003ch4\u003eSpeed 3 — Full pace\u003c\/h4\u003e\n        \u003cp\u003eOpen it up to 20 mph (32 km\/h) on the US version — the EU version is limited to 15.5 mph (25 km\/h) — where local rules allow. Arrive sooner, still sweat-free.\u003c\/p\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cp class=\"x21-app-note\"\u003e\u003cstrong\u003eApp-connected, dashboard-clear.\u003c\/strong\u003e Pair with the companion app to adjust ride settings, and keep speed and battery in view on the digital display while you ride.\u003c\/p\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- Everyday life --\u003e\n  \u003csection class=\"x21-section reveal\"\u003e\n    \u003cp class=\"x21-eyebrow\"\u003eMade for every day\u003c\/p\u003e\n    \u003ch3\u003eFolds into your routine — literally.\u003c\/h3\u003e\n\n    \u003cdiv class=\"x21-scenarios\" aria-label=\"Ways to ride\"\u003e\n      \u003cspan class=\"x21-chip\"\u003eTrain-to-office last mile\u003c\/span\u003e\n      \u003cspan class=\"x21-chip\"\u003eCampus \u0026amp; dorm runs\u003c\/span\u003e\n      \u003cspan class=\"x21-chip\"\u003eCoffee \u0026amp; errands\u003c\/span\u003e\n      \u003cspan class=\"x21-chip\"\u003eWeekend light trails\u003c\/span\u003e\n      \u003cspan class=\"x21-chip\"\u003eApartment-friendly storage\u003c\/span\u003e\n    \u003c\/div\u003e\n\n    \u003cul class=\"x21-checklist\"\u003e\n      \u003cli\u003e\n\u003cstrong\u003eFold, carry, store.\u003c\/strong\u003e At just 37.5 lb (17 kg), the aluminum alloy frame folds down in 3 seconds for trunks, hall closets, and under-desk storage — portable without feeling flimsy.\u003c\/li\u003e\n      \u003cli\u003e\n\u003cstrong\u003eReady for real weather.\u003c\/strong\u003e An IP54 rating shrugs off splashes and light rain on the ride to work.\u003c\/li\u003e\n      \u003cli\u003e\n\u003cstrong\u003eSee and be seen.\u003c\/strong\u003e Bright dual LED headlights and a rear taillight improve visibility for night rides and low-light commutes.\u003c\/li\u003e\n      \u003cli\u003e\n\u003cstrong\u003eCertified \u0026amp; covered.\u003c\/strong\u003e CE and UL 2272 safety certified, backed by a 12-month warranty and professional after-sales support.\u003c\/li\u003e\n      \u003cli\u003e\n\u003cstrong\u003eOne clean color.\u003c\/strong\u003e Finished in understated black that goes with everything you own.\u003c\/li\u003e\n    \u003c\/ul\u003e\n  \u003c\/section\u003e\n\n  \u003chr\u003e\n\n  \u003c!-- Specifications --\u003e\n  \u003csection class=\"x21-section reveal\"\u003e\n    \u003ch3\u003eTechnical specifications\u003c\/h3\u003e\n    \u003cdiv class=\"x21-spec-wrap\"\u003e\n      \u003ctable\u003e\n        \u003ctbody\u003e\n          \u003ctr\u003e\n\u003cth scope=\"row\"\u003eModel\u003c\/th\u003e\n\u003ctd\u003eX21\u003c\/td\u003e\n\u003c\/tr\u003e\n          \u003ctr\u003e\n\u003cth scope=\"row\"\u003eMotor\u003c\/th\u003e\n\u003ctd\u003e350W brushless motor\u003c\/td\u003e\n\u003c\/tr\u003e\n          \u003ctr\u003e\n\u003cth scope=\"row\"\u003eTop speed\u003c\/th\u003e\n\u003ctd\u003eUp to 20 mph \/ 32 km\/h (US) · 15.5 mph \/ 25 km\/h (EU)\u003c\/td\u003e\n\u003c\/tr\u003e\n          \u003ctr\u003e\n\u003cth scope=\"row\"\u003eRange per charge\u003c\/th\u003e\n\u003ctd\u003e22–28 mi (35–45 km)*\u003c\/td\u003e\n\u003c\/tr\u003e\n          \u003ctr\u003e\n\u003cth scope=\"row\"\u003eBattery\u003c\/th\u003e\n\u003ctd\u003e36V 10.4Ah (374 Wh) removable lithium battery\u003c\/td\u003e\n\u003c\/tr\u003e\n          \u003ctr\u003e\n\u003cth scope=\"row\"\u003eCharge time\u003c\/th\u003e\n\u003ctd\u003e5–6 hours\u003c\/td\u003e\n\u003c\/tr\u003e\n          \u003ctr\u003e\n\u003cth scope=\"row\"\u003eRide modes\u003c\/th\u003e\n\u003ctd\u003e3 speed levels\u003c\/td\u003e\n\u003c\/tr\u003e\n          \u003ctr\u003e\n\u003cth scope=\"row\"\u003eControls\u003c\/th\u003e\n\u003ctd\u003eDigital display · app control support\u003c\/td\u003e\n\u003c\/tr\u003e\n          \u003ctr\u003e\n\u003cth scope=\"row\"\u003eTires\u003c\/th\u003e\n\u003ctd\u003e10″ off-road pneumatic tubeless tires\u003c\/td\u003e\n\u003c\/tr\u003e\n          \u003ctr\u003e\n\u003cth scope=\"row\"\u003eSuspension\u003c\/th\u003e\n\u003ctd\u003eFront \u0026amp; rear suspension · automotive-style air dual shock absorption\u003c\/td\u003e\n\u003c\/tr\u003e\n          \u003ctr\u003e\n\u003cth scope=\"row\"\u003eBrakes\u003c\/th\u003e\n\u003ctd\u003eFront \u0026amp; rear disc brakes + electronic E-ABS\u003c\/td\u003e\n\u003c\/tr\u003e\n          \u003ctr\u003e\n\u003cth scope=\"row\"\u003eFrame\u003c\/th\u003e\n\u003ctd\u003eAluminum alloy · 3-second folding system\u003c\/td\u003e\n\u003c\/tr\u003e\n          \u003ctr\u003e\n\u003cth scope=\"row\"\u003eMax. load\u003c\/th\u003e\n\u003ctd\u003e265 lb (120 kg)\u003c\/td\u003e\n\u003c\/tr\u003e\n          \u003ctr\u003e\n\u003cth scope=\"row\"\u003eNet weight\u003c\/th\u003e\n\u003ctd\u003e37.5 lb (17 kg)\u003c\/td\u003e\n\u003c\/tr\u003e\n          \u003ctr\u003e\n\u003cth scope=\"row\"\u003eWater resistance\u003c\/th\u003e\n\u003ctd\u003eIP54 (splash \u0026amp; light-rain resistant)\u003c\/td\u003e\n\u003c\/tr\u003e\n          \u003ctr\u003e\n\u003cth scope=\"row\"\u003eLighting\u003c\/th\u003e\n\u003ctd\u003eDual LED headlights · rear taillight\u003c\/td\u003e\n\u003c\/tr\u003e\n          \u003ctr\u003e\n\u003cth scope=\"row\"\u003eColor\u003c\/th\u003e\n\u003ctd\u003eBlack\u003c\/td\u003e\n\u003c\/tr\u003e\n          \u003ctr\u003e\n\u003cth scope=\"row\"\u003eCharger plug\u003c\/th\u003e\n\u003ctd\u003eUS \/ EU \/ JP plug, matched to your region\u003c\/td\u003e\n\u003c\/tr\u003e\n          \u003ctr\u003e\n\u003cth scope=\"row\"\u003eCertifications\u003c\/th\u003e\n\u003ctd\u003eCE · UL 2272 · FCC · RoHS · LVD · EMC\u003c\/td\u003e\n\u003c\/tr\u003e\n          \u003ctr\u003e\n\u003cth scope=\"row\"\u003eWarranty\u003c\/th\u003e\n\u003ctd\u003e12-month warranty · professional after-sales support\u003c\/td\u003e\n\u003c\/tr\u003e\n          \u003ctr\u003e\n\u003cth scope=\"row\"\u003ePackage size \/ weight\u003c\/th\u003e\n\u003ctd\u003e47.2 × 7.9 × 22.4 in (120 × 20 × 57 cm) · 50.7 lb (23.0 kg) gross\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003c\/tbody\u003e\n      \u003c\/table\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- Before you ride --\u003e\n  \u003csection class=\"x21-section reveal\"\u003e\n    \u003ch3\u003eGood to know before you ride\u003c\/h3\u003e\n    \u003cul\u003e\n      \u003cli\u003e*Range and top speed vary with rider weight, terrain, wind, temperature, tire pressure, and selected speed level. Maximum range is achieved under optimal, low-speed conditions.\u003c\/li\u003e\n      \u003cli\u003eIP54 protects against splashes and light rain. Do not ride through deep or standing water, and dry the scooter before charging.\u003c\/li\u003e\n      \u003cli\u003eDesigned for adult riders. E-scooter age and riding rules differ by state and city — check your local regulations, and always wear a helmet.\u003c\/li\u003e\n    \u003c\/ul\u003e\n    \u003cp\u003e\u003cem\u003eNot sure if the X21 fits your commute? Tell our team your route and we'll help you decide — every X21 is backed by a 12-month warranty and professional after-sales support.\u003c\/em\u003e\u003c\/p\u003e\n  \u003c\/section\u003e\n\u003c\/article\u003e\n\n    \u003c\/div\u003e\n  \u003c\/main\u003e\n\u003cscript\u003e\n\/* ============================================================\n   X21 — Product description enhancements (vanilla JS, no deps)\n   Progressive: with JS off \/ old browsers, all content and\n   final numbers are already visible in the HTML.\n   ============================================================ *\/\n(function () {\n  'use strict';\n\n  var reduceMotion = window.matchMedia \u0026\u0026\n    window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n\n  \/* ---------- Ride-mode tabs ---------- *\/\n  function initTabs(root) {\n    var tabs = Array.prototype.slice.call(root.querySelectorAll('[data-x21-tab]'));\n    var panels = Array.prototype.slice.call(root.querySelectorAll('[data-x21-panel]'));\n    if (!tabs.length || !panels.length) return;\n\n    root.classList.add('x21-js-ready');\n\n    function select(tab, moveFocus) {\n      tabs.forEach(function (t) {\n        var active = t === tab;\n        t.setAttribute('aria-selected', active ? 'true' : 'false');\n        t.tabIndex = active ? 0 : -1;\n      });\n      panels.forEach(function (p) {\n        p.hidden = p.id !== tab.getAttribute('aria-controls');\n      });\n      if (moveFocus) tab.focus();\n    }\n\n    tabs.forEach(function (tab, i) {\n      tab.addEventListener('click', function () { select(tab, false); });\n      tab.addEventListener('keydown', function (e) {\n        var idx = null;\n        if (e.key === 'ArrowRight') idx = (i + 1) % tabs.length;\n        else if (e.key === 'ArrowLeft') idx = (i - 1 + tabs.length) % tabs.length;\n        else if (e.key === 'Home') idx = 0;\n        else if (e.key === 'End') idx = tabs.length - 1;\n        if (idx !== null) { e.preventDefault(); select(tabs[idx], true); }\n      });\n    });\n\n    select(tabs[0], false);\n  }\n\n  \/* ---------- Animated counters ---------- *\/\n  function format(value, decimals) {\n    return decimals \u003e 0\n      ? value.toFixed(decimals)\n      : Math.round(value).toLocaleString('en-US');\n  }\n\n  function animateCount(el) {\n    var target = parseFloat(el.getAttribute('data-count'));\n    var decimals = parseInt(el.getAttribute('data-decimals') || '0', 10);\n    if (isNaN(target) || !window.requestAnimationFrame) {\n      el.textContent = format(target, decimals);\n      return;\n    }\n    var duration = 1100, start = null;\n    function frame(ts) {\n      if (start === null) start = ts;\n      var p = Math.min((ts - start) \/ duration, 1);\n      var eased = 1 - Math.pow(1 - p, 3);\n      el.textContent = format(target * eased, decimals);\n      if (p \u003c 1) window.requestAnimationFrame(frame);\n      else el.textContent = format(target, decimals);\n    }\n    window.requestAnimationFrame(frame);\n  }\n\n  \/* ---------- Scroll reveal + counters ---------- *\/\n  function initMotion(root) {\n    if (reduceMotion || !('IntersectionObserver' in window)) return; \/\/ final state already in HTML\n\n    var vh = window.innerHeight || document.documentElement.clientHeight;\n\n    var reveals = Array.prototype.slice.call(root.querySelectorAll('.reveal'));\n    reveals.forEach(function (el) {\n      \/\/ Hide only elements below the fold, so nothing flashes on load\n      if (el.getBoundingClientRect().top \u003e vh * 0.94) el.classList.add('is-waiting');\n    });\n    var revealIO = new IntersectionObserver(function (entries) {\n      entries.forEach(function (en) {\n        if (en.isIntersecting) {\n          en.target.classList.remove('is-waiting');\n          en.target.classList.add('is-inview');\n          revealIO.unobserve(en.target);\n        }\n      });\n    }, { threshold: 0.12, rootMargin: '0px 0px -6% 0px' });\n    reveals.forEach(function (el) { revealIO.observe(el); });\n\n    var counters = Array.prototype.slice.call(root.querySelectorAll('[data-count]'));\n    var countIO = new IntersectionObserver(function (entries) {\n      entries.forEach(function (en) {\n        if (en.isIntersecting) { animateCount(en.target); countIO.unobserve(en.target); }\n      });\n    }, { threshold: 0.4 });\n    counters.forEach(function (el) { countIO.observe(el); });\n  }\n\n  function init() {\n    Array.prototype.forEach.call(\n      document.querySelectorAll('[data-x21-desc]'),\n      function (root) { initTabs(root); initMotion(root); }\n    );\n  }\n\n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', init);\n  } else { init(); }\n})();\n\u003c\/script\u003e\n\n\u003cstyle\u003e\n\/* Standalone page shell only — omit when merging into Shopify. *\/\n:root {\n  --color-foreground: 18, 18, 18;\n  --color-background: 255, 255, 255;\n  --font-heading-family: -apple-system, BlinkMacSystemFont, \"Helvetica Neue\", Arial, \"Segoe UI\", sans-serif;\n  --font-body-family: -apple-system, BlinkMacSystemFont, \"Helvetica Neue\", Arial, \"Segoe UI\", sans-serif;\n}\nhtml { -webkit-text-size-adjust: 100%; }\nbody { margin: 0; background: #f3f5f9; }\n.x21-page {\n  max-width: 720px; margin: 0 auto; min-height: 100vh;\n  background: #fff; padding: 36px 34px 48px;\n  box-shadow: 0 0 0 1px rgba(18, 18, 18, 0.05), 0 18px 50px rgba(18, 18, 18, 0.07);\n}\n@media (max-width: 600px) { .x21-page { padding: 20px 16px 36px; } }\n\n\/* ============================================================\n   X21 — Product description styles (scoped to .x21-desc)\n   Shopify Dawn \/ OS 2.0 token-compatible. Safe to merge into\n   base.css: every selector is scoped, nothing touches body.\n   ============================================================ *\/\n.x21-desc {\n  --x21-fg-rgb: var(--color-foreground, 18, 18, 18);\n  --x21-bg-rgb: var(--color-background, 255, 255, 255);\n  --x21-ink: rgb(var(--x21-fg-rgb));\n  --x21-muted: rgba(var(--x21-fg-rgb), 0.72);\n  --x21-line: rgba(var(--x21-fg-rgb), 0.14);\n  --x21-surface: rgba(var(--x21-fg-rgb), 0.04);\n  --x21-accent: #2451e6;\n  --x21-accent-2: #00bfa6;\n  --x21-radius: 18px;\n  color: var(--x21-ink);\n  font-family: var(--font-body-family, -apple-system, BlinkMacSystemFont, \"Helvetica Neue\", Arial, \"Segoe UI\", sans-serif);\n  font-size: 16px;\n  line-height: 1.65;\n  overflow-wrap: break-word;\n  container-type: inline-size;\n}\n.x21-desc *,\n.x21-desc *::before,\n.x21-desc *::after { box-sizing: border-box; }\n\n.x21-desc h2,\n.x21-desc h3,\n.x21-desc h4 {\n  font-family: var(--font-heading-family, -apple-system, BlinkMacSystemFont, \"Helvetica Neue\", Arial, \"Segoe UI\", sans-serif);\n  color: var(--x21-ink);\n  margin-top: 0;\n}\n.x21-desc h3 { font-size: 22px; line-height: 1.25; letter-spacing: -0.01em; margin-bottom: 14px; }\n.x21-desc h4 { font-size: 16px; line-height: 1.35; margin-bottom: 6px; }\n.x21-desc p { margin: 0 0 14px; }\n.x21-desc ul { margin: 0 0 16px; padding-left: 22px; }\n.x21-desc li { margin-bottom: 8px; }\n.x21-desc hr { border: 0; border-top: 1px solid var(--x21-line); margin: 34px 0 0; }\n.x21-desc :focus-visible { outline: 2px solid var(--x21-accent); outline-offset: 2px; }\n\n.x21-desc .x21-section { margin-top: 38px; }\n.x21-desc .x21-eyebrow {\n  font-size: 11px; font-weight: 700; letter-spacing: 0.16em;\n  text-transform: uppercase; color: var(--x21-accent); margin: 0 0 10px;\n}\n\n\/* --- Hero --- *\/\n.x21-desc .x21-hero {\n  position: relative; overflow: hidden;\n  border: 1px solid var(--x21-line); border-radius: 24px;\n  padding: 30px 26px 26px;\n  background:\n    radial-gradient(120% 140% at 105% -10%, rgba(0, 191, 166, 0.16), rgba(0, 191, 166, 0) 55%),\n    radial-gradient(120% 160% at -10% 110%, rgba(36, 81, 230, 0.14), rgba(36, 81, 230, 0) 55%),\n    var(--x21-surface);\n}\n.x21-desc .x21-hero::after {\n  content: \"\"; position: absolute; width: 260px; height: 260px;\n  right: -120px; top: -130px; border-radius: 50%;\n  border: 1px solid rgba(36, 81, 230, 0.22); pointer-events: none;\n}\n.x21-desc .x21-hero h2 {\n  font-size: 36px; font-size: clamp(30px, 6vw, 42px);\n  line-height: 1.05; letter-spacing: -0.02em; margin-bottom: 14px; max-width: 14ch;\n}\n.x21-desc .x21-lead { font-size: 18px; font-size: clamp(16.5px, 2.6vw, 19px); line-height: 1.5; font-weight: 600; }\n.x21-desc .x21-hero p { color: var(--x21-muted); max-width: 56ch; }\n.x21-desc .x21-hero .x21-lead { color: var(--x21-ink); }\n\n.x21-desc .x21-stats {\n  display: grid; gap: 10px; margin-top: 24px;\n  grid-template-columns: repeat(auto-fit, minmax(min(118px, 100%), 1fr));\n}\n.x21-desc .x21-stat {\n  background: rgba(var(--x21-bg-rgb), 0.82);\n  border: 1px solid var(--x21-line); border-radius: 14px; padding: 13px 14px 11px;\n}\n.x21-desc .x21-stat-value { display: flex; align-items: baseline; gap: 4px; font-size: 28px; font-weight: 800; line-height: 1.05; letter-spacing: -0.02em; }\n.x21-desc .x21-stat-value small { font-size: 13px; font-weight: 700; color: var(--x21-accent); }\n.x21-desc .x21-stat-label { display: block; margin-top: 4px; font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--x21-muted); }\n\n\/* --- Feature cards --- *\/\n.x21-desc .x21-grid {\n  display: grid; gap: 12px;\n  grid-template-columns: repeat(auto-fit, minmax(min(190px, 100%), 1fr));\n}\n.x21-desc .x21-card {\n  border: 1px solid var(--x21-line); border-radius: var(--x21-radius);\n  background: rgb(var(--x21-bg-rgb)); padding: 18px;\n  transition: transform 200ms ease, box-shadow 200ms ease;\n}\n@media (hover: hover) and (pointer: fine) {\n  .x21-desc .x21-card:hover {\n    transform: translateY(-3px);\n    box-shadow: 0 12px 28px rgba(var(--x21-fg-rgb), 0.12);\n  }\n}\n.x21-desc .x21-card p { font-size: 14.5px; color: var(--x21-muted); margin: 0; }\n.x21-desc .x21-icon {\n  display: inline-flex; align-items: center; justify-content: center;\n  width: 44px; height: 44px; border-radius: 50%; margin-bottom: 12px;\n  background: linear-gradient(135deg, var(--x21-accent), var(--x21-accent-2)); color: #fff;\n}\n.x21-desc .x21-icon svg {\n  width: 24px; height: 24px; fill: none; stroke: currentColor;\n  stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round;\n}\n\n\/* --- Battery highlight (dark panel) --- *\/\n.x21-desc .x21-battery {\n  margin-top: 38px; border-radius: 24px; padding: 28px 26px; color: #fff;\n  background: linear-gradient(135deg, #0d1220 0%, #16264d 58%, #063f59 100%);\n  overflow: hidden;\n}\n.x21-desc .x21-battery h3 { color: #fff; }\n.x21-desc .x21-battery .x21-eyebrow { color: #7dd3fc; }\n.x21-desc .x21-battery p { color: rgba(255, 255, 255, 0.78); max-width: 54ch; }\n.x21-desc .x21-meter {\n  height: 18px; margin: 20px 10px 16px 0; padding: 3px; position: relative;\n  border: 1px solid rgba(255, 255, 255, 0.4); border-radius: 999px;\n}\n.x21-desc .x21-meter::after {\n  content: \"\"; position: absolute; right: -8px; top: 50%; width: 4px; height: 8px;\n  transform: translateY(-50%); border-radius: 2px; background: rgba(255, 255, 255, 0.55);\n}\n.x21-desc .x21-meter-fill {\n  display: block; width: 84%; height: 100%; border-radius: 999px;\n  background: linear-gradient(90deg, var(--x21-accent-2), #8dffcf);\n  transform-origin: left center; transition: transform 1s ease;\n}\n.x21-desc .reveal.is-waiting .x21-meter-fill { transform: scaleX(0.08); }\n.x21-desc .x21-facts { display: flex; flex-wrap: wrap; gap: 8px; }\n.x21-desc .x21-fact {\n  font-size: 13px; padding: 7px 12px; border-radius: 999px;\n  border: 1px solid rgba(255, 255, 255, 0.18); background: rgba(255, 255, 255, 0.08);\n}\n\n\/* --- Ride-mode tabs (progressive: panels all visible until JS runs) --- *\/\n.x21-desc .x21-tabs { border: 1px solid var(--x21-line); border-radius: var(--x21-radius); padding: 18px; background: rgb(var(--x21-bg-rgb)); }\n.x21-desc .x21-tablist { display: none; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }\n.x21-desc.x21-js-ready .x21-tablist { display: flex; }\n.x21-desc .x21-tab {\n  appearance: none; -webkit-appearance: none; cursor: pointer;\n  font: inherit; font-size: 14px; font-weight: 600;\n  color: var(--x21-ink); background: var(--x21-surface);\n  border: 1px solid var(--x21-line); border-radius: 999px; padding: 8px 16px;\n  transition: background 200ms ease, color 200ms ease, border-color 200ms ease;\n}\n.x21-desc .x21-tab[aria-selected=\"true\"] {\n  background: var(--x21-ink); color: rgb(var(--x21-bg-rgb)); border-color: var(--x21-ink);\n}\n.x21-desc .x21-mode { padding-top: 14px; border-top: 1px solid var(--x21-line); }\n.x21-desc .x21-mode:first-of-type { border-top: 0; padding-top: 0; }\n.x21-desc.x21-js-ready .x21-mode { border-top: 0; padding-top: 0; }\n.x21-desc .x21-mode[hidden] { display: none !important; }\n.x21-desc .x21-mode p { color: var(--x21-muted); margin: 0; }\n.x21-desc .x21-app-note {\n  margin-top: 16px; padding: 6px 0 6px 16px;\n  border-left: 3px solid var(--x21-accent); color: var(--x21-muted);\n}\n.x21-desc .x21-app-note strong { color: var(--x21-ink); }\n\n\/* --- Scenarios + checklist --- *\/\n.x21-desc .x21-scenarios { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }\n.x21-desc .x21-chip {\n  font-size: 13px; font-weight: 600; padding: 7px 13px; border-radius: 999px;\n  background: var(--x21-surface); border: 1px solid var(--x21-line);\n}\n.x21-desc .x21-checklist { list-style: none; padding: 0; margin: 0; }\n.x21-desc .x21-checklist li { position: relative; padding-left: 32px; margin-bottom: 12px; color: var(--x21-muted); }\n.x21-desc .x21-checklist li strong { color: var(--x21-ink); }\n.x21-desc .x21-checklist li::before {\n  content: \"\\2713\"; position: absolute; left: 0; top: 1px;\n  width: 21px; height: 21px; border-radius: 50%;\n  display: inline-flex; align-items: center; justify-content: center;\n  font-size: 12px; font-weight: 800; color: #fff;\n  background: linear-gradient(135deg, var(--x21-accent), var(--x21-accent-2));\n}\n\n\/* --- Specification table --- *\/\n.x21-desc .x21-spec-wrap { border: 1px solid var(--x21-line); border-radius: 16px; overflow: hidden; }\n.x21-desc table { width: 100%; border-collapse: collapse; margin: 0; font-size: 14px; line-height: 1.5; }\n.x21-desc th,\n.x21-desc td { padding: 10px 14px; text-align: left; vertical-align: top; border-top: 1px solid var(--x21-line); }\n.x21-desc tbody tr:first-child th,\n.x21-desc tbody tr:first-child td { border-top: 0; }\n.x21-desc th[scope=\"row\"] { width: 36%; font-weight: 700; background: var(--x21-surface); }\n\n\/* Stacked specs when the CONTAINER is narrow (right-hand column) *\/\n@container (max-width: 520px) {\n  .x21-desc table, .x21-desc tbody, .x21-desc tr,\n  .x21-desc th, .x21-desc td { display: block; width: 100%; }\n  .x21-desc tr { padding: 10px 14px; border-top: 1px solid var(--x21-line); }\n  .x21-desc tbody tr:first-child { border-top: 0; }\n  .x21-desc th, .x21-desc td { border-top: 0; padding: 0; background: none; }\n  .x21-desc th[scope=\"row\"] { width: 100%; font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--x21-muted); }\n  .x21-desc td { padding-top: 2px; }\n  .x21-desc .x21-hero { padding: 22px 18px 20px; }\n  .x21-desc .x21-battery { padding: 22px 18px; }\n}\n\/* Same stacking via viewport for browsers without container queries *\/\n@media (max-width: 520px) {\n  .x21-desc { font-size: 15px; }\n  .x21-desc h3 { font-size: 20px; }\n  .x21-desc table, .x21-desc tbody, .x21-desc tr,\n  .x21-desc th, .x21-desc td { display: block; width: 100%; }\n  .x21-desc tr { padding: 10px 14px; border-top: 1px solid var(--x21-line); }\n  .x21-desc tbody tr:first-child { border-top: 0; }\n  .x21-desc th, .x21-desc td { border-top: 0; padding: 0; background: none; }\n  .x21-desc th[scope=\"row\"] { width: 100%; font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--x21-muted); }\n  .x21-desc td { padding-top: 2px; }\n}\n\n\/* --- Scroll reveal (JS adds .is-waiting only below the fold) --- *\/\n.x21-desc .reveal { transition: opacity 600ms ease, transform 600ms ease; }\n.x21-desc .reveal.is-waiting { opacity: 0; transform: translateY(16px); }\n.x21-desc .reveal.is-inview { opacity: 1; transform: none; }\n\n@media (prefers-reduced-motion: reduce) {\n  .x21-desc .reveal, .x21-desc .x21-card,\n  .x21-desc .x21-tab, .x21-desc .x21-meter-fill { transition: none !important; }\n  .x21-desc .reveal.is-waiting { opacity: 1; transform: none; }\n  .x21-desc .reveal.is-waiting .x21-meter-fill { transform: none; }\n}\n\n@media print {\n  .x21-desc .x21-tablist { display: none !important; }\n  .x21-desc .x21-mode[hidden] { display: block !important; }\n  .x21-desc .reveal { opacity: 1 !important; transform: none !important; }\n}\n\u003c\/style\u003e\n\n\n\u003c\/body\u003e","brand":"sfpnest","offers":[{"title":"Default Title","offer_id":54237253959974,"sku":null,"price":359.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1030\/5562\/2438\/files\/ElectricScooter350W10InchEscooter32KM_5.jpg?v=1793266341"},{"product_id":"electric-scooter-for-adults-2000w-dual-motor-off-road-e-scooter-up-to-25-mph-62-miles-48v-18-2ah-removable-battery-11-fat-vacuum-tires-dual-suspension-disc-brakes-foldable","title":"Electric Scooter for Adults, 2000W Dual Motor Off Road E-Scooter, Up to 25 MPH \u0026 62 Miles, 48V 18.2Ah Removable Battery, 11\" Fat Vacuum Tires, Dual Suspension \u0026 Disc Brakes, Foldable","description":"\u003cbody\u003e\n\n\n\u003cmeta charset=\"utf-8\"\u003e\n\u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1\"\u003e\n\u003ctitle\u003eX10 Dual-Motor Off-Road Electric Scooter\u003c\/title\u003e\n\u003cmeta name=\"description\" content=\"X10: 2,000W dual-motor off-road e-scooter with 11-inch tubeless fat tires, full suspension and a removable 48V battery. Up to 25 mph and 62 mi per charge.\"\u003e\n\n\n  \u003cmain class=\"product-description\"\u003e\n    \u003cdiv class=\"rte\"\u003e\n      \u003cp\u003e\u003cstrong\u003eBuilt for the road less traveled — and the commute in between.\u003c\/strong\u003e\u003c\/p\u003e\n\n      \u003cp\u003eThe X10 is a dual-motor, off-road electric scooter that doesn’t ask you to choose between weekday practicality and weekend adventure. Large 11-inch tubeless fat tires, full suspension, and a high-capacity removable battery work together to keep every ride powerful, stable, and comfortable — on pavement, gravel, and uneven terrain alike.\u003c\/p\u003e\n\n      \u003cblockquote\u003e\n        \u003cp\u003e\u003cstrong\u003eUp to 25 mph (US)  ·  Up to 62 mi (100 km) per charge  ·  265 lb max. load  ·  6–8 hr charge time\u003c\/strong\u003e\u003c\/p\u003e\n      \u003c\/blockquote\u003e\n\n      \u003ch3\u003eWhy riders choose the X10\u003c\/h3\u003e\n      \u003cul\u003e\n        \u003cli\u003e\n\u003cstrong\u003eDual-motor power, tuned for your region.\u003c\/strong\u003e A 2,000W dual brushless motor system (US version) delivers strong acceleration and confident climbing, with three selectable speed levels so you can match the ride to the road. The EU version is tuned to 250W and 15.5 mph (25 km\/h) for local compliance.\u003c\/li\u003e\n        \u003cli\u003e\n\u003cstrong\u003eFull suspension front and rear.\u003c\/strong\u003e The dual suspension system absorbs bumps, potholes, and trail chatter before they reach you — for a noticeably smoother, more controlled ride off the beaten path.\u003c\/li\u003e\n        \u003cli\u003e\n\u003cstrong\u003e11″ tubeless fat tires.\u003c\/strong\u003e Wide, grippy “SUV-style” tires put more rubber on the ground for better traction and stability on mixed surfaces, with the easier maintenance of a tubeless setup.\u003c\/li\u003e\n        \u003cli\u003e\n\u003cstrong\u003eRemovable 48V 18.2Ah lithium battery.\u003c\/strong\u003e Charge it on the scooter or lift it out and charge it at home, at the office, or anywhere with an outlet. The removable design also makes long-term storage, service, and replacement simpler.\u003c\/li\u003e\n        \u003cli\u003e\n\u003cstrong\u003eDisc + electronic E-ABS braking.\u003c\/strong\u003e Two independent braking systems deliver responsive, reliable stopping power and added control across changing road and trail conditions.\u003c\/li\u003e\n        \u003cli\u003e\n\u003cstrong\u003eFolding aluminum alloy frame.\u003c\/strong\u003e Lightweight strength where it counts. The durable alloy frame folds down for trunk transport and compact garage storage between rides.\u003c\/li\u003e\n      \u003c\/ul\u003e\n\n      \u003ch3\u003eDesigned for real-world riding\u003c\/h3\u003e\n      \u003cp\u003eWhether it’s a daily commute across town or exploring beyond where the pavement ends, the X10 is equipped for the way you actually ride:\u003c\/p\u003e\n      \u003cul\u003e\n        \u003cli\u003eIntegrated LED headlight for low-light visibility\u003c\/li\u003e\n        \u003cli\u003eDigital electronic controls with 3 speed modes\u003c\/li\u003e\n        \u003cli\u003eWeather-resistant, sealed construction for everyday riding conditions\u003c\/li\u003e\n        \u003cli\u003eGenerous 265 lb (120 kg) maximum rider load\u003c\/li\u003e\n        \u003cli\u003eAvailable in Black, Yellow, Red, and Blue\u003c\/li\u003e\n      \u003c\/ul\u003e\n\n      \u003chr\u003e\n\n      \u003ch3\u003eTechnical specifications\u003c\/h3\u003e\n      \u003ctable\u003e\n        \u003ctbody\u003e\n          \u003ctr\u003e\n            \u003cth scope=\"row\"\u003eModel\u003c\/th\u003e\n            \u003ctd\u003eX10\u003c\/td\u003e\n          \u003c\/tr\u003e\n          \u003ctr\u003e\n            \u003cth scope=\"row\"\u003eMotor\u003c\/th\u003e\n            \u003ctd\u003eDual brushless motor — 2,000W (US) \/ 250W (EU)\u003c\/td\u003e\n          \u003c\/tr\u003e\n          \u003ctr\u003e\n            \u003cth scope=\"row\"\u003eTop speed\u003c\/th\u003e\n            \u003ctd\u003eUp to 25 mph \/ 40 km\/h (US) · Up to 15.5 mph \/ 25 km\/h (EU)\u003c\/td\u003e\n          \u003c\/tr\u003e\n          \u003ctr\u003e\n            \u003cth scope=\"row\"\u003eRange per charge\u003c\/th\u003e\n            \u003ctd\u003eUp to 62 mi (100 km)*\u003c\/td\u003e\n          \u003c\/tr\u003e\n          \u003ctr\u003e\n            \u003cth scope=\"row\"\u003eBattery\u003c\/th\u003e\n            \u003ctd\u003e48V 18.2Ah (≈874 Wh) removable lithium battery\u003c\/td\u003e\n          \u003c\/tr\u003e\n          \u003ctr\u003e\n            \u003cth scope=\"row\"\u003eCharge time\u003c\/th\u003e\n            \u003ctd\u003e6–8 hours\u003c\/td\u003e\n          \u003c\/tr\u003e\n          \u003ctr\u003e\n            \u003cth scope=\"row\"\u003eRide modes\u003c\/th\u003e\n            \u003ctd\u003e3 speed levels, digital electronic control\u003c\/td\u003e\n          \u003c\/tr\u003e\n          \u003ctr\u003e\n            \u003cth scope=\"row\"\u003eTires\u003c\/th\u003e\n            \u003ctd\u003e11″ tubeless off-road fat tires\u003c\/td\u003e\n          \u003c\/tr\u003e\n          \u003ctr\u003e\n            \u003cth scope=\"row\"\u003eSuspension\u003c\/th\u003e\n            \u003ctd\u003eFull (front \u0026amp; rear) dual suspension\u003c\/td\u003e\n          \u003c\/tr\u003e\n          \u003ctr\u003e\n            \u003cth scope=\"row\"\u003eBrakes\u003c\/th\u003e\n            \u003ctd\u003eDisc brake + electronic brake (E-ABS)\u003c\/td\u003e\n          \u003c\/tr\u003e\n          \u003ctr\u003e\n            \u003cth scope=\"row\"\u003eFrame\u003c\/th\u003e\n            \u003ctd\u003eAluminum alloy, foldable\u003c\/td\u003e\n          \u003c\/tr\u003e\n          \u003ctr\u003e\n            \u003cth scope=\"row\"\u003eMax. load\u003c\/th\u003e\n            \u003ctd\u003e265 lb (120 kg)\u003c\/td\u003e\n          \u003c\/tr\u003e\n          \u003ctr\u003e\n            \u003cth scope=\"row\"\u003eLighting\u003c\/th\u003e\n            \u003ctd\u003eLED headlight\u003c\/td\u003e\n          \u003c\/tr\u003e\n          \u003ctr\u003e\n            \u003cth scope=\"row\"\u003eWater resistance\u003c\/th\u003e\n            \u003ctd\u003eWeather-resistant sealed construction\u003c\/td\u003e\n          \u003c\/tr\u003e\n          \u003ctr\u003e\n            \u003cth scope=\"row\"\u003eColors\u003c\/th\u003e\n            \u003ctd\u003eBlack \/ Yellow \/ Red \/ Blue\u003c\/td\u003e\n          \u003c\/tr\u003e\n          \u003ctr\u003e\n            \u003cth scope=\"row\"\u003eCharger plug\u003c\/th\u003e\n            \u003ctd\u003eUS \/ EU \/ JP plug, matched to version ordered\u003c\/td\u003e\n          \u003c\/tr\u003e\n          \u003ctr\u003e\n            \u003cth scope=\"row\"\u003eCertifications\u003c\/th\u003e\n            \u003ctd\u003eCE · RoHS · FCC (EEC available for the EU version)\u003c\/td\u003e\n          \u003c\/tr\u003e\n          \u003ctr\u003e\n            \u003cth scope=\"row\"\u003eIn the box\u003c\/th\u003e\n            \u003ctd\u003eX10 electric scooter × 1 (single-item retail package)\u003c\/td\u003e\n          \u003c\/tr\u003e\n          \u003ctr\u003e\n            \u003cth scope=\"row\"\u003ePackage size \/ weight\u003c\/th\u003e\n            \u003ctd\u003e52.8 × 9.3 × 28.3 in (134 × 23.5 × 72 cm) · 94.8 lb (43.0 kg) gross\u003c\/td\u003e\n          \u003c\/tr\u003e\n        \u003c\/tbody\u003e\n      \u003c\/table\u003e\n\n      \u003ch3\u003eGood to know before you ride\u003c\/h3\u003e\n      \u003cul\u003e\n        \u003cli\u003e*Range and top speed vary with rider weight, terrain, wind, temperature, tire pressure, and selected speed mode. Maximum range is achieved under optimal, low-speed conditions.\u003c\/li\u003e\n        \u003cli\u003eE-scooter laws differ by state, city, and country. Please check and follow your local regulations for where and how this scooter may be ridden, and select the US or EU version that matches your region.\u003c\/li\u003e\n        \u003cli\u003eAlways wear a helmet and appropriate protective gear, inspect brakes and tires before riding, and never ride through deep or standing water.\u003c\/li\u003e\n      \u003c\/ul\u003e\n\n      \u003cp\u003e\u003cem\u003eQuestions about fit, range, or which version is right for you? Contact our support team before ordering — we’re happy to help you choose.\u003c\/em\u003e\u003c\/p\u003e\n    \u003c\/div\u003e\n  \u003c\/main\u003e\n\u003cscript\u003e\n  \/* ============================================================\n    X10 — Product description enhancements (vanilla JS)\n     1) Wraps .rte tables so they scroll horizontally on mobile\n     2) Flags JS enhancement for the CSS fade-in\n     ============================================================ *\/\n  (function () {\n    'use strict';\n\n    function enhanceTables() {\n      document.querySelectorAll('.rte table').forEach(function (table) {\n        if (table.parentElement.classList.contains('rte-table-wrap')) return;\n\n        var wrap = document.createElement('div');\n        wrap.className = 'rte-table-wrap';\n        wrap.setAttribute('tabindex', '0');\n        wrap.setAttribute('role', 'region');\n        wrap.setAttribute('aria-label', 'Technical specifications');\n\n        table.parentNode.insertBefore(wrap, table);\n        wrap.appendChild(table);\n      });\n    }\n\n    function init() {\n      enhanceTables();\n      document.documentElement.classList.add('js-enhanced');\n    }\n\n    if (document.readyState === 'loading') {\n      document.addEventListener('DOMContentLoaded', init);\n    } else {\n      init();\n    }\n  })();\n\u003c\/script\u003e\n\u003cstyle\u003e\n  \/* ============================================================\n     X10 — Product description styles\n     Dawn \/ OS 2.0 token-compatible, scoped to .rte\n     ============================================================ *\/\n  :root {\n    --color-foreground: 18, 18, 18;\n    --color-background: 255, 255, 255;\n    --font-heading-family: -apple-system, BlinkMacSystemFont, \"Helvetica Neue\", Arial, \"Segoe UI\", sans-serif;\n    --font-body-family: -apple-system, BlinkMacSystemFont, \"Helvetica Neue\", Arial, \"Segoe UI\", sans-serif;\n    --duration-default: 200ms;\n  }\n\n  *,\n  *::before,\n  *::after {\n    box-sizing: border-box;\n  }\n\n  html {\n    -webkit-text-size-adjust: 100%;\n  }\n\n  body {\n    margin: 0;\n    background: rgb(var(--color-background));\n    color: rgb(var(--color-foreground));\n    font-family: var(--font-body-family);\n    font-size: 15px;\n    line-height: 1.65;\n    -webkit-font-smoothing: antialiased;\n  }\n\n  \/* Page column — matches the width of a product right-hand column *\/\n  .product-description {\n    max-width: 660px;\n    margin: 0 auto;\n    padding: 28px 20px 40px;\n  }\n\n  \/* --- Rich text (.rte) --- *\/\n  .rte \u003e *:first-child { margin-top: 0; }\n  .rte \u003e *:last-child { margin-bottom: 0; }\n\n  .rte h3 {\n    font-family: var(--font-heading-family);\n    font-size: 19px;\n    line-height: 1.3;\n    letter-spacing: -0.01em;\n    margin: 28px 0 10px;\n  }\n\n  .rte p { margin: 0 0 14px; }\n\n  .rte ul {\n    margin: 0 0 16px;\n    padding-left: 22px;\n  }\n\n  .rte li { margin: 0 0 8px; }\n  .rte li::marker { color: rgba(var(--color-foreground), 0.55); }\n\n  .rte a {\n    color: rgb(var(--color-foreground));\n    text-underline-offset: 0.3rem;\n  }\n\n  \/* Key-stats callout *\/\n  .rte blockquote {\n    margin: 18px 0;\n    padding: 6px 0 6px 16px;\n    border-left: 3px solid rgb(var(--color-foreground));\n  }\n  .rte blockquote p { margin: 0; }\n\n  .rte hr {\n    border: 0;\n    border-top: 1px solid rgba(var(--color-foreground), 0.2);\n    margin: 26px 0;\n  }\n\n  \/* Specifications table *\/\n  .rte-table-wrap {\n    overflow-x: auto;\n    margin: 0 0 18px;\n    -webkit-overflow-scrolling: touch;\n  }\n\n  .rte table {\n    width: 100%;\n    border-collapse: collapse;\n    font-size: 14px;\n    line-height: 1.5;\n  }\n\n  .rte th,\n  .rte td {\n    border: 1px solid rgba(var(--color-foreground), 0.18);\n    padding: 9px 12px;\n    text-align: left;\n    vertical-align: top;\n  }\n\n  .rte th[scope=\"row\"] {\n    width: 36%;\n    font-weight: 700;\n    background: rgba(var(--color-foreground), 0.04);\n  }\n\n  \/* Small screens *\/\n  @media (max-width: 480px) {\n    body { font-size: 14.5px; }\n    .product-description { padding: 20px 16px 32px; }\n    .rte h3 { font-size: 18px; }\n    .rte table { font-size: 13.5px; }\n    .rte th[scope=\"row\"] { width: 40%; }\n  }\n\n  \/* Subtle entrance only when JS is active and motion is welcome *\/\n  @media (prefers-reduced-motion: no-preference) {\n    .js-enhanced .rte { animation: rte-fade var(--duration-default) ease both; }\n    @keyframes rte-fade {\n      from { opacity: 0; }\n      to { opacity: 1; }\n    }\n  }\n\u003c\/style\u003e\n\n\n\u003c\/body\u003e","brand":"sfpnest","offers":[{"title":"Default Title","offer_id":54248615936294,"sku":null,"price":698.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1030\/5562\/2438\/files\/ElectricScooterforAdults_2000WDualMotorOffRoadE-Scooter_1.jpg?v=1793328414"},{"product_id":"electric-scooter-with-seat-for-adults-350w-motor-seated-e-scooter-up-to-20-mph-25-miles-10-pneumatic-tires-dual-suspension-rear-cargo-basket-265-lbs-max-load-foldable-commuter-scooter","title":"Electric Scooter with Seat for Adults, 350W Motor Seated E-Scooter up to 20 MPH \u0026 25 Miles, 10\" Pneumatic Tires, Dual Suspension, Rear Cargo Basket, 265 Lbs Max Load Foldable Commuter Scooter","description":"\u003cbody\u003e\n\n\n\u003cmeta charset=\"utf-8\"\u003e\n\u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1\"\u003e\n\u003ctitle\u003eX9 Electric Scooter with Seat \u0026amp; Basket — 350W Foldable Commuter for Adults\u003c\/title\u003e\n\u003cmeta name=\"description\" content=\"Meet the X9: a 350W foldable electric scooter with an adjustable seat, detachable basket and rear cargo box. Up to 20 mph, 19-25 miles per charge — built for commutes, groceries and pet-friendly trips.\"\u003e\n\n\n  \u003cmain class=\"x9-page\"\u003e\n    \u003cdiv class=\"rte\"\u003e\n\u003carticle class=\"x9-desc\" data-x9-desc\u003e\n  \u003c!-- Hero --\u003e\n  \u003csection class=\"x9-hero reveal\"\u003e\n    \u003cp class=\"x9-eyebrow\"\u003eSeated Commuter Series\u003c\/p\u003e\n    \u003ch2\u003eSit down. Stock up. Head out.\u003c\/h2\u003e\n    \u003cp class=\"x9-lead\"\u003eMeet the X9 — a foldable electric scooter with a real seat, a detachable basket, and a rear cargo box, built for the trips that make up your day: the commute, the grocery run, the vet visit, the park.\u003c\/p\u003e\n    \u003cp\u003eA smooth 350W motor, cushioned adjustable seat, and room for rider, bags, and a small copilot turn “last mile” into the best part of the trip.\u003c\/p\u003e\n\n    \u003cdiv class=\"x9-stats\" aria-label=\"Key specifications\"\u003e\n      \u003cdiv class=\"x9-stat\"\u003e\n        \u003cspan class=\"x9-stat-value\"\u003e\u003cspan data-count=\"20\"\u003e20\u003c\/span\u003e\u003csmall\u003emph\u003c\/small\u003e\u003c\/span\u003e\n        \u003cspan class=\"x9-stat-label\"\u003eTop speed\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"x9-stat\"\u003e\n        \u003cspan class=\"x9-stat-value\"\u003e\u003cspan data-count=\"25\"\u003e25\u003c\/span\u003e\u003csmall\u003emi\u003c\/small\u003e\u003c\/span\u003e\n        \u003cspan class=\"x9-stat-label\"\u003eMax. range \/ charge*\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"x9-stat\"\u003e\n        \u003cspan class=\"x9-stat-value\"\u003e\u003cspan data-count=\"265\"\u003e265\u003c\/span\u003e\u003csmall\u003elb\u003c\/small\u003e\u003c\/span\u003e\n        \u003cspan class=\"x9-stat-label\"\u003eRider + cargo load\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"x9-stat\"\u003e\n        \u003cspan class=\"x9-stat-value\"\u003e\u003cspan data-count=\"3\"\u003e3\u003c\/span\u003e\u003csmall\u003espd\u003c\/small\u003e\u003c\/span\u003e\n        \u003cspan class=\"x9-stat-label\"\u003eSpeed settings\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- Feature grid --\u003e\n  \u003csection class=\"x9-section reveal\"\u003e\n    \u003cp class=\"x9-eyebrow\"\u003eWhy X9\u003c\/p\u003e\n    \u003ch3\u003eComfort you sit in. Storage you actually use.\u003c\/h3\u003e\n\n    \u003cdiv class=\"x9-grid\"\u003e\n      \u003cdiv class=\"x9-card\"\u003e\n        \u003cspan class=\"x9-icon\" aria-hidden=\"true\"\u003e\n          \u003csvg viewbox=\"0 0 24 24\" focusable=\"false\"\u003e\u003cpath d=\"M4 12h13a3 3 0 0 1 3 3v1H7a3 3 0 0 1-3-3v-1z\"\u003e\u003c\/path\u003e\u003cpath d=\"M12 16v4M8 20h8\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n        \u003c\/span\u003e\n        \u003ch4\u003eA seat that fits real adults\u003c\/h4\u003e\n        \u003cp\u003eThe soft, breathable seat adjusts to riders from 5′1″ to 6′1″, so longer neighborhood trips stay relaxed and fatigue-free — no standing required.\u003c\/p\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"x9-card\"\u003e\n        \u003cspan class=\"x9-icon\" aria-hidden=\"true\"\u003e\n          \u003csvg viewbox=\"0 0 24 24\" focusable=\"false\"\u003e\u003cpath d=\"M4 9h16l-1.5 9a2 2 0 0 1-2 1.7h-9A2 2 0 0 1 5.5 18L4 9z\"\u003e\u003c\/path\u003e\u003cpath d=\"M8 9l3.5-5L15 9M9 13v3M15 13v3\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n        \u003c\/span\u003e\n        \u003ch4\u003eBasket, cargo box \u0026amp; a 10″ wide deck\u003c\/h4\u003e\n        \u003cp\u003eA detachable basket up front, a rear cargo box behind you, and a generous 10-inch-wide deck underfoot — groceries, a gym bag, or pet supplies all come along.\u003c\/p\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"x9-card\"\u003e\n        \u003cspan class=\"x9-icon\" aria-hidden=\"true\"\u003e\n          \u003csvg viewbox=\"0 0 24 24\" focusable=\"false\"\u003e\u003cpath d=\"M4 8c2.5-4 5.5-4 8 0s5.5 4 8 0\"\u003e\u003c\/path\u003e\u003cpath d=\"M4 15c2.5-4 5.5-4 8 0s5.5 4 8 0\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n        \u003c\/span\u003e\n        \u003ch4\u003eSmooth over bumpy city streets\u003c\/h4\u003e\n        \u003cp\u003e10-inch shock-absorbing pneumatic tubeless tires and dual suspension take the buzz out of cracked pavement and uneven blocks.\u003c\/p\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"x9-card\"\u003e\n        \u003cspan class=\"x9-icon\" aria-hidden=\"true\"\u003e\n          \u003csvg viewbox=\"0 0 24 24\" focusable=\"false\"\u003e\u003cpath d=\"M12 3l7 3v5c0 4.5-3 8.5-7 10-4-1.5-7-5.5-7-10V6l7-3z\"\u003e\u003c\/path\u003e\u003cpath d=\"M9.5 12l2 2 3.5-4\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n        \u003c\/span\u003e\n        \u003ch4\u003eCertified, locked-in safety\u003c\/h4\u003e\n        \u003cp\u003eUL 2272 and CE EN 17128 certified, with electronic E-ABS plus disc braking, a high-brightness LED headlight, a rear brake light, and an exclusive stem safety-bar lock.\u003c\/p\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- Comfort panel --\u003e\n  \u003csection class=\"x9-comfort reveal\"\u003e\n    \u003cp class=\"x9-eyebrow\"\u003eDesigned around your day\u003c\/p\u003e\n    \u003ch3\u003eUp to 25 miles of seated, sweep-the-errands freedom.\u003c\/h3\u003e\n    \u003cp\u003eThe high-capacity lithium battery returns 19–25 miles (30–40 km) per charge and refills in just 3–5 hours. Three speed settings let you match traffic, road conditions, and your mood.\u003c\/p\u003e\n\n    \u003cdiv class=\"x9-bars\"\u003e\n      \u003cdiv class=\"x9-bar-row\"\u003e\n        \u003cdiv class=\"x9-bar-head\"\u003e\n\u003cspan\u003eRange per charge\u003c\/span\u003e\u003cstrong\u003e19–25 mi (30–40 km)\u003c\/strong\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"x9-bar\"\u003e\u003cspan class=\"x9-bar-fill\" style=\"--level:85%\"\u003e\u003c\/span\u003e\u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"x9-bar-row\"\u003e\n        \u003cdiv class=\"x9-bar-head\"\u003e\n\u003cspan\u003e Rider + cargo capacity\u003c\/span\u003e\u003cstrong\u003e265 lb (120 kg)\u003c\/strong\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"x9-bar\"\u003e\u003cspan class=\"x9-bar-fill\" style=\"--level:90%\"\u003e\u003c\/span\u003e\u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"x9-bar-row\"\u003e\n        \u003cdiv class=\"x9-bar-head\"\u003e\n\u003cspan\u003eRecharge time\u003c\/span\u003e\u003cstrong\u003e3–5 hours\u003c\/strong\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"x9-bar\"\u003e\u003cspan class=\"x9-bar-fill\" style=\"--level:70%\"\u003e\u003c\/span\u003e\u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"x9-facts\"\u003e\n      \u003cspan class=\"x9-fact\"\u003e\u003cstrong\u003e350W\u003c\/strong\u003e brushless motor\u003c\/span\u003e\n      \u003cspan class=\"x9-fact\"\u003e\u003cstrong\u003eFits 5′1″–6′1″\u003c\/strong\u003e riders\u003c\/span\u003e\n      \u003cspan class=\"x9-fact\"\u003e\u003cstrong\u003eIPX4\u003c\/strong\u003e splash resistant\u003c\/span\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- Trip tabs --\u003e\n  \u003csection class=\"x9-section reveal\"\u003e\n    \u003cp class=\"x9-eyebrow\"\u003eMade for your routine\u003c\/p\u003e\n    \u003ch3\u003eOne scooter for the whole to-do list.\u003c\/h3\u003e\n\n    \u003cdiv class=\"x9-tabs\"\u003e\n      \u003cdiv class=\"x9-tablist\" role=\"tablist\" aria-label=\"Trip types\"\u003e\n        \u003cbutton class=\"x9-tab\" type=\"button\" role=\"tab\" id=\"x9-tab-1\" aria-controls=\"x9-panel-1\" aria-selected=\"true\" data-x9-tab\u003eDaily Commute\u003c\/button\u003e\n        \u003cbutton class=\"x9-tab\" type=\"button\" role=\"tab\" id=\"x9-tab-2\" aria-controls=\"x9-panel-2\" aria-selected=\"false\" tabindex=\"-1\" data-x9-tab\u003eGrocery Runs\u003c\/button\u003e\n        \u003cbutton class=\"x9-tab\" type=\"button\" role=\"tab\" id=\"x9-tab-3\" aria-controls=\"x9-panel-3\" aria-selected=\"false\" tabindex=\"-1\" data-x9-tab\u003ePet Outings\u003c\/button\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"x9-panel\" role=\"tabpanel\" id=\"x9-panel-1\" aria-labelledby=\"x9-tab-1\" data-x9-panel\u003e\n        \u003ch4\u003eDaily commute\u003c\/h4\u003e\n        \u003cp\u003eGlide the last mile seated and arrive fresh. At the office, campus, or apartment, the frame folds down for closets, trunks, and under-desk storage.\u003c\/p\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"x9-panel\" role=\"tabpanel\" id=\"x9-panel-2\" aria-labelledby=\"x9-tab-2\" data-x9-panel\u003e\n        \u003ch4\u003eGrocery runs\u003c\/h4\u003e\n        \u003cp\u003eBasket for the baguettes, cargo box for the rest. With 265 lb of combined rider-and-cargo capacity, a full shop rides home without a car.\u003c\/p\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"x9-panel\" role=\"tabpanel\" id=\"x9-panel-3\" aria-labelledby=\"x9-tab-3\" data-x9-panel\u003e\n        \u003ch4\u003ePet outings\u003c\/h4\u003e\n        \u003cp\u003eDesigned with pet owners in mind — secure your small companion in a carrier in the basket or cargo area, and head to the vet, the park, or the café together.\u003c\/p\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cp class=\"x9-note\"\u003e\u003cstrong\u003eEasy for everyone.\u003c\/strong\u003e Three adjustable speed settings and a stable, seated riding position make the X9 approachable for first-time and returning riders alike.\u003c\/p\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- Build \u0026 details --\u003e\n  \u003csection class=\"x9-section reveal\"\u003e\n    \u003cp class=\"x9-eyebrow\"\u003ePortable \u0026amp; durable\u003c\/p\u003e\n    \u003ch3\u003eHeavy-duty where it counts. Handy everywhere else.\u003c\/h3\u003e\n\n    \u003cdiv class=\"x9-scenarios\" aria-label=\"Ways to ride\"\u003e\n      \u003cspan class=\"x9-chip\"\u003eWork \u0026amp; campus\u003c\/span\u003e\n      \u003cspan class=\"x9-chip\"\u003eFarmers market\u003c\/span\u003e\n      \u003cspan class=\"x9-chip\"\u003eVet \u0026amp; park trips\u003c\/span\u003e\n      \u003cspan class=\"x9-chip\"\u003eNeighborhood cruising\u003c\/span\u003e\n      \u003cspan class=\"x9-chip\"\u003eRV \u0026amp; trunk travel\u003c\/span\u003e\n    \u003c\/div\u003e\n\n    \u003cul class=\"x9-checklist\"\u003e\n      \u003cli\u003e\n\u003cstrong\u003eHeavy-duty steel frame.\u003c\/strong\u003e A sturdy carbon steel frame supports up to 265 lb (120 kg) of rider and cargo, with a patented design built for daily use.\u003c\/li\u003e\n      \u003cli\u003e\n\u003cstrong\u003eFolds for real life.\u003c\/strong\u003e Fold it down for car trunks, hallways, and storage corners between rides.\u003c\/li\u003e\n      \u003cli\u003e\n\u003cstrong\u003eLocked-in steering.\u003c\/strong\u003e The exclusive safety bar lock keeps the stem secure at any time of day.\u003c\/li\u003e\n      \u003cli\u003e\n\u003cstrong\u003eLight up the ride.\u003c\/strong\u003e High-brightness LED headlight up front and a rear brake light that signals every stop.\u003c\/li\u003e\n      \u003cli\u003e\n\u003cstrong\u003eReady for real weather.\u003c\/strong\u003e IPX4 splash and light-rain resistance keeps commutes on schedule.\u003c\/li\u003e\n      \u003cli\u003e\n\u003cstrong\u003eClear digital controls.\u003c\/strong\u003e Electronic controls with three speed settings, matched to traffic and road conditions in seconds.\u003c\/li\u003e\n    \u003c\/ul\u003e\n  \u003c\/section\u003e\n\n  \u003chr\u003e\n\n  \u003c!-- Specifications --\u003e\n  \u003csection class=\"x9-section reveal\"\u003e\n    \u003ch3\u003eTechnical specifications\u003c\/h3\u003e\n    \u003cdiv class=\"x9-spec-wrap\"\u003e\n      \u003ctable\u003e\n        \u003ctbody\u003e\n          \u003ctr\u003e\n\u003cth scope=\"row\"\u003eModel\u003c\/th\u003e\n\u003ctd\u003eX9 — Seated Commuter E-Scooter\u003c\/td\u003e\n\u003c\/tr\u003e\n          \u003ctr\u003e\n\u003cth scope=\"row\"\u003eMotor\u003c\/th\u003e\n\u003ctd\u003e350W brushless motor\u003c\/td\u003e\n\u003c\/tr\u003e\n          \u003ctr\u003e\n\u003cth scope=\"row\"\u003eTop speed\u003c\/th\u003e\n\u003ctd\u003eUp to 20 mph (32 km\/h)\u003c\/td\u003e\n\u003c\/tr\u003e\n          \u003ctr\u003e\n\u003cth scope=\"row\"\u003eRange per charge\u003c\/th\u003e\n\u003ctd\u003e19–25 mi (30–40 km)*\u003c\/td\u003e\n\u003c\/tr\u003e\n          \u003ctr\u003e\n\u003cth scope=\"row\"\u003eBattery\u003c\/th\u003e\n\u003ctd\u003eLithium battery (\u0026lt;10Ah)\u003c\/td\u003e\n\u003c\/tr\u003e\n          \u003ctr\u003e\n\u003cth scope=\"row\"\u003eCharge time\u003c\/th\u003e\n\u003ctd\u003e3–5 hours\u003c\/td\u003e\n\u003c\/tr\u003e\n          \u003ctr\u003e\n\u003cth scope=\"row\"\u003eSpeed settings\u003c\/th\u003e\n\u003ctd\u003e3 adjustable levels · digital controls\u003c\/td\u003e\n\u003c\/tr\u003e\n          \u003ctr\u003e\n\u003cth scope=\"row\"\u003eSeat\u003c\/th\u003e\n\u003ctd\u003eAdjustable · soft, breathable cushion\u003c\/td\u003e\n\u003c\/tr\u003e\n          \u003ctr\u003e\n\u003cth scope=\"row\"\u003eRider height\u003c\/th\u003e\n\u003ctd\u003e5′1″–6′1″\u003c\/td\u003e\n\u003c\/tr\u003e\n          \u003ctr\u003e\n\u003cth scope=\"row\"\u003eStorage\u003c\/th\u003e\n\u003ctd\u003eDetachable basket + rear cargo box\u003c\/td\u003e\n\u003c\/tr\u003e\n          \u003ctr\u003e\n\u003cth scope=\"row\"\u003eDeck\u003c\/th\u003e\n\u003ctd\u003e10″ wide deck\u003c\/td\u003e\n\u003c\/tr\u003e\n          \u003ctr\u003e\n\u003cth scope=\"row\"\u003eTires\u003c\/th\u003e\n\u003ctd\u003e10″ pneumatic tubeless tires\u003c\/td\u003e\n\u003c\/tr\u003e\n          \u003ctr\u003e\n\u003cth scope=\"row\"\u003eSuspension\u003c\/th\u003e\n\u003ctd\u003eDual suspension\u003c\/td\u003e\n\u003c\/tr\u003e\n          \u003ctr\u003e\n\u003cth scope=\"row\"\u003eBrakes\u003c\/th\u003e\n\u003ctd\u003eElectronic brake (E-ABS) + disc brake · rear brake light\u003c\/td\u003e\n\u003c\/tr\u003e\n          \u003ctr\u003e\n\u003cth scope=\"row\"\u003eFrame\u003c\/th\u003e\n\u003ctd\u003eCarbon steel · foldable · stem safety-bar lock\u003c\/td\u003e\n\u003c\/tr\u003e\n          \u003ctr\u003e\n\u003cth scope=\"row\"\u003eLighting\u003c\/th\u003e\n\u003ctd\u003eLED headlight + rear brake light\u003c\/td\u003e\n\u003c\/tr\u003e\n          \u003ctr\u003e\n\u003cth scope=\"row\"\u003eWater resistance\u003c\/th\u003e\n\u003ctd\u003eIPX4 (splash \u0026amp; light-rain resistant)\u003c\/td\u003e\n\u003c\/tr\u003e\n          \u003ctr\u003e\n\u003cth scope=\"row\"\u003eMax. load\u003c\/th\u003e\n\u003ctd\u003e265 lb (120 kg), rider + cargo combined\u003c\/td\u003e\n\u003c\/tr\u003e\n          \u003ctr\u003e\n\u003cth scope=\"row\"\u003eCharger plug\u003c\/th\u003e\n\u003ctd\u003eUS \/ EU \/ JP plug, matched to your region\u003c\/td\u003e\n\u003c\/tr\u003e\n          \u003ctr\u003e\n\u003cth scope=\"row\"\u003eCertifications\u003c\/th\u003e\n\u003ctd\u003eUL 2272 · CE (EN 17128) · RoHS\u003c\/td\u003e\n\u003c\/tr\u003e\n          \u003ctr\u003e\n\u003cth scope=\"row\"\u003ePackage size \/ weight\u003c\/th\u003e\n\u003ctd\u003e46.5 × 9.3 × 24.4 in (118 × 23.5 × 62 cm) · 69.2 lb (31.4 kg) gross\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003c\/tbody\u003e\n      \u003c\/table\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- Before you ride --\u003e\n  \u003csection class=\"x9-section reveal\"\u003e\n    \u003ch3\u003eGood to know before you ride\u003c\/h3\u003e\n    \u003cul\u003e\n      \u003cli\u003e*Range and top speed vary with rider and cargo weight, terrain, wind, temperature, tire pressure, and selected speed setting. Maximum load of 265 lb (120 kg) includes rider, cargo, and any pet carrier combined.\u003c\/li\u003e\n      \u003cli\u003eTraveling with a pet? Always use a secured, well-ventilated carrier in the basket or cargo area — never ride with a pet loose on the deck or in your arms — and start with short, slow trips.\u003c\/li\u003e\n      \u003cli\u003eIPX4 protects against splashes and light rain. Do not ride through deep or standing water, and dry the scooter before charging.\u003c\/li\u003e\n      \u003cli\u003eDesigned for adult riders. E-scooter rules differ by state and city — check your local regulations, and always wear a helmet.\u003c\/li\u003e\n    \u003c\/ul\u003e\n    \u003cp\u003e\u003cem\u003eErrands, commutes, and copilot adventures — tell our team how you'll ride and we'll help you get set up.\u003c\/em\u003e\u003c\/p\u003e\n  \u003c\/section\u003e\n\u003c\/article\u003e\n\n    \u003c\/div\u003e\n  \u003c\/main\u003e\n\u003cscript\u003e\n\/* ============================================================\n   X9 — Product description enhancements (vanilla JS, no deps)\n   Progressive: with JS off \/ old browsers, all content and\n   final numbers are already visible in the HTML.\n   ============================================================ *\/\n(function () {\n  'use strict';\n\n  var reduceMotion = window.matchMedia \u0026\u0026\n    window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n\n  \/* ---------- Trip tabs ---------- *\/\n  function initTabs(root) {\n    var tabs = Array.prototype.slice.call(root.querySelectorAll('[data-x9-tab]'));\n    var panels = Array.prototype.slice.call(root.querySelectorAll('[data-x9-panel]'));\n    if (!tabs.length || !panels.length) return;\n\n    root.classList.add('x9-js-ready');\n\n    function select(tab, moveFocus) {\n      tabs.forEach(function (t) {\n        var active = t === tab;\n        t.setAttribute('aria-selected', active ? 'true' : 'false');\n        t.tabIndex = active ? 0 : -1;\n      });\n      panels.forEach(function (p) {\n        p.hidden = p.id !== tab.getAttribute('aria-controls');\n      });\n      if (moveFocus) tab.focus();\n    }\n\n    tabs.forEach(function (tab, i) {\n      tab.addEventListener('click', function () { select(tab, false); });\n      tab.addEventListener('keydown', function (e) {\n        var idx = null;\n        if (e.key === 'ArrowRight') idx = (i + 1) % tabs.length;\n        else if (e.key === 'ArrowLeft') idx = (i - 1 + tabs.length) % tabs.length;\n        else if (e.key === 'Home') idx = 0;\n        else if (e.key === 'End') idx = tabs.length - 1;\n        if (idx !== null) { e.preventDefault(); select(tabs[idx], true); }\n      });\n    });\n\n    select(tabs[0], false);\n  }\n\n  \/* ---------- Animated counters ---------- *\/\n  function format(value, decimals) {\n    return decimals \u003e 0\n      ? value.toFixed(decimals)\n      : Math.round(value).toLocaleString('en-US');\n  }\n\n  function animateCount(el) {\n    var target = parseFloat(el.getAttribute('data-count'));\n    var decimals = parseInt(el.getAttribute('data-decimals') || '0', 10);\n    if (isNaN(target) || !window.requestAnimationFrame) {\n      el.textContent = format(target, decimals);\n      return;\n    }\n    var duration = 1100, start = null;\n    function frame(ts) {\n      if (start === null) start = ts;\n      var p = Math.min((ts - start) \/ duration, 1);\n      var eased = 1 - Math.pow(1 - p, 3);\n      el.textContent = format(target * eased, decimals);\n      if (p \u003c 1) window.requestAnimationFrame(frame);\n      else el.textContent = format(target, decimals);\n    }\n    window.requestAnimationFrame(frame);\n  }\n\n  \/* ---------- Scroll reveal + counters ---------- *\/\n  function initMotion(root) {\n    if (reduceMotion || !('IntersectionObserver' in window)) return; \/\/ final state already in HTML\n\n    var vh = window.innerHeight || document.documentElement.clientHeight;\n\n    var reveals = Array.prototype.slice.call(root.querySelectorAll('.reveal'));\n    reveals.forEach(function (el) {\n      if (el.getBoundingClientRect().top \u003e vh * 0.94) el.classList.add('is-waiting');\n    });\n    var revealIO = new IntersectionObserver(function (entries) {\n      entries.forEach(function (en) {\n        if (en.isIntersecting) {\n          en.target.classList.remove('is-waiting');\n          en.target.classList.add('is-inview');\n          revealIO.unobserve(en.target);\n        }\n      });\n    }, { threshold: 0.12, rootMargin: '0px 0px -6% 0px' });\n    reveals.forEach(function (el) { revealIO.observe(el); });\n\n    var counters = Array.prototype.slice.call(root.querySelectorAll('[data-count]'));\n    var countIO = new IntersectionObserver(function (entries) {\n      entries.forEach(function (en) {\n        if (en.isIntersecting) { animateCount(en.target); countIO.unobserve(en.target); }\n      });\n    }, { threshold: 0.4 });\n    counters.forEach(function (el) { countIO.observe(el); });\n  }\n\n  function init() {\n    Array.prototype.forEach.call(\n      document.querySelectorAll('[data-x9-desc]'),\n      function (root) { initTabs(root); initMotion(root); }\n    );\n  }\n\n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', init);\n  } else { init(); }\n})();\n\u003c\/script\u003e\n\n\u003cstyle\u003e\n\/* Standalone page shell — for the single-file preview. *\/\n:root {\n  --color-foreground: 18, 18, 18;\n  --color-background: 255, 255, 255;\n  --font-heading-family: -apple-system, BlinkMacSystemFont, \"Helvetica Neue\", Arial, \"Segoe UI\", sans-serif;\n  --font-body-family: -apple-system, BlinkMacSystemFont, \"Helvetica Neue\", Arial, \"Segoe UI\", sans-serif;\n}\nhtml { -webkit-text-size-adjust: 100%; }\nbody { margin: 0; background: #f3f1ea; }\n.x9-page {\n  max-width: 760px; margin: 0 auto; min-height: 100vh;\n  background: #fff; padding: 36px 34px 48px;\n  box-shadow: 0 0 0 1px rgba(18, 18, 18, 0.05), 0 18px 50px rgba(18, 18, 18, 0.08);\n}\n@media (max-width: 600px) { .x9-page { padding: 20px 16px 36px; } }\n\n\/* ============================================================\n   X9 — Product description styles (scoped to .x9-desc)\n   Dawn \/ OS 2.0 token-compatible, container-responsive.\n   ============================================================ *\/\n.x9-desc {\n  --x9-fg-rgb: var(--color-foreground, 18, 18, 18);\n  --x9-bg-rgb: var(--color-background, 255, 255, 255);\n  --x9-ink: rgb(var(--x9-fg-rgb));\n  --x9-muted: rgba(var(--x9-fg-rgb), 0.72);\n  --x9-line: rgba(var(--x9-fg-rgb), 0.14);\n  --x9-surface: rgba(var(--x9-fg-rgb), 0.04);\n  --x9-accent: #15803d;\n  --x9-accent-2: #f59e0b;\n  --x9-radius: 18px;\n  color: var(--x9-ink);\n  font-family: var(--font-body-family, -apple-system, BlinkMacSystemFont, \"Helvetica Neue\", Arial, \"Segoe UI\", sans-serif);\n  font-size: 16px;\n  line-height: 1.65;\n  overflow-wrap: break-word;\n  container-type: inline-size;\n}\n.x9-desc *,\n.x9-desc *::before,\n.x9-desc *::after { box-sizing: border-box; }\n\n.x9-desc h2,\n.x9-desc h3,\n.x9-desc h4 {\n  font-family: var(--font-heading-family, -apple-system, BlinkMacSystemFont, \"Helvetica Neue\", Arial, \"Segoe UI\", sans-serif);\n  color: var(--x9-ink);\n  margin-top: 0;\n}\n.x9-desc h3 { font-size: 22px; line-height: 1.25; letter-spacing: -0.01em; margin-bottom: 14px; }\n.x9-desc h4 { font-size: 16px; line-height: 1.35; margin-bottom: 6px; }\n.x9-desc p { margin: 0 0 14px; }\n.x9-desc ul { margin: 0 0 16px; padding-left: 22px; }\n.x9-desc li { margin-bottom: 8px; }\n.x9-desc hr { border: 0; border-top: 1px solid var(--x9-line); margin: 34px 0 0; }\n.x9-desc :focus-visible { outline: 2px solid var(--x9-accent); outline-offset: 2px; }\n.x9-desc .x9-section { margin-top: 38px; }\n.x9-desc .x9-eyebrow {\n  font-size: 11px; font-weight: 700; letter-spacing: 0.16em;\n  text-transform: uppercase; color: var(--x9-accent); margin: 0 0 10px;\n}\n\n\/* --- Hero (deep green) --- *\/\n.x9-desc .x9-hero {\n  position: relative; overflow: hidden; color: #fff;\n  border-radius: 24px; padding: 32px 28px 28px;\n  background:\n    radial-gradient(110% 150% at 108% -10%, rgba(245, 158, 11, 0.32), rgba(245, 158, 11, 0) 55%),\n    radial-gradient(120% 160% at -10% 115%, rgba(74, 222, 128, 0.2), rgba(74, 222, 128, 0) 55%),\n    linear-gradient(150deg, #0c2317 0%, #14532d 58%, #1a3a24 100%);\n}\n.x9-desc .x9-hero::after {\n  content: \"\"; position: absolute; width: 300px; height: 300px;\n  right: -140px; bottom: -170px; border-radius: 50%;\n  border: 1px solid rgba(255, 255, 255, 0.18); pointer-events: none;\n}\n.x9-desc .x9-hero h2 {\n  color: #fff; font-size: 38px; font-size: clamp(30px, 6vw, 44px);\n  line-height: 1.04; letter-spacing: -0.02em; margin-bottom: 14px; max-width: 15ch;\n}\n.x9-desc .x9-hero .x9-eyebrow { color: #86efac; }\n.x9-desc .x9-lead { font-size: 18px; font-size: clamp(16.5px, 2.6vw, 19px); line-height: 1.5; font-weight: 600; color: #fff; }\n.x9-desc .x9-hero p { color: rgba(255, 255, 255, 0.78); max-width: 58ch; }\n\n.x9-desc .x9-stats {\n  display: grid; gap: 10px; margin-top: 24px;\n  grid-template-columns: repeat(auto-fit, minmax(min(118px, 100%), 1fr));\n}\n.x9-desc .x9-stat {\n  background: rgba(255, 255, 255, 0.07);\n  border: 1px solid rgba(255, 255, 255, 0.16); border-radius: 14px; padding: 13px 14px 11px;\n}\n.x9-desc .x9-stat-value { display: flex; align-items: baseline; gap: 4px; font-size: 28px; font-weight: 800; line-height: 1.05; letter-spacing: -0.02em; color: #fff; }\n.x9-desc .x9-stat-value small { font-size: 13px; font-weight: 700; color: #fcd34d; }\n.x9-desc .x9-stat-label { display: block; margin-top: 4px; font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; color: rgba(255, 255, 255, 0.66); }\n\n\/* --- Feature cards --- *\/\n.x9-desc .x9-grid {\n  display: grid; gap: 12px;\n  grid-template-columns: repeat(auto-fit, minmax(min(190px, 100%), 1fr));\n}\n.x9-desc .x9-card {\n  border: 1px solid var(--x9-line); border-radius: var(--x9-radius);\n  background: rgb(var(--x9-bg-rgb)); padding: 18px;\n  transition: transform 200ms ease, box-shadow 200ms ease;\n}\n@media (hover: hover) and (pointer: fine) {\n  .x9-desc .x9-card:hover {\n    transform: translateY(-3px);\n    box-shadow: 0 12px 28px rgba(var(--x9-fg-rgb), 0.12);\n  }\n}\n.x9-desc .x9-card p { font-size: 14.5px; color: var(--x9-muted); margin: 0; }\n.x9-desc .x9-icon {\n  display: inline-flex; align-items: center; justify-content: center;\n  width: 44px; height: 44px; border-radius: 50%; margin-bottom: 12px;\n  background: linear-gradient(135deg, var(--x9-accent), #166534); color: #fff;\n}\n.x9-desc .x9-icon svg {\n  width: 24px; height: 24px; fill: none; stroke: currentColor;\n  stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round;\n}\n\n\/* --- Comfort panel --- *\/\n.x9-desc .x9-comfort {\n  margin-top: 38px; border-radius: 24px; padding: 28px 26px; color: #fff;\n  background: linear-gradient(135deg, #0c2317 0%, #14532d 62%, #7c4a12 100%);\n  overflow: hidden;\n}\n.x9-desc .x9-comfort h3 { color: #fff; }\n.x9-desc .x9-comfort .x9-eyebrow { color: #86efac; }\n.x9-desc .x9-comfort p { color: rgba(255, 255, 255, 0.78); max-width: 56ch; }\n.x9-desc .x9-bars { margin-top: 20px; display: grid; gap: 16px; }\n.x9-desc .x9-bar-row { display: grid; gap: 6px; }\n.x9-desc .x9-bar-head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; font-size: 13px; }\n.x9-desc .x9-bar-head span:first-child { color: rgba(255, 255, 255, 0.72); letter-spacing: 0.06em; text-transform: uppercase; font-size: 11px; font-weight: 700; }\n.x9-desc .x9-bar-head strong { color: #fff; font-size: 15px; white-space: nowrap; }\n.x9-desc .x9-bar { height: 10px; border-radius: 999px; background: rgba(255, 255, 255, 0.14); overflow: hidden; }\n.x9-desc .x9-bar-fill {\n  display: block; height: 100%; width: var(--level, 80%);\n  border-radius: 999px; transform-origin: left center;\n  background: linear-gradient(90deg, #4ade80, #fcd34d);\n  transition: transform 1s ease;\n}\n.x9-desc .reveal.is-waiting .x9-bar-fill { transform: scaleX(0.08); }\n.x9-desc .x9-facts { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; }\n.x9-desc .x9-fact {\n  font-size: 13px; padding: 7px 12px; border-radius: 999px;\n  border: 1px solid rgba(255, 255, 255, 0.18); background: rgba(255, 255, 255, 0.08);\n}\n\n\/* --- Trip tabs (progressive: panels all visible until JS runs) --- *\/\n.x9-desc .x9-tabs { border: 1px solid var(--x9-line); border-radius: var(--x9-radius); padding: 18px; background: rgb(var(--x9-bg-rgb)); }\n.x9-desc .x9-tablist { display: none; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }\n.x9-desc.x9-js-ready .x9-tablist { display: flex; }\n.x9-desc .x9-tab {\n  appearance: none; -webkit-appearance: none; cursor: pointer;\n  font: inherit; font-size: 14px; font-weight: 600;\n  color: var(--x9-ink); background: var(--x9-surface);\n  border: 1px solid var(--x9-line); border-radius: 999px; padding: 8px 16px;\n  transition: background 200ms ease, color 200ms ease, border-color 200ms ease;\n}\n.x9-desc .x9-tab[aria-selected=\"true\"] {\n  background: var(--x9-ink); color: rgb(var(--x9-bg-rgb)); border-color: var(--x9-ink);\n}\n.x9-desc .x9-panel { padding-top: 14px; border-top: 1px solid var(--x9-line); }\n.x9-desc .x9-panel:first-of-type { border-top: 0; padding-top: 0; }\n.x9-desc.x9-js-ready .x9-panel { border-top: 0; padding-top: 0; }\n.x9-desc .x9-panel[hidden] { display: none !important; }\n.x9-desc .x9-panel p { color: var(--x9-muted); margin: 0; }\n.x9-desc .x9-note {\n  margin-top: 16px; padding: 6px 0 6px 16px;\n  border-left: 3px solid var(--x9-accent); color: var(--x9-muted);\n}\n.x9-desc .x9-note strong { color: var(--x9-ink); }\n\n\/* --- Scenarios + checklist --- *\/\n.x9-desc .x9-scenarios { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }\n.x9-desc .x9-chip {\n  font-size: 13px; font-weight: 600; padding: 7px 13px; border-radius: 999px;\n  background: var(--x9-surface); border: 1px solid var(--x9-line);\n}\n.x9-desc .x9-checklist { list-style: none; padding: 0; margin: 0; }\n.x9-desc .x9-checklist li { position: relative; padding-left: 32px; margin-bottom: 12px; color: var(--x9-muted); }\n.x9-desc .x9-checklist li strong { color: var(--x9-ink); }\n.x9-desc .x9-checklist li::before {\n  content: \"\\2713\"; position: absolute; left: 0; top: 1px;\n  width: 21px; height: 21px; border-radius: 50%;\n  display: inline-flex; align-items: center; justify-content: center;\n  font-size: 12px; font-weight: 800; color: #fff;\n  background: linear-gradient(135deg, var(--x9-accent), #166534);\n}\n\n\/* --- Specification table --- *\/\n.x9-desc .x9-spec-wrap { border: 1px solid var(--x9-line); border-radius: 16px; overflow: hidden; }\n.x9-desc table { width: 100%; border-collapse: collapse; margin: 0; font-size: 14px; line-height: 1.5; }\n.x9-desc th,\n.x9-desc td { padding: 10px 14px; text-align: left; vertical-align: top; border-top: 1px solid var(--x9-line); }\n.x9-desc tbody tr:first-child th,\n.x9-desc tbody tr:first-child td { border-top: 0; }\n.x9-desc th[scope=\"row\"] { width: 36%; font-weight: 700; background: var(--x9-surface); }\n\n@container (max-width: 520px) {\n  .x9-desc table, .x9-desc tbody, .x9-desc tr,\n  .x9-desc th, .x9-desc td { display: block; width: 100%; }\n  .x9-desc tr { padding: 10px 14px; border-top: 1px solid var(--x9-line); }\n  .x9-desc tbody tr:first-child { border-top: 0; }\n  .x9-desc th, .x9-desc td { border-top: 0; padding: 0; background: none; }\n  .x9-desc th[scope=\"row\"] { width: 100%; font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--x9-muted); }\n  .x9-desc td { padding-top: 2px; }\n  .x9-desc .x9-hero { padding: 24px 20px 22px; }\n  .x9-desc .x9-comfort { padding: 22px 18px; }\n}\n@media (max-width: 520px) {\n  .x9-desc { font-size: 15px; }\n  .x9-desc h3 { font-size: 20px; }\n  .x9-desc table, .x9-desc tbody, .x9-desc tr,\n  .x9-desc th, .x9-desc td { display: block; width: 100%; }\n  .x9-desc tr { padding: 10px 14px; border-top: 1px solid var(--x9-line); }\n  .x9-desc tbody tr:first-child { border-top: 0; }\n  .x9-desc th, .x9-desc td { border-top: 0; padding: 0; background: none; }\n  .x9-desc th[scope=\"row\"] { width: 100%; font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--x9-muted); }\n  .x9-desc td { padding-top: 2px; }\n}\n\n\/* --- Scroll reveal --- *\/\n.x9-desc .reveal { transition: opacity 600ms ease, transform 600ms ease; }\n.x9-desc .reveal.is-waiting { opacity: 0; transform: translateY(16px); }\n.x9-desc .reveal.is-inview { opacity: 1; transform: none; }\n\n@media (prefers-reduced-motion: reduce) {\n  .x9-desc .reveal, .x9-desc .x9-card,\n  .x9-desc .x9-tab, .x9-desc .x9-bar-fill { transition: none !important; }\n  .x9-desc .reveal.is-waiting { opacity: 1; transform: none; }\n  .x9-desc .reveal.is-waiting .x9-bar-fill { transform: none; }\n}\n\n@media print {\n  .x9-desc .x9-tablist { display: none !important; }\n  .x9-desc .x9-panel[hidden] { display: block !important; }\n  .x9-desc .reveal { opacity: 1 !important; transform: none !important; }\n}\n\u003c\/style\u003e\n\n\n\u003c\/body\u003e","brand":"sfpnest","offers":[{"title":"Default Title","offer_id":54249130230054,"sku":null,"price":339.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1030\/5562\/2438\/files\/ElectricScooterwithSeatforAdults_350WMotorSeatedE-Scooterupto20MPH_9.jpg?v=1793332777"}],"url":"https:\/\/sfpnest.com\/collections\/electric-scooter.oembed","provider":"sfpnest","version":"1.0","type":"link"}