{"product_id":"xhorse-condor-xc-twins-auto-residential-key-machine","title":"Xhorse Condor XC-TWINS - AI Optics, 2-Cutter, Pressure Sensor - Automotive \u0026 Residential Automatic Key Cutting Machine - Medeco Compatible","description":"\u003c!--\n============================================================================\n  KEYSHOP • XHORSE CONDOR XC-TWINS (XCMT01GL)\n  Shopify Product Description Block - ENGLISH \/ LTR\n  ---------------------------------------------------------------------------\n  • Self-contained: every CSS rule is scoped under .ks-xct - nothing leaks out,\n    and theme styles are neutralised inside the block.\n  • Dual-render safe: no IDs, per-root init flag (data-ks-init) so Shopify\n    themes that inject the description twice do NOT break the JS.\n  • No external requests, no fonts, no images, no libraries.\n  • Paste as-is into the product description \"Edit HTML (\u003c\u003e)\" view.\n============================================================================\n--\u003e\n\u003cdiv class=\"ks-xct\" dir=\"ltr\" lang=\"en\" data-ks-widget=\"xc-twins\"\u003e\n\n\u003cstyle\u003e\n\/* =========================================================================\n   1. SCOPE RESET - neutralise theme styles inside the block only\n   ========================================================================= *\/\n.ks-xct{\n  \/* ---- design tokens (edit here to restyle the whole block) ---- *\/\n  --ks-bg:#0d1117;\n  --ks-bg-2:#111823;\n  --ks-card:rgba(22,29,39,.66);\n  --ks-card-2:rgba(28,37,50,.82);\n  --ks-card-top:rgba(22,29,39,.70);\n  --ks-card-bot:rgba(13,17,23,.42);\n  --ks-line:#243040;\n  --ks-orange:#ff7a1a;\n  --ks-orange-d:#e05f00;\n  --ks-teal:#28c4b8;\n  --ks-txt:#e8eef6;\n  --ks-mut:#9db0c6;\n  --ks-radius:16px;\n  --ks-sticky-top:8px;      \/* auto-adjusted by JS if theme has a sticky header *\/\n  --ks-font:\"Inter\",\"Poppins\",\"Segoe UI\",Roboto,\"Helvetica Neue\",Arial,sans-serif;\n\n  display:block!important;\n  box-sizing:border-box;\n  width:100%;\n  max-width:100%;\n  margin:0!important;\n  padding:0!important;\n  border:0!important;\n  background:transparent!important;\n  color:var(--ks-txt)!important;\n  font-family:var(--ks-font)!important;\n  font-size:16px!important;\n  line-height:1.7!important;\n  font-weight:400!important;\n  letter-spacing:normal!important;\n  text-align:start!important;\n  direction:ltr;\n  -webkit-text-size-adjust:100%;\n  text-rendering:optimizeLegibility;\n}\n\/* broad reset (0,1,0) *\/\n.ks-xct *,\n.ks-xct *::before,\n.ks-xct *::after{\n  box-sizing:border-box;\n  margin:0;padding:0;border:0;background:transparent;\n  font-family:inherit;font-size:inherit;font-weight:inherit;font-style:normal;\n  color:inherit;text-align:inherit;line-height:inherit;\n  text-transform:none;text-decoration:none;text-shadow:none;\n  letter-spacing:normal;word-spacing:normal;text-indent:0;white-space:normal;\n  box-shadow:none;float:none;position:static;\n  min-width:0;max-width:100%;vertical-align:baseline;list-style:none;\n}\n\/* same reset at (0,1,1) so it also beats theme rules such as .rte p \/ .rte h2 *\/\n.ks-xct div,.ks-xct p,.ks-xct span,.ks-xct ul,.ks-xct ol,.ks-xct li,\n.ks-xct h1,.ks-xct h2,.ks-xct h3,.ks-xct h4,.ks-xct h5,.ks-xct h6,\n.ks-xct table,.ks-xct tbody,.ks-xct thead,.ks-xct tr,.ks-xct th,.ks-xct td,\n.ks-xct section,.ks-xct article,.ks-xct aside,.ks-xct header,.ks-xct footer,\n.ks-xct nav,.ks-xct main,.ks-xct figure,.ks-xct figcaption,.ks-xct a,\n.ks-xct button,.ks-xct label,.ks-xct dl,.ks-xct dt,.ks-xct dd,\n.ks-xct strong,.ks-xct em,.ks-xct small,.ks-xct svg,.ks-xct img,.ks-xct iframe{\n  margin:0;padding:0;border:0;background:transparent;\n  font-family:inherit;font-size:inherit;font-weight:inherit;font-style:normal;\n  color:inherit;text-align:inherit;line-height:inherit;\n  text-transform:none;text-decoration:none;text-shadow:none;\n  letter-spacing:normal;word-spacing:normal;text-indent:0;white-space:normal;\n  box-shadow:none;float:none;position:static;\n  min-width:0;max-width:100%;vertical-align:baseline;list-style:none;\n}\n.ks-xct ul,.ks-xct ol{list-style:none}\n.ks-xct table{border-collapse:collapse;border-spacing:0;width:100%}\n.ks-xct img,.ks-xct svg{max-width:100%;height:auto;display:block}\n.ks-xct button{font:inherit;cursor:pointer;-webkit-appearance:none;appearance:none;\n  text-transform:none;letter-spacing:normal;min-height:auto;width:auto;border-radius:0}\n.ks-xct .ks-wrap strong,.ks-xct .ks-wrap b{font-weight:800}\n\n\/* =========================================================================\n   2. SHELL\n   ========================================================================= *\/\n.ks-xct .ks-wrap{\n  position:relative;isolation:isolate;\n  background:\n    radial-gradient(900px 380px at 100% -8%, rgba(255,122,26,.14), transparent 60%),\n    radial-gradient(760px 340px at 0% 4%, rgba(40,196,184,.11), transparent 62%),\n    linear-gradient(180deg,var(--ks-bg) 0%, var(--ks-bg-2) 100%);\n  border:1px solid var(--ks-line);\n  border-radius:var(--ks-radius);\n  padding:clamp(18px,3.6vw,40px);\n  overflow-wrap:break-word;\n}\n.ks-xct .ks-wrap \u003e :not(.ks-fx){position:relative;z-index:1}\n.ks-xct .ks-sec{margin-top:clamp(36px,6vw,68px)}\n.ks-xct .ks-sec:first-child{margin-top:0}\n\n\/* -------------------------------------------------------------------------\n   AMBIENT BACKGROUND - the M5L clamp, floating slowly behind the content.\n   Clipped by .ks-fx (overflow:hidden) so position:sticky elsewhere still works.\n   Image is an inline data: URI - no external request.\n   ------------------------------------------------------------------------- *\/\n.ks-xct .ks-fx{\n  position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;\n  border-radius:var(--ks-radius);\n}\n.ks-xct .ks-fx__move{\n  position:absolute;inset:-14% 0;\n  transform:translate3d(0,var(--ks-par,0px),0);\n  transition:transform .18s linear;will-change:transform;\n}\n.ks-xct .ks-fx__c{\n  position:absolute;display:block;\n  background-image:url(\"data:image\/webp;base64,UklGRooqAABXRUJQVlA4WAoAAAAQAAAAywEA8QAAQUxQSG8TAAAB\/yckSPD\/eGtEpO4TkCNJUiRVVNdiZ+svMMPBN6L\/E2BLE4AkwGb5Upe6l57RKanRjIixJJrPiIiORFY75xECJKmXWrRELVjT19vMPgPEO+zT2i4H5j5nFIA0grvrkIXu+oW4yt0v8V9JOsyvUAZKDKSUziIiriEkCSgnuTcA6x+D+\/+NQwq6JTuDP0OOI2wp9gR8Ve7YKiOts71YMy6yG+AN27bFbbNt24\/znJFkjCEONsxlZmZub2b8ycx8P8zMzJj7Wto0ZQoUk7TpVQzUqZuYUXYsS5rzPPYfGskQWZ55MCImAI1zU\/dYEYtqjKDm9nWBoEaWBuYAqBLJv9jQbLrv1SFdAKrGiO3qqs1uu6\/Z1OIH\/923HiwPFQB6JnrSsm0XmnpGipg\/dTQPUBmse\/CmUGrRvrnI14LitwXCj\/+HU55+eNoneWbPX\/inVoxyfmRh\/3sOfuLimnuzpYi1UInaqQqg9O2Mav4\/vDKZ2IkRab\/yBiy0uzBGlg68+4iNiCVIVbD4yR8fjRI6ZrsDGhsuGKmE9o+tc8RSpRv6jQNFJnPR2h\/pEiy6UrB06cf\/0iuDM8udAWCsqRDKghgzDypkBWC+PNAVLIGlXjrV+48PL3PSLor2da1iBFawkGFXVmqiTpUBSCMnVqBTvSqot0TPGyfdsibBDeGbvPvxL9+amsp1GOH87Jqf2GZrIee+M9GMqJFjdpUVqFfUYZ4b9cuZAGdyU2bjjl2Xn3juyu9rNjI\/ad69CrW73q33udEWRg1bedf3N1tBfaZXLN9ipDU3dtPDGRuu2zJyrntniIU0RuYB7d4km+7FoIc0WiIA3PFDmwLUq+VcjLS233ELv95uAGuUYrBExZiuTabrojNmGTA1iFxyxgAiGD7lUd8NRJYh09p+1\/W9Ra8Gl6AY5F7\/sLNNpO61wQEigFhzqdmWNi3DCr2yrglALLciknv4mnNlxSXct\/svPJ0z9Y5PY4hGDExbT1fu0pL2h79v9nOzts1CsKIUAxEEbSXFJc0dD+4NUNeFFw\/sOnOOQWurtHzfn\/7WDe5SMtl7n+reeuXuv\/WjbWZZ4DLSnJWWHBDhUjdBAABStwQGpaA5NLmnrnz1+OSJwrd6CQnMzsub9zxBIJC6JwJgxnN5MHjihtanbg7R8EpbIKb52WuC8KoNX\/SWX\/+4mJm9NASVYo2YEMskgVemPZcFecF1yBVbbMMTtD+7xzJ77SYRK+rdZ6fnDr5S1vkJYwSUBYMIKAYCynIByD96Oa+QGNY1fHz2+ZM0aHQFzTeuEUogqMzgBjf7tyyMyrzACkAoCyTZDADJNYGCZZNy\/O++XEIswQrWKXHFk31E3RRABKxDgFiDWmnCTGByKGOegS0BgM2hnLELY8I7rwsAsZfnDJZRzv69fzatGQOwXFIAahjH+iIh4BzqqkCVl55IbQIARM1CQDLX2E8hNZnNe967qDDrH9ETN3eZBSFHCwpArMWy4k5+fNTdngHciVdKCrg5xBLxrA9iuyLUXY2KlDoggEgVCCQTRVILBMy2uOCBu6ypBYWLXQGAuRF0TZSwoOo9lmdf+kr3WYg\/e6JM+DNvFLTCl7wAIOJ5iZncji983XGfHSySl5IIwpZmCzE2hiZrTcstvYraJXf\/7yNaf5GsRSN\/VcZAIzW7iIUVLN8eFgC8V4At3RYAfP8r0x6AlrwAIGIZJ0sv3Pjr32jd0XMfFt0SE1AqBIyR7U9MHZyQbJzpenq9ifod5u081KF2AsYICEDQuFIAjVihQ0dmFPAjzw0pAF\/yAjBOQo2WlojdfZVH\/XVRVFoqEgcgJjARYXNiNt45c6Sw7qluG9N+b9mXFQtJwTwFgADS4MTHiDolwIm3xxXw+QPfKsiSAwSZu8a\/62K4RNRdaO9gHaL\/6qUCF00qIBVh6BgawOzdeLQoOx9rMTagkzX3dZgKmBDEipUARCMFoDNvDyh84eXTCiC4euyUjwG4FASaCS3qMXvfKXoujoACIAwFYm++5fPCrRmB3bn2WNFsubdZIABMKIgVQigrFAoAUAgAjJTg3KFeBVE6crKMSroIS1Hd+bY2qUtwUVQSWQyhhAFMeOd1gSC47oZTc9eHAgnEKYJAECuExFAAwcqWAoCIpXMAUX7nc19Bd\/J4URZPqDawqM90X7\/qdBEE2aY79ljKbVcHgASBZ4jqQkgMBStyQggA9E4rBIafNplFo+9f1SZ1Ctr7ukIWTGzb3buEUBcGqCqsEAIQrPSJeQZXX49tS0BhDOp26cyA54IFXXfv8GVVIWIFCSXjTJDdZy\/oItEPdrfXMd8rBgsssDu2FJUEKDGJpzDMALJYCos67q\/ZGS4Q\/fDqWSWSVIFgsf1gT7vUM3atueAWBhrRI2E2vgyDus6Bty76BfEXOjqRtBLg4mQGetrrnLhZz4XQwqE+Ji6wAbgo2TeHiPpu2lcPOC4A3ExJEpdg99UZkUWQrnyEeq+Db834+dEPdnWaxEU6e4xgYSUwQLBpXZupd1LOR1yAwqHzROLKmSklY0wgNUnHrV0GtlsM6r1pXzvsOT83MYcE9sTfedGBAOSyG7OmFrv2+zcYiFXU\/6Alg3lTx9d1mOQl+rd\/fdW+DADYK59prUmCpoCA4TJg1t7UIvNRN+Utkld584VrHskKAMk0G9YCI1gug+0\/uDqc1+i6DpO8SDBXCJsRayCofflAdstNLVIbZw8PIZFVQOIgWK6D7T\/UHdam5YHZZAasYRnPtFrWxukNHSaZaQytlZokGnMWqa3purJZaglaH51Gehts\/dHuoBYJm0spDrIdOalBsttGozRHOvc2S7Wg67FppLnhtp\/oCapJtqWc6iDbGaB6dudElO6IlWphz0\/kkfIaK1Vyu7dHaU\/Ltqa4cNXjU0h5w60\/tSaMkWxHOe1Bbm0GsZm101HqI1Ziwo7HJ5EaS1NnOQ2yUpHtnolSoKZ1uQAIO56YRPpr1z6+fguAbE85BeL0l60\/AUCMpkDoudftR2oc5EpnUiM\/9MpYlBqh+7ZVJj3KdAZIjf3QyxM+NULnTW02PWrf1YoUOcD\/CVvTJHfRpUc6cGBM06PchixSYzd7dk5TI535YpapkV37cLdJjVgcKjE9Gv8gX2EkDYI6BWCzlmmQzVrAdj21PkiBzLqHuw1sx31rTQpEN+sBmtAgBdbRI5MKQJAKFYtEWuyHXp7UFOmVCV\/BNEi0rABEI02BoAQAP\/XmsKY\/6igVEy8MutRHh9\/OewDwJS+pjxv6KIdYJVJfcd7GpcGqEjAt0rGzGyzSYj9wLIdYCUzqwyIzMdJ2U5ekPBzr2xjEhD0\/uClIedyFY02IpW0NkPKy6DJxEJGUh+MXNgRVIEisqQaqMEbqW3TuRBMSaqpWY6F3Y+bzCeSu7Amkno31XRYkS6qM48QXc1rFj79yW+t\/P4OOH7n2mnV1rNz7URMSYVXGcPBMxBh\/+r9M+Cp0s01mugTbveFPH6hfHO9fHyRBdH3fuBh37M9nyQqUppxUgVJAQsKuX\/wJ1i3Xe6wJSbA\/\/S9fKrGChbwiXknUWAFAsrv\/qqtbOlfOCJMfLR+ezoaI9WAVEAsocDvvD+tUeO3PdwdIfimY8VYYQyyuiIa3BHXKNK82SISpIohbdBaPt2ZsPTIWYhOiJa2TmS2d9ahja2iQwLvmH7o+qD\/2qh9tM5LA0fa0mrpjw5aeAIm8GIExdabjsjCQZA4Qu75L6onKdT\/cYpI6MU3ff6utIzIz3LzWIrGnrOsQsG609P3POZHkDsYKBHVS\/c2P5JVI+FknONnfvg5EKuyLL\/3TogiSfhIALzX1U0Pf+ftE+ktRnx956zt951IDQpVLjBUCqGp+7PXnz\/dFipSQYH5GxcgSoIAA4RErzOdLb3xn0hikiaWXX53oaBMjC8QqpEIIaH6WFWJKB18rTsMiXfTnR9\/dfVdHG0xtwhhCY8RNRgL1LOw\/UYYA7S3+06+cQepo79nyn76+\/aagDazBACqEuCkf4yf+y9mWcHoOfjifL7Z6ffwePfh6Gemj2TiwdlXz\/sKdDtUlzBYUoBs5OOorWDylP3DZ\/\/xUW5\/Z8\/ynD4ye2LyJ3\/T5FELCfc\/s\/4tzN4weKrOKueyqI8XsrMqq7oypgDK7r\/XUCDN7us+ObCsMwEA90kiz8ZzYcPyLpgBVdaK\/c8e1707BCqqLhSpEjNKqIsU8Z4DBWdTIyWFTHGhBihzg\/51SmSL5YomgSCrE2TcOR0QmmwIRxZf\/3rGS2uvuykqYk3QHOvm3\/kmZZSkVGFx1T05SHZbf\/IcfX2uOlJpaBIUZRboTHf\/YX+H\/xREpiztzrMRUB3COgTt+7Kk1WfgI6S8B537u5x7MGUl\/KADRcsMdOUFKTNgQ6bEI\/r\/\/\/7\/\/\/zd8Y1Mks35rwLRIgjuebgokJYK0dhkiNTYGDaRNfBrK3Kbm9Mh23bfGpkbMvz7oU6PsWnNhxjElWvv99z5\/+NSMYyo08t\/+9fN\/9Nuvn55xTIHmDGiy2ze\/dmbGMbER4xoEAoDY7J\/+1mtfX0xiVA2kPcz7xqCqfHX0n\/7Zx+WkxAuorJCpfHNgb+\/5sNRQQM3WqW9mkxAqmWc4NS0kxL\/5\/t5O3VgM0GDMHvryxa99AqITU\/LS1OqXDzVxGqtahzZ8UswahwZTXH\/TPZts4kEWDry8ffLgx4Xx+6JD8sCjGHxuRsAGI+jMtTz50GoknyqZE0H500Ejl\/l+2bRJdgZoOG3n45uLH40w+aAvHRleV5z0gIHCWBg0npI9MVI8O6bJB1A+27f\/fYcG99QEvUoSAlc+O6CNjoeAmoiIoaLhJfxMKQlRac2hAfYz\/+MLl3gIC\/bpG0NpfFj8dEiTDmrhuU\/3bDJsfABPJJ4sffc8DdJiqi+UICkRtHjwo4hpEaOT5xTpMJXwHumwsOhzGaTDZOHl3oeuDtIhaOnDgZt22JQICJqyBo2wJCGm9Xt+9SprpPGRDMGEgzDND+S\/+cm2sOGRtju\/nkNSyThQaUb+1e1P3BBIgwNGikSRNYEARCNHzv7rW9f8xR\/PosHlxcNYDTIRYIWwBo08AL34+jnVuRubVv2FxgcsB4g8VvQUUEAIAS2DjOPka4MK+NnXehUITe6h6wJpdEDOvvnVXg+usChVCCEqNVLowBtzJZUYP\/nSgALQyAfqBZIJ0QBr8bl\/eNWZsgdXVqgqzotxCn7zdkF9\/4mNH04zBr6siG26+fw5ACINkDTddP7Pm7576HTZr4goFBDesYp++eHm1cdL9GdfmlWy5+qjeY0j4kVyARplaXtyb2j1fItr6rGyQATY8FEooEDVidXSiU9dFXfy7R1rj5RIVyIAG5RU4sA4SLZxguQCCFQvtF\/XraGlzEsjAqVSxMZO1Ukg3pU+PGOunfnszQ8c4+jK1pQpUFRSiAUUNNACQAANt+mXN+0DBCAkgNcK9r1XVP7r\/\/BiXhswRtAYFt7tz9665tjXs69+Yu\/Kf1QooyoJAQGAFSvJ3uO\/dG2vWus97M7WT8sV\/ssDsyr\/8IX\/OuEaK\/UKzR+ZiRQQ+OkDZ5ue2PLyZ1EpQlbLYDWAWJEKPB5yx3nFntOfueD6jkNlAkC5SBjXElEaIvU0ogqOvj+tfuyV7i8mRQn4ojNZW4oIQkBi5StgE6Pw3ts+OFzS0JSIShWC516c8mhgvWcc+4\/r6o2fFlTP7x\/1kPbbHHf3jhIkIABBrKBFKLmMvyz8yokingDcnEdDql4F1LOfOo3xp9\/f1+GezyuiObXadvnh8dbLmqhADLHyFrG3Nr9dJmpXNJZUJUD\/5WkH0L3\/SimOuuXp0YPDkUBl1e4z2XskGj9Y9FjJC3IWDSm9AhJAXfTptx5g6Y3DEQEW51BVw2Y\/5wnArL\/rrckwAAxW+oIGk14rCidHKNmrVn92\/uILxxwgOjcHACSrAQISlUHTnBekilQPYObkFK33U\/\/ttJqW793x3MlyoQgAJCuA+SDeKNJBqsZw6pNZhR\/+LxfCXeen3EwZMK3BbIlkBVAljVRlHEc+L2mF9v3nEQ+4aXY+9m6vVwAiIEEkuhae9UyVgF444xjjP\/vv0zGM8g4QpbRcfXaEBAABkexK157oy4tab9RX03N9HoiOHihpDEt5LxVQEgBou544es4jGbZr7m7510cmXb3wWhGdGdY4ll97rUywMK0SAw8inogP2mdLSIpbbv7Zbff9+3em9BLzCiNa+mqSgJ\/9nydcHDg9A4BKVCfmbxSJsTR1hc1bH9zv4LnkqFqlcHoGuU0D3\/7HLz0AnZpFNSUAEEm5WJGg\/R7MniroEqIqkD9b0hg\/\/O\/72Pn4+6dGiwBAZTUQybuYdn\/2r1zsm3GUxVJlxeS5Mt3Z\/zAWx\/JYGUH7bNEDAIVI+I375t9t\/EefnJppszI\/VdYwet4R8J\/+57xqcSxCvCooRonE38YAbnzq77zzL07t29FWkxhR3z+sMNAK997+ggKcHfWAKqukhu1bsjFNW4Ly0PRA\/8af2m1rELOxc6D\/wFtl9phhAtDpcQ8AqkQKGez76dUWgN30I67k1ZfD9c2o0eSevfmFt0YDn78nfK0MAJ6sSCtb1mdQmd2QRaUYUwtMT9t43tzvDrXKuFaknRbxFgtrhGpW64RQkcADAFZQOCD0FgAAcJYAnQEqzAHyAD6xTKJOJyO\/piJwjIvwFglpbvR6WIVm5aU3AAiA3Ve3tvLdqu8vZAj13\/FL9ROqI60WZx9pvGGbby7mP\/3Pf0aL\/v\/Qd9qvwXm\/z5vtBn4Nd82P576HHTu\/br2SP2qKMgFe2aOVxKOPtRqhWAtvJlAsk+eT\/i7WfPnfJrxOt1Of7L03c\/UjX+mKEB1xV8L8FX1YzDchlEX2Jqh+03IXRf2QhcTvO3XsEJ6wrkKzI9lfwwzQh\/JAn\/NOxKv7CpXraRE293pRY1N8iQr1ygApeNbij0IOfav7HjV3LsW1ojzcG64fg4WwUg540mN1TqOrhHBLLrq3K1WBR1\/u478CWf2J\/aemvgLNeiLi8wK33RAbVZ6WeZY4VTDDcfKOajKNPwKE7B0rUIK68HV1Hil446tbW39avY8GLjzfqmG5LEB0xsDT\/B5X53ZDk06+35TcIiy5yU2lwsc7Q127Q4lByDEO3y0kTpiDYIwtLjnv\/DSb7uHzFJgumx6lDga8o8B8oOmv+jHtzB43nzsaOmlWh5qyOIs0CoDBtYgBlFopPVoRolIV8bMkdpPh7v0iJIOttuO3dpI2wy2gexZMmcUIzrFg8R+7YPZJB44NmXlTpD8OqFBx47vjjEOHuDAyOOMgCfwIGIs0cd\/cwgdS9tolC\/2oi3VZsfJpyWle78ff6IXOMDap+t\/ltaF8kiycyoOvJJaZbFZn\/+nrTL5SDr5bruMlKMhLfd+dP6JzPvIKkSzGNZ6\/R\/JBQsrW2YuuYDwK9bEjSK5nbdbSO8hi+ozU+dqI3dxDbB8fqV5p\/+37ldFpttxoNk2PY5NF0bL1haTCZIeNr7tUA35ZoR\/4kKaLp+DSU9o6UD5e2Vwvb2mJKi8wqSi9bDbUt8yUQPq6QA5pqXTiR6y9YzLDH5e9qjr4VWgxuR8x7Pa4WPBuxLhEyYdkjVugeLSxC6uT5pjB\/aDf0BRQ4qtq+ATKXFIPWIHyUC9AgqiVkCFsJEecZLT7Rbh9Hnq8ImOH2xZExrg135GiaiT68nfr3D\/wkjT9FkDIwXPf\/YSUv1NIQnlCXmOQ714KJdlNQ18SOoT1NAxmnoMBdsphVJVEbrpmPa1KEXo0HVA6I9TgQ2jMgKfLSJzSj61oL2c1aSruEwoE35Z8WJxMYE2Bon6f8fPFrPWwUka4U2GnFaC+xBhCah52orL3RSvhAI3VenxfA72vVB6f3UEXIKghaJN9OvwYN3QnfydHW+ea\/YTqgjjhA3PmzlAOmC0gGHH8yEAaiXpqauA0jXQ8AX5FkbmlMhqdFziUYs2e\/ho9BGYfflhItTVFTNnSByO8PsMYpQFgxoCy9plCSu0tVbRgL6+TmVHCVc+6gjDdc44Wec9nWmSpf5Qspw9r2L1XGW9W7qAz5dLd\/iZ02JN\/a7PldHut6M6pFx1Y+MbBdExoXBqkrIVV7ke8Cf6LIWCqdicVl1VBODicMAiv2yNHwwfftcP2iFu02PH0cF1wjHx6fOsnXUcM9ZX\/4QTmGWj++HQyhd6+ICwshN3lduNE3Txv\/W5g0U308dkHmiHrlKgeSb7haLdDZ4w3IbyMN5BWGokds7Dl3RRlKchvIw3kYboAAP2J+AVG02WVFKNE6by2ajjMy3pqqQZJ+\/7Y0Z96uykd4KA2SxxL2KvZbKB8OzgT5aCasMRvtZRPM1H8L\/OCblDPFofPvc+Yo6kYDPt9CEofucXz92sEeLDe2kvQ6q0dp6QbB0GKLKAV7flA0R7KNxnA0fgJy\/tUecoq\/x7Q0HfpaMy2BL9ySUezb\/F8KixkLWhfGimz560I46XCRtoerVLLw4\/Iazz\/E5u8gMcQGci6dHavK6K9kL++i7lvMpSxFk1dii27Vcvg0eYj6O0pl1T7yFskU\/nEJ+ZrZnH2VAS2KF0gbSPggzIRc\/ETnJKapL4dwFjaYjYbaBaVU9gAexnR7gzqluI9vw0trzYQnJvkTl+4iQDpAQ\/7Tn6oEnN+KX0Nv+QTo7kr+DqON5VeXYRU9PZ9H27GYDzX1+YYam7TfEyBcS9Z0jxLUY6ueOgnwfidQx8plx+16xLey\/f7AaLyJB5YYKoEq2cmdBMG6eCEplnw4aK9Aw5j6zy6mdvhuyiHyEuGUZBwZWdtLRwYrnb\/yTaQVY0D\/FGd4FH7TAjNvDjlLexZn1Kp+ZCQX1iXoIv7VaHQodZccidcxxKVecpYyra1WlFTgjzl4QnuLOMYaswml1RRYcfMyQdbOd2oQjlEetjAtDicYHoGwFtUWk5GZvnC2GNPtc\/ttY1Z8BlJL+m4FMMhyW\/6ZpmupwuXEkrzdaEDUKrF4auTjuCfThlpO6C6GcUmCJYQHgzYlUx78W3BXetHILr549G3QfjLqYx36Rnkdv5hodY6B+mMFsdSL4CduW\/FP06jDpNKbSs1nDjS3rcMCBH1MY06fXCCXS3h+OueBSNVjuZsV080JpoWhWsr8Ai6HLbfm0v2yKSORK3FogPj6g6ZGWOedofmN2Q5pkjFMpbdS3JTC4fMLPzRmEOjW+6dqocjo4qFKrqWgTNAa1KhDwscDDKGSTc7jcDRMz4A6VbdSDCaaEMsK0Fsg3x1qazbkTlvh7q\/7JH46yJQs\/Y0dmbW4AGHp6hCoTybj3eTaYTL\/7mOwhEcxqqE0VoBPq5VIurAH+aFEEPGTyfeBQSR+NV1rsBBtqeLXqqCXhm0V2TJS5bCBUMK4YyI23a1O+qg9njS95lp8YW1doqogrR9egKH66o5iKzdjVZRA2kdO+A\/NNR2ZpYssOGqfCrANzG65tw\/lkaOG\/IcGmoZ0GqCKb2GSYRBwoNU+uM\/AQnAGHg7HBm3bgUmFiu1FP2d4HnMnUEhg003KxK8\/Ap\/IZGl2WWNVPl995M1qChdrOwjMexSBfY9u5dq9vac+UjpCX8WnsSGE9ckpIp8IXVOPPNFFnOw1Wb2MSnhhMYgCVhW4Px8WVNIjo4dp4ly9\/8DSl104S3uEuM6Owrh32mZTwCADzukfNL2+TUo67eQvWNER4\/3D7FyxypzzIfiYpTFKPvHOrfNZsf3oFQ0Cpw9ObEQ7xKA\/tG5fr3pIJYW\/+OgtlOO3qruE7FeDOtIT84BuwWwIn1qttuHbnK0BgAsqwHAqlVuQcsjHRVNlnys5ix5CN5iWTlVvuX6A9lHTMQvtkqGPifnwQg8x3CHDImI5PLVBX0k451UxzcVGFeX1QZQeUhCs9QKXSm8mvATZjDUsIVB9Kcg8zJ9KYd5DnP39PnCywJVGRShjuI38eBuh2R7uTC1FXCHVBuvYxCFSCakcL9uRoZKDxXqquujNk9tT4uNZnhj5M0ws145E3KldvGHV6J7O4gVYcoCtiO2Y6Qp9AYx9ptaBciCdMIODhvnkB6aB7kWlmvjxkNklHTLxCf9PTVccwBSuZLALoQnqORo+N3ShCQd6SGRScI8fGJeQS6zwRwotVkhd6MjgzQsKQmMVufMXdUnsSZC0KIhpMQygDDja8MXOsYj4nn6TSXUKHWsuAe4LOGYUmmi3uPXEYDZuqiYVBTKOd8lYRqkCsMK5Y8bUjcXv+WTV9+0QPAv7hiWAlrPBsM9tAvcKDTQZ+SBV0wHXV8\/y0iB0z8hFFaipmwABB7Eoz0lFw5jn8CYrz11IL01MGgazBunQuqa6Zy8mqkUYMzSUwGc7w\/38i1k1wRihdccD1l9gdung015Nlts0X7QLY63AWNAKTKkDzBJgyEXzapFZzrmuvitt0YxaOd+HX0ZDXkXTf7jf3jWFxKitaOIoqgeuunYD0ZGZI45L07BDHbZv0A10V9B1NshKYlZlFaK91DrBm9\/n55OA77sQdF5Mkg6mPGSSsfR85wBKh0A5dAOvZ+o+hDUO3zvqPGqgNHy0Mi4YzShpK3bU+jtKdP31u98094MqqLKSMcubOPy3bKRXC6i6eYBCA2ODlA4pPtFQeA0lOIt2hsM6NCvKflBVxhq3n4wBMhIi2VU2Bu5yA46EGUNEYczeZn3axITbqYUVwjCwZMuOxSJrVNoRrfZSGd30x1bTd3dJi8qh33wXtAyoyxTNmavrJ0zf5cQ0qWSEqOGzdp81C3xr4mNWzsyyWULmx2HO7jYO2f6UGr5+WWV0hlm\/4ZZvoJPHc2Sk5lkzfhKFjRNBPJyt9lG1veQNwwK7v0scwfBcAllm8TQZLXhSX4g3gfTfXtfC89ffkSgHP9brXItHwrkqfc1TteSKS4uv6hal2\/rloP96Aaktxm+Hv9nLh3nzvgAKqI16NViJgv8Wnm5hFMIAqXNJBOUFAu3v2duhP1hW2S2lgVlQmgXL6X7fDVuFq2cn0DrN\/RHQlFGuyJMSJfgMO4sYirVhsqCgssPv0OTImXzZxlPoFEeH\/Pa0zh\/IjSM9+b2BOHnFtSqIyBhgbxtLUlUpCslRpUb6pkmOH\/Wkmp8VhDuUpE1bzDhXc6Lnwlzd11Kby2lHgfPrvu7vWA7ftv1eGIiX7Z6g4H\/NvZ7vPz2snWgfedqEG9ypDSJWedyKQYj6RcMb7DMX\/rE9rQfdEMOjmVko0ZyZMbvIOZja4ssAfPjV7fzG\/rFT\/PI44JE1\/JIF\/0SYNPsf5Z8VrsPKdg3HYSv7la93hZotF8UC6KXQgkovl5v6eXfs9LxKZs4VKZpbAUhzavIxcGkgCoY0Ls2esPKTjsaW41q5+TVqer8yJnSuzp0syRnHL6bkFUyU5KSFnmdZ0otK2eftQMnwkyY0ssfwfmhIAAA4WPBpoSEKhHQQ5OIBs2eg56pKFgURkGdhyRSQRg2faGx5laEu8Go6HU16vZuznH9bKFrYebpjpgXM9jZmX4mEy4+kqUNQTuTMOA1ItSdQTPr\/ygcAYj\/5gWP30F5nkTO5+aWAmDhUJDOMvOAFch1IAb+36XXw7T\/BTDmslGACjuZymudWQjI2pn7LgyjyQtAqU5yrJ21QBRgUUVTdsRkJHcSBhMoU2DcxrtJGr2N2cOB\/cfLWWs63Q4XEm0bwWOFaEFfbBGqd\/SbwbirvrInjJMHEAHQzWFG1X6T+jX8SFb9fZAxNQNo8iGY\/kQ8+QXg1OicGI9rw7IYO+v\/W+SBheuXmb8\/kY70PT15\/r3wXCDf\/7o5\/+6A3\/\/c2h93W1NKNPwCP4ogJ+WUqrFDBrkftup2lBjYhS7UF7Dl1EkhGJ\/XhfnmRZC6WRur1bIvboSb4eJwfjNeEirP8f6zatHtQpeNHfX2sSFoUOsM5J\/EwchLgojrkARF2jqQsHc2skRUzL4Lw+WABiEA5hx498vstOsWG3zISUwVR8Jjibn98VLWSN3dkMYJkyEIkfIFgpZJImrDzyw\/r0EFedHKPX074fqfpUr0DEbzlv7\/1knZC93OHf64OC9xWZAPGChqPoUnvOou78vj\/\/KTR+opJo77vV5Nm4\/TIpn+DbW6Zz9vOoJYHjIoL3N\/avlO2MDEtAV1UbcBoNPH0U0HhdG8UYDzG\/e6IAVHQikkMwbsmMuAZbhRhaPloDVpf0Ig3Ti5bYGbqNy2CJCARSn8EqXi5FMWcgxR4MvZmBVXgEqaFIVQJJeJG0JhUNUy9nnzK7qKyW2L1fKuJ2Gv9PXgLdJ4xjLUd\/wStHbfBerKGzqNP6Yex+ovB9D5S6njfy7PBwlfp6fGRTK5x+IvddeBBmNOfP7iRCxER9em76DDQ5BErhF3uZoUXA5Tcy+0E+Bd0Q4Fkee8ad2KQXwT1vELJR87DQaUTaCSPK4hbDlwYx7k7y2LrM2qfeP80\/g0bVxxyHTnGwH4k0RtFDP\/cB2o7W6ruUECLz6+aFxO8219ZwK7ryGPb0Q4wA\/PSkC0mRn16MmDMntUtpPJtf2hio7FTcMQFxSqepC0G9moujaNM\/oILIusQVVMdEwgbCV9a92JOffpuWZ2APjCq8Sp79YAhWzIecQVMUF84metUBBgPMbQLWOMDud3Of3w9ccjw8JyJFK2rSRt6FakDxmQxMMKwZ5VABDSCGzb4q+xAU0TpzNnAK1fcN9Xwc6K39ffrpT8PzNcpxdCiYWubINhp4b\/hl79zRrMvdgSO4Ku0a1beST6arQdf8OcUl7cwyNVVa12ARq5TInnwzQeZB2pKIDbDNBE5Ivg\/zzJeOJfTxT9FD3AGzELdtrOkoLLqBDgLGtO+zaBfZ8e1cDisXs2pKTDIrAa1ml8uzKg2JDz3WbYHNfk6kkx5TrnEZQGvM684+Yu4x6dPcKnaE+61wyCoVFYZg5jgFFMArEt+cBn8yvi32potRh\/GoD3RYYN1wjHW97AMsz60zboRO+FnxThlTHyCDGqsy+XUszUq+d8dy5EaxYJ0rQsZgC1S9rfw2xyV9UzPHHUcxVw8dRwHXQ5oG5xmFTpNVcqPpFkx\/ZMjq\/lSLL3Z2jH+gOVGM51z4Y6eU92MHNhQR5cSH\/TTkIx5fESA7C2QKNLNPHBkAgyGqL\/Y3qn+S0xAD0ipgtgAHmqBa1S4g\/w81iQyY1i8OafZVjHE4lI9Qcd843bzVXE46cT8vwksbAuaE9Zj9UXzo7r06T\/nx4P3bOkvKZw9nm351Bf+viurrwG023p2+EgM6jw7PzFz8u+h0gbVE9o25jq\/5e9FrOSDNXpQe67LMfb2kpId4mABr9NisjuGC7G3kqPw6WTBtYkPb6uNZ0q4abNlGvBCjY6bo\/RWb3WdrEYSK7kGYyk0LzB\/WsOTVk7qgRbJa8f31k\/IE5FViP+75hedgZFVRAeiqd4DdZTwHTiNbfKiAn529\/WIpoecSUbEpcnQvMkjg89uT6swTS9E13HVZ+B5awdFZ3k2BG5tmm\/F\/VDFQrUg+252Oo8lyZHUVK8dSg0rWdFLsO1rUzhcZwe\/+qDSS7L66Y8Ao7C3VUiRacMmWb12z\/F6ZxsK+17voXL5NqvKgddieo0c38OK6+ZgiS\/dMomn98TuP\/ugxgAXJ3ygcN1YRE2NYHUcK1oW9lOw0Mb6ZUNvZsp0eMTzmCZwgIYnuXXYD9zt6XDVJv94Hp1qQRpw+Zh30PpTsPzA4u673utmV2pCGGdtO7GOTo4PExErLfl94EsMLJy4LcFfRnz2hX4vZBpEZbRFKSzhd4eu0\/K3oVvKrhRah4hWRs5rbxnIrpf\/iR73\/TOejJxgWPdjQj0+e7ufH3STAZr9fhdmWnd1VyQ05N0nkAp23Sh7z1ET9hDxv23P0NSbcGnStOz0pENBPqkN3P4V39xqVAB4pShfQdCfrurDoNNeqzQZyUsrIzkz89lZWKP\/vq9mL14u3CaSzvSvE4zUa+Jqq+D86dWmNoHdFwAc+QbX5osc+AzfeXDJP9v3genkPcUxzxagf7StW\/6YyGfOqo0jH+ZIweiOf9ZBaiaKwbMftay1TYbV6q9XJ06mlGB8iSzR6dIv63aFqr5jMOOBQeQDtL2zw\/VtLXFgij2Di85K1DAxCcpbkZwALrfteXVgGVblG0LT\/ryPEU8jQzjLtVuuzre2O53jiuhub5hEfJjcjpa5dm6EjOWFwugM95M1B0I1eU0lB7NUl+ryMvx2nkbhRjuUfhKvhzsr19LT\/60TV3bo7m5Sz50BJVAGKvR+V8C0Jrq+9oM6n8SoMq21sj2rW9Y96+FeyWw6QbSnvg3SfOY5XXyeI16w60VAnwzv7ktHDW2tW7g0BhUAu7f\/22fbz8Av2gQnNwLSbTPkXIKYiZeKjCn9URYccW0aO7mZW7L3yC58EXPG9C8yTr4uhc1BPoGnP5NggShOgKzxqm97P+nZbiw7aOU9zWeDwJInh65nX\/spCPWxuZ8rAymev2eLAHAK7\/1fbcvZaNroKACo32wbQqdNuv5AvaQbF+OAAAAAAA=\");\n  background-repeat:no-repeat;background-position:center;background-size:contain;\n  filter:grayscale(1) brightness(1.5) contrast(.7);\n  will-change:transform;\n}\n.ks-xct .ks-fx__c::after{content:\"\"}\n.ks-xct .ks-fx__c--1{\n  width:min(620px,72%);aspect-ratio:452\/238;top:4%;inset-inline-end:-8%;\n  opacity:.085;animation:ks-float-a 42s ease-in-out infinite;\n}\n.ks-xct .ks-fx__c--2{\n  width:min(460px,58%);aspect-ratio:452\/238;top:40%;inset-inline-start:-10%;\n  opacity:.06;animation:ks-float-b 55s ease-in-out infinite;\n}\n.ks-xct .ks-fx__c--3{\n  width:min(520px,64%);aspect-ratio:452\/238;bottom:2%;inset-inline-end:4%;\n  opacity:.055;animation:ks-float-c 48s ease-in-out infinite;\n}\n@keyframes ks-float-a{\n  0%,100%{transform:translate3d(0,0,0) rotate(-3deg) scale(1)}\n  50%{transform:translate3d(-26px,34px,0) rotate(2deg) scale(1.04)}\n}\n@keyframes ks-float-b{\n  0%,100%{transform:translate3d(0,0,0) rotate(4deg) scale(1.02)}\n  50%{transform:translate3d(30px,-28px,0) rotate(-2deg) scale(1)}\n}\n@keyframes ks-float-c{\n  0%,100%{transform:translate3d(0,0,0) rotate(-6deg)}\n  50%{transform:translate3d(-18px,-22px,0) rotate(1deg)}\n}\n\n\/* -------------------------------------------------------------------------\n   VIDEO - muted autoplay with a custom unmute button\n   ------------------------------------------------------------------------- *\/\n.ks-xct .ks-video{\n  position:relative;border-radius:var(--ks-radius);overflow:hidden;\n  border:1px solid var(--ks-line);\n  background:#000;margin:0 auto clamp(18px,3vw,30px);\n  max-width:860px;\n  box-shadow:0 18px 46px rgba(0,0,0,.45);\n}\n.ks-xct .ks-video__frame{position:relative;width:100%;padding-top:56.25%;background:#0a0d12}\n.ks-xct .ks-video__frame iframe{\n  position:absolute;top:0;left:0;width:100%;height:100%;border:0;display:block;\n}\n.ks-xct .ks-video__skel{\n  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;\n  background:linear-gradient(120deg,#10161f,#1a2330,#10161f);\n  background-size:220% 100%;animation:ks-shine 2.4s linear infinite;\n}\n.ks-xct .ks-video__skel svg{width:54px;height:54px;color:rgba(255,255,255,.28)}\n@keyframes ks-shine{0%{background-position:0% 0}100%{background-position:220% 0}}\n.ks-xct .ks-video__grad{\n  position:absolute;left:0;right:0;bottom:0;height:34%;pointer-events:none;\n  background:linear-gradient(180deg,transparent,rgba(5,8,12,.75));\n}\n\/* the button only appears once the YouTube player API has confirmed it is ready,\n   so it can never be shown in a state where it would not work *\/\n.ks-xct .ks-unmute{\n  position:absolute;bottom:14px;inset-inline-start:14px;z-index:3;\n  display:none;align-items:center;gap:9px;\n  padding:10px 16px;border-radius:999px;\n  background:linear-gradient(135deg,var(--ks-orange),#ff9a4d);\n  color:#0d1117!important;font-size:14px;font-weight:900;\n  box-shadow:0 8px 22px rgba(255,122,26,.4);\n  transition:transform .2s ease,box-shadow .2s ease,filter .2s ease;\n}\n.ks-xct .ks-unmute[data-ks-ready=\"1\"]{display:inline-flex}\n.ks-xct .ks-unmute:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(255,122,26,.5)}\n.ks-xct .ks-unmute svg{width:18px;height:18px;flex:0 0 18px}\n.ks-xct .ks-unmute[data-ks-on=\"1\"]{\n  background:rgba(13,17,23,.72);color:#e8eef6!important;\n  border:1px solid rgba(255,255,255,.22);box-shadow:none;\n  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);\n}\n.ks-xct .ks-unmute .ks-ico-off{display:none}\n.ks-xct .ks-unmute[data-ks-on=\"1\"] .ks-ico-off{display:block}\n.ks-xct .ks-unmute[data-ks-on=\"1\"] .ks-ico-on{display:none}\n\n\/* -------------------------------------------------------------------------\n   CUSTOM SCROLLBAR - native horizontal bar is hidden and replaced by .ks-sbar\n   ------------------------------------------------------------------------- *\/\n.ks-xct .ks-tabbar,.ks-xct .ks-scroll{scrollbar-width:none;-ms-overflow-style:none}\n.ks-xct .ks-tabbar::-webkit-scrollbar,.ks-xct .ks-scroll::-webkit-scrollbar{width:0;height:0;display:none}\n.ks-xct .ks-sbar{\n  position:relative;height:9px;margin:10px 0 2px;width:100%;\n  border-radius:999px;background:rgba(255,255,255,.07);\n  border:1px solid rgba(255,255,255,.06);\n  cursor:pointer;touch-action:none;display:none;\n}\n.ks-xct .ks-tabwrap .ks-sbar{margin:10px 2px 2px;width:calc(100% - 4px)}\n.ks-xct .ks-scroll + .ks-sbar{margin-top:12px}\n\n.ks-xct .ks-sbar__thumb{\n  position:absolute;top:-1px;bottom:-1px;inset-inline-start:0;width:30%;\n  border-radius:999px;\n  background:linear-gradient(90deg,var(--ks-orange),var(--ks-teal));\n  box-shadow:0 2px 10px rgba(255,122,26,.35);\n  transition:filter .2s ease;\n}\n.ks-xct .ks-sbar:hover .ks-sbar__thumb,\n.ks-xct .ks-sbar[data-ks-drag=\"1\"] .ks-sbar__thumb{filter:brightness(1.15)}\n.ks-xct .ks-sbar[data-ks-drag=\"1\"]{cursor:grabbing}\n\n\/* headings *\/\n.ks-xct .ks-h1{\n  font-size:clamp(26px,5.4vw,44px)!important;line-height:1.12!important;\n  font-weight:900!important;letter-spacing:-.02em;color:#fff!important;margin:0 0 10px!important;\n}\n.ks-xct .ks-h2{\n  font-size:clamp(20px,3.4vw,29px)!important;line-height:1.25!important;\n  font-weight:900!important;color:#fff!important;margin:0 0 6px!important;letter-spacing:-.01em;\n}\n.ks-xct .ks-h3{font-size:17px!important;font-weight:800!important;color:#fff!important;margin:0 0 6px!important}\n.ks-xct .ks-lead{color:var(--ks-mut)!important;font-size:clamp(15px,1.9vw,17px)!important;margin:0 0 18px!important;max-width:74ch}\n.ks-xct .ks-eyebrow{\n  display:inline-block;font-size:12px;font-weight:800;letter-spacing:.16em;\n  color:var(--ks-teal)!important;text-transform:uppercase;margin:0 0 10px!important;\n}\n.ks-xct .ks-sec-head{margin-bottom:18px}\n.ks-xct .ks-sec-head .ks-rule{\n  width:56px;height:4px;border-radius:4px;margin-top:10px;\n  background:linear-gradient(90deg,var(--ks-orange),var(--ks-teal));\n}\n\n\/* =========================================================================\n   3. HERO\n   ========================================================================= *\/\n.ks-xct .ks-hero{\n  position:relative;overflow:hidden;\n  border:1px solid var(--ks-line);border-radius:var(--ks-radius);\n  padding:clamp(20px,4vw,40px);\n  background:\n    linear-gradient(135deg, rgba(255,122,26,.10), rgba(40,196,184,.07) 55%, transparent),\n    linear-gradient(180deg,#111925,#0d1117);\n}\n.ks-xct .ks-hero::after{\n  content:\"\";position:absolute;inset:0;pointer-events:none;opacity:.5;\n  background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),\n                   linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);\n  background-size:34px 34px;\n  -webkit-mask-image:radial-gradient(70% 70% at 50% 0%,#000,transparent);\n  mask-image:radial-gradient(70% 70% at 50% 0%,#000,transparent);\n}\n.ks-xct .ks-hero \u003e *{position:relative;z-index:1}\n.ks-xct .ks-hero .ks-tag{\n  display:inline-flex;align-items:center;gap:8px;\n  background:rgba(255,122,26,.12);border:1px solid rgba(255,122,26,.38);\n  color:#ffc79a!important;border-radius:999px;padding:5px 13px;font-size:12.5px;font-weight:800;\n  margin-bottom:14px;letter-spacing:.02em;\n}\n.ks-xct .ks-hero .ks-tag .ks-dot{width:7px;height:7px;border-radius:50%;background:var(--ks-orange);\n  box-shadow:0 0 0 0 rgba(255,122,26,.6);animation:ks-pulse 2.2s infinite}\n@keyframes ks-pulse{0%{box-shadow:0 0 0 0 rgba(255,122,26,.55)}70%{box-shadow:0 0 0 9px rgba(255,122,26,0)}100%{box-shadow:0 0 0 0 rgba(255,122,26,0)}}\n.ks-xct .ks-hero .ks-model{\n  font-size:13px;font-weight:800;color:var(--ks-mut)!important;letter-spacing:.08em;margin:2px 0 0!important;\n}\n.ks-xct .ks-badges{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}\n.ks-xct .ks-badges li{\n  display:inline-flex;align-items:center;gap:8px;\n  background:rgba(255,255,255,.05);border:1px solid var(--ks-line);\n  border-radius:999px;padding:7px 14px;font-size:13.5px;font-weight:700;color:#dbe6f2!important;\n  transition:border-color .2s ease, transform .2s ease, background .2s ease;\n}\n.ks-xct .ks-badges li:hover{border-color:rgba(40,196,184,.6);transform:translateY(-2px);background:rgba(40,196,184,.08)}\n.ks-xct .ks-badges li svg{width:16px;height:16px;flex:0 0 16px;color:var(--ks-teal)}\n\n\/* =========================================================================\n   4. STAT COUNTERS\n   ========================================================================= *\/\n.ks-xct .ks-stats{\n  display:grid;gap:12px;margin-top:16px;\n  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));\n}\n.ks-xct .ks-stat{\n  background:linear-gradient(180deg,var(--ks-card-top),var(--ks-card-bot));\n  border:1px solid var(--ks-line);border-radius:14px;padding:18px 16px;text-align:center;\n  position:relative;overflow:hidden;\n}\n.ks-xct .ks-stat::before{\n  content:\"\";position:absolute;inset-inline-start:0;top:0;height:3px;width:100%;\n  background:linear-gradient(90deg,var(--ks-orange),var(--ks-teal));opacity:.85;\n}\n.ks-xct .ks-stat .ks-num{\n  font-size:clamp(24px,4.4vw,34px);font-weight:900;color:#fff!important;line-height:1.1;\n  font-variant-numeric:tabular-nums;direction:ltr;display:block;\n}\n.ks-xct .ks-stat .ks-cap{display:block;margin-top:6px;font-size:13px;color:var(--ks-mut)!important;font-weight:700}\n\n\/* =========================================================================\n   5. FEATURE CARDS\n   ========================================================================= *\/\n.ks-xct .ks-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(255px,1fr))}\n.ks-xct .ks-card{\n  background:linear-gradient(180deg,var(--ks-card-top),var(--ks-card-bot));\n  border:1px solid var(--ks-line);border-radius:14px;padding:20px;\n  transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;\n  position:relative;overflow:hidden;\n}\n.ks-xct .ks-card::after{\n  content:\"\";position:absolute;inset-inline-end:-40px;top:-40px;width:120px;height:120px;border-radius:50%;\n  background:radial-gradient(circle,rgba(255,122,26,.16),transparent 70%);opacity:0;transition:opacity .3s ease;\n}\n.ks-xct .ks-card:hover{transform:translateY(-4px);border-color:rgba(255,122,26,.45);box-shadow:0 14px 34px rgba(0,0,0,.4)}\n.ks-xct .ks-card:hover::after{opacity:1}\n.ks-xct .ks-card .ks-ico{\n  width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;\n  background:linear-gradient(135deg,rgba(255,122,26,.2),rgba(40,196,184,.16));\n  border:1px solid rgba(255,122,26,.32);margin-bottom:13px;\n}\n.ks-xct .ks-card .ks-ico svg{width:22px;height:22px;color:var(--ks-orange)}\n.ks-xct .ks-card p{color:var(--ks-mut)!important;font-size:14.6px;line-height:1.7}\n.ks-xct .ks-card--teal .ks-ico{border-color:rgba(40,196,184,.35)}\n.ks-xct .ks-card--teal .ks-ico svg{color:var(--ks-teal)}\n.ks-xct .ks-card--teal:hover{border-color:rgba(40,196,184,.5)}\n\n\/* =========================================================================\n   6. TABS\n   ========================================================================= *\/\n.ks-xct .ks-tabwrap{\n  position:sticky;top:var(--ks-sticky-top);z-index:5;\n  margin:0 0 20px;padding:8px 8px 6px;border-radius:20px;\n  background:rgba(13,17,23,.86);\n  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);\n  border:1px solid var(--ks-line);\n  box-shadow:0 10px 30px rgba(0,0,0,.32);\n}\n.ks-xct .ks-tabbar{\n  display:flex;gap:8px;overflow-x:auto;\n  padding:0;margin:0;background:none;border:0;border-radius:0;\n}\n.ks-xct .ks-tab{\n  flex:0 0 auto;border-radius:999px;padding:9px 17px;font-size:14px;font-weight:800;\n  color:var(--ks-mut)!important;background:transparent;border:1px solid transparent;\n  transition:all .2s ease;white-space:nowrap;\n}\n.ks-xct .ks-tab:hover{color:#fff!important;background:rgba(255,255,255,.06)}\n.ks-xct .ks-tab[aria-selected=\"true\"]{\n  color:#0d1117!important;background:linear-gradient(135deg,var(--ks-orange),#ff9a4d);\n  box-shadow:0 6px 16px rgba(255,122,26,.28);\n}\n.ks-xct .ks-panel[hidden]{display:none!important}\n.ks-xct .ks-panel{animation:ks-fade .35s ease both}\n@keyframes ks-fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}\n\n\/* =========================================================================\n   7. CHECKLIST \/ FUNCTIONS\n   ========================================================================= *\/\n.ks-xct .ks-check{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(238px,1fr))}\n.ks-xct .ks-check li{\n  display:flex;align-items:flex-start;gap:10px;\n  background:var(--ks-card);border:1px solid var(--ks-line);border-radius:11px;\n  padding:12px 14px;font-size:14.6px;font-weight:600;\n  transition:border-color .2s ease,background .2s ease;\n}\n.ks-xct .ks-check li:hover{border-color:rgba(40,196,184,.45);background:var(--ks-card-2)}\n.ks-xct .ks-check li svg{width:18px;height:18px;flex:0 0 18px;color:var(--ks-teal);margin-top:3px}\n\n\/* =========================================================================\n   8. TABLES (spec + comparison)\n   ========================================================================= *\/\n.ks-xct .ks-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--ks-line);border-radius:14px}\n.ks-xct .ks-table{min-width:520px;font-size:14.6px;background:var(--ks-card)}\n.ks-xct .ks-table th,.ks-xct .ks-table td{padding:13px 16px;border-bottom:1px solid var(--ks-line);text-align:start;vertical-align:middle}\n.ks-xct .ks-table thead th{\n  background:linear-gradient(180deg,#1d2635,#161d27);color:#fff!important;font-weight:800;font-size:13.5px;\n  letter-spacing:.02em;white-space:nowrap;\n}\n.ks-xct .ks-table tbody tr:last-child th,.ks-xct .ks-table tbody tr:last-child td{border-bottom:0}\n.ks-xct .ks-table tbody tr:nth-child(even){background:rgba(255,255,255,.022)}\n.ks-xct .ks-table tbody tr:hover{background:rgba(255,122,26,.07)}\n.ks-xct .ks-table tbody th{font-weight:800;color:#cfe0f0!important;width:44%;white-space:nowrap}\n.ks-xct .ks-table td{color:var(--ks-mut)!important}\n.ks-xct .ks-table .ks-val{color:#fff!important;font-weight:700}\n.ks-xct .ks-yes{color:var(--ks-teal)!important;font-weight:900}\n.ks-xct .ks-no{color:#6b7a8d!important;font-weight:900}\n.ks-xct .ks-col-hi{background:rgba(255,122,26,.08)}\n.ks-xct .ks-table thead th.ks-col-hi{background:linear-gradient(180deg,#3a2412,#241a12);color:#ffb877!important}\n\n\/* spec highlight tiles *\/\n.ks-xct .ks-tiles{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-bottom:14px}\n.ks-xct .ks-tile{background:var(--ks-card);border:1px solid var(--ks-line);border-radius:12px;padding:14px;text-align:center}\n.ks-xct .ks-tile b{display:block;font-size:19px;color:#fff!important}\n.ks-xct .ks-tile span{display:block;font-size:12.5px;color:var(--ks-mut)!important;margin-top:3px;font-weight:700}\n\n\/* =========================================================================\n   9. PACKAGE LIST\n   ========================================================================= *\/\n.ks-xct .ks-box{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}\n.ks-xct .ks-box li{\n  display:flex;align-items:center;gap:11px;background:var(--ks-card);border:1px solid var(--ks-line);\n  border-radius:11px;padding:13px 15px;font-size:14.6px;font-weight:700;\n}\n.ks-xct .ks-box li .ks-qty{\n  flex:0 0 auto;min-width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;\n  background:rgba(255,122,26,.14);border:1px solid rgba(255,122,26,.34);color:var(--ks-orange)!important;\n  font-weight:900;font-size:13px;padding:0 6px;\n}\n\n\/* =========================================================================\n   10. FAQ ACCORDION\n   ========================================================================= *\/\n.ks-xct .ks-faq{display:grid;gap:10px}\n.ks-xct .ks-q{\n  background:var(--ks-card);border:1px solid var(--ks-line);border-radius:12px;overflow:hidden;\n  transition:border-color .2s ease;\n}\n.ks-xct .ks-q[data-ks-open=\"1\"]{border-color:rgba(255,122,26,.45)}\n.ks-xct .ks-q \u003e button{\n  display:flex;align-items:center;gap:12px;width:100%;padding:15px 17px;\n  font-size:15.2px;font-weight:800;color:#fff!important;text-align:start;\n}\n.ks-xct .ks-q \u003e button .ks-chev{\n  margin-inline-start:auto;flex:0 0 20px;width:20px;height:20px;color:var(--ks-orange);\n  transition:transform .3s ease;\n}\n.ks-xct .ks-q[data-ks-open=\"1\"] \u003e button .ks-chev{transform:rotate(180deg)}\n.ks-xct .ks-a{max-height:0;overflow:hidden;transition:max-height .35s ease}\n.ks-xct .ks-a \u003e div{padding:0 17px 16px;color:var(--ks-mut)!important;font-size:14.6px;line-height:1.72}\n\n\/* =========================================================================\n   11. AUDIENCE + CTA\n   ========================================================================= *\/\n.ks-xct .ks-who{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}\n.ks-xct .ks-who li{\n  background:linear-gradient(180deg,var(--ks-card-top),var(--ks-card-bot));border:1px solid var(--ks-line);\n  border-radius:13px;padding:17px;text-align:center;font-weight:800;font-size:14.6px;\n}\n.ks-xct .ks-who li svg{width:26px;height:26px;color:var(--ks-teal);margin:0 auto 9px}\n.ks-xct .ks-cta{\n  margin-top:clamp(28px,5vw,48px);text-align:center;border-radius:var(--ks-radius);\n  border:1px solid rgba(255,122,26,.35);padding:clamp(22px,4vw,34px);\n  background:linear-gradient(135deg,rgba(255,122,26,.14),rgba(40,196,184,.10));\n}\n.ks-xct .ks-cta p{color:#dfe9f4!important;font-size:15.5px;max-width:62ch;margin:0 auto!important}\n.ks-xct .ks-cta .ks-slogan{\n  margin-top:14px!important;font-size:clamp(16px,2.6vw,21px);font-weight:900;color:#fff!important;\n}\n.ks-xct .ks-note{margin-top:16px;font-size:12.5px;color:#7e8fa3!important;text-align:center;line-height:1.6}\n\n\/* =========================================================================\n   12. REVEAL ANIMATION + A11Y + PRINT\n   ========================================================================= *\/\n\/* elements are visible by default; JS adds .ks-js and only then hides them,\n   so the block still renders fully if the script never runs *\/\n.ks-xct.ks-js .ks-rv{opacity:0;transform:translateY(16px)}\n.ks-xct.ks-js .ks-rv.ks-in{opacity:1;transform:none;transition:opacity .6s ease,transform .6s ease}\n.ks-xct :focus-visible{outline:2px solid var(--ks-teal);outline-offset:2px;border-radius:8px}\n@media (prefers-reduced-motion:reduce){\n  .ks-xct *,.ks-xct *::before,.ks-xct *::after{animation:none!important;transition:none!important}\n  .ks-xct .ks-rv{opacity:1!important;transform:none!important}\n  .ks-xct .ks-fx__move{transform:none!important}\n}\n@media (max-width:480px){\n  .ks-xct .ks-wrap{padding:14px}\n  .ks-xct .ks-table th,.ks-xct .ks-table td{padding:11px 12px}\n  .ks-xct .ks-tabwrap{border-radius:16px}\n}\n@media print{\n  .ks-xct .ks-wrap,.ks-xct .ks-hero,.ks-xct .ks-card,.ks-xct .ks-table{background:#fff!important;color:#111!important;border-color:#ccc!important}\n  .ks-xct,.ks-xct .ks-h1,.ks-xct .ks-h2,.ks-xct .ks-h3,.ks-xct .ks-lead,.ks-xct p,.ks-xct td,.ks-xct th{color:#111!important}\n  .ks-xct .ks-tabwrap,.ks-xct .ks-fx,.ks-xct .ks-video,.ks-xct .ks-sbar{display:none!important}\n  .ks-xct .ks-panel[hidden]{display:block!important}\n  .ks-xct .ks-a{max-height:none!important}\n}\n\u003c\/style\u003e\n\n\u003cdiv class=\"ks-wrap\"\u003e\n\n  \u003c!-- ambient floating clamp background (decorative) --\u003e\n  \u003cdiv class=\"ks-fx\" aria-hidden=\"true\"\u003e\u003cdiv class=\"ks-fx__move\"\u003e\n    \u003cspan class=\"ks-fx__c ks-fx__c--1\"\u003e\u003c\/span\u003e\n    \u003cspan class=\"ks-fx__c ks-fx__c--2\"\u003e\u003c\/span\u003e\n    \u003cspan class=\"ks-fx__c ks-fx__c--3\"\u003e\u003c\/span\u003e\n  \u003c\/div\u003e\u003c\/div\u003e\n\n  \u003c!-- ================= VIDEO ================= --\u003e\n  \u003cdiv class=\"ks-video\" data-ks-video\u003e\n    \u003cdiv class=\"ks-video__frame\"\u003e\n      \u003cdiv class=\"ks-video__skel\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003ccircle cx=\"12\" cy=\"12\" r=\"9\"\u003e\u003c\/circle\u003e\u003cpath d=\"M10 8.5l6 3.5-6 3.5z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n      \u003ciframe data-ks-src=\"https:\/\/www.youtube.com\/embed\/XJJ0cTuVZeo?autoplay=1\u0026amp;mute=1\u0026amp;loop=1\u0026amp;playlist=XJJ0cTuVZeo\u0026amp;controls=0\u0026amp;modestbranding=1\u0026amp;rel=0\u0026amp;playsinline=1\u0026amp;enablejsapi=1\u0026amp;iv_load_policy=3\" title=\"Xhorse CONDOR XC-TWINS - product video\" allow=\"autoplay; encrypted-media; picture-in-picture\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen\u003e\u003c\/iframe\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"ks-video__grad\"\u003e\u003c\/div\u003e\n    \u003cbutton class=\"ks-unmute\" type=\"button\" data-ks-unmute data-ks-on=\"0\" aria-pressed=\"false\"\u003e\n      \u003csvg class=\"ks-ico-on\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M4 9v6h4l5 4V5L8 9H4z\"\u003e\u003c\/path\u003e\u003cpath d=\"M17 9.5a3.5 3.5 0 0 1 0 5\"\u003e\u003c\/path\u003e\u003cpath d=\"M19.5 7a7 7 0 0 1 0 10\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003csvg class=\"ks-ico-off\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M4 9v6h4l5 4V5L8 9H4z\"\u003e\u003c\/path\u003e\u003cpath d=\"M17 9.5l5 5M22 9.5l-5 5\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003cspan data-ks-label data-ks-on-text=\"Mute\" data-ks-off-text=\"Unmute\"\u003eUnmute\u003c\/span\u003e\n    \u003c\/button\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- ================= HERO ================= --\u003e\n  \u003cheader class=\"ks-hero ks-rv\"\u003e\n    \u003cspan class=\"ks-tag\"\u003e\u003cspan class=\"ks-dot\"\u003e\u003c\/span\u003e New generation CONDOR\u003c\/span\u003e\n    \u003cp class=\"ks-eyebrow\"\u003eXhorse • Condor Series\u003c\/p\u003e\n    \u003ch2 class=\"ks-h1\"\u003eCONDOR XC-TWINS\u003c\/h2\u003e\n    \u003cp class=\"ks-lead\" style=\"margin-top:14px\"\u003e\n      A new-generation professional automatic key cutting machine that combines\n      \u003cstrong\u003eAI optical recognition\u003c\/strong\u003e, a \u003cstrong\u003edual cutter system\u003c\/strong\u003e and a smart pressure sensor\n      for fast, accurate cutting and decoding. Built for professional locksmiths, key shops and automotive\n      technicians - and equally at home on car, motorcycle and residential keys.\n    \u003c\/p\u003e\n    \u003cul class=\"ks-badges\"\u003e\n      \u003cli\u003e\n\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M12 2a4 4 0 0 1 4 4v1a4 4 0 0 1 0 8v1a4 4 0 0 1-8 0v-1a4 4 0 0 1 0-8V6a4 4 0 0 1 4-4z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e AI Optical Recognition\u003c\/li\u003e\n      \u003cli\u003e\n\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003ccircle cx=\"7\" cy=\"12\" r=\"3\"\u003e\u003c\/circle\u003e\u003ccircle cx=\"17\" cy=\"12\" r=\"3\"\u003e\u003c\/circle\u003e\u003cpath d=\"M10 12h4\"\u003e\u003c\/path\u003e\u003c\/svg\u003e Double Cutter\u003c\/li\u003e\n      \u003cli\u003e\n\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e Pressure Sensor\u003c\/li\u003e\n      \u003cli\u003e\n\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003crect x=\"2\" y=\"4\" width=\"20\" height=\"14\" rx=\"2\"\u003e\u003c\/rect\u003e\u003cpath d=\"M8 21h8\"\u003e\u003c\/path\u003e\u003c\/svg\u003e 7\" Touch Screen\u003c\/li\u003e\n      \u003cli\u003e\n\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M5 12.5a10 10 0 0 1 14 0\"\u003e\u003c\/path\u003e\u003cpath d=\"M8.5 16a5 5 0 0 1 7 0\"\u003e\u003c\/path\u003e\u003ccircle cx=\"12\" cy=\"19.5\" r=\"1\"\u003e\u003c\/circle\u003e\u003c\/svg\u003e Wi-Fi Updates\u003c\/li\u003e\n      \u003cli\u003e\n\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M3 12h4l3 8 4-16 3 8h4\"\u003e\u003c\/path\u003e\u003c\/svg\u003e All Keys Lost Support\u003c\/li\u003e\n    \u003c\/ul\u003e\n  \u003c\/header\u003e\n\n  \u003c!-- ================= STATS ================= --\u003e\n  \u003cul class=\"ks-stats ks-rv\"\u003e\n    \u003cli class=\"ks-stat\"\u003e\n\u003cspan class=\"ks-num\" data-ks-count=\"100\" data-ks-suffix=\"+\"\u003e100+\u003c\/span\u003e\u003cspan class=\"ks-cap\"\u003eCar brands in database\u003c\/span\u003e\n\u003c\/li\u003e\n    \u003cli class=\"ks-stat\"\u003e\n\u003cspan class=\"ks-num\" data-ks-count=\"2000\" data-ks-suffix=\"+\"\u003e2,000+\u003c\/span\u003e\u003cspan class=\"ks-cap\"\u003eVehicle models\u003c\/span\u003e\n\u003c\/li\u003e\n    \u003cli class=\"ks-stat\"\u003e\n\u003cspan class=\"ks-num\" data-ks-count=\"20000\" data-ks-suffix=\"+\"\u003e20,000+\u003c\/span\u003e\u003cspan class=\"ks-cap\"\u003eAll Keys Lost entries\u003c\/span\u003e\n\u003c\/li\u003e\n    \u003cli class=\"ks-stat\"\u003e\n\u003cspan class=\"ks-num\" data-ks-count=\"9000\" data-ks-suffix=\"\"\u003e9,000\u003c\/span\u003e\u003cspan class=\"ks-cap\"\u003eMotor speed (RPM)\u003c\/span\u003e\n\u003c\/li\u003e\n  \u003c\/ul\u003e\n\n  \u003c!-- ================= FEATURES ================= --\u003e\n  \u003csection class=\"ks-sec ks-rv\"\u003e\n    \u003cdiv class=\"ks-sec-head\"\u003e\n      \u003ch3 class=\"ks-h2\"\u003e⭐ Key Advantages\u003c\/h3\u003e\n      \u003cdiv class=\"ks-rule\"\u003e\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"ks-grid\"\u003e\n\n      \u003carticle class=\"ks-card\"\u003e\n        \u003cdiv class=\"ks-ico\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003crect x=\"2\" y=\"6\" width=\"20\" height=\"13\" rx=\"2\"\u003e\u003c\/rect\u003e\u003ccircle cx=\"12\" cy=\"12.5\" r=\"3.4\"\u003e\u003c\/circle\u003e\u003cpath d=\"M8 6l1.5-2.5h5L16 6\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n        \u003ch4 class=\"ks-h3\"\u003eAI Optical Recognition\u003c\/h4\u003e\n        \u003cp\u003eA built-in camera automatically identifies the key type and the valid cutting position, and even supports adjusting key blank sizes - less manual input, fewer mistakes.\u003c\/p\u003e\n      \u003c\/article\u003e\n\n      \u003carticle class=\"ks-card ks-card--teal\"\u003e\n        \u003cdiv class=\"ks-ico\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003ccircle cx=\"7\" cy=\"12\" r=\"3.2\"\u003e\u003c\/circle\u003e\u003ccircle cx=\"17\" cy=\"12\" r=\"3.2\"\u003e\u003c\/circle\u003e\u003cpath d=\"M10.2 12h3.6M7 5v3.8M17 5v3.8\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n        \u003ch4 class=\"ks-h3\"\u003eDouble Cutter Design\u003c\/h4\u003e\n        \u003cp\u003eTwo cutters mounted at once let you move between different key types - residential keys included - without constantly swapping cutters. Real time saved on every job.\u003c\/p\u003e\n      \u003c\/article\u003e\n\n      \u003carticle class=\"ks-card\"\u003e\n        \u003cdiv class=\"ks-ico\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z\"\u003e\u003c\/path\u003e\u003cpath d=\"M9.5 12l2 2 3.5-4\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n        \u003ch4 class=\"ks-h3\"\u003eSmart Pressure Sensor\u003c\/h4\u003e\n        \u003cp\u003eA pressure sensor on the probe side helps prevent probe breakage during decoding and assists in identifying and working with different materials - metal, plastic and aluminium.\u003c\/p\u003e\n      \u003c\/article\u003e\n\n      \u003carticle class=\"ks-card ks-card--teal\"\u003e\n        \u003cdiv class=\"ks-ico\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M4 8h16M4 16h16\"\u003e\u003c\/path\u003e\u003crect x=\"7\" y=\"4\" width=\"4\" height=\"16\" rx=\"1\"\u003e\u003c\/rect\u003e\u003c\/svg\u003e\u003c\/div\u003e\n        \u003ch4 class=\"ks-h3\"\u003eVersatile Clamp System\u003c\/h4\u003e\n        \u003cp\u003eShips with the \u003cspan class=\"ks-val\"\u003eM3\u003c\/span\u003e, \u003cspan class=\"ks-val\"\u003eM5L\u003c\/span\u003e and \u003cspan class=\"ks-val\"\u003eM6\u003c\/span\u003e clamps, with \u003cspan class=\"ks-val\"\u003eM4\u003c\/span\u003e available as an option - broad coverage of everyday key profiles.\u003c\/p\u003e\n      \u003c\/article\u003e\n\n      \u003carticle class=\"ks-card\"\u003e\n        \u003cdiv class=\"ks-ico\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M5 17h14l-1.6-5.2A3 3 0 0 0 14.5 9.6h-5A3 3 0 0 0 6.6 11.8L5 17z\"\u003e\u003c\/path\u003e\u003ccircle cx=\"7.5\" cy=\"17.5\" r=\"1.6\"\u003e\u003c\/circle\u003e\u003ccircle cx=\"16.5\" cy=\"17.5\" r=\"1.6\"\u003e\u003c\/circle\u003e\u003c\/svg\u003e\u003c\/div\u003e\n        \u003ch4 class=\"ks-h3\"\u003eCar, Motorcycle \u0026amp; Residential\u003c\/h4\u003e\n        \u003cp\u003eStandard and high-security car keys, motorcycle keys and house keys - including \u003cspan class=\"ks-val\"\u003eLaser\u003c\/span\u003e, \u003cspan class=\"ks-val\"\u003eDimple\u003c\/span\u003e, \u003cspan class=\"ks-val\"\u003eTibbe\u003c\/span\u003e and double-sided profiles.\u003c\/p\u003e\n      \u003c\/article\u003e\n\n      \u003carticle class=\"ks-card ks-card--teal\"\u003e\n        \u003cdiv class=\"ks-ico\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cellipse cx=\"12\" cy=\"6\" rx=\"8\" ry=\"3\"\u003e\u003c\/ellipse\u003e\u003cpath d=\"M4 6v6c0 1.7 3.6 3 8 3s8-1.3 8-3V6\"\u003e\u003c\/path\u003e\u003cpath d=\"M4 12v6c0 1.7 3.6 3 8 3s8-1.3 8-3v-6\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n        \u003ch4 class=\"ks-h3\"\u003eDeep Database + Updates\u003c\/h4\u003e\n        \u003cp\u003eOver 100 car brands, more than 2,000 models and around 20,000 All Keys Lost entries, with ongoing software and database updates over Wi-Fi.\u003c\/p\u003e\n      \u003c\/article\u003e\n\n      \u003carticle class=\"ks-card\"\u003e\n        \u003cdiv class=\"ks-ico\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003crect x=\"2.5\" y=\"4\" width=\"19\" height=\"13\" rx=\"2\"\u003e\u003c\/rect\u003e\u003cpath d=\"M8.5 21h7M12 17v4\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n        \u003ch4 class=\"ks-h3\"\u003e7-Inch Adjustable Touch Screen\u003c\/h4\u003e\n        \u003cp\u003eA comfortable, intuitive workflow on a 7-inch angle-adjustable touch screen, backed by a colour status light that shows the machine's working state in real time.\u003c\/p\u003e\n      \u003c\/article\u003e\n\n      \u003carticle class=\"ks-card ks-card--teal\"\u003e\n        \u003cdiv class=\"ks-ico\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M12 3l8 4.5v9L12 21l-8-4.5v-9L12 3z\"\u003e\u003c\/path\u003e\u003cpath d=\"M12 12l8-4.5M12 12v9M12 12L4 7.5\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n        \u003ch4 class=\"ks-h3\"\u003e3D Preview \u0026amp; Customisation\u003c\/h4\u003e\n        \u003cp\u003ePreview the key in 3D before cutting, and customise bitting data and key blank shapes for jobs the database does not cover out of the box.\u003c\/p\u003e\n      \u003c\/article\u003e\n\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- ================= TABS ================= --\u003e\n  \u003csection class=\"ks-sec ks-rv\" data-ks-tabs\u003e\n    \u003cdiv class=\"ks-sec-head\"\u003e\n      \u003ch3 class=\"ks-h2\"\u003eEverything about the machine\u003c\/h3\u003e\n      \u003cdiv class=\"ks-rule\"\u003e\u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"ks-tabwrap\"\u003e\n    \u003cdiv class=\"ks-tabbar\" data-ks-scroller role=\"tablist\" aria-label=\"Product details\"\u003e\n      \u003cbutton class=\"ks-tab\" type=\"button\" role=\"tab\" aria-selected=\"true\" data-ks-tab=\"fn\"\u003e🔑 Functions\u003c\/button\u003e\n      \u003cbutton class=\"ks-tab\" type=\"button\" role=\"tab\" aria-selected=\"false\" data-ks-tab=\"spec\"\u003e📐 Specifications\u003c\/button\u003e\n      \u003cbutton class=\"ks-tab\" type=\"button\" role=\"tab\" aria-selected=\"false\" data-ks-tab=\"cmp\"\u003e⚖️ Comparison\u003c\/button\u003e\n      \u003cbutton class=\"ks-tab\" type=\"button\" role=\"tab\" aria-selected=\"false\" data-ks-tab=\"box\"\u003e📦 In the box\u003c\/button\u003e\n      \u003cbutton class=\"ks-tab\" type=\"button\" role=\"tab\" aria-selected=\"false\" data-ks-tab=\"faq\"\u003e❓ FAQ\u003c\/button\u003e\n    \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003c!-- ---- functions ---- --\u003e\n    \u003cdiv class=\"ks-panel\" role=\"tabpanel\" data-ks-panel=\"fn\"\u003e\n      \u003cul class=\"ks-check\"\u003e\n        \u003cli\u003e\n\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M20 6L9 17l-5-5\"\u003e\u003c\/path\u003e\u003c\/svg\u003e Automatic key cutting\u003c\/li\u003e\n        \u003cli\u003e\n\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M20 6L9 17l-5-5\"\u003e\u003c\/path\u003e\u003c\/svg\u003e Key decoding\u003c\/li\u003e\n        \u003cli\u003e\n\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M20 6L9 17l-5-5\"\u003e\u003c\/path\u003e\u003c\/svg\u003e AI key recognition\u003c\/li\u003e\n        \u003cli\u003e\n\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M20 6L9 17l-5-5\"\u003e\u003c\/path\u003e\u003c\/svg\u003e Laser (sidewinder) key cutting\u003c\/li\u003e\n        \u003cli\u003e\n\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M20 6L9 17l-5-5\"\u003e\u003c\/path\u003e\u003c\/svg\u003e Dimple key cutting\u003c\/li\u003e\n        \u003cli\u003e\n\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M20 6L9 17l-5-5\"\u003e\u003c\/path\u003e\u003c\/svg\u003e Car key cutting\u003c\/li\u003e\n        \u003cli\u003e\n\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M20 6L9 17l-5-5\"\u003e\u003c\/path\u003e\u003c\/svg\u003e Motorcycle key cutting\u003c\/li\u003e\n        \u003cli\u003e\n\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M20 6L9 17l-5-5\"\u003e\u003c\/path\u003e\u003c\/svg\u003e Residential \/ house key cutting\u003c\/li\u003e\n        \u003cli\u003e\n\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M20 6L9 17l-5-5\"\u003e\u003c\/path\u003e\u003c\/svg\u003e All Keys Lost support\u003c\/li\u003e\n        \u003cli\u003e\n\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M20 6L9 17l-5-5\"\u003e\u003c\/path\u003e\u003c\/svg\u003e Custom bitting data \u0026amp; blank shapes\u003c\/li\u003e\n        \u003cli\u003e\n\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M20 6L9 17l-5-5\"\u003e\u003c\/path\u003e\u003c\/svg\u003e 3D key preview\u003c\/li\u003e\n        \u003cli\u003e\n\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M20 6L9 17l-5-5\"\u003e\u003c\/path\u003e\u003c\/svg\u003e Offline operation\u003c\/li\u003e\n        \u003cli\u003e\n\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M20 6L9 17l-5-5\"\u003e\u003c\/path\u003e\u003c\/svg\u003e Software \u0026amp; database updates\u003c\/li\u003e\n        \u003cli\u003e\n\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M20 6L9 17l-5-5\"\u003e\u003c\/path\u003e\u003c\/svg\u003e Real-time colour status light\u003c\/li\u003e\n      \u003c\/ul\u003e\n    \u003c\/div\u003e\n\n    \u003c!-- ---- specs ---- --\u003e\n    \u003cdiv class=\"ks-panel\" role=\"tabpanel\" data-ks-panel=\"spec\" hidden\u003e\n      \u003cdiv class=\"ks-tiles\"\u003e\n        \u003cdiv class=\"ks-tile\"\u003e\n\u003cb\u003e150W\u003c\/b\u003e\u003cspan\u003ePower\u003c\/span\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"ks-tile\"\u003e\n\u003cb\u003e9,000\u003c\/b\u003e\u003cspan\u003eMotor RPM\u003c\/span\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"ks-tile\"\u003e\n\u003cb\u003e7\"\u003c\/b\u003e\u003cspan\u003eTouch screen\u003c\/span\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"ks-tile\"\u003e\n\u003cb\u003e21 kg\u003c\/b\u003e\u003cspan\u003eNet weight\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"ks-scroll\" data-ks-scroller\u003e\n        \u003ctable class=\"ks-table\"\u003e\n          \u003ctbody\u003e\n            \u003ctr\u003e\n\u003cth\u003eModel\u003c\/th\u003e\n\u003ctd\u003e\u003cspan class=\"ks-val\"\u003eXhorse CONDOR XC-TWINS\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n            \u003ctr\u003e\n\u003cth\u003ePart number\u003c\/th\u003e\n\u003ctd\u003e\u003cspan class=\"ks-val\"\u003eXCMT01GL\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n            \u003ctr\u003e\n\u003cth\u003eInput voltage\u003c\/th\u003e\n\u003ctd\u003e\u003cspan class=\"ks-val\"\u003e90-264V AC \/ 24V DC\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n            \u003ctr\u003e\n\u003cth\u003ePower\u003c\/th\u003e\n\u003ctd\u003e\u003cspan class=\"ks-val\"\u003e150W\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n            \u003ctr\u003e\n\u003cth\u003eMotor rotation speed\u003c\/th\u003e\n\u003ctd\u003e\u003cspan class=\"ks-val\"\u003e9,000 RPM\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n            \u003ctr\u003e\n\u003cth\u003eDisplay\u003c\/th\u003e\n\u003ctd\u003e\n\u003cspan class=\"ks-val\"\u003e7\"\u003c\/span\u003e angle-adjustable touch screen\u003c\/td\u003e\n\u003c\/tr\u003e\n            \u003ctr\u003e\n\u003cth\u003eCamera \/ display resolution\u003c\/th\u003e\n\u003ctd\u003e\u003cspan class=\"ks-val\"\u003e1280 × 720\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n            \u003ctr\u003e\n\u003cth\u003eClamps included\u003c\/th\u003e\n\u003ctd\u003e\n\u003cspan class=\"ks-val\"\u003eM3\u003c\/span\u003e, \u003cspan class=\"ks-val\"\u003eM5L\u003c\/span\u003e, \u003cspan class=\"ks-val\"\u003eM6\u003c\/span\u003e (\u003cspan class=\"ks-val\"\u003eM4\u003c\/span\u003e optional)\u003c\/td\u003e\n\u003c\/tr\u003e\n            \u003ctr\u003e\n\u003cth\u003eWorking temperature\u003c\/th\u003e\n\u003ctd\u003e\u003cspan class=\"ks-val\"\u003e0-50°C\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n            \u003ctr\u003e\n\u003cth\u003eNet weight\u003c\/th\u003e\n\u003ctd\u003e\u003cspan class=\"ks-val\"\u003e21 kg\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n            \u003ctr\u003e\n\u003cth\u003eGross weight\u003c\/th\u003e\n\u003ctd\u003e\u003cspan class=\"ks-val\"\u003e26 kg\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n            \u003ctr\u003e\n\u003cth\u003eMachine dimensions\u003c\/th\u003e\n\u003ctd\u003e\u003cspan class=\"ks-val\"\u003e250 × 413 × 300 mm\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n            \u003ctr\u003e\n\u003cth\u003ePackage dimensions\u003c\/th\u003e\n\u003ctd\u003e\u003cspan class=\"ks-val\"\u003e515 × 480 × 380 mm\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n            \u003ctr\u003e\n\u003cth\u003eDatabase\u003c\/th\u003e\n\u003ctd\u003e100+ brands · 2,000+ models · 20,000+ AKL entries\u003c\/td\u003e\n\u003c\/tr\u003e\n            \u003ctr\u003e\n\u003cth\u003eUpdates\u003c\/th\u003e\n\u003ctd\u003eSoftware \u0026amp; database updates over Wi-Fi\u003c\/td\u003e\n\u003c\/tr\u003e\n          \u003c\/tbody\u003e\n        \u003c\/table\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003c!-- ---- comparison ---- --\u003e\n    \u003cdiv class=\"ks-panel\" role=\"tabpanel\" data-ks-panel=\"cmp\" hidden\u003e\n      \u003cdiv class=\"ks-scroll\" data-ks-scroller\u003e\n        \u003ctable class=\"ks-table\"\u003e\n          \u003cthead\u003e\n            \u003ctr\u003e\n              \u003cth\u003eCapability\u003c\/th\u003e\n              \u003cth class=\"ks-col-hi\"\u003eCONDOR XC-TWINS\u003c\/th\u003e\n              \u003cth\u003eCONDOR XC-MINI PLUS II\u003c\/th\u003e\n            \u003c\/tr\u003e\n          \u003c\/thead\u003e\n          \u003ctbody\u003e\n            \u003ctr\u003e\n\u003cth\u003eAI optical recognition (camera)\u003c\/th\u003e\n\u003ctd class=\"ks-col-hi\"\u003e\n\u003cspan class=\"ks-yes\"\u003e✔\u003c\/span\u003e Yes\u003c\/td\u003e\n\u003ctd\u003e\n\u003cspan class=\"ks-no\"\u003e✘\u003c\/span\u003e No\u003c\/td\u003e\n\u003c\/tr\u003e\n            \u003ctr\u003e\n\u003cth\u003eCutter system\u003c\/th\u003e\n\u003ctd class=\"ks-col-hi\"\u003e\n\u003cspan class=\"ks-yes\"\u003e✔\u003c\/span\u003e Double cutter\u003c\/td\u003e\n\u003ctd\u003eSingle cutter\u003c\/td\u003e\n\u003c\/tr\u003e\n            \u003ctr\u003e\n\u003cth\u003eProbe pressure sensor\u003c\/th\u003e\n\u003ctd class=\"ks-col-hi\"\u003e\n\u003cspan class=\"ks-yes\"\u003e✔\u003c\/span\u003e Yes\u003c\/td\u003e\n\u003ctd\u003e\n\u003cspan class=\"ks-no\"\u003e✘\u003c\/span\u003e No\u003c\/td\u003e\n\u003c\/tr\u003e\n            \u003ctr\u003e\n\u003cth\u003eM6 dimple clamp\u003c\/th\u003e\n\u003ctd class=\"ks-col-hi\"\u003e\n\u003cspan class=\"ks-yes\"\u003e✔\u003c\/span\u003e Included\u003c\/td\u003e\n\u003ctd\u003eNot included\u003c\/td\u003e\n\u003c\/tr\u003e\n            \u003ctr\u003e\n\u003cth\u003eDisplay\u003c\/th\u003e\n\u003ctd class=\"ks-col-hi\"\u003e\n\u003cspan class=\"ks-val\"\u003e7\"\u003c\/span\u003e adjustable touch screen\u003c\/td\u003e\n\u003ctd\u003eBuilt-in touch screen\u003c\/td\u003e\n\u003c\/tr\u003e\n            \u003ctr\u003e\n\u003cth\u003eResidential \/ dimple keys\u003c\/th\u003e\n\u003ctd class=\"ks-col-hi\"\u003e\n\u003cspan class=\"ks-yes\"\u003e✔\u003c\/span\u003e Extended support\u003c\/td\u003e\n\u003ctd\u003eBasic support\u003c\/td\u003e\n\u003c\/tr\u003e\n            \u003ctr\u003e\n\u003cth\u003eAKL database \u0026amp; updates\u003c\/th\u003e\n\u003ctd class=\"ks-col-hi\"\u003e20,000+ AKL entries, Wi-Fi updates\u003c\/td\u003e\n\u003ctd\u003eSmaller database\u003c\/td\u003e\n\u003c\/tr\u003e\n            \u003ctr\u003e\n\u003cth\u003eOffline operation\u003c\/th\u003e\n\u003ctd class=\"ks-col-hi\"\u003e\n\u003cspan class=\"ks-yes\"\u003e✔\u003c\/span\u003e Yes\u003c\/td\u003e\n\u003ctd\u003e\n\u003cspan class=\"ks-yes\"\u003e✔\u003c\/span\u003e Yes\u003c\/td\u003e\n\u003c\/tr\u003e\n          \u003c\/tbody\u003e\n        \u003c\/table\u003e\n      \u003c\/div\u003e\n      \u003cp class=\"ks-note\"\u003eComparison is provided as general orientation between CONDOR models. Specifications may change with firmware version and manufacturer updates.\u003c\/p\u003e\n    \u003c\/div\u003e\n\n    \u003c!-- ---- package ---- --\u003e\n    \u003cdiv class=\"ks-panel\" role=\"tabpanel\" data-ks-panel=\"box\" hidden\u003e\n      \u003cul class=\"ks-box\"\u003e\n        \u003cli\u003e\n\u003cspan class=\"ks-qty\"\u003e1\u003c\/span\u003e CONDOR XC-TWINS machine\u003c\/li\u003e\n        \u003cli\u003e\n\u003cspan class=\"ks-qty\"\u003e1\u003c\/span\u003e M3 clamp\u003c\/li\u003e\n        \u003cli\u003e\n\u003cspan class=\"ks-qty\"\u003e1\u003c\/span\u003e M5L clamp\u003c\/li\u003e\n        \u003cli\u003e\n\u003cspan class=\"ks-qty\"\u003e1\u003c\/span\u003e M6 clamp\u003c\/li\u003e\n        \u003cli\u003e\n\u003cspan class=\"ks-qty\"\u003e✚\u003c\/span\u003e Cutter \u0026amp; probe set\u003c\/li\u003e\n        \u003cli\u003e\n\u003cspan class=\"ks-qty\"\u003e1\u003c\/span\u003e Power adapter \u0026amp; cable\u003c\/li\u003e\n        \u003cli\u003e\n\u003cspan class=\"ks-qty\"\u003e✚\u003c\/span\u003e Service tool kit\u003c\/li\u003e\n        \u003cli\u003e\n\u003cspan class=\"ks-qty\"\u003e1\u003c\/span\u003e User manual\u003c\/li\u003e\n      \u003c\/ul\u003e\n      \u003cp class=\"ks-note\"\u003eThe M4 clamp is sold separately. Package contents may vary by shipment and manufacturer revision.\u003c\/p\u003e\n    \u003c\/div\u003e\n\n    \u003c!-- ---- faq ---- --\u003e\n    \u003cdiv class=\"ks-panel\" role=\"tabpanel\" data-ks-panel=\"faq\" hidden\u003e\n      \u003cdiv class=\"ks-faq\" data-ks-acc\u003e\n\n        \u003cdiv class=\"ks-q\"\u003e\n          \u003cbutton type=\"button\" aria-expanded=\"false\"\u003e\n            \u003cspan\u003eDoes the machine work without an internet connection?\u003c\/span\u003e\n            \u003csvg class=\"ks-chev\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M6 9l6 6 6-6\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n          \u003c\/button\u003e\n          \u003cdiv class=\"ks-a\"\u003e\u003cdiv\u003eYes. The XC-TWINS supports offline operation, so you can cut and decode keys with no network connection. Wi-Fi is used for software and database updates.\u003c\/div\u003e\u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"ks-q\"\u003e\n          \u003cbutton type=\"button\" aria-expanded=\"false\"\u003e\n            \u003cspan\u003eWhich clamps are included?\u003c\/span\u003e\n            \u003csvg class=\"ks-chev\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M6 9l6 6 6-6\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n          \u003c\/button\u003e\n          \u003cdiv class=\"ks-a\"\u003e\u003cdiv\u003eThree clamps ship with the machine: \u003cspan class=\"ks-val\"\u003eM3\u003c\/span\u003e, \u003cspan class=\"ks-val\"\u003eM5L\u003c\/span\u003e and \u003cspan class=\"ks-val\"\u003eM6\u003c\/span\u003e. The \u003cspan class=\"ks-val\"\u003eM4\u003c\/span\u003e clamp is available separately and widens the range of supported key profiles.\u003c\/div\u003e\u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"ks-q\"\u003e\n          \u003cbutton type=\"button\" aria-expanded=\"false\"\u003e\n            \u003cspan\u003eCan it cut residential and dimple house keys?\u003c\/span\u003e\n            \u003csvg class=\"ks-chev\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M6 9l6 6 6-6\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n          \u003c\/button\u003e\n          \u003cdiv class=\"ks-a\"\u003e\u003cdiv\u003eYes - extended residential support is one of the headline upgrades on the XC-TWINS. Together with the M6 clamp and the double cutter design it handles dimple and high-security house keys alongside automotive work.\u003c\/div\u003e\u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"ks-q\"\u003e\n          \u003cbutton type=\"button\" aria-expanded=\"false\"\u003e\n            \u003cspan\u003eHow is it different from the XC-MINI PLUS II?\u003c\/span\u003e\n            \u003csvg class=\"ks-chev\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M6 9l6 6 6-6\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n          \u003c\/button\u003e\n          \u003cdiv class=\"ks-a\"\u003e\u003cdiv\u003eThree main differences: camera-based AI optical recognition, a double cutter system instead of a single cutter, and a built-in probe pressure sensor. The XC-TWINS also adds a 7-inch adjustable screen and broader residential key coverage.\u003c\/div\u003e\u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"ks-q\"\u003e\n          \u003cbutton type=\"button\" aria-expanded=\"false\"\u003e\n            \u003cspan\u003eWhat is AKL and why does it matter?\u003c\/span\u003e\n            \u003csvg class=\"ks-chev\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M6 9l6 6 6-6\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n          \u003c\/button\u003e\n          \u003cdiv class=\"ks-a\"\u003e\u003cdiv\u003eAKL stands for All Keys Lost - the job where no original key is available. Roughly 20,000 AKL entries let you generate the correct bitting from vehicle data and cut a new key without a sample key in hand.\u003c\/div\u003e\u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"ks-q\"\u003e\n          \u003cbutton type=\"button\" aria-expanded=\"false\"\u003e\n            \u003cspan\u003eDo I have to change cutters between key types?\u003c\/span\u003e\n            \u003csvg class=\"ks-chev\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M6 9l6 6 6-6\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n          \u003c\/button\u003e\n          \u003cdiv class=\"ks-a\"\u003e\u003cdiv\u003eFar less often. The double cutter design exists specifically to reduce cutter swaps between key types, which shortens setup time and lets you switch between jobs quickly.\u003c\/div\u003e\u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"ks-q\"\u003e\n          \u003cbutton type=\"button\" aria-expanded=\"false\"\u003e\n            \u003cspan\u003eWhat support do you provide after purchase?\u003c\/span\u003e\n            \u003csvg class=\"ks-chev\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M6 9l6 6 6-6\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n          \u003c\/button\u003e\n          \u003cdiv class=\"ks-a\"\u003e\u003cdiv\u003eThe KeyShop team provides setup guidance, training and ongoing technical support - including help with configuration, updates and troubleshooting.\u003c\/div\u003e\u003c\/div\u003e\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- ================= AUDIENCE ================= --\u003e\n  \u003csection class=\"ks-sec ks-rv\"\u003e\n    \u003cdiv class=\"ks-sec-head\"\u003e\n      \u003ch3 class=\"ks-h2\"\u003e🎯 Who is it for?\u003c\/h3\u003e\n      \u003cdiv class=\"ks-rule\"\u003e\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cul class=\"ks-who\"\u003e\n      \u003cli\u003e\n\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003ccircle cx=\"8\" cy=\"9\" r=\"4\"\u003e\u003c\/circle\u003e\u003cpath d=\"M12 9h9l-2 2 2 2-3 3\"\u003e\u003c\/path\u003e\u003c\/svg\u003eProfessional locksmiths\u003c\/li\u003e\n      \u003cli\u003e\n\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M3 9l2-5h14l2 5\"\u003e\u003c\/path\u003e\u003cpath d=\"M4 9h16v11H4z\"\u003e\u003c\/path\u003e\u003cpath d=\"M9 20v-6h6v6\"\u003e\u003c\/path\u003e\u003c\/svg\u003eKey duplication shops\u003c\/li\u003e\n      \u003cli\u003e\n\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M5 17h14l-1.6-5.2A3 3 0 0 0 14.5 9.6h-5A3 3 0 0 0 6.6 11.8L5 17z\"\u003e\u003c\/path\u003e\u003ccircle cx=\"7.5\" cy=\"17.5\" r=\"1.6\"\u003e\u003c\/circle\u003e\u003ccircle cx=\"16.5\" cy=\"17.5\" r=\"1.6\"\u003e\u003c\/circle\u003e\u003c\/svg\u003eAutomotive locksmiths\u003c\/li\u003e\n      \u003cli\u003e\n\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M14.7 6.3a4 4 0 0 1-5.4 5.4L4 17v3h3l5.3-5.3a4 4 0 0 1 5.4-5.4l-2.5 2.5 2 2 2.5-2.5a4 4 0 0 1-.5-2.5z\"\u003e\u003c\/path\u003e\u003c\/svg\u003eAuto technicians \u0026amp; garages\u003c\/li\u003e\n    \u003c\/ul\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- ================= CTA ================= --\u003e\n  \u003cdiv class=\"ks-cta ks-rv\"\u003e\n    \u003cp\u003e\n      The \u003cstrong\u003eXhorse CONDOR XC-TWINS\u003c\/strong\u003e is one advanced solution for a very wide range of cutting and\n      decoding work - a machine that lets you complete more jobs per day, in less time and with fewer errors.\n    \u003c\/p\u003e\n    \u003cp class=\"ks-slogan\"\u003eSmart technology · Professional accuracy · One versatile machine\u003c\/p\u003e\n  \u003c\/div\u003e\n\n  \u003cp class=\"ks-note\"\u003e\n    Specifications are based on Xhorse manufacturer data and may change without notice. Images are for illustration only.\n  \u003c\/p\u003e\n\n\u003c\/div\u003e\n\u003c!-- \/.ks-wrap --\u003e\n\n\u003cscript\u003e\n\/* =========================================================================\n   KEYSHOP XC-TWINS - scoped behaviour\n   Dual-render safe: each root is initialised once via a data-ks-init flag.\n   No IDs, no globals, no external dependencies.\n   ========================================================================= *\/\n(function(){\n  var SEL = '.ks-xct[data-ks-widget=\"xc-twins\"]';\n\n  function each(list, fn){ Array.prototype.forEach.call(list, fn); }\n\n  function initTabs(root){\n    each(root.querySelectorAll('[data-ks-tabs]'), function(group){\n      var tabs   = group.querySelectorAll('.ks-tab');\n      var panels = group.querySelectorAll('.ks-panel');\n      function show(key, focus){\n        each(tabs, function(t){\n          var on = t.getAttribute('data-ks-tab') === key;\n          t.setAttribute('aria-selected', on ? 'true' : 'false');\n          t.tabIndex = on ? 0 : -1;\n          if(on \u0026\u0026 focus){ t.focus(); }\n        });\n        each(panels, function(p){\n          if(p.getAttribute('data-ks-panel') === key){ p.removeAttribute('hidden'); }\n          else { p.setAttribute('hidden',''); }\n        });\n        try{ root.dispatchEvent(new Event('ks-sync')); }catch(err){}\n      }\n      each(tabs, function(t, i){\n        t.tabIndex = t.getAttribute('aria-selected') === 'true' ? 0 : -1;\n        t.addEventListener('click', function(){ show(t.getAttribute('data-ks-tab'), false); });\n        t.addEventListener('keydown', function(e){\n          var k = e.key, n = tabs.length, j = -1;\n          var rtl = (root.getAttribute('dir') || '').toLowerCase() === 'rtl';\n          if(k === 'ArrowRight'){ j = rtl ? i-1 : i+1; }\n          else if(k === 'ArrowLeft'){ j = rtl ? i+1 : i-1; }\n          else if(k === 'Home'){ j = 0; }\n          else if(k === 'End'){ j = n-1; }\n          if(j \u003e -1){ e.preventDefault(); j = (j+n)%n; show(tabs[j].getAttribute('data-ks-tab'), true); }\n        });\n      });\n    });\n  }\n\n  function initAcc(root){\n    each(root.querySelectorAll('[data-ks-acc]'), function(acc){\n      each(acc.querySelectorAll('.ks-q'), function(item){\n        var btn = item.querySelector('button');\n        var pan = item.querySelector('.ks-a');\n        if(!btn || !pan) return;\n        btn.addEventListener('click', function(){\n          var open = item.getAttribute('data-ks-open') === '1';\n          each(acc.querySelectorAll('.ks-q'), function(other){\n            other.setAttribute('data-ks-open','0');\n            var b = other.querySelector('button'), p = other.querySelector('.ks-a');\n            if(b) b.setAttribute('aria-expanded','false');\n            if(p) p.style.maxHeight = '0px';\n          });\n          if(!open){\n            item.setAttribute('data-ks-open','1');\n            btn.setAttribute('aria-expanded','true');\n            pan.style.maxHeight = pan.scrollHeight + 40 + 'px';\n          }\n        });\n      });\n      window.addEventListener('resize', function(){\n        each(acc.querySelectorAll('.ks-q[data-ks-open=\"1\"] .ks-a'), function(p){\n          p.style.maxHeight = p.scrollHeight + 40 + 'px';\n        });\n      });\n    });\n  }\n\n  function countUp(el){\n    var target = parseFloat(el.getAttribute('data-ks-count')) || 0;\n    var suffix = el.getAttribute('data-ks-suffix') || '';\n    var reduce = window.matchMedia \u0026\u0026 window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n    if(reduce){ el.textContent = target.toLocaleString('en-US') + suffix; return; }\n    var dur = 1400, t0 = null;\n    function step(ts){\n      if(!t0) t0 = ts;\n      var p = Math.min((ts - t0) \/ dur, 1);\n      var e = 1 - Math.pow(1 - p, 3);\n      el.textContent = Math.round(target * e).toLocaleString('en-US') + (p === 1 ? suffix : '');\n      if(p \u003c 1){ window.requestAnimationFrame(step); }\n    }\n    window.requestAnimationFrame(step);\n  }\n\n  function initReveal(root){\n    var items = root.querySelectorAll('.ks-rv');\n    var nums  = root.querySelectorAll('[data-ks-count]');\n    if(!('IntersectionObserver' in window)){\n      each(items, function(n){ n.classList.add('ks-in'); });\n      return;\n    }\n    root.classList.add('ks-js');\n    each(nums, function(n){ n.textContent = '0'; });\n    var io = new IntersectionObserver(function(entries){\n      entries.forEach(function(en){\n        if(!en.isIntersecting) return;\n        en.target.classList.add('ks-in');\n        each(en.target.querySelectorAll('[data-ks-count]'), function(n){\n          if(n.getAttribute('data-ks-done') === '1') return;\n          n.setAttribute('data-ks-done','1');\n          countUp(n);\n        });\n        io.unobserve(en.target);\n      });\n    }, { threshold: 0.14, rootMargin: '0px 0px -40px 0px' });\n    each(items, function(n){ io.observe(n); });\n  }\n\n  \/* keep the sticky tab bar clear of a sticky\/fixed theme header *\/\n  function initSticky(root){\n    var probe = function(){\n      var top = 8, els = document.body ? document.body.querySelectorAll('header,nav,div,section') : [];\n      var max = 0;\n      Array.prototype.slice.call(els, 0, 300).forEach(function(el){\n        if(root.contains(el)) return;\n        var cs = window.getComputedStyle(el);\n        if((cs.position === 'fixed' || cs.position === 'sticky') \u0026\u0026 cs.display !== 'none'){\n          var r = el.getBoundingClientRect();\n          if(r.top \u003c= 2 \u0026\u0026 r.height \u003e 28 \u0026\u0026 r.height \u003c 220 \u0026\u0026 r.width \u003e window.innerWidth * 0.6){\n            if(r.height \u003e max) max = r.height;\n          }\n        }\n      });\n      root.style.setProperty('--ks-sticky-top', (max ? Math.round(max + top) : top) + 'px');\n    };\n    try{ probe(); }catch(e){}\n    var t;\n    window.addEventListener('resize', function(){ clearTimeout(t); t = setTimeout(function(){ try{ probe(); }catch(e){} }, 200); });\n  }\n\n  \/* ---- YouTube -----------------------------------------------------------\n     Uses the official IFrame Player API (loaded once, shared by every copy of\n     the block). The sound button stays hidden until the player fires onReady,\n     so it is never visible unless it actually works.\n     ----------------------------------------------------------------------- *\/\n  function ytApi(cb){\n    function ready(){ return !!(window.YT \u0026\u0026 window.YT.Player); }\n    if(ready()){ cb(); return; }\n    if(!window.__ksYTReq){\n      window.__ksYTReq = true;\n      var s = document.createElement('script');\n      s.src = 'https:\/\/www.youtube.com\/iframe_api';\n      s.async = true;\n      (document.head || document.documentElement).appendChild(s);\n    }\n    var tries = 0;\n    var t = window.setInterval(function(){\n      tries++;\n      if(ready()){ window.clearInterval(t); cb(); }\n      else if(tries \u003e 150){ window.clearInterval(t); }   \/* give up after ~15s *\/\n    }, 100);\n  }\n\n  function initVideo(root){\n    each(root.querySelectorAll('[data-ks-video]'), function(box){\n      var frame = box.querySelector('iframe');\n      var btn   = box.querySelector('[data-ks-unmute]');\n      var skel  = box.querySelector('.ks-video__skel');\n      if(!frame) return;\n      var player = null, loaded = false;\n\n      function hideSkel(){ if(skel){ skel.style.display = 'none'; } }\n\n      function load(){\n        if(loaded) return; loaded = true;\n        var src = frame.getAttribute('data-ks-src') || '';\n        try{\n          if(window.location \u0026\u0026 \/^https?:$\/.test(window.location.protocol) \u0026\u0026 window.location.origin){\n            src += '\u0026origin=' + encodeURIComponent(window.location.origin);\n          }\n        }catch(e){}\n        frame.src = src;\n        frame.addEventListener('load', hideSkel);\n        ytApi(function(){\n          try{\n            player = new window.YT.Player(frame, {\n              events: {\n                onReady: function(){\n                  hideSkel();\n                  if(btn){ btn.setAttribute('data-ks-ready','1'); }\n                }\n              }\n            });\n          }catch(e){ player = null; }\n        });\n      }\n\n      function call(fn){\n        if(!player) return false;\n        try{ player[fn](); return true; }catch(e){ return false; }\n      }\n\n      if('IntersectionObserver' in window){\n        var vio = new IntersectionObserver(function(en){\n          en.forEach(function(e){\n            if(e.isIntersecting){ load(); call('playVideo'); }\n            else if(loaded){ call('pauseVideo'); }\n          });\n        }, { threshold: 0.25 });\n        vio.observe(box);\n      } else { load(); }\n\n      if(btn){\n        btn.addEventListener('click', function(){\n          if(!player) return;\n          var muted = true;\n          try{ muted = player.isMuted(); }catch(e){}\n          try{\n            if(muted){ player.unMute(); player.setVolume(100); player.playVideo(); }\n            else { player.mute(); }\n          }catch(e){ return; }\n          btn.setAttribute('data-ks-on', muted ? '1' : '0');\n          btn.setAttribute('aria-pressed', muted ? 'true' : 'false');\n          var lbl = btn.querySelector('[data-ks-label]');\n          if(lbl){\n            lbl.textContent = muted ? lbl.getAttribute('data-ks-on-text')\n                                    : lbl.getAttribute('data-ks-off-text');\n          }\n        });\n      }\n    });\n  }\n\n  \/* ---- custom horizontal scrollbar for the tab bar and wide tables ---- *\/\n  function initScrollbars(root){\n    each(root.querySelectorAll('[data-ks-scroller]'), function(sc){\n      var bar = document.createElement('div');\n      var thumb = document.createElement('span');\n      bar.className = 'ks-sbar';\n      thumb.className = 'ks-sbar__thumb';\n      bar.appendChild(thumb);\n      if(sc.parentNode){ sc.parentNode.insertBefore(bar, sc.nextSibling); }\n      var rtl = (window.getComputedStyle(sc).direction === 'rtl');\n      function maxScroll(){ return Math.max(sc.scrollWidth - sc.clientWidth, 0); }\n      function pos(){ return rtl ? Math.abs(sc.scrollLeft) : sc.scrollLeft; }\n      function setPos(v){\n        var m = maxScroll();\n        v = Math.max(0, Math.min(v, m));\n        sc.scrollLeft = rtl ? -v : v;\n      }\n      function sync(){\n        var m = maxScroll();\n        if(m \u003c= 2){ bar.style.display = 'none'; return; }\n        bar.style.display = 'block';\n        var w = Math.max((sc.clientWidth \/ sc.scrollWidth) * 100, 16);\n        thumb.style.width = w + '%';\n        thumb.style.insetInlineStart = ((pos() \/ m) * (100 - w)) + '%';\n      }\n      sc.addEventListener('scroll', sync, { passive:true });\n      window.addEventListener('resize', sync);\n      root.addEventListener('ks-sync', function(){ window.setTimeout(sync, 30); });\n      var dragging = false;\n      function fromEvent(e){\n        var r = bar.getBoundingClientRect();\n        var tw = thumb.getBoundingClientRect().width;\n        var x = (e.clientX !== undefined ? e.clientX : 0) - r.left - tw\/2;\n        var span = Math.max(r.width - tw, 1);\n        var ratio = Math.max(0, Math.min(x \/ span, 1));\n        if(rtl){ ratio = 1 - ratio; }\n        setPos(ratio * maxScroll());\n      }\n      bar.addEventListener('pointerdown', function(e){\n        dragging = true; bar.setAttribute('data-ks-drag','1');\n        try{ bar.setPointerCapture(e.pointerId); }catch(err){}\n        fromEvent(e); e.preventDefault();\n      });\n      bar.addEventListener('pointermove', function(e){ if(dragging){ fromEvent(e); } });\n      function stop(e){\n        if(!dragging) return;\n        dragging = false; bar.setAttribute('data-ks-drag','0');\n        try{ bar.releasePointerCapture(e.pointerId); }catch(err){}\n      }\n      bar.addEventListener('pointerup', stop);\n      bar.addEventListener('pointercancel', stop);\n      window.setTimeout(sync, 60);\n      window.setTimeout(sync, 600);\n      sync();\n    });\n  }\n\n  \/* ---- gentle parallax for the floating clamp background ---- *\/\n  function initParallax(root){\n    var mover = root.querySelector('.ks-fx__move');\n    if(!mover) return;\n    if(window.matchMedia \u0026\u0026 window.matchMedia('(prefers-reduced-motion: reduce)').matches) return;\n    var ticking = false;\n    function update(){\n      ticking = false;\n      var r = root.getBoundingClientRect();\n      if(r.bottom \u003c -200 || r.top \u003e window.innerHeight + 200) return;\n      var mid = r.top + r.height\/2;\n      var d = (window.innerHeight\/2 - mid) \/ Math.max(window.innerHeight,1);\n      mover.style.setProperty('--ks-par', Math.round(Math.max(-1,Math.min(1,d)) * 46) + 'px');\n    }\n    function onScroll(){ if(!ticking){ ticking = true; window.requestAnimationFrame(update); } }\n    window.addEventListener('scroll', onScroll, { passive:true });\n    window.addEventListener('resize', onScroll);\n    update();\n  }\n\n  function init(root){\n    if(root.getAttribute('data-ks-init') === '1') return;\n    root.setAttribute('data-ks-init','1');\n    try{ initTabs(root); }catch(e){}\n    try{ initAcc(root); }catch(e){}\n    try{ initReveal(root); }catch(e){}\n    try{ initSticky(root); }catch(e){}\n    try{ initVideo(root); }catch(e){}\n    try{ initScrollbars(root); }catch(e){}\n    try{ initParallax(root); }catch(e){}\n  }\n\n  function boot(){ each(document.querySelectorAll(SEL), init); }\n\n  boot();\n  if(document.readyState === 'loading'){ document.addEventListener('DOMContentLoaded', boot); }\n  window.setTimeout(boot, 400);\n  window.setTimeout(boot, 1500);\n  if(window.MutationObserver \u0026\u0026 document.body){\n    var mo = new MutationObserver(function(){ boot(); });\n    mo.observe(document.body, { childList:true, subtree:true });\n    window.setTimeout(function(){ mo.disconnect(); }, 12000);\n  }\n})();\n\u003c\/script\u003e\n\u003c\/div\u003e\u003c!-- \/.ks-xct --\u003e","brand":"xhorse","offers":[{"title":"Default Title","offer_id":52394061758684,"sku":"XHM043","price":3698.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0667\/1391\/1516\/files\/XC-TWINS_2.jpg?v=1788197279","url":"https:\/\/keyshop-online.com\/products\/xhorse-condor-xc-twins-auto-residential-key-machine","provider":"Keyshop-Online","version":"1.0","type":"link"}