{"product_id":"utv-atv-recovery-ring-winch-cable-stopper-synthetic-winch-rope-universal-utv-polaris-can-am-honda-kawasaki-cfmoto","title":"UTV ATV Recovery Ring \u0026  Synthetic Winch Rope \u0026 Winch Cable Stopper Universal UTV Polaris \/ Can-Am \/ Honda \/ Kawasaki \/ CFMOTO","description":"\u003cp\u003e\u003cstrong\u003eQ: What other recovery gear should I have besides a winch?\u003c\/strong\u003e\u003cbr\u003eA: Riders often pair a recovery ring, rubber rope stopper, and synthetic winch rope with their winch setup. The ring offers flexible rigging options, the stopper cushions hook contact, and the high-strength synthetic rope delivers strong pulling power without rusting.\u003c\/p\u003e\n\u003cp data-pm-slice=\"1 1 []\"\u003e\u003cstrong\u003eUniversal Fit Design:\u003c\/strong\u003e Compatible with UTVs, ATVs, Trucks, SUVs, and other off-road vehicles equipped with a winch or recovery system, including Can-Am, Polaris, Kawasaki, Honda, and other vehicles that require towing or recovery assistance. The recovery setup works with common synthetic winch ropes and soft shackles used in vehicle recovery systems.\u003c\/p\u003e\n\u003cp data-pm-slice=\"1 1 []\"\u003e\u003cstrong\u003eDurable Aluminum Alloy Recovery Ring:\u003c\/strong\u003e Built from durable aluminum alloy, the recovery ring supports a rated load capacity of up to 66,000 lbs. The lightweight construction offers strong load support without adding unnecessary weight to your UTV or ATV recovery gear.\u003c\/p\u003e\n\u003cp data-pm-slice=\"1 1 []\"\u003e\u003cstrong\u003eRedirect Winch Line Direction: \u003c\/strong\u003ePairing a snatch ring with a tree saver strap, soft shackle, and winch rope allows pulling force to be redirected when a straight-line recovery is not possible. Recovery setups gain more flexibility when terrain or obstacles limit available recovery angles.\u003c\/p\u003e\n\u003cp data-pm-slice=\"1 1 []\"\u003e\u003cstrong\u003eReduced Winch Wear: \u003c\/strong\u003eThe rubber winch rope stopper reduces repeated contact between the hook and fairlead during operation. The winch cable stopper also helps prevent the rope from pulling too far into the drum area, reducing stress on internal winch components over time.\u003c\/p\u003e\n\u003cp data-pm-slice=\"1 1 []\"\u003e\u003cstrong\u003e\u003cspan\u003eStrong Breaking Strength:\u003c\/span\u003e\u003c\/strong\u003e\u003cspan\u003e The 1\/4-inch x 50 ft synthetic winch rope delivers a breaking strength of 7,700 lbs for demanding ATV and UTV recovery tasks. The lightweight, rust-resistant design offers a durable alternative to traditional steel cable.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp data-pm-slice=\"1 1 []\"\u003e\u003cspan\u003e\u003cstrong\u003eWhat's in the box?\u003cbr\u003e\u003c\/strong\u003eRed Recovery Ring × 1\u003cbr\u003e\u003cspan data-type=\"text\"\u003eWinch Cable Stoppers × 1\u003c\/span\u003e\u003cbr\u003eRed Synthetic Winch Rope × 1\u003c\/span\u003e\u003c\/p\u003e\n\u003cp data-pm-slice=\"1 1 []\"\u003e\u003cspan\u003e \u003c!-- split --\u003e \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0984\/0928\/3905\/files\/9_cf2e2058-69a3-4640-b85a-1b2aa99d328a.jpg?v=1793354415\" alt=\"\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c!-- 以下是救援环模板 --\u003e\n\u003cstyle data-autoflow-reset=\"afembed_8a17d2627f0d481d8f0a280ca2041182\"\u003e#afembed_8a17d2627f0d481d8f0a280ca2041182#afembed_8a17d2627f0d481d8f0a280ca2041182 :where(:not(svg,svg *)){all:revert}#afembed_8a17d2627f0d481d8f0a280ca2041182#afembed_8a17d2627f0d481d8f0a280ca2041182 :where(*, *::before, *::after){box-sizing:revert!important;color:revert!important;font-family:revert!important;font-size:revert!important;font-style:revert!important;font-weight:revert!important;line-height:revert!important;letter-spacing:revert!important;word-spacing:revert!important;text-align:revert!important;text-transform:revert!important;text-decoration:revert!important;text-indent:revert!important;white-space:revert!important;margin:revert!important;padding:revert!important;border:revert!important;border-radius:revert!important;box-shadow:revert!important;display:revert!important;float:revert!important;position:revert!important;inset:revert!important;width:revert!important;height:revert!important;min-width:revert!important;max-width:revert!important;min-height:revert!important;max-height:revert!important;overflow:revert!important;background:revert!important;list-style:revert!important;vertical-align:revert!important;flex:revert!important;grid-area:revert!important;gap:revert!important}#afembed_8a17d2627f0d481d8f0a280ca2041182#afembed_8a17d2627f0d481d8f0a280ca2041182 :where(svg,svg *){fill:revert!important;fill-opacity:revert!important;fill-rule:revert!important;stroke:revert!important;stroke-width:revert!important;stroke-linecap:revert!important;stroke-linejoin:revert!important;stroke-dasharray:revert!important;stroke-dashoffset:revert!important;stroke-miterlimit:revert!important;stroke-opacity:revert!important;clip-rule:revert!important;paint-order:revert!important;vector-effect:revert!important}#afembed_8a17d2627f0d481d8f0a280ca2041182#afembed_8a17d2627f0d481d8f0a280ca2041182 :where(*)::before,#afembed_8a17d2627f0d481d8f0a280ca2041182#afembed_8a17d2627f0d481d8f0a280ca2041182 :where(*)::after{content:none!important}#afembed_8a17d2627f0d481d8f0a280ca2041182#afembed_8a17d2627f0d481d8f0a280ca2041182#afembed_8a17d2627f0d481d8f0a280ca2041182#afembed_8a17d2627f0d481d8f0a280ca2041182#afembed_8a17d2627f0d481d8f0a280ca2041182 [hidden]{display:none!important}\u003c\/style\u003e\n\u003cstyle\u003e#afembed_8a17d2627f0d481d8f0a280ca2041182#afembed_8a17d2627f0d481d8f0a280ca2041182#afembed_8a17d2627f0d481d8f0a280ca2041182,#afembed_8a17d2627f0d481d8f0a280ca2041182#afembed_8a17d2627f0d481d8f0a280ca2041182#afembed_8a17d2627f0d481d8f0a280ca2041182{margin:0px!important;min-height:100%!important}\n#afembed_8a17d2627f0d481d8f0a280ca2041182#afembed_8a17d2627f0d481d8f0a280ca2041182#afembed_8a17d2627f0d481d8f0a280ca2041182 *{box-sizing:border-box!important}\n#afembed_8a17d2627f0d481d8f0a280ca2041182#afembed_8a17d2627f0d481d8f0a280ca2041182#afembed_8a17d2627f0d481d8f0a280ca2041182 #autoflow-output-highlights-grid-280209a86914403a9149d899915ddc11{background:rgb(0, 0, 0)!important;color:rgb(255, 255, 255)!important;font-family:-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif!important;padding:30px 0px!important}\n#afembed_8a17d2627f0d481d8f0a280ca2041182#afembed_8a17d2627f0d481d8f0a280ca2041182#afembed_8a17d2627f0d481d8f0a280ca2041182 #autoflow-output-highlights-grid-280209a86914403a9149d899915ddc11 .autoflow-output-highlights-grid-280209a86914403a9149d899915ddc11__wrap{margin:0px auto!important;max-width:1900px!important}\n#afembed_8a17d2627f0d481d8f0a280ca2041182#afembed_8a17d2627f0d481d8f0a280ca2041182#afembed_8a17d2627f0d481d8f0a280ca2041182 #autoflow-output-highlights-grid-280209a86914403a9149d899915ddc11 .autoflow-output-highlights-grid-280209a86914403a9149d899915ddc11__title{color:rgb(3, 3, 3)!important;font-size:38px!important;font-weight:700!important;line-height:1.12!important;margin:0px 0px 34px!important;text-align:center!important;white-space:pre-line!important}\n#afembed_8a17d2627f0d481d8f0a280ca2041182#afembed_8a17d2627f0d481d8f0a280ca2041182#afembed_8a17d2627f0d481d8f0a280ca2041182 #autoflow-output-highlights-grid-280209a86914403a9149d899915ddc11 .autoflow-output-highlights-grid-280209a86914403a9149d899915ddc11__grid{display:grid!important;gap:30px 18px!important;grid-template-columns:repeat(3, minmax(0px, 1fr))!important}\n#afembed_8a17d2627f0d481d8f0a280ca2041182#afembed_8a17d2627f0d481d8f0a280ca2041182#afembed_8a17d2627f0d481d8f0a280ca2041182 #autoflow-output-highlights-grid-280209a86914403a9149d899915ddc11 .autoflow-output-highlights-grid-280209a86914403a9149d899915ddc11__card{background:transparent!important;border:0px solid rgb(42, 42, 42)!important;border-radius:0px!important;min-width:0px!important;overflow:hidden!important;padding:0px!important}\n#afembed_8a17d2627f0d481d8f0a280ca2041182#afembed_8a17d2627f0d481d8f0a280ca2041182#afembed_8a17d2627f0d481d8f0a280ca2041182 #autoflow-output-highlights-grid-280209a86914403a9149d899915ddc11 .autoflow-output-highlights-grid-280209a86914403a9149d899915ddc11__media{aspect-ratio:1 \/ 1!important;background:rgb(17, 17, 17)!important;border-radius:12px!important;overflow:hidden!important;width:100%!important}\n#afembed_8a17d2627f0d481d8f0a280ca2041182#afembed_8a17d2627f0d481d8f0a280ca2041182#afembed_8a17d2627f0d481d8f0a280ca2041182 #autoflow-output-highlights-grid-280209a86914403a9149d899915ddc11 .autoflow-output-highlights-grid-280209a86914403a9149d899915ddc11__image{object-fit:contain!important;object-position:center center!important;vertical-align:top!important;border:0px!important;border-radius:0px!important;box-shadow:none!important;display:block!important;height:100%!important;margin:0px!important;max-width:none!important;padding:0px!important;width:100%!important}\n#afembed_8a17d2627f0d481d8f0a280ca2041182#afembed_8a17d2627f0d481d8f0a280ca2041182#afembed_8a17d2627f0d481d8f0a280ca2041182 #autoflow-output-highlights-grid-280209a86914403a9149d899915ddc11 .autoflow-output-highlights-grid-280209a86914403a9149d899915ddc11__card-title{color:rgb(36, 36, 36)!important;font-size:22px!important;font-weight:700!important;line-height:1.18!important;margin:14px 0px 5px!important;overflow-wrap:anywhere!important;text-align:center!important;white-space:pre-line!important}\n#afembed_8a17d2627f0d481d8f0a280ca2041182#afembed_8a17d2627f0d481d8f0a280ca2041182#afembed_8a17d2627f0d481d8f0a280ca2041182 #autoflow-output-highlights-grid-280209a86914403a9149d899915ddc11 .autoflow-output-highlights-grid-280209a86914403a9149d899915ddc11__card-description{color:rgb(56, 56, 56)!important;font-size:14px!important;line-height:1.35!important;margin:0px!important;overflow-wrap:anywhere!important;text-align:left!important;white-space:pre-line!important}\n#afembed_8a17d2627f0d481d8f0a280ca2041182#afembed_8a17d2627f0d481d8f0a280ca2041182#afembed_8a17d2627f0d481d8f0a280ca2041182 #autoflow-output-highlights-grid-280209a86914403a9149d899915ddc11{box-sizing:content-box!important;min-height:0px!important;padding:30px 0px!important}\n#afembed_8a17d2627f0d481d8f0a280ca2041182#afembed_8a17d2627f0d481d8f0a280ca2041182#afembed_8a17d2627f0d481d8f0a280ca2041182 #autoflow-output-highlights-grid-280209a86914403a9149d899915ddc11 .autoflow-output-highlights-grid-280209a86914403a9149d899915ddc11__wrap{margin:0px auto!important;max-width:1900px!important}\n#afembed_8a17d2627f0d481d8f0a280ca2041182#afembed_8a17d2627f0d481d8f0a280ca2041182#afembed_8a17d2627f0d481d8f0a280ca2041182 #autoflow-output-highlights-grid-280209a86914403a9149d899915ddc11{font-family:-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif!important}\n#afembed_8a17d2627f0d481d8f0a280ca2041182#afembed_8a17d2627f0d481d8f0a280ca2041182#afembed_8a17d2627f0d481d8f0a280ca2041182 #autoflow-output-highlights-grid-280209a86914403a9149d899915ddc11 .autoflow-output-highlights-grid-280209a86914403a9149d899915ddc11__title,#afembed_8a17d2627f0d481d8f0a280ca2041182#afembed_8a17d2627f0d481d8f0a280ca2041182#afembed_8a17d2627f0d481d8f0a280ca2041182 #autoflow-output-highlights-grid-280209a86914403a9149d899915ddc11 .autoflow-output-highlights-grid-280209a86914403a9149d899915ddc11__card-title{letter-spacing:0px!important}\n#afembed_8a17d2627f0d481d8f0a280ca2041182#afembed_8a17d2627f0d481d8f0a280ca2041182#afembed_8a17d2627f0d481d8f0a280ca2041182 #autoflow-output-highlights-grid-280209a86914403a9149d899915ddc11 .autoflow-output-highlights-grid-280209a86914403a9149d899915ddc11__title,#afembed_8a17d2627f0d481d8f0a280ca2041182#afembed_8a17d2627f0d481d8f0a280ca2041182#afembed_8a17d2627f0d481d8f0a280ca2041182 #autoflow-output-highlights-grid-280209a86914403a9149d899915ddc11 .autoflow-output-highlights-grid-280209a86914403a9149d899915ddc11__card-title{line-height:1.2!important}\n#afembed_8a17d2627f0d481d8f0a280ca2041182#afembed_8a17d2627f0d481d8f0a280ca2041182#afembed_8a17d2627f0d481d8f0a280ca2041182 #autoflow-output-highlights-grid-280209a86914403a9149d899915ddc11 .autoflow-output-highlights-grid-280209a86914403a9149d899915ddc11__card-description{letter-spacing:0px!important}\n#afembed_8a17d2627f0d481d8f0a280ca2041182#afembed_8a17d2627f0d481d8f0a280ca2041182#afembed_8a17d2627f0d481d8f0a280ca2041182 #autoflow-output-highlights-grid-280209a86914403a9149d899915ddc11 .autoflow-output-highlights-grid-280209a86914403a9149d899915ddc11__card-description{line-height:1.6!important}\n#afembed_8a17d2627f0d481d8f0a280ca2041182#afembed_8a17d2627f0d481d8f0a280ca2041182#afembed_8a17d2627f0d481d8f0a280ca2041182 #autoflow-output-highlights-grid-280209a86914403a9149d899915ddc11 .autoflow-output-highlights-grid-280209a86914403a9149d899915ddc11__title{color:rgb(3, 3, 3)!important;text-align:center!important}\n#afembed_8a17d2627f0d481d8f0a280ca2041182#afembed_8a17d2627f0d481d8f0a280ca2041182#afembed_8a17d2627f0d481d8f0a280ca2041182 #autoflow-output-highlights-grid-280209a86914403a9149d899915ddc11 .autoflow-output-highlights-grid-280209a86914403a9149d899915ddc11__card{background:transparent!important;border-color:transparent!important;box-shadow:none!important}\n#afembed_8a17d2627f0d481d8f0a280ca2041182#afembed_8a17d2627f0d481d8f0a280ca2041182#afembed_8a17d2627f0d481d8f0a280ca2041182 #autoflow-output-highlights-grid-280209a86914403a9149d899915ddc11{background:transparent!important}\n@container afembed_8a17d2627f0d481d8f0a280ca2041182 (max-width: 960px) and (min-width: 768px) {#afembed_8a17d2627f0d481d8f0a280ca2041182#afembed_8a17d2627f0d481d8f0a280ca2041182#afembed_8a17d2627f0d481d8f0a280ca2041182 #autoflow-output-highlights-grid-280209a86914403a9149d899915ddc11 .autoflow-output-highlights-grid-280209a86914403a9149d899915ddc11__grid{grid-template-columns:repeat(3, minmax(0px, 1fr))!important}}\n@container afembed_8a17d2627f0d481d8f0a280ca2041182 (max-width: 767px) {#afembed_8a17d2627f0d481d8f0a280ca2041182#afembed_8a17d2627f0d481d8f0a280ca2041182#afembed_8a17d2627f0d481d8f0a280ca2041182 #autoflow-output-highlights-grid-280209a86914403a9149d899915ddc11{padding:0px!important}\n#afembed_8a17d2627f0d481d8f0a280ca2041182#afembed_8a17d2627f0d481d8f0a280ca2041182#afembed_8a17d2627f0d481d8f0a280ca2041182 #autoflow-output-highlights-grid-280209a86914403a9149d899915ddc11 .autoflow-output-highlights-grid-280209a86914403a9149d899915ddc11__title{font-size:29px!important;margin-bottom:30px!important}\n#afembed_8a17d2627f0d481d8f0a280ca2041182#afembed_8a17d2627f0d481d8f0a280ca2041182#afembed_8a17d2627f0d481d8f0a280ca2041182 #autoflow-output-highlights-grid-280209a86914403a9149d899915ddc11 .autoflow-output-highlights-grid-280209a86914403a9149d899915ddc11__grid{gap:30px 14px!important;grid-template-columns:repeat(2, minmax(0px, 1fr))!important}\n#afembed_8a17d2627f0d481d8f0a280ca2041182#afembed_8a17d2627f0d481d8f0a280ca2041182#afembed_8a17d2627f0d481d8f0a280ca2041182 #autoflow-output-highlights-grid-280209a86914403a9149d899915ddc11 .autoflow-output-highlights-grid-280209a86914403a9149d899915ddc11__media{aspect-ratio:1 \/ 1!important;border-radius:12px!important}\n#afembed_8a17d2627f0d481d8f0a280ca2041182#afembed_8a17d2627f0d481d8f0a280ca2041182#afembed_8a17d2627f0d481d8f0a280ca2041182 #autoflow-output-highlights-grid-280209a86914403a9149d899915ddc11 .autoflow-output-highlights-grid-280209a86914403a9149d899915ddc11__card-title{font-size:14px!important;margin-top:13px!important}\n#afembed_8a17d2627f0d481d8f0a280ca2041182#afembed_8a17d2627f0d481d8f0a280ca2041182#afembed_8a17d2627f0d481d8f0a280ca2041182 #autoflow-output-highlights-grid-280209a86914403a9149d899915ddc11 .autoflow-output-highlights-grid-280209a86914403a9149d899915ddc11__card-description{font-size:15px!important}}\u003c\/style\u003e\n\u003cdiv id=\"afembed_8a17d2627f0d481d8f0a280ca2041182\" data-autoflow-embed=\"\" style=\"all: initial!important; display: block!important; box-sizing: border-box!important; width: 100%!important; max-width: 100%!important; min-width: 0!important; margin: 0!important; padding: 0!important; border: 0!important; float: none!important; position: relative!important; isolation: isolate!important; container-type: inline-size!important; direction: ltr!important; unicode-bidi: normal!important; container-name: afembed_8a17d2627f0d481d8f0a280ca2041182!important;\"\u003e\n\u003csection id=\"autoflow-output-highlights-grid-280209a86914403a9149d899915ddc11\"\u003e\n\u003cdiv class=\"autoflow-output-highlights-grid-280209a86914403a9149d899915ddc11__wrap\"\u003e\n\u003ch2 class=\"autoflow-output-highlights-grid-280209a86914403a9149d899915ddc11__title\"\u003eRecovery Ring\u003c\/h2\u003e\n\u003cdiv class=\"autoflow-output-highlights-grid-280209a86914403a9149d899915ddc11__grid\"\u003e\n\u003carticle class=\"autoflow-output-highlights-grid-280209a86914403a9149d899915ddc11__card\"\u003e\n\u003cdiv class=\"autoflow-output-highlights-grid-280209a86914403a9149d899915ddc11__media\"\u003e\u003cimg class=\"autoflow-output-highlights-grid-280209a86914403a9149d899915ddc11__image\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0984\/0928\/3905\/files\/4_905aabed-0137-4675-b679-d8009e10b19b.png?v=1782122157\" alt=\"\" loading=\"lazy\" decoding=\"async\" style=\"object-position: center center !important;\"\u003e\u003c\/div\u003e\n\u003ch3 class=\"autoflow-output-highlights-grid-280209a86914403a9149d899915ddc11__card-title\"\u003eLightweight Aluminum\u003c\/h3\u003e\n\u003cp class=\"autoflow-output-highlights-grid-280209a86914403a9149d899915ddc11__card-description\"\u003eBuilt from aluminum alloy for a strong yet lightweight design without adding unnecessary weight to your recovery gear.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"autoflow-output-highlights-grid-280209a86914403a9149d899915ddc11__card\"\u003e\n\u003cdiv class=\"autoflow-output-highlights-grid-280209a86914403a9149d899915ddc11__media\"\u003e\u003cimg class=\"autoflow-output-highlights-grid-280209a86914403a9149d899915ddc11__image\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0984\/0928\/3905\/files\/4_caffbc1b-0258-47bf-8928-5296f6f42399.jpg?v=1793354417\" alt=\"\" loading=\"lazy\" decoding=\"async\" style=\"object-position: center center !important;\"\u003e\u003c\/div\u003e\n\u003ch3 class=\"autoflow-output-highlights-grid-280209a86914403a9149d899915ddc11__card-title\"\u003e66,000 LBS Strength\u003c\/h3\u003e\n\u003cp class=\"autoflow-output-highlights-grid-280209a86914403a9149d899915ddc11__card-description\"\u003eRated for 66,000 lbs, the recovery ring is built to handle heavy pulling forces during demanding vehicle recovery.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"autoflow-output-highlights-grid-280209a86914403a9149d899915ddc11__card\"\u003e\n\u003cdiv class=\"autoflow-output-highlights-grid-280209a86914403a9149d899915ddc11__media\"\u003e\u003cimg class=\"autoflow-output-highlights-grid-280209a86914403a9149d899915ddc11__image\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0984\/0928\/3905\/files\/13_33012b13-3f82-498e-83f7-885df82c897d.png?v=1782122156\" alt=\"\" loading=\"lazy\" decoding=\"async\" style=\"object-position: center center !important;\"\u003e\u003c\/div\u003e\n\u003ch3 class=\"autoflow-output-highlights-grid-280209a86914403a9149d899915ddc11__card-title\"\u003eFlexible Pull Direction\u003c\/h3\u003e\n\u003cp class=\"autoflow-output-highlights-grid-280209a86914403a9149d899915ddc11__card-description\"\u003eAdjust the winch line angle around obstacles and uneven terrain for more versatile recovery setups.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"autoflow-output-highlights-grid-280209a86914403a9149d899915ddc11__card\"\u003e\n\u003cdiv class=\"autoflow-output-highlights-grid-280209a86914403a9149d899915ddc11__media\"\u003e\u003cimg class=\"autoflow-output-highlights-grid-280209a86914403a9149d899915ddc11__image\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0984\/0928\/3905\/files\/8_7efddfe6-931f-4298-9d4b-3ed4d7394434.jpg?v=1793354416\" alt=\"\" loading=\"lazy\" decoding=\"async\" style=\"object-position: center center !important;\"\u003e\u003c\/div\u003e\n\u003ch3 class=\"autoflow-output-highlights-grid-280209a86914403a9149d899915ddc11__card-title\"\u003eCompact to Carry\u003c\/h3\u003e\n\u003cp class=\"autoflow-output-highlights-grid-280209a86914403a9149d899915ddc11__card-description\"\u003eFits easily in a recovery bag or toolbox, keeping essential recovery gear within reach without taking up much space.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"autoflow-output-highlights-grid-280209a86914403a9149d899915ddc11__card\"\u003e\n\u003cdiv class=\"autoflow-output-highlights-grid-280209a86914403a9149d899915ddc11__media\"\u003e\u003cimg class=\"autoflow-output-highlights-grid-280209a86914403a9149d899915ddc11__image\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0984\/0928\/3905\/files\/11_386dc0bd-16b9-407a-9f20-52ce37205f2a.png?v=1782122156\" alt=\"\" loading=\"lazy\" decoding=\"async\" style=\"object-position: center center !important;\"\u003e\u003c\/div\u003e\n\u003ch3 class=\"autoflow-output-highlights-grid-280209a86914403a9149d899915ddc11__card-title\"\u003eThree Color Options\u003c\/h3\u003e\n\u003cp class=\"autoflow-output-highlights-grid-280209a86914403a9149d899915ddc11__card-description\"\u003eChoose from three colors to match your UTV setup and add a personal touch to your recovery gear.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"autoflow-output-highlights-grid-280209a86914403a9149d899915ddc11__card\"\u003e\n\u003cdiv class=\"autoflow-output-highlights-grid-280209a86914403a9149d899915ddc11__media\"\u003e\u003cimg class=\"autoflow-output-highlights-grid-280209a86914403a9149d899915ddc11__image\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0984\/0928\/3905\/files\/2_4b42a668-88d0-4d60-9069-1c2807d4efc1.jpg?v=1793354417\" alt=\"\" loading=\"lazy\" decoding=\"async\" style=\"object-position: center center !important;\"\u003e\u003c\/div\u003e\n\u003ch3 class=\"autoflow-output-highlights-grid-280209a86914403a9149d899915ddc11__card-title\"\u003eBuilt for Off-Road Recovery\u003c\/h3\u003e\n\u003cp class=\"autoflow-output-highlights-grid-280209a86914403a9149d899915ddc11__card-description\"\u003eDesigned for rough trails and demanding recovery situations, making it a practical addition to your off-road gear.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003cscript\u003e(function cssShield(scope) {\n  const anchor = `#${scope}#${scope}#${scope}`;\n  const animated = new Set();\n  const paintProperties = [\n    \"fill\",\n    \"fill-opacity\",\n    \"fill-rule\",\n    \"stroke\",\n    \"stroke-width\",\n    \"stroke-linecap\",\n    \"stroke-linejoin\",\n    \"stroke-dasharray\",\n    \"stroke-dashoffset\",\n    \"stroke-miterlimit\",\n    \"stroke-opacity\",\n    \"clip-rule\",\n    \"paint-order\",\n    \"vector-effect\",\n  ];\n  const resetProperties = [\n    \"box-sizing\",\n    \"color\",\n    \"font-family\",\n    \"font-size\",\n    \"font-style\",\n    \"font-weight\",\n    \"line-height\",\n    \"letter-spacing\",\n    \"word-spacing\",\n    \"text-align\",\n    \"text-transform\",\n    \"text-decoration\",\n    \"text-indent\",\n    \"white-space\",\n    \"margin\",\n    \"padding\",\n    \"border\",\n    \"border-radius\",\n    \"box-shadow\",\n    \"display\",\n    \"float\",\n    \"position\",\n    \"inset\",\n    \"width\",\n    \"height\",\n    \"min-width\",\n    \"max-width\",\n    \"min-height\",\n    \"max-height\",\n    \"overflow\",\n    \"background\",\n    \"list-style\",\n    \"vertical-align\",\n    \"flex\",\n    \"grid-area\",\n    \"gap\",\n  ];\n  const animationProperty = (property) =\u003e\n    animated.has(property) ||\n    [...animated].some((name) =\u003e name.startsWith(property + \"-\"));\n  const reset = () =\u003e\n    `#${scope}#${scope} :where(:not(svg,svg *)){all:revert}#${scope}#${scope} :where(*, *::before, *::after){${resetProperties\n      .filter((property) =\u003e !animationProperty(property))\n      .map((property) =\u003e property + \":revert!important\")\n      .join(\n        \";\",\n      )}}#${scope}#${scope} :where(svg,svg *){${paintProperties.map((property) =\u003e property + \":revert!important\").join(\";\")}}#${scope}#${scope} :where(*)::before,#${scope}#${scope} :where(*)::after{content:none!important}${anchor}#${scope}#${scope} [hidden]{display:none!important}`;\n  const hostStyle =\n    \"all:initial!important;display:block!important;box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;padding:0!important;border:0!important;float:none!important;position:relative!important;isolation:isolate!important;container-type:inline-size!important;direction:ltr!important;unicode-bidi:normal!important;\";\n  function selectors(source, separator = \",\") {\n    const parts = [];\n    let part = \"\",\n      depth = 0,\n      quote = \"\",\n      escaped = false;\n    for (const c of source) {\n      if (escaped) {\n        part += c;\n        escaped = false;\n        continue;\n      }\n      if (c === \"\\\\\") {\n        part += c;\n        escaped = true;\n        continue;\n      }\n      if (quote) {\n        part += c;\n        if (c === quote) quote = \"\";\n        continue;\n      }\n      if (c === '\"' || c === \"'\") {\n        quote = c;\n        part += c;\n        continue;\n      }\n      if (c === \"(\" || c === \"[\") depth++;\n      if (c === \")\" || c === \"]\") depth--;\n      if (c === separator \u0026\u0026 depth === 0) {\n        parts.push(part.trim());\n        part = \"\";\n      } else part += c;\n    }\n    if (part.trim()) parts.push(part.trim());\n    return parts;\n  }\n  function declarations(source, process) {\n    return selectors(source, \";\")\n      .map((declaration) =\u003e {\n        let colon = 0;\n        for (; colon \u003c declaration.length; colon++) {\n          if (declaration[colon] === \"\\\\\") colon++;\n          else if (declaration[colon] === \":\") break;\n        }\n        const property = declaration.slice(0, colon).trim();\n        const raw = declaration.slice(colon + 1).trim();\n        const important = \/!important\\s*$\/i.test(raw);\n        const value = raw.replace(\/\\s*!important\\s*$\/i, \"\");\n        return process(property, value, important);\n      })\n      .join(\";\");\n  }\n  function anchored(selector) {\n    if (!selector.startsWith(anchor)) return false;\n    let depth = 0,\n      quote = \"\";\n    for (let i = anchor.length; i \u003c selector.length; i++) {\n      const c = selector[i];\n      if (c === \"\\\\\") {\n        i++;\n        continue;\n      }\n      if (quote) {\n        if (c === quote) quote = \"\";\n        continue;\n      }\n      if (c === '\"' || c === \"'\") {\n        quote = c;\n        continue;\n      }\n      if (c === \"(\" || c === \"[\") {\n        depth++;\n        continue;\n      }\n      if (c === \")\" || c === \"]\") {\n        depth--;\n        continue;\n      }\n      if (depth) continue;\n      if (\n        c === \"+\" ||\n        c === \"~\" ||\n        (\/\\s\/.test(c) \u0026\u0026 \/^[+~]\/.test(selector.slice(i).trimStart()))\n      )\n        throw new Error(\"Export selector escapes template\");\n      if (c === \"\u003e\" || \/\\s\/.test(c)) break;\n    }\n    return true;\n  }\n  function rewrite(source) {\n    if (\/@(?:import|namespace|page|property)\\b\/i.test(source))\n      throw new Error(\"Global export CSS is unsupported\");\n    let sheet = new CSSStyleSheet();\n    if (typeof sheet.replaceSync === \"function\") sheet.replaceSync(source);\n    else {\n      const style = document.createElement(\"style\");\n      style.media = \"not all\";\n      style.textContent = source;\n      document.head.append(style);\n      sheet = style.sheet;\n      style.remove();\n    }\n    const names = \/* @__PURE__ *\/ new Map();\n    function collect(rules) {\n      for (const rule of Array.from(rules)) {\n        if (rule.type === 7) {\n          const name = rule.name;\n          names.set(name, name.startsWith(`${scope}__`) ? name : `${scope}__${name}`);\n          for (const frame of Array.from(rule.cssRules)) {\n            for (const property of Array.from(frame.style)) animated.add(property);\n          }\n        }\n        if (rule.type === 5) {\n          const name = rule.style\n            .getPropertyValue(\"font-family\")\n            .replace(\/^['\"]|['\"]$\/g, \"\");\n          names.set(\n            name,\n            name.startsWith(`${scope}__`)\n              ? name\n              : `${scope}__${name.replace(\/\\W\/g, \"_\")}`,\n          );\n        }\n        if (\"cssRules\" in rule \u0026\u0026 rule.type !== 7) collect(rule.cssRules);\n      }\n    }\n    collect(sheet.cssRules);\n    function replaceNames(value) {\n      for (const [name, next] of names) {\n        value = value.replace(\n          new RegExp(\n            `(^|[\\\\s,'\"])${name.replace(\/[.*+?^${}()|[\\]\\\\]\/g, \"\\\\$\u0026\")}(?=$|[\\\\s,'\"])`,\n            \"g\",\n          ),\n          `$1${next}`,\n        );\n      }\n      return value;\n    }\n    function walk(rules) {\n      return Array.from(rules)\n        .map((rule) =\u003e {\n          if (rule.type === 1) {\n            const styleRule = rule;\n            if (styleRule.cssRules?.length)\n              throw new Error(\"Nested export CSS is unsupported\");\n            const scoped = selectors(styleRule.selectorText)\n              .map((selector) =\u003e {\n                if (anchored(selector)) return selector;\n                const local = selector\n                  .replace(\/^(?:html|body|:root)(?=$|[\\s.#[:])\\s*\/, \"\")\n                  .replace(\/^body(?=$|[\\s.#[:])\\s*\/, \"\");\n                if (local !== selector \u0026\u0026 \/^[+~]\/.test(local))\n                  throw new Error(\"Export selector escapes template\");\n                return `${anchor}${local ? ` ${local}` : \"\"}`;\n              })\n              .join(\",\");\n            const protectedDeclarations = declarations(\n              styleRule.style.cssText,\n              (property, raw, important) =\u003e {\n                let value = replaceNames(raw);\n                if (!\/lightbox\/.test(styleRule.selectorText))\n                  value = value.replace(\/(-?(?:\\d*\\.)?\\d+)vw\\b\/g, \"$1cqw\");\n                return `${property}:${value}${animationProperty(property) \u0026\u0026 !important ? \"\" : \"!important\"}`;\n              },\n            );\n            return `${scoped}{${protectedDeclarations}}`;\n          }\n          if (rule.type === 7) {\n            const frames = rule;\n            return frames.cssText.replace(\n              \/^(?:@keyframes|@-webkit-keyframes)\\s+[^\\s{]+\/,\n              `@keyframes ${names.get(frames.name)}`,\n            );\n          }\n          if (rule.type === 5) return replaceNames(rule.cssText);\n          if (\"cssRules\" in rule) {\n            const group = rule;\n            let header = rule.cssText.slice(0, rule.cssText.indexOf(\"{\"));\n            if (\n              \/^@media\\b\/.test(header) \u0026\u0026\n              \/\\bwidth\\s*:\/.test(header) \u0026\u0026\n              !\/height|orientation|prefers-|hover|pointer|print|resolution|,\/.test(\n                header,\n              )\n            ) {\n              header = header.replace(\n                \/^@media\\s*(?:screen\\s+and\\s*)?\/,\n                `@container ${scope} `,\n              );\n            }\n            if (!\/^@(?:media|supports|container)\\b\/.test(header))\n              throw new Error(\"Global export CSS is unsupported\");\n            return `${header}{${walk(group.cssRules)}}`;\n          }\n          throw new Error(\"Global export CSS is unsupported\");\n        })\n        .join(\"\\n\");\n    }\n    return walk(sheet.cssRules);\n  }\n  function protectInline(element, preserveResponsiveFont = false) {\n    if (!(\"style\" in element)) return;\n    if (element.namespaceURI === \"http:\/\/www.w3.org\/2000\/svg\") {\n      for (const property of paintProperties) {\n        const value = element.getAttribute(property);\n        if (value !== null \u0026\u0026 !element.style.getPropertyValue(property))\n          element.style.setProperty(property, value, \"important\");\n      }\n    }\n    const serialized = declarations(\n      element.style.cssText,\n      \/\/ Host editors may materialize desktop font sizes after insertion.\n      \/\/ Keep those normal so the template's responsive CSS can still win.\n      (property, value, important) =\u003e\n        `${property}: ${value}${important || !preserveResponsiveFont || property !== \"font-size\" ? \" !important\" : \"\"}`,\n    );\n    if (element.getAttribute(\"style\") !== serialized)\n      element.setAttribute(\"style\", serialized);\n  }\n  function mount(host) {\n    const previous = \/* @__PURE__ *\/ new WeakMap();\n    function refreshReset() {\n      const style = host.querySelector(`style[data-autoflow-reset=\"${scope}\"]`);\n      const next = reset();\n      if (style \u0026\u0026 style.textContent !== next) style.textContent = next;\n    }\n    function protectStyle(style) {\n      if (\n        style.dataset.autoflowReset === scope ||\n        previous.get(style) === style.textContent\n      )\n        return;\n      const next = rewrite(style.textContent ?? \"\");\n      previous.set(style, next);\n      style.textContent = next;\n      refreshReset();\n    }\n    function protectTree(node) {\n      protectInline(node, true);\n      if (node instanceof HTMLStyleElement) protectStyle(node);\n      node.querySelectorAll(\"[style],style,svg,svg *\").forEach((child) =\u003e {\n        protectInline(child, true);\n        if (child instanceof HTMLStyleElement) protectStyle(child);\n      });\n    }\n    protectTree(host);\n    const observer = new MutationObserver((changes) =\u003e {\n      for (const change of changes) {\n        if (change.type === \"attributes\") protectInline(change.target, true);\n        else if (change.target instanceof HTMLStyleElement) protectStyle(change.target);\n        else\n          change.addedNodes.forEach((node) =\u003e {\n            if (node instanceof Element) protectTree(node);\n          });\n      }\n    });\n    const options = {\n      subtree: true,\n      childList: true,\n      attributes: true,\n      attributeFilter: [\"style\"],\n    };\n    observer.observe(host, options);\n    window.addEventListener(\"pagehide\", () =\u003e observer.disconnect());\n    window.addEventListener(\"pageshow\", (event) =\u003e {\n      if (event.persisted) {\n        protectTree(host);\n        observer.observe(host, options);\n      }\n    });\n  }\n  return {\n    rewrite,\n    mount,\n    protectInline: (element) =\u003e protectInline(element),\n    get reset() {\n      return reset();\n    },\n    hostStyle,\n  };\n})(\"afembed_8a17d2627f0d481d8f0a280ca2041182\").mount(document.currentScript.parentElement);\u003c\/script\u003e\n\u003c\/div\u003e\n\u003c!-- 以下是绳子 --\u003e\n\u003cstyle data-autoflow-reset=\"afembed_a801fadc49ee4a779e5d74fd543774d8\"\u003e#afembed_a801fadc49ee4a779e5d74fd543774d8#afembed_a801fadc49ee4a779e5d74fd543774d8 :where(:not(svg,svg *)){all:revert}#afembed_a801fadc49ee4a779e5d74fd543774d8#afembed_a801fadc49ee4a779e5d74fd543774d8 :where(*, *::before, *::after){box-sizing:revert!important;color:revert!important;font-family:revert!important;font-size:revert!important;font-style:revert!important;font-weight:revert!important;line-height:revert!important;letter-spacing:revert!important;word-spacing:revert!important;text-align:revert!important;text-transform:revert!important;text-decoration:revert!important;text-indent:revert!important;white-space:revert!important;margin:revert!important;padding:revert!important;border:revert!important;border-radius:revert!important;box-shadow:revert!important;display:revert!important;float:revert!important;position:revert!important;inset:revert!important;width:revert!important;height:revert!important;min-width:revert!important;max-width:revert!important;min-height:revert!important;max-height:revert!important;overflow:revert!important;background:revert!important;list-style:revert!important;vertical-align:revert!important;flex:revert!important;grid-area:revert!important;gap:revert!important}#afembed_a801fadc49ee4a779e5d74fd543774d8#afembed_a801fadc49ee4a779e5d74fd543774d8 :where(svg,svg *){fill:revert!important;fill-opacity:revert!important;fill-rule:revert!important;stroke:revert!important;stroke-width:revert!important;stroke-linecap:revert!important;stroke-linejoin:revert!important;stroke-dasharray:revert!important;stroke-dashoffset:revert!important;stroke-miterlimit:revert!important;stroke-opacity:revert!important;clip-rule:revert!important;paint-order:revert!important;vector-effect:revert!important}#afembed_a801fadc49ee4a779e5d74fd543774d8#afembed_a801fadc49ee4a779e5d74fd543774d8 :where(*)::before,#afembed_a801fadc49ee4a779e5d74fd543774d8#afembed_a801fadc49ee4a779e5d74fd543774d8 :where(*)::after{content:none!important}#afembed_a801fadc49ee4a779e5d74fd543774d8#afembed_a801fadc49ee4a779e5d74fd543774d8#afembed_a801fadc49ee4a779e5d74fd543774d8#afembed_a801fadc49ee4a779e5d74fd543774d8#afembed_a801fadc49ee4a779e5d74fd543774d8 [hidden]{display:none!important}\u003c\/style\u003e\n\u003cstyle\u003e#afembed_a801fadc49ee4a779e5d74fd543774d8#afembed_a801fadc49ee4a779e5d74fd543774d8#afembed_a801fadc49ee4a779e5d74fd543774d8,#afembed_a801fadc49ee4a779e5d74fd543774d8#afembed_a801fadc49ee4a779e5d74fd543774d8#afembed_a801fadc49ee4a779e5d74fd543774d8{margin:0px!important;min-height:100%!important}\n#afembed_a801fadc49ee4a779e5d74fd543774d8#afembed_a801fadc49ee4a779e5d74fd543774d8#afembed_a801fadc49ee4a779e5d74fd543774d8 *{box-sizing:border-box!important}\n#afembed_a801fadc49ee4a779e5d74fd543774d8#afembed_a801fadc49ee4a779e5d74fd543774d8#afembed_a801fadc49ee4a779e5d74fd543774d8 #autoflow-output-highlights-grid-c929fe08ddf14f54aab4862dec188bac{background:rgb(0, 0, 0)!important;color:rgb(255, 255, 255)!important;font-family:-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif!important;padding:14px 0px 22px!important}\n#afembed_a801fadc49ee4a779e5d74fd543774d8#afembed_a801fadc49ee4a779e5d74fd543774d8#afembed_a801fadc49ee4a779e5d74fd543774d8 #autoflow-output-highlights-grid-c929fe08ddf14f54aab4862dec188bac .autoflow-output-highlights-grid-c929fe08ddf14f54aab4862dec188bac__wrap{margin:0px auto!important;max-width:1900px!important}\n#afembed_a801fadc49ee4a779e5d74fd543774d8#afembed_a801fadc49ee4a779e5d74fd543774d8#afembed_a801fadc49ee4a779e5d74fd543774d8 #autoflow-output-highlights-grid-c929fe08ddf14f54aab4862dec188bac .autoflow-output-highlights-grid-c929fe08ddf14f54aab4862dec188bac__title{color:rgb(3, 3, 3)!important;font-size:38px!important;font-weight:700!important;line-height:1.12!important;margin:0px 0px 34px!important;text-align:center!important;white-space:pre-line!important}\n#afembed_a801fadc49ee4a779e5d74fd543774d8#afembed_a801fadc49ee4a779e5d74fd543774d8#afembed_a801fadc49ee4a779e5d74fd543774d8 #autoflow-output-highlights-grid-c929fe08ddf14f54aab4862dec188bac .autoflow-output-highlights-grid-c929fe08ddf14f54aab4862dec188bac__grid{display:grid!important;gap:30px 18px!important;grid-template-columns:repeat(2, minmax(0px, 1fr))!important}\n#afembed_a801fadc49ee4a779e5d74fd543774d8#afembed_a801fadc49ee4a779e5d74fd543774d8#afembed_a801fadc49ee4a779e5d74fd543774d8 #autoflow-output-highlights-grid-c929fe08ddf14f54aab4862dec188bac .autoflow-output-highlights-grid-c929fe08ddf14f54aab4862dec188bac__card{background:transparent!important;border:0px solid rgb(42, 42, 42)!important;border-radius:0px!important;min-width:0px!important;overflow:hidden!important;padding:0px!important}\n#afembed_a801fadc49ee4a779e5d74fd543774d8#afembed_a801fadc49ee4a779e5d74fd543774d8#afembed_a801fadc49ee4a779e5d74fd543774d8 #autoflow-output-highlights-grid-c929fe08ddf14f54aab4862dec188bac .autoflow-output-highlights-grid-c929fe08ddf14f54aab4862dec188bac__media{aspect-ratio:1 \/ 1!important;background:rgb(17, 17, 17)!important;border-radius:12px!important;overflow:hidden!important;width:100%!important}\n#afembed_a801fadc49ee4a779e5d74fd543774d8#afembed_a801fadc49ee4a779e5d74fd543774d8#afembed_a801fadc49ee4a779e5d74fd543774d8 #autoflow-output-highlights-grid-c929fe08ddf14f54aab4862dec188bac .autoflow-output-highlights-grid-c929fe08ddf14f54aab4862dec188bac__image{object-fit:contain!important;object-position:center center!important;vertical-align:top!important;border:0px!important;border-radius:0px!important;box-shadow:none!important;display:block!important;height:100%!important;margin:0px!important;max-width:none!important;padding:0px!important;width:100%!important}\n#afembed_a801fadc49ee4a779e5d74fd543774d8#afembed_a801fadc49ee4a779e5d74fd543774d8#afembed_a801fadc49ee4a779e5d74fd543774d8 #autoflow-output-highlights-grid-c929fe08ddf14f54aab4862dec188bac .autoflow-output-highlights-grid-c929fe08ddf14f54aab4862dec188bac__card-title{color:rgb(36, 36, 36)!important;font-size:20px!important;font-weight:700!important;line-height:1.18!important;margin:14px 0px 5px!important;overflow-wrap:anywhere!important;text-align:center!important;white-space:pre-line!important}\n#afembed_a801fadc49ee4a779e5d74fd543774d8#afembed_a801fadc49ee4a779e5d74fd543774d8#afembed_a801fadc49ee4a779e5d74fd543774d8 #autoflow-output-highlights-grid-c929fe08ddf14f54aab4862dec188bac .autoflow-output-highlights-grid-c929fe08ddf14f54aab4862dec188bac__card-description{color:rgb(56, 56, 56)!important;font-size:15px!important;line-height:1.35!important;margin:0px!important;overflow-wrap:anywhere!important;text-align:left!important;white-space:pre-line!important}\n#afembed_a801fadc49ee4a779e5d74fd543774d8#afembed_a801fadc49ee4a779e5d74fd543774d8#afembed_a801fadc49ee4a779e5d74fd543774d8 #autoflow-output-highlights-grid-c929fe08ddf14f54aab4862dec188bac{box-sizing:content-box!important;min-height:0px!important;padding:14px 0px 22px!important}\n#afembed_a801fadc49ee4a779e5d74fd543774d8#afembed_a801fadc49ee4a779e5d74fd543774d8#afembed_a801fadc49ee4a779e5d74fd543774d8 #autoflow-output-highlights-grid-c929fe08ddf14f54aab4862dec188bac .autoflow-output-highlights-grid-c929fe08ddf14f54aab4862dec188bac__wrap{margin:0px auto!important;max-width:1900px!important}\n#afembed_a801fadc49ee4a779e5d74fd543774d8#afembed_a801fadc49ee4a779e5d74fd543774d8#afembed_a801fadc49ee4a779e5d74fd543774d8 #autoflow-output-highlights-grid-c929fe08ddf14f54aab4862dec188bac{font-family:inherit!important}\n#afembed_a801fadc49ee4a779e5d74fd543774d8#afembed_a801fadc49ee4a779e5d74fd543774d8#afembed_a801fadc49ee4a779e5d74fd543774d8 #autoflow-output-highlights-grid-c929fe08ddf14f54aab4862dec188bac .autoflow-output-highlights-grid-c929fe08ddf14f54aab4862dec188bac__title,#afembed_a801fadc49ee4a779e5d74fd543774d8#afembed_a801fadc49ee4a779e5d74fd543774d8#afembed_a801fadc49ee4a779e5d74fd543774d8 #autoflow-output-highlights-grid-c929fe08ddf14f54aab4862dec188bac .autoflow-output-highlights-grid-c929fe08ddf14f54aab4862dec188bac__card-title{letter-spacing:0px!important}\n#afembed_a801fadc49ee4a779e5d74fd543774d8#afembed_a801fadc49ee4a779e5d74fd543774d8#afembed_a801fadc49ee4a779e5d74fd543774d8 #autoflow-output-highlights-grid-c929fe08ddf14f54aab4862dec188bac .autoflow-output-highlights-grid-c929fe08ddf14f54aab4862dec188bac__title,#afembed_a801fadc49ee4a779e5d74fd543774d8#afembed_a801fadc49ee4a779e5d74fd543774d8#afembed_a801fadc49ee4a779e5d74fd543774d8 #autoflow-output-highlights-grid-c929fe08ddf14f54aab4862dec188bac .autoflow-output-highlights-grid-c929fe08ddf14f54aab4862dec188bac__card-title{line-height:1.2!important}\n#afembed_a801fadc49ee4a779e5d74fd543774d8#afembed_a801fadc49ee4a779e5d74fd543774d8#afembed_a801fadc49ee4a779e5d74fd543774d8 #autoflow-output-highlights-grid-c929fe08ddf14f54aab4862dec188bac .autoflow-output-highlights-grid-c929fe08ddf14f54aab4862dec188bac__card-description{letter-spacing:0px!important}\n#afembed_a801fadc49ee4a779e5d74fd543774d8#afembed_a801fadc49ee4a779e5d74fd543774d8#afembed_a801fadc49ee4a779e5d74fd543774d8 #autoflow-output-highlights-grid-c929fe08ddf14f54aab4862dec188bac .autoflow-output-highlights-grid-c929fe08ddf14f54aab4862dec188bac__card-description{line-height:1.6!important}\n#afembed_a801fadc49ee4a779e5d74fd543774d8#afembed_a801fadc49ee4a779e5d74fd543774d8#afembed_a801fadc49ee4a779e5d74fd543774d8 #autoflow-output-highlights-grid-c929fe08ddf14f54aab4862dec188bac .autoflow-output-highlights-grid-c929fe08ddf14f54aab4862dec188bac__title{color:rgb(3, 3, 3)!important;text-align:center!important}\n#afembed_a801fadc49ee4a779e5d74fd543774d8#afembed_a801fadc49ee4a779e5d74fd543774d8#afembed_a801fadc49ee4a779e5d74fd543774d8 #autoflow-output-highlights-grid-c929fe08ddf14f54aab4862dec188bac .autoflow-output-highlights-grid-c929fe08ddf14f54aab4862dec188bac__card{background:transparent!important;border-color:transparent!important;box-shadow:none!important}\n#afembed_a801fadc49ee4a779e5d74fd543774d8#afembed_a801fadc49ee4a779e5d74fd543774d8#afembed_a801fadc49ee4a779e5d74fd543774d8 #autoflow-output-highlights-grid-c929fe08ddf14f54aab4862dec188bac{background:transparent!important}\n@container afembed_a801fadc49ee4a779e5d74fd543774d8 (max-width: 960px) and (min-width: 768px) {#afembed_a801fadc49ee4a779e5d74fd543774d8#afembed_a801fadc49ee4a779e5d74fd543774d8#afembed_a801fadc49ee4a779e5d74fd543774d8 #autoflow-output-highlights-grid-c929fe08ddf14f54aab4862dec188bac .autoflow-output-highlights-grid-c929fe08ddf14f54aab4862dec188bac__grid{grid-template-columns:repeat(2, minmax(0px, 1fr))!important}}\n@container afembed_a801fadc49ee4a779e5d74fd543774d8 (max-width: 767px) {#afembed_a801fadc49ee4a779e5d74fd543774d8#afembed_a801fadc49ee4a779e5d74fd543774d8#afembed_a801fadc49ee4a779e5d74fd543774d8 #autoflow-output-highlights-grid-c929fe08ddf14f54aab4862dec188bac{padding:0px 0px 12px!important}\n#afembed_a801fadc49ee4a779e5d74fd543774d8#afembed_a801fadc49ee4a779e5d74fd543774d8#afembed_a801fadc49ee4a779e5d74fd543774d8 #autoflow-output-highlights-grid-c929fe08ddf14f54aab4862dec188bac .autoflow-output-highlights-grid-c929fe08ddf14f54aab4862dec188bac__title{font-size:29px!important;margin-bottom:30px!important}\n#afembed_a801fadc49ee4a779e5d74fd543774d8#afembed_a801fadc49ee4a779e5d74fd543774d8#afembed_a801fadc49ee4a779e5d74fd543774d8 #autoflow-output-highlights-grid-c929fe08ddf14f54aab4862dec188bac .autoflow-output-highlights-grid-c929fe08ddf14f54aab4862dec188bac__grid{gap:30px 14px!important;grid-template-columns:repeat(2, minmax(0px, 1fr))!important}\n#afembed_a801fadc49ee4a779e5d74fd543774d8#afembed_a801fadc49ee4a779e5d74fd543774d8#afembed_a801fadc49ee4a779e5d74fd543774d8 #autoflow-output-highlights-grid-c929fe08ddf14f54aab4862dec188bac .autoflow-output-highlights-grid-c929fe08ddf14f54aab4862dec188bac__media{aspect-ratio:1 \/ 1!important;border-radius:12px!important}\n#afembed_a801fadc49ee4a779e5d74fd543774d8#afembed_a801fadc49ee4a779e5d74fd543774d8#afembed_a801fadc49ee4a779e5d74fd543774d8 #autoflow-output-highlights-grid-c929fe08ddf14f54aab4862dec188bac .autoflow-output-highlights-grid-c929fe08ddf14f54aab4862dec188bac__card-title{font-size:17px!important;margin-top:13px!important}\n#afembed_a801fadc49ee4a779e5d74fd543774d8#afembed_a801fadc49ee4a779e5d74fd543774d8#afembed_a801fadc49ee4a779e5d74fd543774d8 #autoflow-output-highlights-grid-c929fe08ddf14f54aab4862dec188bac .autoflow-output-highlights-grid-c929fe08ddf14f54aab4862dec188bac__card-description{font-size:15px!important}}\u003c\/style\u003e\n\u003cdiv id=\"afembed_a801fadc49ee4a779e5d74fd543774d8\" data-autoflow-embed=\"\" style=\"all: initial!important; display: block!important; box-sizing: border-box!important; width: 100%!important; max-width: 100%!important; min-width: 0!important; margin: 0!important; padding: 0!important; border: 0!important; float: none!important; position: relative!important; isolation: isolate!important; container-type: inline-size!important; direction: ltr!important; unicode-bidi: normal!important; font-family: inherit!important; container-name: afembed_a801fadc49ee4a779e5d74fd543774d8!important;\"\u003e\n\u003csection id=\"autoflow-output-highlights-grid-c929fe08ddf14f54aab4862dec188bac\"\u003e\n\u003cdiv class=\"autoflow-output-highlights-grid-c929fe08ddf14f54aab4862dec188bac__wrap\"\u003e\n\u003ch2 class=\"autoflow-output-highlights-grid-c929fe08ddf14f54aab4862dec188bac__title\"\u003eSynthetic Winch Rope \u003c\/h2\u003e\n\u003cdiv class=\"autoflow-output-highlights-grid-c929fe08ddf14f54aab4862dec188bac__grid\"\u003e\n\u003carticle class=\"autoflow-output-highlights-grid-c929fe08ddf14f54aab4862dec188bac__card\"\u003e\n\u003cdiv class=\"autoflow-output-highlights-grid-c929fe08ddf14f54aab4862dec188bac__media\"\u003e\u003cimg class=\"autoflow-output-highlights-grid-c929fe08ddf14f54aab4862dec188bac__image\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0984\/0928\/3905\/files\/12_a9f08497-9166-438e-b850-49f99ba48a4d.png?v=1782120828\" alt=\"\" loading=\"lazy\" decoding=\"async\" style=\"object-position: center center !important;\"\u003e\u003c\/div\u003e\n\u003ch3 class=\"autoflow-output-highlights-grid-c929fe08ddf14f54aab4862dec188bac__card-title\"\u003eStrong Pulling Power\u003c\/h3\u003e\n\u003cp class=\"autoflow-output-highlights-grid-c929fe08ddf14f54aab4862dec188bac__card-description\"\u003eRated at 7,700 lbs breaking strength, the rope delivers reliable pulling power for demanding UTV and ATV recoveries.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"autoflow-output-highlights-grid-c929fe08ddf14f54aab4862dec188bac__card\"\u003e\n\u003cdiv class=\"autoflow-output-highlights-grid-c929fe08ddf14f54aab4862dec188bac__media\"\u003e\u003cimg class=\"autoflow-output-highlights-grid-c929fe08ddf14f54aab4862dec188bac__image\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0984\/0928\/3905\/files\/32f1bca02d3842369cc65f275be146ec_80bf41cd-7636-439a-928d-4c632fc08237.png?v=1782120828\" alt=\"\" loading=\"lazy\" decoding=\"async\" style=\"object-position: center center !important;\"\u003e\u003c\/div\u003e\n\u003ch3 class=\"autoflow-output-highlights-grid-c929fe08ddf14f54aab4862dec188bac__card-title\"\u003eDurable Synthetic Fiber\u003c\/h3\u003e\n\u003cp class=\"autoflow-output-highlights-grid-c929fe08ddf14f54aab4862dec188bac__card-description\"\u003eMade from durable synthetic fiber, the rope is built to handle repeated use and tough off-road conditions.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"autoflow-output-highlights-grid-c929fe08ddf14f54aab4862dec188bac__card\"\u003e\n\u003cdiv class=\"autoflow-output-highlights-grid-c929fe08ddf14f54aab4862dec188bac__media\"\u003e\u003cimg class=\"autoflow-output-highlights-grid-c929fe08ddf14f54aab4862dec188bac__image\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0984\/0928\/3905\/files\/2_af9a5468-59d8-4fb6-a9d2-502e64fcda12.jpg?v=1793352335\" alt=\"\" loading=\"lazy\" decoding=\"async\" style=\"object-position: center center !important;\"\u003e\u003c\/div\u003e\n\u003ch3 class=\"autoflow-output-highlights-grid-c929fe08ddf14f54aab4862dec188bac__card-title\"\u003eLightweight \u0026amp; Easy to Handle\u003c\/h3\u003e\n\u003cp class=\"autoflow-output-highlights-grid-c929fe08ddf14f54aab4862dec188bac__card-description\"\u003eLighter than traditional steel cable, the rope is easier to carry, handle, and position during recovery.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"autoflow-output-highlights-grid-c929fe08ddf14f54aab4862dec188bac__card\"\u003e\n\u003cdiv class=\"autoflow-output-highlights-grid-c929fe08ddf14f54aab4862dec188bac__media\"\u003e\u003cimg class=\"autoflow-output-highlights-grid-c929fe08ddf14f54aab4862dec188bac__image\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0984\/0928\/3905\/files\/1_56e9dd92-fb71-4b1e-bba8-938d0d582b2b.jpg?v=1793352335\" alt=\"Product highlight image\" loading=\"lazy\" decoding=\"async\" style=\"object-position: center center !important;\"\u003e\u003c\/div\u003e\n\u003ch3 class=\"autoflow-output-highlights-grid-c929fe08ddf14f54aab4862dec188bac__card-title\"\u003eFlexible \u0026amp; Easy on Hands\u003c\/h3\u003e\n\u003cp class=\"autoflow-output-highlights-grid-c929fe08ddf14f54aab4862dec188bac__card-description\"\u003eThe flexible rope bends easily around recovery points and feels more comfortable to handle than steel cable.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003cscript\u003e(function cssShield(scope) {\n  const anchor = `#${scope}#${scope}#${scope}`;\n  const animated = new Set();\n  const paintProperties = [\n    \"fill\",\n    \"fill-opacity\",\n    \"fill-rule\",\n    \"stroke\",\n    \"stroke-width\",\n    \"stroke-linecap\",\n    \"stroke-linejoin\",\n    \"stroke-dasharray\",\n    \"stroke-dashoffset\",\n    \"stroke-miterlimit\",\n    \"stroke-opacity\",\n    \"clip-rule\",\n    \"paint-order\",\n    \"vector-effect\",\n  ];\n  const resetProperties = [\n    \"box-sizing\",\n    \"color\",\n    \"font-family\",\n    \"font-size\",\n    \"font-style\",\n    \"font-weight\",\n    \"line-height\",\n    \"letter-spacing\",\n    \"word-spacing\",\n    \"text-align\",\n    \"text-transform\",\n    \"text-decoration\",\n    \"text-indent\",\n    \"white-space\",\n    \"margin\",\n    \"padding\",\n    \"border\",\n    \"border-radius\",\n    \"box-shadow\",\n    \"display\",\n    \"float\",\n    \"position\",\n    \"inset\",\n    \"width\",\n    \"height\",\n    \"min-width\",\n    \"max-width\",\n    \"min-height\",\n    \"max-height\",\n    \"overflow\",\n    \"background\",\n    \"list-style\",\n    \"vertical-align\",\n    \"flex\",\n    \"grid-area\",\n    \"gap\",\n  ];\n  const animationProperty = (property) =\u003e\n    animated.has(property) ||\n    [...animated].some((name) =\u003e name.startsWith(property + \"-\"));\n  const reset = () =\u003e\n    `#${scope}#${scope} :where(:not(svg,svg *)){all:revert}#${scope}#${scope} :where(*, *::before, *::after){${resetProperties\n      .filter((property) =\u003e !animationProperty(property))\n      .map((property) =\u003e property + \":revert!important\")\n      .join(\n        \";\",\n      )}}#${scope}#${scope} :where(svg,svg *){${paintProperties.map((property) =\u003e property + \":revert!important\").join(\";\")}}#${scope}#${scope} :where(*)::before,#${scope}#${scope} :where(*)::after{content:none!important}${anchor}#${scope}#${scope} [hidden]{display:none!important}`;\n  const hostStyle =\n    \"all:initial!important;display:block!important;box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;padding:0!important;border:0!important;float:none!important;position:relative!important;isolation:isolate!important;container-type:inline-size!important;direction:ltr!important;unicode-bidi:normal!important;\";\n  function selectors(source, separator = \",\") {\n    const parts = [];\n    let part = \"\",\n      depth = 0,\n      quote = \"\",\n      escaped = false;\n    for (const c of source) {\n      if (escaped) {\n        part += c;\n        escaped = false;\n        continue;\n      }\n      if (c === \"\\\\\") {\n        part += c;\n        escaped = true;\n        continue;\n      }\n      if (quote) {\n        part += c;\n        if (c === quote) quote = \"\";\n        continue;\n      }\n      if (c === '\"' || c === \"'\") {\n        quote = c;\n        part += c;\n        continue;\n      }\n      if (c === \"(\" || c === \"[\") depth++;\n      if (c === \")\" || c === \"]\") depth--;\n      if (c === separator \u0026\u0026 depth === 0) {\n        parts.push(part.trim());\n        part = \"\";\n      } else part += c;\n    }\n    if (part.trim()) parts.push(part.trim());\n    return parts;\n  }\n  function declarations(source, process) {\n    return selectors(source, \";\")\n      .map((declaration) =\u003e {\n        let colon = 0;\n        for (; colon \u003c declaration.length; colon++) {\n          if (declaration[colon] === \"\\\\\") colon++;\n          else if (declaration[colon] === \":\") break;\n        }\n        const property = declaration.slice(0, colon).trim();\n        const raw = declaration.slice(colon + 1).trim();\n        const important = \/!important\\s*$\/i.test(raw);\n        const value = raw.replace(\/\\s*!important\\s*$\/i, \"\");\n        return process(property, value, important);\n      })\n      .join(\";\");\n  }\n  function anchored(selector) {\n    if (!selector.startsWith(anchor)) return false;\n    let depth = 0,\n      quote = \"\";\n    for (let i = anchor.length; i \u003c selector.length; i++) {\n      const c = selector[i];\n      if (c === \"\\\\\") {\n        i++;\n        continue;\n      }\n      if (quote) {\n        if (c === quote) quote = \"\";\n        continue;\n      }\n      if (c === '\"' || c === \"'\") {\n        quote = c;\n        continue;\n      }\n      if (c === \"(\" || c === \"[\") {\n        depth++;\n        continue;\n      }\n      if (c === \")\" || c === \"]\") {\n        depth--;\n        continue;\n      }\n      if (depth) continue;\n      if (\n        c === \"+\" ||\n        c === \"~\" ||\n        (\/\\s\/.test(c) \u0026\u0026 \/^[+~]\/.test(selector.slice(i).trimStart()))\n      )\n        throw new Error(\"Export selector escapes template\");\n      if (c === \"\u003e\" || \/\\s\/.test(c)) break;\n    }\n    return true;\n  }\n  function rewrite(source) {\n    if (\/@(?:import|namespace|page|property)\\b\/i.test(source))\n      throw new Error(\"Global export CSS is unsupported\");\n    let sheet = new CSSStyleSheet();\n    if (typeof sheet.replaceSync === \"function\") sheet.replaceSync(source);\n    else {\n      const style = document.createElement(\"style\");\n      style.media = \"not all\";\n      style.textContent = source;\n      document.head.append(style);\n      sheet = style.sheet;\n      style.remove();\n    }\n    const names = \/* @__PURE__ *\/ new Map();\n    function collect(rules) {\n      for (const rule of Array.from(rules)) {\n        if (rule.type === 7) {\n          const name = rule.name;\n          names.set(name, name.startsWith(`${scope}__`) ? name : `${scope}__${name}`);\n          for (const frame of Array.from(rule.cssRules)) {\n            for (const property of Array.from(frame.style)) animated.add(property);\n          }\n        }\n        if (rule.type === 5) {\n          const name = rule.style\n            .getPropertyValue(\"font-family\")\n            .replace(\/^['\"]|['\"]$\/g, \"\");\n          names.set(\n            name,\n            name.startsWith(`${scope}__`)\n              ? name\n              : `${scope}__${name.replace(\/\\W\/g, \"_\")}`,\n          );\n        }\n        if (\"cssRules\" in rule \u0026\u0026 rule.type !== 7) collect(rule.cssRules);\n      }\n    }\n    collect(sheet.cssRules);\n    function replaceNames(value) {\n      for (const [name, next] of names) {\n        value = value.replace(\n          new RegExp(\n            `(^|[\\\\s,'\"])${name.replace(\/[.*+?^${}()|[\\]\\\\]\/g, \"\\\\$\u0026\")}(?=$|[\\\\s,'\"])`,\n            \"g\",\n          ),\n          `$1${next}`,\n        );\n      }\n      return value;\n    }\n    function walk(rules) {\n      return Array.from(rules)\n        .map((rule) =\u003e {\n          if (rule.type === 1) {\n            const styleRule = rule;\n            if (styleRule.cssRules?.length)\n              throw new Error(\"Nested export CSS is unsupported\");\n            const scoped = selectors(styleRule.selectorText)\n              .map((selector) =\u003e {\n                if (anchored(selector)) return selector;\n                const local = selector\n                  .replace(\/^(?:html|body|:root)(?=$|[\\s.#[:])\\s*\/, \"\")\n                  .replace(\/^body(?=$|[\\s.#[:])\\s*\/, \"\");\n                if (local !== selector \u0026\u0026 \/^[+~]\/.test(local))\n                  throw new Error(\"Export selector escapes template\");\n                return `${anchor}${local ? ` ${local}` : \"\"}`;\n              })\n              .join(\",\");\n            const protectedDeclarations = declarations(\n              styleRule.style.cssText,\n              (property, raw, important) =\u003e {\n                let value = replaceNames(raw);\n                if (!\/lightbox\/.test(styleRule.selectorText))\n                  value = value.replace(\/(-?(?:\\d*\\.)?\\d+)vw\\b\/g, \"$1cqw\");\n                return `${property}:${value}${animationProperty(property) \u0026\u0026 !important ? \"\" : \"!important\"}`;\n              },\n            );\n            return `${scoped}{${protectedDeclarations}}`;\n          }\n          if (rule.type === 7) {\n            const frames = rule;\n            return frames.cssText.replace(\n              \/^(?:@keyframes|@-webkit-keyframes)\\s+[^\\s{]+\/,\n              `@keyframes ${names.get(frames.name)}`,\n            );\n          }\n          if (rule.type === 5) return replaceNames(rule.cssText);\n          if (\"cssRules\" in rule) {\n            const group = rule;\n            let header = rule.cssText.slice(0, rule.cssText.indexOf(\"{\"));\n            if (\n              \/^@media\\b\/.test(header) \u0026\u0026\n              \/\\bwidth\\s*:\/.test(header) \u0026\u0026\n              !\/height|orientation|prefers-|hover|pointer|print|resolution|,\/.test(\n                header,\n              )\n            ) {\n              header = header.replace(\n                \/^@media\\s*(?:screen\\s+and\\s*)?\/,\n                `@container ${scope} `,\n              );\n            }\n            if (!\/^@(?:media|supports|container)\\b\/.test(header))\n              throw new Error(\"Global export CSS is unsupported\");\n            return `${header}{${walk(group.cssRules)}}`;\n          }\n          throw new Error(\"Global export CSS is unsupported\");\n        })\n        .join(\"\\n\");\n    }\n    return walk(sheet.cssRules);\n  }\n  function protectInline(element, preserveResponsiveFont = false) {\n    if (!(\"style\" in element)) return;\n    if (element.namespaceURI === \"http:\/\/www.w3.org\/2000\/svg\") {\n      for (const property of paintProperties) {\n        const value = element.getAttribute(property);\n        if (value !== null \u0026\u0026 !element.style.getPropertyValue(property))\n          element.style.setProperty(property, value, \"important\");\n      }\n    }\n    const serialized = declarations(\n      element.style.cssText,\n      \/\/ Host editors may materialize desktop font sizes after insertion.\n      \/\/ Keep those normal so the template's responsive CSS can still win.\n      (property, value, important) =\u003e\n        `${property}: ${value}${important || !preserveResponsiveFont || property !== \"font-size\" ? \" !important\" : \"\"}`,\n    );\n    if (element.getAttribute(\"style\") !== serialized)\n      element.setAttribute(\"style\", serialized);\n  }\n  function mount(host) {\n    const previous = \/* @__PURE__ *\/ new WeakMap();\n    function refreshReset() {\n      const style = host.querySelector(`style[data-autoflow-reset=\"${scope}\"]`);\n      const next = reset();\n      if (style \u0026\u0026 style.textContent !== next) style.textContent = next;\n    }\n    function protectStyle(style) {\n      if (\n        style.dataset.autoflowReset === scope ||\n        previous.get(style) === style.textContent\n      )\n        return;\n      const next = rewrite(style.textContent ?? \"\");\n      previous.set(style, next);\n      style.textContent = next;\n      refreshReset();\n    }\n    function protectTree(node) {\n      protectInline(node, true);\n      if (node instanceof HTMLStyleElement) protectStyle(node);\n      node.querySelectorAll(\"[style],style,svg,svg *\").forEach((child) =\u003e {\n        protectInline(child, true);\n        if (child instanceof HTMLStyleElement) protectStyle(child);\n      });\n    }\n    protectTree(host);\n    const observer = new MutationObserver((changes) =\u003e {\n      for (const change of changes) {\n        if (change.type === \"attributes\") protectInline(change.target, true);\n        else if (change.target instanceof HTMLStyleElement) protectStyle(change.target);\n        else\n          change.addedNodes.forEach((node) =\u003e {\n            if (node instanceof Element) protectTree(node);\n          });\n      }\n    });\n    const options = {\n      subtree: true,\n      childList: true,\n      attributes: true,\n      attributeFilter: [\"style\"],\n    };\n    observer.observe(host, options);\n    window.addEventListener(\"pagehide\", () =\u003e observer.disconnect());\n    window.addEventListener(\"pageshow\", (event) =\u003e {\n      if (event.persisted) {\n        protectTree(host);\n        observer.observe(host, options);\n      }\n    });\n  }\n  return {\n    rewrite,\n    mount,\n    protectInline: (element) =\u003e protectInline(element),\n    get reset() {\n      return reset();\n    },\n    hostStyle,\n  };\n})(\"afembed_a801fadc49ee4a779e5d74fd543774d8\").mount(document.currentScript.parentElement);\u003c\/script\u003e\n\u003c\/div\u003e\n\u003c!-- 以下是制动器 --\u003e\n\u003cstyle data-autoflow-reset=\"afembed_7cf20b5c056e469badaf62c8610bb289\"\u003e#afembed_7cf20b5c056e469badaf62c8610bb289#afembed_7cf20b5c056e469badaf62c8610bb289 :where(:not(svg,svg *)){all:revert}#afembed_7cf20b5c056e469badaf62c8610bb289#afembed_7cf20b5c056e469badaf62c8610bb289 :where(*, *::before, *::after){box-sizing:revert!important;color:revert!important;font-family:revert!important;font-size:revert!important;font-style:revert!important;font-weight:revert!important;line-height:revert!important;letter-spacing:revert!important;word-spacing:revert!important;text-align:revert!important;text-transform:revert!important;text-decoration:revert!important;text-indent:revert!important;white-space:revert!important;margin:revert!important;padding:revert!important;border:revert!important;border-radius:revert!important;box-shadow:revert!important;display:revert!important;float:revert!important;position:revert!important;inset:revert!important;width:revert!important;height:revert!important;min-width:revert!important;max-width:revert!important;min-height:revert!important;max-height:revert!important;overflow:revert!important;background:revert!important;list-style:revert!important;vertical-align:revert!important;flex:revert!important;grid-area:revert!important;gap:revert!important}#afembed_7cf20b5c056e469badaf62c8610bb289#afembed_7cf20b5c056e469badaf62c8610bb289 :where(svg,svg *){fill:revert!important;fill-opacity:revert!important;fill-rule:revert!important;stroke:revert!important;stroke-width:revert!important;stroke-linecap:revert!important;stroke-linejoin:revert!important;stroke-dasharray:revert!important;stroke-dashoffset:revert!important;stroke-miterlimit:revert!important;stroke-opacity:revert!important;clip-rule:revert!important;paint-order:revert!important;vector-effect:revert!important}#afembed_7cf20b5c056e469badaf62c8610bb289#afembed_7cf20b5c056e469badaf62c8610bb289 :where(*)::before,#afembed_7cf20b5c056e469badaf62c8610bb289#afembed_7cf20b5c056e469badaf62c8610bb289 :where(*)::after{content:none!important}#afembed_7cf20b5c056e469badaf62c8610bb289#afembed_7cf20b5c056e469badaf62c8610bb289#afembed_7cf20b5c056e469badaf62c8610bb289#afembed_7cf20b5c056e469badaf62c8610bb289#afembed_7cf20b5c056e469badaf62c8610bb289 [hidden]{display:none!important}\u003c\/style\u003e\n\u003cstyle\u003e#afembed_7cf20b5c056e469badaf62c8610bb289#afembed_7cf20b5c056e469badaf62c8610bb289#afembed_7cf20b5c056e469badaf62c8610bb289,#afembed_7cf20b5c056e469badaf62c8610bb289#afembed_7cf20b5c056e469badaf62c8610bb289#afembed_7cf20b5c056e469badaf62c8610bb289{margin:0px!important;min-height:100%!important}\n#afembed_7cf20b5c056e469badaf62c8610bb289#afembed_7cf20b5c056e469badaf62c8610bb289#afembed_7cf20b5c056e469badaf62c8610bb289 *{box-sizing:border-box!important}\n#afembed_7cf20b5c056e469badaf62c8610bb289#afembed_7cf20b5c056e469badaf62c8610bb289#afembed_7cf20b5c056e469badaf62c8610bb289 #autoflow-output-highlights-grid-676aadb4738c48bcbcccb98e97a202cc{background:rgb(0, 0, 0)!important;color:rgb(255, 255, 255)!important;font-family:-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif!important;padding:14px 0px 22px!important}\n#afembed_7cf20b5c056e469badaf62c8610bb289#afembed_7cf20b5c056e469badaf62c8610bb289#afembed_7cf20b5c056e469badaf62c8610bb289 #autoflow-output-highlights-grid-676aadb4738c48bcbcccb98e97a202cc .autoflow-output-highlights-grid-676aadb4738c48bcbcccb98e97a202cc__wrap{margin:0px auto!important;max-width:1900px!important}\n#afembed_7cf20b5c056e469badaf62c8610bb289#afembed_7cf20b5c056e469badaf62c8610bb289#afembed_7cf20b5c056e469badaf62c8610bb289 #autoflow-output-highlights-grid-676aadb4738c48bcbcccb98e97a202cc .autoflow-output-highlights-grid-676aadb4738c48bcbcccb98e97a202cc__title{color:rgb(3, 3, 3)!important;font-size:38px!important;font-weight:700!important;line-height:1.12!important;margin:0px 0px 34px!important;text-align:center!important;white-space:pre-line!important}\n#afembed_7cf20b5c056e469badaf62c8610bb289#afembed_7cf20b5c056e469badaf62c8610bb289#afembed_7cf20b5c056e469badaf62c8610bb289 #autoflow-output-highlights-grid-676aadb4738c48bcbcccb98e97a202cc .autoflow-output-highlights-grid-676aadb4738c48bcbcccb98e97a202cc__grid{display:grid!important;gap:30px 18px!important;grid-template-columns:repeat(2, minmax(0px, 1fr))!important}\n#afembed_7cf20b5c056e469badaf62c8610bb289#afembed_7cf20b5c056e469badaf62c8610bb289#afembed_7cf20b5c056e469badaf62c8610bb289 #autoflow-output-highlights-grid-676aadb4738c48bcbcccb98e97a202cc .autoflow-output-highlights-grid-676aadb4738c48bcbcccb98e97a202cc__card{background:transparent!important;border:0px solid rgb(42, 42, 42)!important;border-radius:0px!important;min-width:0px!important;overflow:hidden!important;padding:0px!important}\n#afembed_7cf20b5c056e469badaf62c8610bb289#afembed_7cf20b5c056e469badaf62c8610bb289#afembed_7cf20b5c056e469badaf62c8610bb289 #autoflow-output-highlights-grid-676aadb4738c48bcbcccb98e97a202cc .autoflow-output-highlights-grid-676aadb4738c48bcbcccb98e97a202cc__media{aspect-ratio:1 \/ 1!important;background:rgb(17, 17, 17)!important;border-radius:12px!important;overflow:hidden!important;width:100%!important}\n#afembed_7cf20b5c056e469badaf62c8610bb289#afembed_7cf20b5c056e469badaf62c8610bb289#afembed_7cf20b5c056e469badaf62c8610bb289 #autoflow-output-highlights-grid-676aadb4738c48bcbcccb98e97a202cc .autoflow-output-highlights-grid-676aadb4738c48bcbcccb98e97a202cc__image{object-fit:contain!important;object-position:center center!important;vertical-align:top!important;border:0px!important;border-radius:0px!important;box-shadow:none!important;display:block!important;height:100%!important;margin:0px!important;max-width:none!important;padding:0px!important;width:100%!important}\n#afembed_7cf20b5c056e469badaf62c8610bb289#afembed_7cf20b5c056e469badaf62c8610bb289#afembed_7cf20b5c056e469badaf62c8610bb289 #autoflow-output-highlights-grid-676aadb4738c48bcbcccb98e97a202cc .autoflow-output-highlights-grid-676aadb4738c48bcbcccb98e97a202cc__card-title{color:rgb(36, 36, 36)!important;font-size:20px!important;font-weight:700!important;line-height:1.18!important;margin:14px 0px 5px!important;overflow-wrap:anywhere!important;text-align:center!important;white-space:pre-line!important}\n#afembed_7cf20b5c056e469badaf62c8610bb289#afembed_7cf20b5c056e469badaf62c8610bb289#afembed_7cf20b5c056e469badaf62c8610bb289 #autoflow-output-highlights-grid-676aadb4738c48bcbcccb98e97a202cc .autoflow-output-highlights-grid-676aadb4738c48bcbcccb98e97a202cc__card-description{color:rgb(56, 56, 56)!important;font-size:15px!important;line-height:1.35!important;margin:0px!important;overflow-wrap:anywhere!important;text-align:left!important;white-space:pre-line!important}\n#afembed_7cf20b5c056e469badaf62c8610bb289#afembed_7cf20b5c056e469badaf62c8610bb289#afembed_7cf20b5c056e469badaf62c8610bb289 #autoflow-output-highlights-grid-676aadb4738c48bcbcccb98e97a202cc{box-sizing:content-box!important;min-height:0px!important;padding:14px 0px 22px!important}\n#afembed_7cf20b5c056e469badaf62c8610bb289#afembed_7cf20b5c056e469badaf62c8610bb289#afembed_7cf20b5c056e469badaf62c8610bb289 #autoflow-output-highlights-grid-676aadb4738c48bcbcccb98e97a202cc .autoflow-output-highlights-grid-676aadb4738c48bcbcccb98e97a202cc__wrap{margin:0px auto!important;max-width:1900px!important}\n#afembed_7cf20b5c056e469badaf62c8610bb289#afembed_7cf20b5c056e469badaf62c8610bb289#afembed_7cf20b5c056e469badaf62c8610bb289 #autoflow-output-highlights-grid-676aadb4738c48bcbcccb98e97a202cc{font-family:inherit!important}\n#afembed_7cf20b5c056e469badaf62c8610bb289#afembed_7cf20b5c056e469badaf62c8610bb289#afembed_7cf20b5c056e469badaf62c8610bb289 #autoflow-output-highlights-grid-676aadb4738c48bcbcccb98e97a202cc .autoflow-output-highlights-grid-676aadb4738c48bcbcccb98e97a202cc__title,#afembed_7cf20b5c056e469badaf62c8610bb289#afembed_7cf20b5c056e469badaf62c8610bb289#afembed_7cf20b5c056e469badaf62c8610bb289 #autoflow-output-highlights-grid-676aadb4738c48bcbcccb98e97a202cc .autoflow-output-highlights-grid-676aadb4738c48bcbcccb98e97a202cc__card-title{letter-spacing:0px!important}\n#afembed_7cf20b5c056e469badaf62c8610bb289#afembed_7cf20b5c056e469badaf62c8610bb289#afembed_7cf20b5c056e469badaf62c8610bb289 #autoflow-output-highlights-grid-676aadb4738c48bcbcccb98e97a202cc .autoflow-output-highlights-grid-676aadb4738c48bcbcccb98e97a202cc__title,#afembed_7cf20b5c056e469badaf62c8610bb289#afembed_7cf20b5c056e469badaf62c8610bb289#afembed_7cf20b5c056e469badaf62c8610bb289 #autoflow-output-highlights-grid-676aadb4738c48bcbcccb98e97a202cc .autoflow-output-highlights-grid-676aadb4738c48bcbcccb98e97a202cc__card-title{line-height:1.2!important}\n#afembed_7cf20b5c056e469badaf62c8610bb289#afembed_7cf20b5c056e469badaf62c8610bb289#afembed_7cf20b5c056e469badaf62c8610bb289 #autoflow-output-highlights-grid-676aadb4738c48bcbcccb98e97a202cc .autoflow-output-highlights-grid-676aadb4738c48bcbcccb98e97a202cc__card-description{letter-spacing:0px!important}\n#afembed_7cf20b5c056e469badaf62c8610bb289#afembed_7cf20b5c056e469badaf62c8610bb289#afembed_7cf20b5c056e469badaf62c8610bb289 #autoflow-output-highlights-grid-676aadb4738c48bcbcccb98e97a202cc .autoflow-output-highlights-grid-676aadb4738c48bcbcccb98e97a202cc__card-description{line-height:1.6!important}\n#afembed_7cf20b5c056e469badaf62c8610bb289#afembed_7cf20b5c056e469badaf62c8610bb289#afembed_7cf20b5c056e469badaf62c8610bb289 #autoflow-output-highlights-grid-676aadb4738c48bcbcccb98e97a202cc .autoflow-output-highlights-grid-676aadb4738c48bcbcccb98e97a202cc__title{color:rgb(3, 3, 3)!important;text-align:center!important}\n#afembed_7cf20b5c056e469badaf62c8610bb289#afembed_7cf20b5c056e469badaf62c8610bb289#afembed_7cf20b5c056e469badaf62c8610bb289 #autoflow-output-highlights-grid-676aadb4738c48bcbcccb98e97a202cc .autoflow-output-highlights-grid-676aadb4738c48bcbcccb98e97a202cc__card{background:transparent!important;border-color:transparent!important;box-shadow:none!important}\n#afembed_7cf20b5c056e469badaf62c8610bb289#afembed_7cf20b5c056e469badaf62c8610bb289#afembed_7cf20b5c056e469badaf62c8610bb289 #autoflow-output-highlights-grid-676aadb4738c48bcbcccb98e97a202cc{background:transparent!important}\n@container afembed_7cf20b5c056e469badaf62c8610bb289 (max-width: 960px) and (min-width: 768px) {#afembed_7cf20b5c056e469badaf62c8610bb289#afembed_7cf20b5c056e469badaf62c8610bb289#afembed_7cf20b5c056e469badaf62c8610bb289 #autoflow-output-highlights-grid-676aadb4738c48bcbcccb98e97a202cc .autoflow-output-highlights-grid-676aadb4738c48bcbcccb98e97a202cc__grid{grid-template-columns:repeat(2, minmax(0px, 1fr))!important}}\n@container afembed_7cf20b5c056e469badaf62c8610bb289 (max-width: 767px) {#afembed_7cf20b5c056e469badaf62c8610bb289#afembed_7cf20b5c056e469badaf62c8610bb289#afembed_7cf20b5c056e469badaf62c8610bb289 #autoflow-output-highlights-grid-676aadb4738c48bcbcccb98e97a202cc{padding:0px 0px 12px!important}\n#afembed_7cf20b5c056e469badaf62c8610bb289#afembed_7cf20b5c056e469badaf62c8610bb289#afembed_7cf20b5c056e469badaf62c8610bb289 #autoflow-output-highlights-grid-676aadb4738c48bcbcccb98e97a202cc .autoflow-output-highlights-grid-676aadb4738c48bcbcccb98e97a202cc__title{font-size:29px!important;margin-bottom:30px!important}\n#afembed_7cf20b5c056e469badaf62c8610bb289#afembed_7cf20b5c056e469badaf62c8610bb289#afembed_7cf20b5c056e469badaf62c8610bb289 #autoflow-output-highlights-grid-676aadb4738c48bcbcccb98e97a202cc .autoflow-output-highlights-grid-676aadb4738c48bcbcccb98e97a202cc__grid{gap:30px 14px!important;grid-template-columns:repeat(2, minmax(0px, 1fr))!important}\n#afembed_7cf20b5c056e469badaf62c8610bb289#afembed_7cf20b5c056e469badaf62c8610bb289#afembed_7cf20b5c056e469badaf62c8610bb289 #autoflow-output-highlights-grid-676aadb4738c48bcbcccb98e97a202cc .autoflow-output-highlights-grid-676aadb4738c48bcbcccb98e97a202cc__media{aspect-ratio:1 \/ 1!important;border-radius:12px!important}\n#afembed_7cf20b5c056e469badaf62c8610bb289#afembed_7cf20b5c056e469badaf62c8610bb289#afembed_7cf20b5c056e469badaf62c8610bb289 #autoflow-output-highlights-grid-676aadb4738c48bcbcccb98e97a202cc .autoflow-output-highlights-grid-676aadb4738c48bcbcccb98e97a202cc__card-title{font-size:17px!important;margin-top:13px!important}\n#afembed_7cf20b5c056e469badaf62c8610bb289#afembed_7cf20b5c056e469badaf62c8610bb289#afembed_7cf20b5c056e469badaf62c8610bb289 #autoflow-output-highlights-grid-676aadb4738c48bcbcccb98e97a202cc .autoflow-output-highlights-grid-676aadb4738c48bcbcccb98e97a202cc__card-description{font-size:15px!important}}\u003c\/style\u003e\n\u003cdiv id=\"afembed_7cf20b5c056e469badaf62c8610bb289\" data-autoflow-embed=\"\" style=\"all: initial!important; display: block!important; box-sizing: border-box!important; width: 100%!important; max-width: 100%!important; min-width: 0!important; margin: 0!important; padding: 0!important; border: 0!important; float: none!important; position: relative!important; isolation: isolate!important; container-type: inline-size!important; direction: ltr!important; unicode-bidi: normal!important; font-family: inherit!important; container-name: afembed_7cf20b5c056e469badaf62c8610bb289!important;\"\u003e\n\u003csection id=\"autoflow-output-highlights-grid-676aadb4738c48bcbcccb98e97a202cc\"\u003e\n\u003cdiv class=\"autoflow-output-highlights-grid-676aadb4738c48bcbcccb98e97a202cc__wrap\"\u003e\n\u003ch2 class=\"autoflow-output-highlights-grid-676aadb4738c48bcbcccb98e97a202cc__title\"\u003eWinch Cable Stopper\u003c\/h2\u003e\n\u003cdiv class=\"autoflow-output-highlights-grid-676aadb4738c48bcbcccb98e97a202cc__grid\"\u003e\n\u003carticle class=\"autoflow-output-highlights-grid-676aadb4738c48bcbcccb98e97a202cc__card\"\u003e\n\u003cdiv class=\"autoflow-output-highlights-grid-676aadb4738c48bcbcccb98e97a202cc__media\"\u003e\u003cimg class=\"autoflow-output-highlights-grid-676aadb4738c48bcbcccb98e97a202cc__image\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0984\/0928\/3905\/files\/1_ff130385-0dd8-4404-a691-4b00166453c3.jpg?v=1793269433\" alt=\"\" loading=\"lazy\" decoding=\"async\" style=\"object-position: center center !important;\"\u003e\u003c\/div\u003e\n\u003ch3 class=\"autoflow-output-highlights-grid-676aadb4738c48bcbcccb98e97a202cc__card-title\"\u003eWinch Component Protection\u003c\/h3\u003e\n\u003cp class=\"autoflow-output-highlights-grid-676aadb4738c48bcbcccb98e97a202cc__card-description\"\u003eThe rubber stopper cushions the winch hook before it contacts the fairlead, helping reduce impact damage and wear on key winch components during recovery.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"autoflow-output-highlights-grid-676aadb4738c48bcbcccb98e97a202cc__card\"\u003e\n\u003cdiv class=\"autoflow-output-highlights-grid-676aadb4738c48bcbcccb98e97a202cc__media\"\u003e\u003cimg class=\"autoflow-output-highlights-grid-676aadb4738c48bcbcccb98e97a202cc__image\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0984\/0928\/3905\/files\/2_59b36a82-0571-4fc3-8541-0e2ddbd5b227.jpg?v=1793269433\" alt=\"\" loading=\"lazy\" decoding=\"async\" style=\"object-position: center center !important;\"\u003e\u003c\/div\u003e\n\u003ch3 class=\"autoflow-output-highlights-grid-676aadb4738c48bcbcccb98e97a202cc__card-title\"\u003eQuieter Trail Rides\u003c\/h3\u003e\n\u003cp class=\"autoflow-output-highlights-grid-676aadb4738c48bcbcccb98e97a202cc__card-description\"\u003eThe stopper keeps the winch hook from bouncing and rattling over rough terrain, reducing unwanted noise while riding on trails and uneven ground.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"autoflow-output-highlights-grid-676aadb4738c48bcbcccb98e97a202cc__card\"\u003e\n\u003cdiv class=\"autoflow-output-highlights-grid-676aadb4738c48bcbcccb98e97a202cc__media\"\u003e\u003cimg class=\"autoflow-output-highlights-grid-676aadb4738c48bcbcccb98e97a202cc__image\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0984\/0928\/3905\/files\/9_37afabf7-6e53-4c52-a70c-2757429bc258.jpg?v=1782526564\" alt=\"\" loading=\"lazy\" decoding=\"async\" style=\"object-position: center center !important;\"\u003e\u003c\/div\u003e\n\u003ch3 class=\"autoflow-output-highlights-grid-676aadb4738c48bcbcccb98e97a202cc__card-title\"\u003eDurable Rubber Construction\u003c\/h3\u003e\n\u003cp class=\"autoflow-output-highlights-grid-676aadb4738c48bcbcccb98e97a202cc__card-description\"\u003eMade from durable, flexible rubber, the stopper absorbs repeated impacts and vibration during winch use, making it a practical choice for regular off-road riding.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"autoflow-output-highlights-grid-676aadb4738c48bcbcccb98e97a202cc__card\"\u003e\n\u003cdiv class=\"autoflow-output-highlights-grid-676aadb4738c48bcbcccb98e97a202cc__media\"\u003e\u003cimg class=\"autoflow-output-highlights-grid-676aadb4738c48bcbcccb98e97a202cc__image\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0984\/0928\/3905\/files\/8_33a63019-01a7-4dd3-b649-5daf38620ee7.jpg?v=1782526565\" alt=\"Product highlight image\" loading=\"lazy\" decoding=\"async\" style=\"object-position: center center !important;\"\u003e\u003c\/div\u003e\n\u003ch3 class=\"autoflow-output-highlights-grid-676aadb4738c48bcbcccb98e97a202cc__card-title\"\u003eEasy Installation\u003c\/h3\u003e\n\u003cp class=\"autoflow-output-highlights-grid-676aadb4738c48bcbcccb98e97a202cc__card-description\"\u003eThe two-piece design fits around the winch line without removing the rope or cable. Secure the stopper with the included hardware and Allen wrench for a simple installation.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003cscript\u003e(function cssShield(scope) {\n  const anchor = `#${scope}#${scope}#${scope}`;\n  const animated = new Set();\n  const paintProperties = [\n    \"fill\",\n    \"fill-opacity\",\n    \"fill-rule\",\n    \"stroke\",\n    \"stroke-width\",\n    \"stroke-linecap\",\n    \"stroke-linejoin\",\n    \"stroke-dasharray\",\n    \"stroke-dashoffset\",\n    \"stroke-miterlimit\",\n    \"stroke-opacity\",\n    \"clip-rule\",\n    \"paint-order\",\n    \"vector-effect\",\n  ];\n  const resetProperties = [\n    \"box-sizing\",\n    \"color\",\n    \"font-family\",\n    \"font-size\",\n    \"font-style\",\n    \"font-weight\",\n    \"line-height\",\n    \"letter-spacing\",\n    \"word-spacing\",\n    \"text-align\",\n    \"text-transform\",\n    \"text-decoration\",\n    \"text-indent\",\n    \"white-space\",\n    \"margin\",\n    \"padding\",\n    \"border\",\n    \"border-radius\",\n    \"box-shadow\",\n    \"display\",\n    \"float\",\n    \"position\",\n    \"inset\",\n    \"width\",\n    \"height\",\n    \"min-width\",\n    \"max-width\",\n    \"min-height\",\n    \"max-height\",\n    \"overflow\",\n    \"background\",\n    \"list-style\",\n    \"vertical-align\",\n    \"flex\",\n    \"grid-area\",\n    \"gap\",\n  ];\n  const animationProperty = (property) =\u003e\n    animated.has(property) ||\n    [...animated].some((name) =\u003e name.startsWith(property + \"-\"));\n  const reset = () =\u003e\n    `#${scope}#${scope} :where(:not(svg,svg *)){all:revert}#${scope}#${scope} :where(*, *::before, *::after){${resetProperties\n      .filter((property) =\u003e !animationProperty(property))\n      .map((property) =\u003e property + \":revert!important\")\n      .join(\n        \";\",\n      )}}#${scope}#${scope} :where(svg,svg *){${paintProperties.map((property) =\u003e property + \":revert!important\").join(\";\")}}#${scope}#${scope} :where(*)::before,#${scope}#${scope} :where(*)::after{content:none!important}${anchor}#${scope}#${scope} [hidden]{display:none!important}`;\n  const hostStyle =\n    \"all:initial!important;display:block!important;box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;padding:0!important;border:0!important;float:none!important;position:relative!important;isolation:isolate!important;container-type:inline-size!important;direction:ltr!important;unicode-bidi:normal!important;\";\n  function selectors(source, separator = \",\") {\n    const parts = [];\n    let part = \"\",\n      depth = 0,\n      quote = \"\",\n      escaped = false;\n    for (const c of source) {\n      if (escaped) {\n        part += c;\n        escaped = false;\n        continue;\n      }\n      if (c === \"\\\\\") {\n        part += c;\n        escaped = true;\n        continue;\n      }\n      if (quote) {\n        part += c;\n        if (c === quote) quote = \"\";\n        continue;\n      }\n      if (c === '\"' || c === \"'\") {\n        quote = c;\n        part += c;\n        continue;\n      }\n      if (c === \"(\" || c === \"[\") depth++;\n      if (c === \")\" || c === \"]\") depth--;\n      if (c === separator \u0026\u0026 depth === 0) {\n        parts.push(part.trim());\n        part = \"\";\n      } else part += c;\n    }\n    if (part.trim()) parts.push(part.trim());\n    return parts;\n  }\n  function declarations(source, process) {\n    return selectors(source, \";\")\n      .map((declaration) =\u003e {\n        let colon = 0;\n        for (; colon \u003c declaration.length; colon++) {\n          if (declaration[colon] === \"\\\\\") colon++;\n          else if (declaration[colon] === \":\") break;\n        }\n        const property = declaration.slice(0, colon).trim();\n        const raw = declaration.slice(colon + 1).trim();\n        const important = \/!important\\s*$\/i.test(raw);\n        const value = raw.replace(\/\\s*!important\\s*$\/i, \"\");\n        return process(property, value, important);\n      })\n      .join(\";\");\n  }\n  function anchored(selector) {\n    if (!selector.startsWith(anchor)) return false;\n    let depth = 0,\n      quote = \"\";\n    for (let i = anchor.length; i \u003c selector.length; i++) {\n      const c = selector[i];\n      if (c === \"\\\\\") {\n        i++;\n        continue;\n      }\n      if (quote) {\n        if (c === quote) quote = \"\";\n        continue;\n      }\n      if (c === '\"' || c === \"'\") {\n        quote = c;\n        continue;\n      }\n      if (c === \"(\" || c === \"[\") {\n        depth++;\n        continue;\n      }\n      if (c === \")\" || c === \"]\") {\n        depth--;\n        continue;\n      }\n      if (depth) continue;\n      if (\n        c === \"+\" ||\n        c === \"~\" ||\n        (\/\\s\/.test(c) \u0026\u0026 \/^[+~]\/.test(selector.slice(i).trimStart()))\n      )\n        throw new Error(\"Export selector escapes template\");\n      if (c === \"\u003e\" || \/\\s\/.test(c)) break;\n    }\n    return true;\n  }\n  function rewrite(source) {\n    if (\/@(?:import|namespace|page|property)\\b\/i.test(source))\n      throw new Error(\"Global export CSS is unsupported\");\n    let sheet = new CSSStyleSheet();\n    if (typeof sheet.replaceSync === \"function\") sheet.replaceSync(source);\n    else {\n      const style = document.createElement(\"style\");\n      style.media = \"not all\";\n      style.textContent = source;\n      document.head.append(style);\n      sheet = style.sheet;\n      style.remove();\n    }\n    const names = \/* @__PURE__ *\/ new Map();\n    function collect(rules) {\n      for (const rule of Array.from(rules)) {\n        if (rule.type === 7) {\n          const name = rule.name;\n          names.set(name, name.startsWith(`${scope}__`) ? name : `${scope}__${name}`);\n          for (const frame of Array.from(rule.cssRules)) {\n            for (const property of Array.from(frame.style)) animated.add(property);\n          }\n        }\n        if (rule.type === 5) {\n          const name = rule.style\n            .getPropertyValue(\"font-family\")\n            .replace(\/^['\"]|['\"]$\/g, \"\");\n          names.set(\n            name,\n            name.startsWith(`${scope}__`)\n              ? name\n              : `${scope}__${name.replace(\/\\W\/g, \"_\")}`,\n          );\n        }\n        if (\"cssRules\" in rule \u0026\u0026 rule.type !== 7) collect(rule.cssRules);\n      }\n    }\n    collect(sheet.cssRules);\n    function replaceNames(value) {\n      for (const [name, next] of names) {\n        value = value.replace(\n          new RegExp(\n            `(^|[\\\\s,'\"])${name.replace(\/[.*+?^${}()|[\\]\\\\]\/g, \"\\\\$\u0026\")}(?=$|[\\\\s,'\"])`,\n            \"g\",\n          ),\n          `$1${next}`,\n        );\n      }\n      return value;\n    }\n    function walk(rules) {\n      return Array.from(rules)\n        .map((rule) =\u003e {\n          if (rule.type === 1) {\n            const styleRule = rule;\n            if (styleRule.cssRules?.length)\n              throw new Error(\"Nested export CSS is unsupported\");\n            const scoped = selectors(styleRule.selectorText)\n              .map((selector) =\u003e {\n                if (anchored(selector)) return selector;\n                const local = selector\n                  .replace(\/^(?:html|body|:root)(?=$|[\\s.#[:])\\s*\/, \"\")\n                  .replace(\/^body(?=$|[\\s.#[:])\\s*\/, \"\");\n                if (local !== selector \u0026\u0026 \/^[+~]\/.test(local))\n                  throw new Error(\"Export selector escapes template\");\n                return `${anchor}${local ? ` ${local}` : \"\"}`;\n              })\n              .join(\",\");\n            const protectedDeclarations = declarations(\n              styleRule.style.cssText,\n              (property, raw, important) =\u003e {\n                let value = replaceNames(raw);\n                if (!\/lightbox\/.test(styleRule.selectorText))\n                  value = value.replace(\/(-?(?:\\d*\\.)?\\d+)vw\\b\/g, \"$1cqw\");\n                return `${property}:${value}${animationProperty(property) \u0026\u0026 !important ? \"\" : \"!important\"}`;\n              },\n            );\n            return `${scoped}{${protectedDeclarations}}`;\n          }\n          if (rule.type === 7) {\n            const frames = rule;\n            return frames.cssText.replace(\n              \/^(?:@keyframes|@-webkit-keyframes)\\s+[^\\s{]+\/,\n              `@keyframes ${names.get(frames.name)}`,\n            );\n          }\n          if (rule.type === 5) return replaceNames(rule.cssText);\n          if (\"cssRules\" in rule) {\n            const group = rule;\n            let header = rule.cssText.slice(0, rule.cssText.indexOf(\"{\"));\n            if (\n              \/^@media\\b\/.test(header) \u0026\u0026\n              \/\\bwidth\\s*:\/.test(header) \u0026\u0026\n              !\/height|orientation|prefers-|hover|pointer|print|resolution|,\/.test(\n                header,\n              )\n            ) {\n              header = header.replace(\n                \/^@media\\s*(?:screen\\s+and\\s*)?\/,\n                `@container ${scope} `,\n              );\n            }\n            if (!\/^@(?:media|supports|container)\\b\/.test(header))\n              throw new Error(\"Global export CSS is unsupported\");\n            return `${header}{${walk(group.cssRules)}}`;\n          }\n          throw new Error(\"Global export CSS is unsupported\");\n        })\n        .join(\"\\n\");\n    }\n    return walk(sheet.cssRules);\n  }\n  function protectInline(element, preserveResponsiveFont = false) {\n    if (!(\"style\" in element)) return;\n    if (element.namespaceURI === \"http:\/\/www.w3.org\/2000\/svg\") {\n      for (const property of paintProperties) {\n        const value = element.getAttribute(property);\n        if (value !== null \u0026\u0026 !element.style.getPropertyValue(property))\n          element.style.setProperty(property, value, \"important\");\n      }\n    }\n    const serialized = declarations(\n      element.style.cssText,\n      \/\/ Host editors may materialize desktop font sizes after insertion.\n      \/\/ Keep those normal so the template's responsive CSS can still win.\n      (property, value, important) =\u003e\n        `${property}: ${value}${important || !preserveResponsiveFont || property !== \"font-size\" ? \" !important\" : \"\"}`,\n    );\n    if (element.getAttribute(\"style\") !== serialized)\n      element.setAttribute(\"style\", serialized);\n  }\n  function mount(host) {\n    const previous = \/* @__PURE__ *\/ new WeakMap();\n    function refreshReset() {\n      const style = host.querySelector(`style[data-autoflow-reset=\"${scope}\"]`);\n      const next = reset();\n      if (style \u0026\u0026 style.textContent !== next) style.textContent = next;\n    }\n    function protectStyle(style) {\n      if (\n        style.dataset.autoflowReset === scope ||\n        previous.get(style) === style.textContent\n      )\n        return;\n      const next = rewrite(style.textContent ?? \"\");\n      previous.set(style, next);\n      style.textContent = next;\n      refreshReset();\n    }\n    function protectTree(node) {\n      protectInline(node, true);\n      if (node instanceof HTMLStyleElement) protectStyle(node);\n      node.querySelectorAll(\"[style],style,svg,svg *\").forEach((child) =\u003e {\n        protectInline(child, true);\n        if (child instanceof HTMLStyleElement) protectStyle(child);\n      });\n    }\n    protectTree(host);\n    const observer = new MutationObserver((changes) =\u003e {\n      for (const change of changes) {\n        if (change.type === \"attributes\") protectInline(change.target, true);\n        else if (change.target instanceof HTMLStyleElement) protectStyle(change.target);\n        else\n          change.addedNodes.forEach((node) =\u003e {\n            if (node instanceof Element) protectTree(node);\n          });\n      }\n    });\n    const options = {\n      subtree: true,\n      childList: true,\n      attributes: true,\n      attributeFilter: [\"style\"],\n    };\n    observer.observe(host, options);\n    window.addEventListener(\"pagehide\", () =\u003e observer.disconnect());\n    window.addEventListener(\"pageshow\", (event) =\u003e {\n      if (event.persisted) {\n        protectTree(host);\n        observer.observe(host, options);\n      }\n    });\n  }\n  return {\n    rewrite,\n    mount,\n    protectInline: (element) =\u003e protectInline(element),\n    get reset() {\n      return reset();\n    },\n    hostStyle,\n  };\n})(\"afembed_7cf20b5c056e469badaf62c8610bb289\").mount(document.currentScript.parentElement);\u003c\/script\u003e\n\u003c\/div\u003e\n\u003c!-- 以下是FAQ --\u003e\n\u003cstyle data-autoflow-reset=\"afembed_3163ba206fd24520ad67ab6fa22227b0\"\u003e#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0 :where(:not(svg,svg *)){all:revert}#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0 :where(*, *::before, *::after){box-sizing:revert!important;color:revert!important;font-family:revert!important;font-size:revert!important;font-style:revert!important;font-weight:revert!important;line-height:revert!important;letter-spacing:revert!important;word-spacing:revert!important;text-align:revert!important;text-transform:revert!important;text-decoration:revert!important;text-indent:revert!important;white-space:revert!important;margin:revert!important;padding:revert!important;border:revert!important;border-radius:revert!important;box-shadow:revert!important;display:revert!important;float:revert!important;position:revert!important;inset:revert!important;width:revert!important;height:revert!important;min-width:revert!important;max-width:revert!important;min-height:revert!important;max-height:revert!important;overflow:revert!important;background:revert!important;list-style:revert!important;vertical-align:revert!important;flex:revert!important;grid-area:revert!important;gap:revert!important}#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0 :where(svg,svg *){fill:revert!important;fill-opacity:revert!important;fill-rule:revert!important;stroke:revert!important;stroke-width:revert!important;stroke-linecap:revert!important;stroke-linejoin:revert!important;stroke-dasharray:revert!important;stroke-dashoffset:revert!important;stroke-miterlimit:revert!important;stroke-opacity:revert!important;clip-rule:revert!important;paint-order:revert!important;vector-effect:revert!important}#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0 :where(*)::before,#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0 :where(*)::after{content:none!important}#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0 [hidden]{display:none!important}\u003c\/style\u003e\n\u003cstyle\u003e#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0,#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0{margin:0px!important;min-height:100%!important}\n#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0 *{box-sizing:border-box!important}\n#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0 #autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd{background:rgb(252, 252, 249)!important;color:rgb(23, 23, 23)!important;font-family:-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif!important;padding:42px 24px!important}\n#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0 #autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd .autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd__wrap{margin:0px auto!important;max-width:860px!important}\n#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0 #autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd .autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd__header{display:block!important;padding:0px!important;width:100%!important;margin:0px 0px 32px!important;text-align:center!important}\n#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0 #autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd .autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd__title{color:rgb(23, 23, 23)!important;font-size:36px!important;line-height:1.2!important;display:block!important;margin:0px 0px 14px!important;max-width:none!important;padding:0px!important;text-align:center!important;width:100%!important}\n#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0 #autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd .autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd__subtitle{color:rgb(95, 99, 104)!important;font-size:16px!important;line-height:1.6!important;display:block!important;margin:0px!important;max-width:none!important;padding:0px!important;text-align:center!important;width:100%!important}\n#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0 #autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd .autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd__list{display:grid!important;gap:14px!important}\n#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0 #autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd .autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd__item{background:rgb(255, 255, 255)!important;border:1px solid rgb(223, 227, 232)!important;border-radius:12px!important;box-shadow:none!important;overflow:hidden!important;transition:border-color 0.3s, box-shadow 0.3s!important}\n#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0 #autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd .autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd__item:hover,#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0 #autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd .autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd__item[open]{border-color:rgb(23, 23, 23)!important;box-shadow:rgba(11, 124, 232, 0.05) 0px 6px 16px!important}\n#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0 #autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd .autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd__question{align-items:center!important;color:rgb(23, 23, 23)!important;cursor:pointer!important;display:flex!important;font-size:17px!important;font-weight:700!important;gap:20px!important;justify-content:space-between!important;list-style:none!important;padding:20px!important;text-align:left!important;transition:background-color 0.2s, color 0.2s!important}\n#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0 #autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd .autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd__question \u003e span:first-child{flex:1 1 0%!important;text-align:inherit!important}\n#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0 #autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd .autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd__question::-webkit-details-marker{display:none!important}\n#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0 #autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd .autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd__question:hover{background:rgb(251, 251, 253)!important;color:rgb(23, 23, 23)!important}\n#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0 #autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd .autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd__icon{align-items:center!important;display:flex!important;flex:0 0 auto!important;height:18px!important;justify-content:center!important;transition:transform 0.2s!important;width:18px!important}\n#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0 #autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd .autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd__icon-mark{align-items:center!important;color:rgb(23, 23, 23)!important;display:flex!important;font-family:Arial, sans-serif!important;font-size:18px!important;font-weight:400!important;height:100%!important;justify-content:center!important;line-height:1!important;width:100%!important}\n#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0 #autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd .autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd__icon img,#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0 #autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd .autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd__icon svg{display:block!important;height:100%!important;object-fit:contain!important;width:100%!important}\n#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0 #autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd .autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd__item[open] .autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd__icon{transform:rotate(45deg)}\n#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0 #autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd .autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd__answer{border-top:1px solid rgb(237, 240, 242)!important;color:rgb(95, 99, 104)!important;font-size:15px!important;line-height:1.75!important;margin:0px!important;padding:18px 20px 20px!important;text-align:left!important}\n#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0 #autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd .autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd__item[open] .autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd__answer{animation:0.28s cubic-bezier(0.16, 1, 0.3, 1) 0s 1 normal both running afembed_3163ba206fd24520ad67ab6fa22227b0__autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd-faq-reveal!important}\n@keyframes afembed_3163ba206fd24520ad67ab6fa22227b0__autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd-faq-reveal { \n  0% { opacity: 0; transform: translateY(-6px); }\n  100% { opacity: 1; transform: translateY(0px); }\n}\n@container afembed_3163ba206fd24520ad67ab6fa22227b0 (max-width: 768px) {#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0 #autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd{padding:48px 16px!important}\n#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0 #autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd .autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd__title{font-size:28px!important}\n#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0 #autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd .autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd__question{font-size:15px!important;padding:20px!important}}\n@media (prefers-reduced-motion: reduce) {#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0 #autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd .autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd__item,#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0 #autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd .autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd__question,#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0 #autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd .autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd__icon{transition:none!important}\n#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0 #autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd .autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd__item[open] .autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd__answer{animation:auto ease 0s 1 normal none running none!important}}\n#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0 #autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd{box-sizing:content-box!important;min-height:0px!important;padding:32px 0px!important}\n#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0 #autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd .autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd__wrap{margin:0px auto!important;max-width:860px!important}\n#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0 #autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd{font-family:-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif!important}\n#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0 #autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd .autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd__title,#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0 #autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd .autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd__subtitle,#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0 #autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd .autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd__question{letter-spacing:0px!important}\n#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0 #autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd .autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd__title,#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0 #autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd .autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd__subtitle,#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0 #autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd .autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd__question{line-height:1.4!important}\n#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0 #autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd .autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd__answer{letter-spacing:0px!important}\n#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0 #autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd .autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd__answer{line-height:1.6!important}\n#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0 #autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd .autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd__title{color:rgb(23, 23, 23)!important;margin-top:0px!important;margin-bottom:14px!important;text-align:center!important}\n#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0 #autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd .autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd__item{background:rgb(255, 255, 255)!important;border-color:rgb(223, 227, 232)!important;box-shadow:none!important}\n#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0 #autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd{background:transparent!important}\n#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0#afembed_3163ba206fd24520ad67ab6fa22227b0 #autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd .autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd__subtitle{color:rgb(95, 99, 104)!important;font-size:16px!important;text-align:center!important}\u003c\/style\u003e\n\u003cdiv id=\"afembed_3163ba206fd24520ad67ab6fa22227b0\" data-autoflow-embed=\"\" style=\"all: initial!important; display: block!important; box-sizing: border-box!important; width: 100%!important; max-width: 100%!important; min-width: 0!important; margin: 0!important; padding: 0!important; border: 0!important; float: none!important; position: relative!important; isolation: isolate!important; container-type: inline-size!important; direction: ltr!important; unicode-bidi: normal!important; container-name: afembed_3163ba206fd24520ad67ab6fa22227b0!important;\"\u003e\n\u003csection id=\"autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd\"\u003e\n\u003cdiv class=\"autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd__wrap\"\u003e\n\u003cheader class=\"autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd__header\"\u003e\n\u003ch2 class=\"autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd__title\"\u003eFAQ\u003c\/h2\u003e\n\u003c\/header\u003e\n\u003cdiv class=\"autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd__list\"\u003e\n\u003cdetails class=\"autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd__item\" name=\"autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd-accordion\"\u003e\n\u003csummary class=\"autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd__question\"\u003e\u003cspan\u003eQ1: How much load can the recovery ring handle?\u003c\/span\u003e\u003cspan class=\"autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd__icon\" aria-hidden=\"true\"\u003e\u003cspan class=\"autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd__icon-mark\"\u003e+\u003c\/span\u003e\u003c\/span\u003e\u003c\/summary\u003e\n\u003cp class=\"autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd__answer\"\u003eA1: The aluminum alloy recovery ring has a rated load capacity of 66,000 lbs, providing strong load support for demanding off-road recovery situations.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails class=\"autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd__item\" name=\"autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd-accordion\"\u003e\n\u003csummary class=\"autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd__question\"\u003e\u003cspan\u003eQ2: What material is the recovery ring made of?\u003c\/span\u003e\u003cspan class=\"autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd__icon\" aria-hidden=\"true\"\u003e\u003cspan class=\"autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd__icon-mark\"\u003e+\u003c\/span\u003e\u003c\/span\u003e\u003c\/summary\u003e\n\u003cp class=\"autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd__answer\"\u003eA2: The recovery ring is made of aluminum alloy, offering a strong yet lightweight design that is easy to carry with your off-road recovery gear.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails class=\"autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd__item\" name=\"autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd-accordion\"\u003e\n\u003csummary class=\"autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd__question\"\u003e\u003cspan\u003eQ3: Can the recovery ring change the pulling direction?\u003c\/span\u003e\u003cspan class=\"autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd__icon\" aria-hidden=\"true\"\u003e\u003cspan class=\"autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd__icon-mark\"\u003e+\u003c\/span\u003e\u003c\/span\u003e\u003c\/summary\u003e\n\u003cp class=\"autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd__answer\"\u003eA3: Yes. The recovery ring redirects the winch rope when a straight-line pull isn't possible and can support double-line pulls when used with compatible recovery gear.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails class=\"autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd__item\" name=\"autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd-accordion\"\u003e\n\u003csummary class=\"autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd__question\"\u003e\u003cspan\u003eQ4: What is the breaking strength of the synthetic winch rope?\u003c\/span\u003e\u003cspan class=\"autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd__icon\" aria-hidden=\"true\"\u003e\u003cspan class=\"autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd__icon-mark\"\u003e+\u003c\/span\u003e\u003c\/span\u003e\u003c\/summary\u003e\n\u003cp class=\"autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd__answer\"\u003eA4: The synthetic winch rope has a breaking strength of 7,700 lbs, providing strong pulling capability for demanding ATV and UTV recovery tasks.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails class=\"autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd__item\" name=\"autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd-accordion\"\u003e\n\u003csummary class=\"autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd__question\"\u003e\u003cspan\u003eQ5: What size is the synthetic winch rope?\u003c\/span\u003e\u003cspan class=\"autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd__icon\" aria-hidden=\"true\"\u003e\u003cspan class=\"autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd__icon-mark\"\u003e+\u003c\/span\u003e\u003c\/span\u003e\u003c\/summary\u003e\n\u003cp class=\"autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd__answer\"\u003eA5: The rope measures 1\/4 inch in diameter and 50 ft long (about 6 mm × 15 m), offering practical reach for a variety of off-road recovery situations.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails class=\"autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd__item\" name=\"autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd-accordion\"\u003e\n\u003csummary class=\"autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd__question\"\u003e\u003cspan\u003eQ6: What size winch is the rope compatible with?\u003c\/span\u003e\u003cspan class=\"autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd__icon\" aria-hidden=\"true\"\u003e\u003cspan class=\"autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd__icon-mark\"\u003e+\u003c\/span\u003e\u003c\/span\u003e\u003c\/summary\u003e\n\u003cp class=\"autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd__answer\"\u003eA6: The rope is designed for ATV and UTV setups equipped with 4,000–5,000 lbs winches, making it a practical replacement for compatible factory winch lines.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails class=\"autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd__item\" name=\"autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd-accordion\"\u003e\n\u003csummary class=\"autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd__question\"\u003e\u003cspan\u003eQ7: Where does the winch rope stopper install?\u003c\/span\u003e\u003cspan class=\"autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd__icon\" aria-hidden=\"true\"\u003e\u003cspan class=\"autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd__icon-mark\"\u003e+\u003c\/span\u003e\u003c\/span\u003e\u003c\/summary\u003e\n\u003cp class=\"autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd__answer\"\u003eA7: The rubber stopper mounts on the winch line near the hook, cushioning contact with the fairlead and helping reduce repeated impact during winch operation.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails class=\"autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd__item\" name=\"autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd-accordion\"\u003e\n\u003csummary class=\"autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd__question\"\u003e\u003cspan\u003eQ8: What is the winch rope stopper made of?\u003c\/span\u003e\u003cspan class=\"autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd__icon\" aria-hidden=\"true\"\u003e\u003cspan class=\"autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd__icon-mark\"\u003e+\u003c\/span\u003e\u003c\/span\u003e\u003c\/summary\u003e\n\u003cp class=\"autoflow-output-faq-accordion-a599f20ff2a54f8eadc533bd562b27fd__answer\"\u003eA8: Made from rubber, the stopper absorbs impact and helps cushion contact between winch components, adding a protective buffer to your recovery setup.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003cscript\u003e(function cssShield(scope) {\n  const anchor = `#${scope}#${scope}#${scope}`;\n  const animated = new Set();\n  const paintProperties = [\n    \"fill\",\n    \"fill-opacity\",\n    \"fill-rule\",\n    \"stroke\",\n    \"stroke-width\",\n    \"stroke-linecap\",\n    \"stroke-linejoin\",\n    \"stroke-dasharray\",\n    \"stroke-dashoffset\",\n    \"stroke-miterlimit\",\n    \"stroke-opacity\",\n    \"clip-rule\",\n    \"paint-order\",\n    \"vector-effect\",\n  ];\n  const resetProperties = [\n    \"box-sizing\",\n    \"color\",\n    \"font-family\",\n    \"font-size\",\n    \"font-style\",\n    \"font-weight\",\n    \"line-height\",\n    \"letter-spacing\",\n    \"word-spacing\",\n    \"text-align\",\n    \"text-transform\",\n    \"text-decoration\",\n    \"text-indent\",\n    \"white-space\",\n    \"margin\",\n    \"padding\",\n    \"border\",\n    \"border-radius\",\n    \"box-shadow\",\n    \"display\",\n    \"float\",\n    \"position\",\n    \"inset\",\n    \"width\",\n    \"height\",\n    \"min-width\",\n    \"max-width\",\n    \"min-height\",\n    \"max-height\",\n    \"overflow\",\n    \"background\",\n    \"list-style\",\n    \"vertical-align\",\n    \"flex\",\n    \"grid-area\",\n    \"gap\",\n  ];\n  const animationProperty = (property) =\u003e\n    animated.has(property) ||\n    [...animated].some((name) =\u003e name.startsWith(property + \"-\"));\n  const reset = () =\u003e\n    `#${scope}#${scope} :where(:not(svg,svg *)){all:revert}#${scope}#${scope} :where(*, *::before, *::after){${resetProperties\n      .filter((property) =\u003e !animationProperty(property))\n      .map((property) =\u003e property + \":revert!important\")\n      .join(\n        \";\",\n      )}}#${scope}#${scope} :where(svg,svg *){${paintProperties.map((property) =\u003e property + \":revert!important\").join(\";\")}}#${scope}#${scope} :where(*)::before,#${scope}#${scope} :where(*)::after{content:none!important}${anchor}#${scope}#${scope} [hidden]{display:none!important}`;\n  const hostStyle =\n    \"all:initial!important;display:block!important;box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;padding:0!important;border:0!important;float:none!important;position:relative!important;isolation:isolate!important;container-type:inline-size!important;direction:ltr!important;unicode-bidi:normal!important;\";\n  function selectors(source, separator = \",\") {\n    const parts = [];\n    let part = \"\",\n      depth = 0,\n      quote = \"\",\n      escaped = false;\n    for (const c of source) {\n      if (escaped) {\n        part += c;\n        escaped = false;\n        continue;\n      }\n      if (c === \"\\\\\") {\n        part += c;\n        escaped = true;\n        continue;\n      }\n      if (quote) {\n        part += c;\n        if (c === quote) quote = \"\";\n        continue;\n      }\n      if (c === '\"' || c === \"'\") {\n        quote = c;\n        part += c;\n        continue;\n      }\n      if (c === \"(\" || c === \"[\") depth++;\n      if (c === \")\" || c === \"]\") depth--;\n      if (c === separator \u0026\u0026 depth === 0) {\n        parts.push(part.trim());\n        part = \"\";\n      } else part += c;\n    }\n    if (part.trim()) parts.push(part.trim());\n    return parts;\n  }\n  function declarations(source, process) {\n    return selectors(source, \";\")\n      .map((declaration) =\u003e {\n        let colon = 0;\n        for (; colon \u003c declaration.length; colon++) {\n          if (declaration[colon] === \"\\\\\") colon++;\n          else if (declaration[colon] === \":\") break;\n        }\n        const property = declaration.slice(0, colon).trim();\n        const raw = declaration.slice(colon + 1).trim();\n        const important = \/!important\\s*$\/i.test(raw);\n        const value = raw.replace(\/\\s*!important\\s*$\/i, \"\");\n        return process(property, value, important);\n      })\n      .join(\";\");\n  }\n  function anchored(selector) {\n    if (!selector.startsWith(anchor)) return false;\n    let depth = 0,\n      quote = \"\";\n    for (let i = anchor.length; i \u003c selector.length; i++) {\n      const c = selector[i];\n      if (c === \"\\\\\") {\n        i++;\n        continue;\n      }\n      if (quote) {\n        if (c === quote) quote = \"\";\n        continue;\n      }\n      if (c === '\"' || c === \"'\") {\n        quote = c;\n        continue;\n      }\n      if (c === \"(\" || c === \"[\") {\n        depth++;\n        continue;\n      }\n      if (c === \")\" || c === \"]\") {\n        depth--;\n        continue;\n      }\n      if (depth) continue;\n      if (\n        c === \"+\" ||\n        c === \"~\" ||\n        (\/\\s\/.test(c) \u0026\u0026 \/^[+~]\/.test(selector.slice(i).trimStart()))\n      )\n        throw new Error(\"Export selector escapes template\");\n      if (c === \"\u003e\" || \/\\s\/.test(c)) break;\n    }\n    return true;\n  }\n  function rewrite(source) {\n    if (\/@(?:import|namespace|page|property)\\b\/i.test(source))\n      throw new Error(\"Global export CSS is unsupported\");\n    let sheet = new CSSStyleSheet();\n    if (typeof sheet.replaceSync === \"function\") sheet.replaceSync(source);\n    else {\n      const style = document.createElement(\"style\");\n      style.media = \"not all\";\n      style.textContent = source;\n      document.head.append(style);\n      sheet = style.sheet;\n      style.remove();\n    }\n    const names = \/* @__PURE__ *\/ new Map();\n    function collect(rules) {\n      for (const rule of Array.from(rules)) {\n        if (rule.type === 7) {\n          const name = rule.name;\n          names.set(name, name.startsWith(`${scope}__`) ? name : `${scope}__${name}`);\n          for (const frame of Array.from(rule.cssRules)) {\n            for (const property of Array.from(frame.style)) animated.add(property);\n          }\n        }\n        if (rule.type === 5) {\n          const name = rule.style\n            .getPropertyValue(\"font-family\")\n            .replace(\/^['\"]|['\"]$\/g, \"\");\n          names.set(\n            name,\n            name.startsWith(`${scope}__`)\n              ? name\n              : `${scope}__${name.replace(\/\\W\/g, \"_\")}`,\n          );\n        }\n        if (\"cssRules\" in rule \u0026\u0026 rule.type !== 7) collect(rule.cssRules);\n      }\n    }\n    collect(sheet.cssRules);\n    function replaceNames(value) {\n      for (const [name, next] of names) {\n        value = value.replace(\n          new RegExp(\n            `(^|[\\\\s,'\"])${name.replace(\/[.*+?^${}()|[\\]\\\\]\/g, \"\\\\$\u0026\")}(?=$|[\\\\s,'\"])`,\n            \"g\",\n          ),\n          `$1${next}`,\n        );\n      }\n      return value;\n    }\n    function walk(rules) {\n      return Array.from(rules)\n        .map((rule) =\u003e {\n          if (rule.type === 1) {\n            const styleRule = rule;\n            if (styleRule.cssRules?.length)\n              throw new Error(\"Nested export CSS is unsupported\");\n            const scoped = selectors(styleRule.selectorText)\n              .map((selector) =\u003e {\n                if (anchored(selector)) return selector;\n                const local = selector\n                  .replace(\/^(?:html|body|:root)(?=$|[\\s.#[:])\\s*\/, \"\")\n                  .replace(\/^body(?=$|[\\s.#[:])\\s*\/, \"\");\n                if (local !== selector \u0026\u0026 \/^[+~]\/.test(local))\n                  throw new Error(\"Export selector escapes template\");\n                return `${anchor}${local ? ` ${local}` : \"\"}`;\n              })\n              .join(\",\");\n            const protectedDeclarations = declarations(\n              styleRule.style.cssText,\n              (property, raw, important) =\u003e {\n                let value = replaceNames(raw);\n                if (!\/lightbox\/.test(styleRule.selectorText))\n                  value = value.replace(\/(-?(?:\\d*\\.)?\\d+)vw\\b\/g, \"$1cqw\");\n                return `${property}:${value}${animationProperty(property) \u0026\u0026 !important ? \"\" : \"!important\"}`;\n              },\n            );\n            return `${scoped}{${protectedDeclarations}}`;\n          }\n          if (rule.type === 7) {\n            const frames = rule;\n            return frames.cssText.replace(\n              \/^(?:@keyframes|@-webkit-keyframes)\\s+[^\\s{]+\/,\n              `@keyframes ${names.get(frames.name)}`,\n            );\n          }\n          if (rule.type === 5) return replaceNames(rule.cssText);\n          if (\"cssRules\" in rule) {\n            const group = rule;\n            let header = rule.cssText.slice(0, rule.cssText.indexOf(\"{\"));\n            if (\n              \/^@media\\b\/.test(header) \u0026\u0026\n              \/\\bwidth\\s*:\/.test(header) \u0026\u0026\n              !\/height|orientation|prefers-|hover|pointer|print|resolution|,\/.test(\n                header,\n              )\n            ) {\n              header = header.replace(\n                \/^@media\\s*(?:screen\\s+and\\s*)?\/,\n                `@container ${scope} `,\n              );\n            }\n            if (!\/^@(?:media|supports|container)\\b\/.test(header))\n              throw new Error(\"Global export CSS is unsupported\");\n            return `${header}{${walk(group.cssRules)}}`;\n          }\n          throw new Error(\"Global export CSS is unsupported\");\n        })\n        .join(\"\\n\");\n    }\n    return walk(sheet.cssRules);\n  }\n  function protectInline(element, preserveResponsiveFont = false) {\n    if (!(\"style\" in element)) return;\n    if (element.namespaceURI === \"http:\/\/www.w3.org\/2000\/svg\") {\n      for (const property of paintProperties) {\n        const value = element.getAttribute(property);\n        if (value !== null \u0026\u0026 !element.style.getPropertyValue(property))\n          element.style.setProperty(property, value, \"important\");\n      }\n    }\n    const serialized = declarations(\n      element.style.cssText,\n      \/\/ Host editors may materialize desktop font sizes after insertion.\n      \/\/ Keep those normal so the template's responsive CSS can still win.\n      (property, value, important) =\u003e\n        `${property}: ${value}${important || !preserveResponsiveFont || property !== \"font-size\" ? \" !important\" : \"\"}`,\n    );\n    if (element.getAttribute(\"style\") !== serialized)\n      element.setAttribute(\"style\", serialized);\n  }\n  function mount(host) {\n    const previous = \/* @__PURE__ *\/ new WeakMap();\n    function refreshReset() {\n      const style = host.querySelector(`style[data-autoflow-reset=\"${scope}\"]`);\n      const next = reset();\n      if (style \u0026\u0026 style.textContent !== next) style.textContent = next;\n    }\n    function protectStyle(style) {\n      if (\n        style.dataset.autoflowReset === scope ||\n        previous.get(style) === style.textContent\n      )\n        return;\n      const next = rewrite(style.textContent ?? \"\");\n      previous.set(style, next);\n      style.textContent = next;\n      refreshReset();\n    }\n    function protectTree(node) {\n      protectInline(node, true);\n      if (node instanceof HTMLStyleElement) protectStyle(node);\n      node.querySelectorAll(\"[style],style,svg,svg *\").forEach((child) =\u003e {\n        protectInline(child, true);\n        if (child instanceof HTMLStyleElement) protectStyle(child);\n      });\n    }\n    protectTree(host);\n    const observer = new MutationObserver((changes) =\u003e {\n      for (const change of changes) {\n        if (change.type === \"attributes\") protectInline(change.target, true);\n        else if (change.target instanceof HTMLStyleElement) protectStyle(change.target);\n        else\n          change.addedNodes.forEach((node) =\u003e {\n            if (node instanceof Element) protectTree(node);\n          });\n      }\n    });\n    const options = {\n      subtree: true,\n      childList: true,\n      attributes: true,\n      attributeFilter: [\"style\"],\n    };\n    observer.observe(host, options);\n    window.addEventListener(\"pagehide\", () =\u003e observer.disconnect());\n    window.addEventListener(\"pageshow\", (event) =\u003e {\n      if (event.persisted) {\n        protectTree(host);\n        observer.observe(host, options);\n      }\n    });\n  }\n  return {\n    rewrite,\n    mount,\n    protectInline: (element) =\u003e protectInline(element),\n    get reset() {\n      return reset();\n    },\n    hostStyle,\n  };\n})(\"afembed_3163ba206fd24520ad67ab6fa22227b0\").mount(document.currentScript.parentElement);\u003c\/script\u003e\n\u003c\/div\u003e","brand":"Manrock","offers":[{"title":"Default Title","offer_id":68083149799745,"sku":"CA0498","price":69.97,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0984\/0928\/3905\/files\/4_d682ab2e-c21a-4c88-ad8d-c7c7424a4e51.jpg?v=1793180740","url":"https:\/\/manrock.com\/products\/utv-atv-recovery-ring-winch-cable-stopper-synthetic-winch-rope-universal-utv-polaris-can-am-honda-kawasaki-cfmoto","provider":"Manrock","version":"1.0","type":"link"}