<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
     xmlns:content="http://purl.org/rss/1.0/modules/content/"
     xmlns:dc="http://purl.org/dc/elements/1.1/"
     xmlns:dcterms="http://purl.org/dc/terms/"
     xmlns:media="http://search.yahoo.com/mrss/"
     xmlns:atom="http://www.w3.org/2005/Atom"
     xmlns:cf="https://www.futureplc.com/rss/content-flags"
>
    <channel>
                    <atom:link rel="alternate" hreflang="en-GB"
                       href="https://www.techradar.com/uk/feeds/tag/smart-home"
                       type="application/rss+xml"/>
                            <title><![CDATA[ Latest from TechRadar UK in Smart-home ]]></title>
                <link>https://www.techradar.com/uk/home/smart-home</link>
        <description><![CDATA[ All the latest smart-home content from the TechRadar  UK team ]]></description>
                                    <lastBuildDate>Mon, 28 Sep 2026 19:00:00 +0000</lastBuildDate>
                            <language>en</language>
                                <item>
                                                            <title><![CDATA[ Anker unveils Eufy S4 video doorbell with VR viewing and AI tracking ]]></title>
                                                                                                <dc:content><![CDATA[ <ul><li><strong>Anker claims its new Eufy S4 video doorbell is the first with VR viewing</strong></li><li><strong>The device has a 180-degree field of view, and uses AI tracking to follow subjects and frame them</strong></li><li><strong>It's set to ship at the end of October, for $299 (about £230 / AU$430)</strong></li></ul><p>Anker has unveiled its Edge 5.0 lineup of smart home devices, but the new Eufy Video Doorbell S4 that apparently comes with VR viewing of who's at your door is the latest inductee to the weird tech hall of fame. </p><p>The device, which also comes with the Chime 2, is available to pre-order now and is expected to ship at the end of October, but it’s quite a costly addition to your smart home setup priced at $299.99. Still, despite its price and arguably unnecessary headline feature, its expansive roster of features could putit among the <a href="https://www.techradar.com/home/home-security/best-video-doorbell">best video doorbells</a>. </p><p>Aside from being subscription-free with 4GB of built-in memory — which you’d hope for given its asking price — the device’s VR viewing sets the S4 apart from rivals such as the <a href="https://www.techradar.com/reviews/philips-7000-series-video-doorbell">Philips 7000 Series</a>, our overall best pick. According to Anker, the S4 is the world’s first video doorbell with such viewing capabilities, and it sounds pretty insane, but very much impressive. </p><p>When the doorbell detects someone at your door, you’ll get a videocall-like notification from the Anker Eufy app which will open a video 180-degree field of view (horizontally and vertically). This gives you an ultra-wide view of the front of your home at all times, removing the need for additional security cameras. </p><p>Once you’ve launched the live view in the Anker Eufy app, you can move your smartphone — or VR headset, naturally — to look in different directions and see things from different angles. Clever, right? But that’s not the only smart feature. </p><p>As far as camera tracking goes, the S4 records 3K video in 3072 x 3072 keeping a subject’s entire body visible, while Eufy’s AI-powered OmniTrack technology  locks onto the person in the frame, following them as they move around. The doorbell then uses Auto-Framing to crop the panoramic view, keeping them in the center at all times.</p><h2 id="detection-accuracy-smart-hub-compatibility-and-more">Detection accuracy, smart hub compatibility, and more</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1248px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="vDiDFX2K8YmCxYRcdrvXbR" name="EufyS4FieldofView" alt="A diagram showing the Eufy S4 video doorbell's range of view" src="https://cdn.mos.cms.futurecdn.net/vDiDFX2K8YmCxYRcdrvXbR-1920-80.png" mos="" align="middle" fullscreen="" width="1248" height="702" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Anker / Eufy)</span></figcaption></figure><p>With the new Eufy video doorbell, Anker has put a huge amount of effort into ensuring the device is capable and sensitive enough to monitor your home’s entrance. </p><p>A common mishap with video doorbells is false alerts, sending a wave of worry through you when there was nothing to really worry about. To reduce these false alarms, the S4 uses a combination of radar for longer-range detection, while sporting dual PIR sensors to help differentiate human movement closer to your front door. </p><p>When it comes to smart home compatibility, Anker’s new video doorbell can be integrated into your existing ecosystem whether you’re running on Alexa, Google Home, or Apple HomeKit, though there are a few things to keep in mind. </p><p>For those of you using Apple HomeKit, you’ll need to have the Eufy HomeBaseS380 hub to get set up. Additionally, VR viewing and OmniTrack is only available through the Anker Eufy app, so third-party platforms will only show a fixed live view. </p> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/home/home-security/ankers-launches-worlds-first-video-doorbell-with-vr-viewing-fortunately-it-has-other-smart-features-to-justify-its-giant-price-tag-and-is-subscription-free</link>
                                                                            <description>
                            <![CDATA[ With 180-degree viewing field, AI tracking, and subject framing, there's nothing the Eufy S4 video doorbell can't do. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">dr4sGhvUF8MV6zgervo5v8</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/wwC6ffF39gHuESyvznR274-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Mon, 28 Sep 2026 19:00:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Home Security]]></category>
                                                    <category><![CDATA[Virtual Reality & Augmented Reality]]></category>
                                                    <category><![CDATA[Home]]></category>
                                                    <category><![CDATA[Smart Home]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                    <category><![CDATA[Software]]></category>
                                                                                                <author><![CDATA[ rowan.davies@futurenet.com (Rowan Davies) ]]></author>                    <dc:creator><![CDATA[ Rowan Davies ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/q5Az6iW5pbAotRovdNvQAf-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Rowan is an Editorial Associate and Apprentice Writer for TechRadar. A recent addition to the news team, he is involved in generating stories for topics that spread across TechRadar&#039;s categories. His interests in audio tech and knowledge in entertainment culture help bring the latest updates in tech news to our readers.&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;He has been writing for publications since he started his studies at age 18. Rowan graduated from Cardiff University in 2023 after attaining a Master&#039;s in Creative Writing, and earlier a Bachelor&#039;s in Media, Journalism, and Culture. He began his journey as a writer at Cardiff University&#039;s Quench Magazine contributing to film/ TV, music, and culture sections, later becoming Music Section Editor.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;In his free time, Rowan is a freelance writer for Cardiff-based culture magazine Buzz where he reviews music, film, and conducts interviews with featured guests. When he is not writing, you can find him at any given music gig, or endlessly scrolling TikTok immersing in celebrity news and drama. &amp;nbsp;&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/wwC6ffF39gHuESyvznR274-1920-80.jpg">
                                                            <media:credit><![CDATA[Anker / Eufy]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[The Eufy S4 video doorbell by Anker being attached to a wall]]></media:description>                                                            <media:text><![CDATA[The Eufy S4 video doorbell by Anker being attached to a wall]]></media:text>
                                <media:title type="plain"><![CDATA[The Eufy S4 video doorbell by Anker being attached to a wall]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/wwC6ffF39gHuESyvznR274-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <ul><li><strong>Anker claims its new Eufy S4 video doorbell is the first with VR viewing</strong></li><li><strong>The device has a 180-degree field of view, and uses AI tracking to follow subjects and frame them</strong></li><li><strong>It's set to ship at the end of October, for $299 (about £230 / AU$430)</strong></li></ul><p>Anker has unveiled its Edge 5.0 lineup of smart home devices, but the new Eufy Video Doorbell S4 that apparently comes with VR viewing of who's at your door is the latest inductee to the weird tech hall of fame. </p><p>The device, which also comes with the Chime 2, is available to pre-order now and is expected to ship at the end of October, but it’s quite a costly addition to your smart home setup priced at $299.99. Still, despite its price and arguably unnecessary headline feature, its expansive roster of features could putit among the <a href="https://www.techradar.com/home/home-security/best-video-doorbell">best video doorbells</a>. </p><p>Aside from being subscription-free with 4GB of built-in memory — which you’d hope for given its asking price — the device’s VR viewing sets the S4 apart from rivals such as the <a href="https://www.techradar.com/reviews/philips-7000-series-video-doorbell">Philips 7000 Series</a>, our overall best pick. According to Anker, the S4 is the world’s first video doorbell with such viewing capabilities, and it sounds pretty insane, but very much impressive. </p><p>When the doorbell detects someone at your door, you’ll get a videocall-like notification from the Anker Eufy app which will open a video 180-degree field of view (horizontally and vertically). This gives you an ultra-wide view of the front of your home at all times, removing the need for additional security cameras. </p><p>Once you’ve launched the live view in the Anker Eufy app, you can move your smartphone — or VR headset, naturally — to look in different directions and see things from different angles. Clever, right? But that’s not the only smart feature. </p><p>As far as camera tracking goes, the S4 records 3K video in 3072 x 3072 keeping a subject’s entire body visible, while Eufy’s AI-powered OmniTrack technology  locks onto the person in the frame, following them as they move around. The doorbell then uses Auto-Framing to crop the panoramic view, keeping them in the center at all times.</p><h2 id="detection-accuracy-smart-hub-compatibility-and-more">Detection accuracy, smart hub compatibility, and more</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1248px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="vDiDFX2K8YmCxYRcdrvXbR" name="EufyS4FieldofView" alt="A diagram showing the Eufy S4 video doorbell's range of view" src="https://cdn.mos.cms.futurecdn.net/vDiDFX2K8YmCxYRcdrvXbR-1920-80.png" mos="" align="middle" fullscreen="" width="1248" height="702" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Anker / Eufy)</span></figcaption></figure><p>With the new Eufy video doorbell, Anker has put a huge amount of effort into ensuring the device is capable and sensitive enough to monitor your home’s entrance. </p><p>A common mishap with video doorbells is false alerts, sending a wave of worry through you when there was nothing to really worry about. To reduce these false alarms, the S4 uses a combination of radar for longer-range detection, while sporting dual PIR sensors to help differentiate human movement closer to your front door. </p><p>When it comes to smart home compatibility, Anker’s new video doorbell can be integrated into your existing ecosystem whether you’re running on Alexa, Google Home, or Apple HomeKit, though there are a few things to keep in mind. </p><p>For those of you using Apple HomeKit, you’ll need to have the Eufy HomeBaseS380 hub to get set up. Additionally, VR viewing and OmniTrack is only available through the Anker Eufy app, so third-party platforms will only show a fixed live view. </p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Roborock Qrevo 2 Pro review: outstanding cleaning at a sensible price ]]></title>
                                                                                                <dc:content><![CDATA[ <h3 class="article-body__section" id="section-roborock-qvero-2-pro-30-second-review"><span>Roborock Qvero 2 Pro: 30-second review</span></h3><p>The Qrevo 2 Pro is the latest robot vacuum and mop combo cleaner from Roborock and includes detachable mop plates to help ensure it doesn’t get carpets wet while cleaning.</p><p>Cleaning performance is a match for some of the most expensive options on the market with its mopping being as good as I have ever tested making it a fantastic pick for the price.</p><p>It is relatively tall so it can’t clean under low furniture and its hard floor cleaning isn’t flawless but it is an excellent option, especially when on sale.</p><h3 class="article-body__section" id="section-roborock-qrevo-2-pro-price-availability"><span>Roborock Qrevo 2 Pro: price & availability</span></h3><ul><li><strong>List price: $799.99 / £649.99 / AU$1,199 </strong></li><li><strong>Launch date: August 2026</strong></li><li><strong>Availability: worldwide </strong></li></ul><p>The Roborock Qrevo 2 Pro sits right on the line between premium and mid-range robot vacuums, with a list price $799.99 / £649.99 / AU$1,199. However, almost immediately after launch I have already seen it get a significant discount to $549 / £549.99, tipping it firmly into the more affordable category — especially considering the features and performance.</p><p>Even at full price it sits below the Roborock’s Curv models and produces similar results (although it doesn’t have the AdaptLift chassis for getting over higher thresholds between rooms) making it an excellent value pick. If you’re looking to spend less, the Roborock Q7 is a good alternative although it has much lower suction power and doesn’t have an auto-empty dock.</p><p>A branded floor cleaner compatible with the Qrevo 2 Pro is available on Roborock’s website but they don’t push this hard and after testing it without it, it’s definitely not required.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="LrKZEnFhKQJuA7T26JLzhB" name="Roborock Qrevo 2 Pro dock dust bag-1" alt="Roborock Qrevo 2 Pro dock open, showing dust bag" src="https://cdn.mos.cms.futurecdn.net/LrKZEnFhKQJuA7T26JLzhB-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">You don't have to use Roborock's own floor cleaner, but you will need to buy disposable dust bags </span><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>What you will need to buy are disposable dust bags as these are thrown away once full. A three-pack costs $39.90 in the US, and a six-pack is £31.99 in the UK, so this needs to be considered in the running costs. I have tested Roborocks with cheaper unbranded dust bags in the past and not encountered problems, but check model compatibility before ordering.</p><p>You can also buy replacement brushes, mop pads, filters and other parts in case anything breaks. </p><ul><li><strong>Value score: 5 out of 5</strong></li></ul><h3 class="article-body__section" id="section-roborock-qrevo-2-pro-review-design"><span>Roborock Qrevo 2 Pro review: design</span></h3><ul><li><strong>Smart-looking robot and dock</strong></li><li><strong>Can’t get under low furniture</strong></li><li><strong>Smart home integration</strong></li></ul><p>Available in all white or black (currently only available in white in the UK and Australia) it is pretty unfussy in terms of design with the dock a bit squarer than the slightly bulbous base stations of Roborock’s Curv series.</p><p>The robot is circular, measuring 14 inches wide with a 6-inch cleaning opening underneath for picking up dirt.</p><p>The lidar scanner the robot uses to navigate sits in a cage on top of the robot, increasing its height and reducing its clearance so it won’t be able to vacuum under low furniture like a sofa, unlike Roborock’s Qvrevo CurvX with its retractable lidar scanner.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/CaVGxiF8EKtFaFn67ctoyB-1920-80.jpg" alt="Roborock Qrevo 2 Pro cleaning under edge of furniture" /><figcaption>The robot's lidar scanner doesn't retract, so it can't fit under low furniture<small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/uHFyQ2JFGsyLcepWSofZuB-1920-80.jpg" alt="Roborock Qrevo 2 Pro in its dock" /><figcaption>The dock is easy to set up, provided you have sufficient space<small role="credit">Future</small></figcaption></figure></figure><p>Setting the dock up is easy, involving just attaching the ramp to the front of the dock, filling the clean water tank and plugging it in. The more difficult part may be finding a place for it as it needs to sit on a hard floor with at least 1.5 inches either side and 27.5 inches of clear space in front of the dock. It also needs to be within reach of a power socket and somewhere you won’t trip up over it or mind looking at it everyday.</p><p>Smart home integration is included with it compatible with <a href="https://www.techradar.com/news/matter-will-revolutionize-your-smart-home-heres-everything-you-need-to-know">the Matter standard</a>, Google Home, and Amazon Alexa</p><ul><li><strong>Design score: 4 out of 5</strong></li></ul><h3 class="article-body__section" id="section-roborock-qrevo-2-pro-performance"><span>Roborock Qrevo 2 Pro: performance</span></h3><ul><li><strong>Excellent mopping on maximum settings</strong></li><li><strong>Good vacuum performance</strong></li><li><strong>Did get caught on charging cable</strong></li></ul><p>Set up is simple, you will need to find an appropriate spot for the dock on a hard floor with plenty of space either side. You then download the app, pair the robot and then you can send it on a discovery run around your house to build a map.</p><p>Once it has scanned the space you can then edit the map to combine or divide spaces into rooms, mark areas as no-go zones, manually designate floor types and mark things like curtains and furniture. I found that aside from ensuring the rooms are divided correctly I didn’t have to make any changes to get it to work well, with the carpeted areas successfully detected.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="6LNj7vJspstxuHzD6SEuyB" name="Roborock Qrevo 2 Pro underneath-1" alt="Underneath of Roborock Qrevo 2 Pro" src="https://cdn.mos.cms.futurecdn.net/6LNj7vJspstxuHzD6SEuyB-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">The robot has detachable mop pads, which it leaves in its dock after mopping your floors </span><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>After setup you can use the app to kickstart cleans of the whole map, one or more selected rooms or a designated zone clean you can mark on the map. As well as ad hoc cleans you can set routines for different types of cleans from deep intensive cleans, to specific after dinner cleans of smaller zones or light maintenance vacuuming without mopping.</p><p>As the Qrevo 2 Pro has detachable mops, rather than vacuuming and mopping room by room it first goes around the carpeted areas of the whole space you are cleaning first. Once that is complete it returns to the dock to reattach the mop heads before cleaning the rest of the hard floors.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="AFMYPnWv9y8sCiiJAXX47C" name="Roborock Qrevo 2 Pro obstacle test-1" alt="Roborock Qrevo 2 Pro avoiding obstacles on the floor" src="https://cdn.mos.cms.futurecdn.net/AFMYPnWv9y8sCiiJAXX47C-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">Obstacle detection was generally good, though the Qrevo 2 Pro did get caught on a USB charging cable </span><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Cleaning performance is OK on hard floors, although it can lead to some spreading of larger debris as the edge cleaning arm sent rice grains skittering across the floor. It did better with fine particles, although there was still some tea visible on a pass on the standard cleaning settings.</p><p>It handled larger particles much better on carpet, picking up almost every single grain of rice, although there was some tea left after the first pass.</p><p>As with most robot vacuums, its edge cleaning wasn't great on carpet, but the sweeping brush does well to move material into the vacuum’s path on hard floors..</p><div class="vizualizer-embed"><style>@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap');#fv-chart-1790607075785-manmdg66k *, #fv-chart-1790607075785-manmdg66k *:before, #fv-chart-1790607075785-manmdg66k *:after, #fv-chart-1790607075785-manmdg66k-slideshow *, #fv-chart-1790607075785-manmdg66k-slideshow *:before, #fv-chart-1790607075785-manmdg66k-slideshow *:after {box-sizing: border-box !important; margin: 0; padding: 0; border: 0;font-size: 100%; font: inherit; vertical-align: baseline;}#fv-chart-1790607075785-manmdg66k, #fv-chart-1790607075785-manmdg66k-slideshow { font-family: 'Open Sans', sans-serif !important; }#fv-chart-1790607075785-manmdg66k {position: relative !important; overflow: visible !important;--riv-primary: #2E6E93;}#fv-chart-1790607075785-manmdg66k .fv-inner-wrapper {color: #1F2937 !important; background-color: #ffffff !important;padding: 1.5rem 1.5rem 2rem !important; border-radius: 0.5rem !important;box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important;margin: 1rem 0 !important; display: flex !important; flex-direction: column !important;overflow: hidden !important;}#fv-chart-1790607075785-manmdg66k .fv-inner-wrapper.fv-no-header.fv-is-image-compare {padding-top: 0 !important;}#fv-chart-1790607075785-manmdg66k.fv-full-bleed {width: 100vw !important;margin-left: calc(50% - 50vw) !important;}body {overflow-x: clip !important;}#fv-chart-1790607075785-manmdg66k.fv-full-bleed .fv-inner-wrapper {padding: 0 !important;border-radius: 0 !important;box-shadow: none !important;margin: 0 !important;background-color: transparent !important;}#fv-chart-1790607075785-manmdg66k .fv-inner-wrapper.fv-is-shop-the-look {padding: 0 !important;border-radius: 0 !important;box-shadow: none !important;margin: 0 !important;background-color: transparent !important;}#fv-chart-1790607075785-manmdg66k-slideshow {position: relative !important;width: 100% !important;margin: 1rem 0 !important;--riv-primary: #2E6E93;}#fv-chart-1790607075785-manmdg66k-slideshow .fv-slides-wrapper {position: relative !important;width: 100% !important;}#fv-chart-1790607075785-manmdg66k-slideshow .fv-slide {width: 100% !important;animation: fv-fade-in 0.3s ease-in-out;}@keyframes fv-fade-in {from { opacity: 0; }to { opacity: 1; }}#fv-chart-1790607075785-manmdg66k-slideshow .fv-slideshow-nav-row {position: relative !important;display: flex !important;justify-content: space-between !important;align-items: center !important;padding: 0 0 16px 0 !important;width: 100% !important;z-index: 20 !important;}#fv-chart-1790607075785-manmdg66k-slideshow .fv-nav-btn {background-color: var(--riv-primary) !important;color: #ffffff !important;border: none !important;border-radius: 4px !important;padding: 8px 16px !important;font-size: 14px !important;font-weight: 700 !important;cursor: pointer !important;display: flex !important;align-items: center !important;justify-content: center !important;gap: 6px !important;transition: opacity 0.2s, background-color 0.2s !important;height: 36px !important;text-transform: none !important;box-shadow: 0 1px 2px rgba(0,0,0,0.1) !important;}#fv-chart-1790607075785-manmdg66k-slideshow .fv-nav-btn svg {width: 18px !important;height: 18px !important;stroke-width: 3px !important;filter: none !important;}#fv-chart-1790607075785-manmdg66k-slideshow .fv-nav-btn:hover {opacity: 0.9 !important;transform: translateY(-1px) !important;}#fv-chart-1790607075785-manmdg66k-slideshow .fv-nav-btn.disabled {background-color: #E5E7EB !important;color: #9CA3AF !important;cursor: default !important;pointer-events: none !important;box-shadow: none !important;}#fv-chart-1790607075785-manmdg66k-slideshow .fv-slide-counter {font-family: 'Poppins', sans-serif !important;font-size: 14px !important;font-weight: 600 !important;color: #374151 !important;text-align: center !important;min-width: 40px !important;background-color: rgba(255,255,255,0.8) !important;padding: 2px 8px !important;border-radius: 10px !important;}#fv-chart-1790607075785-manmdg66k-slideshow .fv-slideshow-select {position: absolute !important;top: 10px !important;right: 10px !important;z-index: 20 !important;appearance: none !important;-webkit-appearance: none !important;-moz-appearance: none !important;background-color: white !important;border: 1px solid #d1d5db !important;color: #1F2937 !important;font-family: 'Open Sans', sans-serif !important;font-size: 14px !important;font-weight: 600 !important;padding: 6px 32px 6px 12px !important;border-radius: 4px !important;cursor: pointer !important;box-shadow: 0 1px 2px rgba(0,0,0,0.05) !important;background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e") !important;background-position: right 0.5rem center !important;background-repeat: no-repeat !important;background-size: 1.5em 1.5em !important;}#fv-chart-1790607075785-manmdg66k-slideshow .fv-slideshow-select:focus {outline: 2px solid #2E6E93 !important;border-color: #2E6E93 !important;}#fv-chart-1790607075785-manmdg66k .fv-chart-title {font-weight: bold !important;text-align: center !important;margin-bottom: 0.5rem !important;color: var(--riv-primary) !important;font-size: 20px !important;line-height: 1.2 !important;font-family: 'Open Sans', sans-serif !important;text-transform: none !important;white-space: normal !important;overflow-wrap: break-word !important;padding: 0 20px !important;}#fv-chart-1790607075785-manmdg66k .fv-chart-subhead {font-size: 18px !important;font-weight: 500 !important;text-align: center !important;margin-bottom: 2rem !important;color: #374151 !important;line-height: 1.7 !important;font-family: 'Open Sans', sans-serif !important;display: block !important;text-transform: none !important;padding: 0 20px !important;}#fv-chart-1790607075785-manmdg66k .rv-chart-caption { font-size: 15px !important; color: #374151 !important; text-align: center !important; font-style: normal !important; font-weight: normal !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; }#fv-chart-1790607075785-manmdg66k .fv-versus-chart { display: flex; flex-direction: column; width: 100%; margin-top: 1rem; }#fv-chart-1790607075785-manmdg66k .fv-versus-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding: 0 1rem; }#fv-chart-1790607075785-manmdg66k .fv-versus-select-wrapper { flex: 1; min-width: 0; }#fv-chart-1790607075785-manmdg66k .fv-versus-select-wrapper.fv-left { text-align: center; padding-right: 1rem; }#fv-chart-1790607075785-manmdg66k .fv-versus-select-wrapper.fv-right { text-align: center; padding-left: 1rem; }#fv-chart-1790607075785-manmdg66k .fv-versus-select-container { position: relative; display: inline-block; max-width: 100%; width: 100%; }#fv-chart-1790607075785-manmdg66k .fv-versus-chevron { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; width: 16px; height: 16px; flex-shrink: 0; }#fv-chart-1790607075785-manmdg66k .fv-versus-select-wrapper.fv-left .fv-versus-chevron { right: 0; }#fv-chart-1790607075785-manmdg66k .fv-versus-select-wrapper.fv-right .fv-versus-chevron { right: 0; }#fv-chart-1790607075785-manmdg66k .fv-versus-select { background: transparent; border: none; border-bottom: 2px solid; font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; padding: 0.25rem 0; cursor: pointer; outline: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; max-width: 100%; width: 100%; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; }#fv-chart-1790607075785-manmdg66k .fv-versus-select.fv-select-left { text-align: center; direction: ltr; padding-right: 1.25rem; }#fv-chart-1790607075785-manmdg66k .fv-versus-select.fv-select-right { text-align: center; padding-right: 1.25rem; }#fv-chart-1790607075785-manmdg66k .fv-versus-select option { font-family: 'Open Sans', sans-serif; font-weight: 400; font-size: 14px; color: #374151; direction: ltr; text-align: left; }#fv-chart-1790607075785-manmdg66k .fv-versus-vs { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; color: #374151; letter-spacing: 0.1em; padding: 0 1rem; }#fv-chart-1790607075785-manmdg66k .fv-versus-body { display: flex; flex-direction: column; gap: 1.5rem; }#fv-chart-1790607075785-manmdg66k .fv-versus-row { position: relative; height: auto; padding-top: 20px; margin-bottom: 0.25rem; display: block; }#fv-chart-1790607075785-manmdg66k .fv-versus-bar-container { position: relative; height: 32px; display: flex; align-items: center; }#fv-chart-1790607075785-manmdg66k .fv-versus-bar-left-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-end; align-items: center; }#fv-chart-1790607075785-manmdg66k .fv-versus-bar-right-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-start; align-items: center; }#fv-chart-1790607075785-manmdg66k .fv-versus-bar { height: 32px; width: var(--target-width); transition: width 0.8s ease-out; animation: fv-grow-max-width 0.8s ease-out forwards; display: flex; align-items: center; overflow: hidden; color: #ffffff; }#fv-chart-1790607075785-manmdg66k .fv-versus-bar-left { border-radius: 4px 0 0 4px; justify-content: flex-end; padding: 0 8px; }#fv-chart-1790607075785-manmdg66k .fv-versus-bar-right { border-radius: 0 4px 4px 0; justify-content: flex-start; padding: 0 8px; }@keyframes fv-grow-max-width {from { max-width: 0; }to { max-width: 100%; }}#fv-chart-1790607075785-manmdg66k .fv-versus-center-line { position: absolute; left: 50%; top: 0; bottom: 0; width: 4px; background-color: #ffffff; transform: translateX(-50%); z-index: 1; }#fv-chart-1790607075785-manmdg66k .fv-inside-left { white-space: nowrap; flex-shrink: 0; }#fv-chart-1790607075785-manmdg66k .fv-inside-right { white-space: nowrap; flex-shrink: 0; }#fv-chart-1790607075785-manmdg66k .fv-versus-val-text { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; }#fv-chart-1790607075785-manmdg66k .fv-versus-pct-diff { font-size: 12px; font-weight: 600; }#fv-chart-1790607075785-manmdg66k .fv-versus-label { position: absolute; left: 50%; transform: translateX(-50%); top: 0; background-color: transparent; border: none; box-shadow: none; padding: 0; font-family: 'Open Sans', sans-serif; font-weight: 700; font-size: 14px; color: #374151; white-space: nowrap; }#fv-chart-1790607075785-manmdg66k .sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }#fv-chart-1790607075785-manmdg66k .fv-image-compare-container { width: auto !important; margin-left: -1.5rem !important; margin-right: -1.5rem !important; margin-bottom: 2rem !important; }#fv-chart-1790607075785-manmdg66k.fv-full-bleed .fv-image-compare-container { width: 100% !important; max-width: none !important; margin: 0 auto !important; }#fv-chart-1790607075785-manmdg66k .fv-image-compare-wrapper { position: relative !important; width: 100% !important; overflow: hidden !important; border-radius: 0 !important; background-color: #000 !important; touch-action: pan-y !important; user-select: none !important; -webkit-user-select: none !important; }#fv-chart-1790607075785-manmdg66k .fv-image-compare-inner { position: relative !important; width: 100% !important; height: 100% !important; display: block !important; transform-origin: center center !important; transition: transform 0.1s ease-out !important; }#fv-chart-1790607075785-manmdg66k .fv-image-compare-bg { display: block !important; width: 100% !important; height: auto !important; pointer-events: none !important; user-select: none !important; -webkit-user-select: none !important; -webkit-user-drag: none !important; }#fv-chart-1790607075785-manmdg66k .fv-image-compare-fg { position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; object-fit: cover !important; clip-path: polygon(0 0, 50% 0, 50% 100%, 0 100%) !important; pointer-events: none !important; user-select: none !important; -webkit-user-select: none !important; -webkit-user-drag: none !important; }#fv-chart-1790607075785-manmdg66k .fv-image-compare-slider { position: absolute !important; top: 0 !important; bottom: 0 !important; left: 50% !important; width: 32px !important; transform: translateX(-50%) !important; cursor: ew-resize !important; z-index: 10 !important; user-select: none !important; -webkit-user-select: none !important; }#fv-chart-1790607075785-manmdg66k .fv-image-compare-slider-line { position: absolute !important; top: 0 !important; bottom: 0 !important; left: 50% !important; width: 4px !important; background-color: white !important; transform: translateX(-50%) !important; box-shadow: 0 0 10px rgba(0,0,0,0.5) !important; pointer-events: none !important; }#fv-chart-1790607075785-manmdg66k .fv-image-compare-handle { position: absolute !important; top: 50% !important; left: 50% !important; transform: translate(-50%, -50%) !important; width: 32px !important; height: 32px !important; background-color: white !important; border-radius: 50% !important; box-shadow: 0 2px 6px rgba(0,0,0,0.3) !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 4px !important; pointer-events: none !important; z-index: 11 !important; overflow: hidden !important; }#fv-chart-1790607075785-manmdg66k .fv-image-compare-handle.fv-image-compare-handle-square { border-radius: 6px !important; }#fv-chart-1790607075785-manmdg66k .fv-image-compare-arrow-left { width: 0 !important; height: 0 !important; border-top: 4px solid transparent !important; border-bottom: 4px solid transparent !important; border-right: 4px solid #4b5563 !important; }#fv-chart-1790607075785-manmdg66k .fv-image-compare-arrow-right { width: 0 !important; height: 0 !important; border-top: 4px solid transparent !important; border-bottom: 4px solid transparent !important; border-left: 4px solid #4b5563 !important; }#fv-chart-1790607075785-manmdg66k .fv-image-compare-label { position: absolute !important; top: 1rem !important; background-color: rgba(0, 0, 0, 0.5) !important; color: white !important; padding: 0.25rem 0.75rem !important; border-radius: 0.25rem !important; font-size: 0.875rem !important; font-weight: 500 !important; pointer-events: none !important; backdrop-filter: blur(4px) !important; z-index: 5 !important; transition: right 0.3s ease, opacity 0.2s ease !important; }#fv-chart-1790607075785-manmdg66k .fv-image-compare-label-left { left: 1rem !important; }#fv-chart-1790607075785-manmdg66k .fv-image-compare-label-right { right: 1rem !important; }#fv-chart-1790607075785-manmdg66k .fv-image-compare-expand-btn, #fv-chart-1790607075785-manmdg66k .fv-image-compare-close-btn { position: absolute !important; bottom: 1rem !important; right: 1rem !important; background-color: rgba(0, 0, 0, 0.5) !important; color: white !important; border: none !important; border-radius: 0.25rem !important; padding: 0.5rem !important; cursor: pointer !important; z-index: 20 !important; display: flex !important; align-items: center !important; justify-content: center !important; backdrop-filter: blur(4px) !important; transition: background-color 0.2s !important; }#fv-chart-1790607075785-manmdg66k .fv-image-compare-expand-btn:hover, #fv-chart-1790607075785-manmdg66k .fv-image-compare-close-btn:hover { background-color: rgba(0, 0, 0, 0.7) !important; }#fv-chart-1790607075785-manmdg66k .fv-image-compare-close-btn { display: none !important; top: 1rem !important; bottom: auto !important; }#fv-chart-1790607075785-manmdg66k .fv-image-compare-wrapper.fv-image-compare-fullscreen { position: fixed !important; top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important; width: 100% !important; height: 100% !important; z-index: 999999 !important; display: flex !important; align-items: center !important; justify-content: center !important; background-color: rgba(0, 0, 0, 0.9) !important; margin: 0 !important; touch-action: none !important; }#fv-chart-1790607075785-manmdg66k .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-inner { width: 100% !important; height: 100% !important; display: flex !important; align-items: center !important; justify-content: center !important; cursor: grab !important; }#fv-chart-1790607075785-manmdg66k .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-inner:active { cursor: grabbing !important; }#fv-chart-1790607075785-manmdg66k .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-bg { position: absolute !important; top: 0 !important; left: 0 !important; max-width: 100% !important; max-height: 100% !important; width: 100% !important; height: 100% !important; object-fit: contain !important; }#fv-chart-1790607075785-manmdg66k .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-fg { max-width: 100% !important; max-height: 100% !important; width: 100% !important; height: 100% !important; object-fit: contain !important; }#fv-chart-1790607075785-manmdg66k .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-expand-btn { display: none !important; }#fv-chart-1790607075785-manmdg66k .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-close-btn { display: flex !important; }#fv-chart-1790607075785-manmdg66k .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-label-right { right: 4rem !important; }#fv-chart-1790607075785-manmdg66k .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; }#fv-chart-1790607075785-manmdg66k .fv-footer-content { text-align: center !important; width: 100% !important; }#fv-chart-1790607075785-manmdg66k .fv-logo {display: block !important;margin: 0 auto !important;width: 120px !important;min-width: 120px !important;max-width: 120px !important;height: auto !important;object-fit: contain !important;flex-shrink: 0 !important;}#fv-chart-1790607075785-manmdg66k .fv-dropdown-wrapper { text-align: center !important; margin-bottom: 16px !important; margin-top: 0 !important; }#fv-chart-1790607075785-manmdg66k .fv-dropdown-title-container { position: relative !important; display: inline-block !important; max-width: 100% !important; }#fv-chart-1790607075785-manmdg66k .fv-dropdown-title {appearance: none !important;-webkit-appearance: none !important;-moz-appearance: none !important;background: transparent !important;border: none !important;font-size: 18px !important;font-weight: 600 !important;color: var(--riv-primary) !important;padding-right: 28px !important;padding-left: 10px !important;cursor: pointer !important;text-align: center !important;text-align-last: center !important;width: auto !important;max-width: 100% !important;font-family: 'Open Sans', sans-serif !important;line-height: 1.3 !important;margin: 0 !important;text-overflow: ellipsis !important;overflow: hidden !important;white-space: nowrap !important;}#fv-chart-1790607075785-manmdg66k .fv-dropdown-title:focus { outline: none !important; }#fv-chart-1790607075785-manmdg66k .fv-dropdown-title::-ms-expand { display: none !important; }#fv-chart-1790607075785-manmdg66k .fv-dropdown-chevron {position: absolute !important;right: 0 !important;top: 50% !important;transform: translateY(-50%) !important;pointer-events: none !important;color: var(--riv-primary) !important;display: flex !important;align-items: center !important;}#fv-chart-1790607075785-manmdg66k .fv-carousel-title-controls { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 16px !important; width: 100% !important; gap: 12px !important; }#fv-chart-1790607075785-manmdg66k .fv-carousel-nav-btn {background: transparent !important; border: 1px solid #d1d5db !important; border-radius: 6px !important; padding: 6px 10px !important;cursor: pointer !important; font-size: 14px !important; color: #374151 !important; display: flex !important; align-items: center !important; gap: 4px !important; font-family: 'Open Sans', sans-serif !important;}#fv-chart-1790607075785-manmdg66k .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; }#fv-chart-1790607075785-manmdg66k .fv-carousel-counter { font-size: 14px !important; color: #374151 !important; text-align: center !important; margin-top: 1rem !important; }#fv-chart-1790607075785-manmdg66k .fv-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 8px 16px !important; margin: 0 !important; padding: 0 !important; margin-top: 1rem !important; }#fv-chart-1790607075785-manmdg66k .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #374151 !important; }#fv-chart-1790607075785-manmdg66k .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; }#fv-chart-1790607075785-manmdg66k .fv-multi-value-legend {display: flex !important;justify-content: center !important;flex-wrap: wrap !important;gap: 12px 24px !important;margin-bottom: 1.5rem !important;padding: 0 !important;}#fv-chart-1790607075785-manmdg66k .fv-multi-legend-item { display: flex !important; align-items: center !important; gap: 8px !important; font-size: 14px !important; color: #374151 !important; font-weight: 500 !important; }#fv-chart-1790607075785-manmdg66k .fv-multi-legend-swatch { width: 16px !important; height: 16px !important; border-radius: 3px !important; }#fv-chart-1790607075785-manmdg66k .fv-benchmark-group { margin-bottom: 1rem !important; }#fv-chart-1790607075785-manmdg66k .fv-benchmark-title {font-size: 18px !important; font-weight: 600 !important; margin-bottom: 16px !important; margin-top: 0 !important; padding: 0 !important;text-align: center !important; color: var(--riv-primary) !important; flex: 1 !important; min-width: 0 !important;font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important;text-transform: none !important;white-space: normal !important;overflow-wrap: break-word !important;word-wrap: break-word !important;max-width: 100% !important;}#fv-chart-1790607075785-manmdg66k .fv-bar-row, #fv-chart-1790607075785-manmdg66k .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; position: relative !important; }#fv-chart-1790607075785-manmdg66k .fv-bar-label { width: 150px !important; flex-shrink: 0 !important; font-size: 14px !important; color: #374151 !important; padding-right: 10px !important; text-align: right !important; font-weight: 500 !important; display: block !important; }#fv-chart-1790607075785-manmdg66k .fv-bar-container { flex-grow: 1 !important; background-color: #E5E7EB !important; border-radius: 4px !important; min-height: 25px !important; border: 1px solid #D1D5DB !important; position: relative !important; display: flex !important; align-items: center !important; }#fv-chart-1790607075785-manmdg66k .fv-bar-commentary-inline { display: none !important; position: absolute !important; left: 150px !important; top: 0 !important; bottom: 0 !important; right: 0 !important; width: calc(100% - 150px) !important; margin: 0 !important; padding: 0 8px !important; font-size: 13px !important; color: #fff !important; background: rgba(0,0,0,0.8) !important; border-radius: 4px !important; line-height: 1.4 !important; font-weight: normal !important; text-transform: none !important; word-wrap: break-word !important; z-index: 10 !important; align-items: center !important; overflow-y: auto !important; }#fv-chart-1790607075785-manmdg66k.preview-wrapper .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1790607075785-manmdg66k.preview-wrapper .fv-bar-commentary-inline:focus, #fv-chart-1790607075785-manmdg66k.preview-wrapper .fv-bar-commentary-inline:focus-within, #fv-chart-1790607075785-manmdg66k.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1790607075785-manmdg66k.mobile-view .fv-bar-commentary-inline:focus, #fv-chart-1790607075785-manmdg66k.mobile-view .fv-bar-commentary-inline:focus-within { display: flex !important; }#fv-chart-1790607075785-manmdg66k .fv-bar { height: 100% !important; border-radius: 3px !important; display: flex !important; align-items: center !important; transition: opacity 0.2s ease, width 0.8s ease-out !important; min-height: 23px !important; }#fv-chart-1790607075785-manmdg66k .fv-bar:hover { opacity: 0.8 !important; }#fv-chart-1790607075785-manmdg66k .fv-bar-inner-content { display: flex !important; justify-content: space-between !important; align-items: center !important; width: 100% !important; height: 100% !important; padding: 0 8px !important; font-size: 14px !important; font-weight: bold !important; overflow: hidden !important; }#fv-chart-1790607075785-manmdg66k .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; }#fv-chart-1790607075785-manmdg66k .fv-bar-inner-value { flex-shrink: 0 !important; }#fv-chart-1790607075785-manmdg66k .fv-bar-value-outside { padding-left: 8px !important; font-size: 14px !important; font-weight: bold !important; color: #374151 !important; white-space: nowrap !important; }#fv-chart-1790607075785-manmdg66k .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; }#fv-chart-1790607075785-manmdg66k .fv-multi-bar-container { flex-direction: column !important; padding: 4px !important; align-items: stretch !important; gap: 4px !important; height: auto !important; }#fv-chart-1790607075785-manmdg66k .fv-multi-bar-item { display: flex !important; align-items: center !important; height: 25px !important; width: 100% !important; }#fv-chart-1790607075785-manmdg66k .fv-stacked-bar { display: flex !important; overflow: hidden !important; }#fv-chart-1790607075785-manmdg66k .fv-stacked-segment { height: 100% !important; display: flex !important; align-items: center !important; justify-content: flex-end !important; padding-right: 8px !important; border-right: 1px solid rgba(255,255,255,0.3) !important; }#fv-chart-1790607075785-manmdg66k .fv-stacked-segment:last-child { border-right: none !important; }#fv-chart-1790607075785-manmdg66k .fv-segment-value { font-size: 14px !important; font-weight: bold !important; }#fv-chart-1790607075785-manmdg66k .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; }#fv-chart-1790607075785-manmdg66k .fv-grouped-product-title-wrapper { padding-left: 150px !important; }#fv-chart-1790607075785-manmdg66k .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.5rem !important; font-weight: 700 !important; font-size: 14px !important; color: #374151 !important; text-transform: none !important; }#fv-chart-1790607075785-manmdg66k .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; }#fv-chart-1790607075785-manmdg66k .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; }#fv-chart-1790607075785-manmdg66k .fv-bar-cluster .fv-bar-container { height: 20px !important; }#fv-chart-1790607075785-manmdg66k .riv-grid line {stroke: #D1D5DB !important;stroke-dasharray: 3 3 !important;}#fv-chart-1790607075785-manmdg66k .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; }#fv-chart-1790607075785-manmdg66k .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; }#fv-chart-1790607075785-manmdg66k .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; }#fv-chart-1790607075785-manmdg66k .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; }#fv-chart-1790607075785-manmdg66k .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; }#fv-chart-1790607075785-manmdg66k .fv-x-axis-ticks { display: flex !important; justify-content: space-between !important; padding-top: 4px !important; font-size: 13px !important; color: #374151 !important; }#fv-chart-1790607075785-manmdg66k .fv-x-axis-ticks span { position: relative !important; }#fv-chart-1790607075785-manmdg66k .fv-x-axis-ticks span::before { content: '' !important; position: absolute !important; top: -6px !important; left: 50% !important; transform: translateX(-50%) !important; width: 2px !important; height: 4px !important; background-color: #D1D5DB !important; border-radius: 1px !important; }#fv-chart-1790607075785-manmdg66k .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #374151 !important; margin-top: 8px !important; display: block !important; }#fv-chart-1790607075785-manmdg66k .fv-x-axis-title { text-align: center !important; font-size: 15px !important; color: #374151 !important; margin-top: 8px !important; margin-bottom: 16px !important; line-height: 1.5 !important; padding: 0 1rem !important; display: block !important; font-weight: bold !important; }#fv-chart-1790607075785-manmdg66k .fv-y-axis-title {font-size: 15px !important;color: #374151 !important;line-height: 1.5 !important;text-align: left !important;padding-left: 5.83% !important;margin-bottom: 4px !important;display: block !important;font-weight: bold !important;}#fv-chart-1790607075785-manmdg66k.mobile-view .fv-pie-container,#fv-chart-1790607075785-manmdg66k.labels-on-top .fv-pie-container {flex-direction: column !important; gap: 1rem !important;}#fv-chart-1790607075785-manmdg66k.mobile-view .fv-grouped-product-title-wrapper,#fv-chart-1790607075785-manmdg66k.labels-on-top .fv-grouped-product-title-wrapper {padding-left: 0 !important;}#fv-chart-1790607075785-manmdg66k.mobile-view .fv-bar-row,#fv-chart-1790607075785-manmdg66k.mobile-view .fv-stacked-product,#fv-chart-1790607075785-manmdg66k.mobile-view .fv-grouped-bar-product,#fv-chart-1790607075785-manmdg66k.labels-on-top .fv-bar-row,#fv-chart-1790607075785-manmdg66k.labels-on-top .fv-stacked-product,#fv-chart-1790607075785-manmdg66k.labels-on-top .fv-grouped-bar-product {flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important;}#fv-chart-1790607075785-manmdg66k.mobile-view .fv-bar-label:not(.fv-grouped-product-title),#fv-chart-1790607075785-manmdg66k.labels-on-top .fv-bar-label:not(.fv-grouped-product-title) {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1790607075785-manmdg66k.mobile-view .fv-bar-label,#fv-chart-1790607075785-manmdg66k.mobile-view .fv-grouped-product-title,#fv-chart-1790607075785-manmdg66k.labels-on-top .fv-bar-label,#fv-chart-1790607075785-manmdg66k.labels-on-top .fv-grouped-product-title {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1790607075785-manmdg66k.mobile-view .fv-bar-container,#fv-chart-1790607075785-manmdg66k.mobile-view .fv-bar-cluster,#fv-chart-1790607075785-manmdg66k.labels-on-top .fv-bar-container,#fv-chart-1790607075785-manmdg66k.labels-on-top .fv-bar-cluster {width: 100% !important;}#fv-chart-1790607075785-manmdg66k.mobile-view .fv-bar-row .fv-bar-commentary-inline,#fv-chart-1790607075785-manmdg66k.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline,#fv-chart-1790607075785-manmdg66k.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus,#fv-chart-1790607075785-manmdg66k.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus-within,#fv-chart-1790607075785-manmdg66k.labels-on-top .fv-bar-row .fv-bar-commentary-inline,#fv-chart-1790607075785-manmdg66k.labels-on-top .fv-bar-row:hover .fv-bar-commentary-inline,#fv-chart-1790607075785-manmdg66k.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus,#fv-chart-1790607075785-manmdg66k.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus-within {position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important;}#fv-chart-1790607075785-manmdg66k.mobile-view .fv-x-axis-wrapper,#fv-chart-1790607075785-manmdg66k.labels-on-top .fv-x-axis-wrapper {margin-left: 0 !important;}#fv-chart-1790607075785-manmdg66k.mobile-view .fv-x-axis-label-space,#fv-chart-1790607075785-manmdg66k.labels-on-top .fv-x-axis-label-space {display: none !important;}#fv-chart-1790607075785-manmdg66k.mobile-view .fv-x-axis-chart-space,#fv-chart-1790607075785-manmdg66k.labels-on-top .fv-x-axis-chart-space {padding-right: 0 !important;}#fv-chart-1790607075785-manmdg66k.mobile-view .fv-benchmark-title,#fv-chart-1790607075785-manmdg66k.labels-on-top .fv-benchmark-title {font-size: 16px !important;}#fv-chart-1790607075785-manmdg66k.mobile-view .fv-dropdown-title,#fv-chart-1790607075785-manmdg66k.labels-on-top .fv-dropdown-title {font-size: 16px !important;}#fv-chart-1790607075785-manmdg66k.mobile-view .fv-carousel-nav-btn,#fv-chart-1790607075785-manmdg66k.labels-on-top .fv-carousel-nav-btn {padding: 8px 12px !important; font-size: 14px !important;}#fv-chart-1790607075785-manmdg66k.mobile-view .fv-chart-title,#fv-chart-1790607075785-manmdg66k.labels-on-top .fv-chart-title {padding: 0 8px !important;}#fv-chart-1790607075785-manmdg66k.mobile-view .fv-chart-subhead,#fv-chart-1790607075785-manmdg66k.labels-on-top .fv-chart-subhead {padding: 0 8px !important;}#fv-chart-1790607075785-manmdg66k.mobile-view .fv-versus-header,#fv-chart-1790607075785-manmdg66k.labels-on-top .fv-versus-header {flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important;}#fv-chart-1790607075785-manmdg66k.mobile-view .fv-versus-select-wrapper,#fv-chart-1790607075785-manmdg66k.labels-on-top .fv-versus-select-wrapper {flex: 1 !important; min-width: 0 !important; width: 100% !important;}#fv-chart-1790607075785-manmdg66k.mobile-view .fv-versus-select-wrapper.fv-left,#fv-chart-1790607075785-manmdg66k.labels-on-top .fv-versus-select-wrapper.fv-left {text-align: center !important; padding-right: 0 !important;}#fv-chart-1790607075785-manmdg66k.mobile-view .fv-versus-select-wrapper.fv-right,#fv-chart-1790607075785-manmdg66k.labels-on-top .fv-versus-select-wrapper.fv-right {text-align: center !important; padding-left: 0 !important;}#fv-chart-1790607075785-manmdg66k.mobile-view .fv-versus-select.fv-select-left,#fv-chart-1790607075785-manmdg66k.labels-on-top .fv-versus-select.fv-select-left {text-align: center !important;}#fv-chart-1790607075785-manmdg66k.mobile-view .fv-versus-select.fv-select-right,#fv-chart-1790607075785-manmdg66k.labels-on-top .fv-versus-select.fv-select-right {text-align: center !important;}#fv-chart-1790607075785-manmdg66k.mobile-view .fv-versus-vs,#fv-chart-1790607075785-manmdg66k.labels-on-top .fv-versus-vs {text-align: center !important; padding: 0.25rem 0 !important;}#fv-chart-1790607075785-manmdg66k.mobile-view .fv-versus-select-container,#fv-chart-1790607075785-manmdg66k.labels-on-top .fv-versus-select-container {max-width: 100% !important; width: 100% !important;}#fv-chart-1790607075785-manmdg66k.mobile-view .fv-versus-select,#fv-chart-1790607075785-manmdg66k.labels-on-top .fv-versus-select {font-size: 14px !important; width: 100% !important;}#fv-chart-1790607075785-manmdg66k.mobile-view .fv-stl-shop-all-btn,#fv-chart-1790607075785-manmdg66k.labels-on-top .fv-stl-shop-all-btn {bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important;}#fv-chart-1790607075785-manmdg66k.mobile-view .fv-stl-shop-all-logo,#fv-chart-1790607075785-manmdg66k.mobile-view .fv-stl-shop-all-icon,#fv-chart-1790607075785-manmdg66k.labels-on-top .fv-stl-shop-all-logo,#fv-chart-1790607075785-manmdg66k.labels-on-top .fv-stl-shop-all-icon {width: 2rem !important; height: 2rem !important;}#fv-chart-1790607075785-manmdg66k.mobile-view .fv-stl-shop-all-icon svg,#fv-chart-1790607075785-manmdg66k.labels-on-top .fv-stl-shop-all-icon svg {width: 14px !important; height: 14px !important;}#fv-chart-1790607075785-manmdg66k.mobile-view .fv-bar-commentary-inline,#fv-chart-1790607075785-manmdg66k.labels-on-top .fv-bar-commentary-inline {display: block !important; margin-left: 0 !important; width: 100% !important;}#fv-chart-1790607075785-manmdg66k.mobile-view .fv-y-axis-title { padding-left: 5% !important;  }#fv-chart-1790607075785-manmdg66k.mobile-view.fv-contains-line-chart .fv-footer-content {margin-left: -1rem !important;margin-right: -1rem !important;}@media (max-width: 599px) {#fv-chart-1790607075785-manmdg66k .fv-pie-container {flex-direction: column !important; gap: 1rem !important;}#fv-chart-1790607075785-manmdg66k .fv-grouped-product-title-wrapper {padding-left: 0 !important;}#fv-chart-1790607075785-manmdg66k .fv-bar-row,#fv-chart-1790607075785-manmdg66k .fv-stacked-product,#fv-chart-1790607075785-manmdg66k .fv-grouped-bar-product {flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important;}#fv-chart-1790607075785-manmdg66k .fv-bar-label:not(.fv-grouped-product-title) {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1790607075785-manmdg66k .fv-bar-label,#fv-chart-1790607075785-manmdg66k .fv-grouped-product-title {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1790607075785-manmdg66k .fv-bar-container,#fv-chart-1790607075785-manmdg66k .fv-bar-cluster {width: 100% !important;}#fv-chart-1790607075785-manmdg66k .fv-bar-row .fv-bar-commentary-inline,#fv-chart-1790607075785-manmdg66k .fv-bar-row:hover .fv-bar-commentary-inline,#fv-chart-1790607075785-manmdg66k .fv-bar-row .fv-bar-commentary-inline:focus,#fv-chart-1790607075785-manmdg66k .fv-bar-row .fv-bar-commentary-inline:focus-within {position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important;}#fv-chart-1790607075785-manmdg66k .fv-x-axis-wrapper {margin-left: 0 !important;}#fv-chart-1790607075785-manmdg66k .fv-x-axis-label-space {display: none !important;}#fv-chart-1790607075785-manmdg66k .fv-x-axis-chart-space {padding-right: 0 !important;}#fv-chart-1790607075785-manmdg66k .fv-benchmark-title {font-size: 16px !important;}#fv-chart-1790607075785-manmdg66k .fv-dropdown-title {font-size: 16px !important;}#fv-chart-1790607075785-manmdg66k .fv-carousel-nav-btn {padding: 8px 12px !important; font-size: 14px !important;}#fv-chart-1790607075785-manmdg66k .fv-chart-title {padding: 0 8px !important;}#fv-chart-1790607075785-manmdg66k .fv-chart-subhead {padding: 0 8px !important;}#fv-chart-1790607075785-manmdg66k .fv-versus-header {flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important;}#fv-chart-1790607075785-manmdg66k .fv-versus-select-wrapper {flex: 1 !important; min-width: 0 !important; width: 100% !important;}#fv-chart-1790607075785-manmdg66k .fv-versus-select-wrapper.fv-left {text-align: center !important; padding-right: 0 !important;}#fv-chart-1790607075785-manmdg66k .fv-versus-select-wrapper.fv-right {text-align: center !important; padding-left: 0 !important;}#fv-chart-1790607075785-manmdg66k .fv-versus-select.fv-select-left {text-align: center !important;}#fv-chart-1790607075785-manmdg66k .fv-versus-select.fv-select-right {text-align: center !important;}#fv-chart-1790607075785-manmdg66k .fv-versus-vs {text-align: center !important; padding: 0.25rem 0 !important;}#fv-chart-1790607075785-manmdg66k .fv-versus-select-container {max-width: 100% !important; width: 100% !important;}#fv-chart-1790607075785-manmdg66k .fv-versus-select {font-size: 14px !important; width: 100% !important;}#fv-chart-1790607075785-manmdg66k .fv-stl-shop-all-btn {bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important;}#fv-chart-1790607075785-manmdg66k .fv-stl-shop-all-logo,#fv-chart-1790607075785-manmdg66k .fv-stl-shop-all-icon {width: 2rem !important; height: 2rem !important;}#fv-chart-1790607075785-manmdg66k .fv-stl-shop-all-icon svg {width: 14px !important; height: 14px !important;}#fv-chart-1790607075785-manmdg66k .fv-bar-commentary-inline {display: block !important; margin-left: 0 !important; width: 100% !important;}#fv-chart-1790607075785-manmdg66k .fv-y-axis-title { padding-left: 5% !important;  }#fv-chart-1790607075785-manmdg66k.fv-contains-line-chart .fv-footer-content {margin-left: -1rem !important;margin-right: -1rem !important;}}</style><script type="application/ld+json">{"@context": "https://schema.org","@type": "Dataset","name": "Vacuum test","description": "Testing performance of Roborock vacuum cleaner on carpeted floor","creator": {"@type": "Organization","name": "TechRadar","logo": "https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png"},"isAccessibleForFree": true,"dateCreated": "2026-09-28T14:51:15.785Z","citation": "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized","keywords": ["Image Comparison","benchmark","comparison","performance","review","TechRadar"],"measurementTechnique": "Performance Benchmarking","variableMeasured": []}</script><div id="fv-chart-1790607075785-manmdg66k" class="fv-chart-wrapper   " data-bar-labels-on-top="false" data-iframe-height="true" data-vizualizer-embed="true"><div class="fv-inner-wrapper fv-no-header fv-is-image-compare  "><div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1790607075785-manmdg66k-image-compare-1" data-chart-type="Image Comparison" data-title="Image Comparison" data-subhead="Testing performance of Roborock vacuum cleaner on carpeted floor" data-caption="" style=""><div class="fv-benchmark-group"><div class="fv-image-compare-container"><div class="fv-image-compare-wrapper" data-image-compare="true"><div class="fv-image-compare-inner"><img src="https://cdn.mos.cms.futurecdn.net/Laf7t7Qow84BUutMk94b5C.jpg" data-highres-src="https://cdn.mos.cms.futurecdn.net/Laf7t7Qow84BUutMk94b5C.jpg" alt="After vacuuming" class="fv-image-compare-bg" loading="lazy" referrerpolicy="no-referrer" draggable="false" /><img src="https://cdn.mos.cms.futurecdn.net/7qNX2jFNFixVwWmm22UU5C.jpg" data-highres-src="https://cdn.mos.cms.futurecdn.net/7qNX2jFNFixVwWmm22UU5C.jpg" alt="Before vacuuming" class="fv-image-compare-fg" loading="lazy" referrerpolicy="no-referrer" draggable="false" /><div class="fv-image-compare-slider"><div class="fv-image-compare-slider-line"></div><div class="fv-image-compare-handle "><img src="https://proof.vanilla.tools/media/images/brandLogos/techradar.png" alt="Brand Logo" style="width: 100%; height: 100%; object-fit: cover;" /></div></div></div><div class="fv-image-compare-label fv-image-compare-label-left">Before</div><div class="fv-image-compare-label fv-image-compare-label-right">After</div><button class="fv-image-compare-expand-btn" aria-label="Expand Image"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 8V4h4"/><path d="M20 8V4h-4"/><path d="M4 16v4h4"/><path d="M20 16v4h-4"/><circle cx="11.5" cy="11.5" r="3.5"/><path d="m14 14 3 3"/></svg></button><button class="fv-image-compare-close-btn" aria-label="Close Fullscreen"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg></button></div></div></div></div></div><div class="fv-bottom-bar"><div class="fv-footer-content" style="display: none;"><div class="rv-chart-caption" style="display: block;"><span class="fv-original-caption" style="display: block;"></span><span class="fv-ia-dynamic-caption" style="display: none;"></span></div></div><div class="fv-logo-explore-bar"><img class="fv-logo" src="https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png" alt="TechRadar Logo"></div></div></div></div><script>window.iFrameResizer = {heightCalculationMethod: 'taggedElement'};</script><script src="https://cdnjs.cloudflare.com/ajax/libs/iframe-resizer/4.2.11/iframeResizer.contentWindow.min.js" async></script><script>(function() {window.fvAnimateCharts = function(chartWrapper) {if (!chartWrapper) return;function animateBars(chartElement) {if (!chartElement) return;var bars = chartElement.querySelectorAll('.fv-bar, .fv-stacked-segment');bars.forEach(function(bar, index) {bar.style.setProperty('width', '0%', 'important');bar.style.setProperty('transition', 'none', 'important');var targetWidth = bar.dataset.targetWidth;if (targetWidth === undefined) return;void bar.offsetWidth;var targetMargin = bar.dataset.targetMargin;var baseMargin = bar.dataset.baseMargin;if (baseMargin !== undefined) {bar.style.setProperty('margin-left', baseMargin + '%', 'important');}setTimeout(function() {var marginTransition = baseMargin !== undefined ? ', margin-left 0.8s ease-out' : '';bar.style.setProperty('transition', 'opacity 0.2s ease, width 0.8s ease-out' + marginTransition, 'important');bar.style.setProperty('width', targetWidth + '%', 'important');if (targetMargin !== undefined && baseMargin !== undefined) {bar.style.setProperty('margin-left', targetMargin + '%', 'important');}}, index * 50 + 50);});}function animateLineChart(chartElement) {if (!chartElement) return;var lineSvg = chartElement.querySelector('svg');if (!lineSvg) return;var paths = lineSvg.querySelectorAll('.riv-line-path');paths.forEach(function(p, i) {if (typeof p.getTotalLength === 'function') {var len = p.getTotalLength();p.style.transition = 'none';p.style.strokeDasharray = len;p.style.strokeDashoffset = len;p.getBoundingClientRect();setTimeout(function() {p.style.transition = 'stroke-dashoffset 1s ease-out ' + (i * 0.1) + 's, stroke-width 0.2s, opacity 0.2s';p.style.strokeDashoffset = '0';}, 100);}});var dots = lineSvg.querySelectorAll('.riv-dot');dots.forEach(function(dot, i) {dot.style.opacity = '0';setTimeout(function() {dot.style.transition = 'opacity 0.3s ease';dot.style.opacity = '1';}, 500 + i * 10);});}var charts = chartWrapper.querySelectorAll('.fv-chart-item');charts.forEach(function(chart) {if (window.getComputedStyle(chart).display === 'none') return;var chartType = chart.dataset.chartType;if (chartType === 'Line') {animateLineChart(chart);} else if (chartType !== 'Pie') {animateBars(chart);}});};function initialize(uniqueId, isSlideshow) {var root = document.getElementById(uniqueId);if (!root && !isSlideshow) return;function setupWrapper(chartWrapper) {if (!chartWrapper) return;function checkMobileView() {var width = chartWrapper.getBoundingClientRect().width;var isMobileDevice = window.screen && Math.min(window.screen.width, window.screen.height) <= 599;var isMobile;if (width === 0) {isMobile = isMobileDevice || window.matchMedia('(max-width: 599px)').matches;} else {isMobile = isMobileDevice || width < 600;}if (isMobile) {chartWrapper.classList.add('mobile-view');} else {chartWrapper.classList.remove('mobile-view');}}checkMobileView();if (typeof ResizeObserver !== 'undefined') {var ro = new ResizeObserver(function() {checkMobileView();});ro.observe(chartWrapper);}window.addEventListener('resize', checkMobileView);var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';if (labelsOnTop) {var charts = chartWrapper.querySelectorAll('.fv-chart-item');var hasVisibleBarChart = false;charts.forEach(function(c) {if (window.getComputedStyle(c).display !== 'none') {var cType = c.dataset.chartType;if (cType === 'Bar' || cType === 'Stacked Bar' || cType === 'Versus') {hasVisibleBarChart = true;}}});if (hasVisibleBarChart) {chartWrapper.classList.add('labels-on-top');} else {chartWrapper.classList.remove('labels-on-top');}} else {chartWrapper.classList.remove('labels-on-top');}chartWrapper.querySelectorAll('.riv-line-legend').forEach(function(legend) {var chartId = legend.dataset.chart;var chart = chartWrapper.querySelector('[id="' + chartId + '"]');if (!chart) return;var lines = chart.querySelectorAll('.riv-line-path');var dots = chart.querySelectorAll('.riv-dot');var legendItems = legend.querySelectorAll('.riv-legend-item');legendItems.forEach(function(item) {var productName = item.dataset.product;var safeProductName = productName.replace(/"/g, '\"');var line = chart.querySelector('.riv-line-path[data-product="' + safeProductName + '"]');var productDots = chart.querySelectorAll('.riv-dot[data-product="' + safeProductName + '"]');if (line && !line.dataset.origStroke) {line.dataset.origStroke = line.getAttribute('stroke-width') || '2';}var highlight = function() {if (legend.querySelector('.isolated')) return;lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '0.2'; });legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });if (line) {line.style.opacity = '1';line.setAttribute('stroke-width', '4');}productDots.forEach(function(d) { d.style.opacity = '1'; });item.style.opacity = '1';};var clearHighlight = function() {if (legend.querySelector('.isolated')) return;lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '1'; });legendItems.forEach(function(i) { i.style.opacity = '1'; });};var toggleIsolate = function() {var isIsolated = item.classList.contains('isolated');legendItems.forEach(function(i) { i.classList.remove('isolated'); });if (isIsolated) {lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '1'; });legendItems.forEach(function(i) { i.style.opacity = '1'; });} else {item.classList.add('isolated');lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '0.2'; });legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });if (line) {line.style.opacity = '1';line.setAttribute('stroke-width', '4');}productDots.forEach(function(d) { d.style.opacity = '1'; });item.style.opacity = '1';}};item.addEventListener('mouseenter', highlight);item.addEventListener('focus', highlight);item.addEventListener('mouseleave', clearHighlight);item.addEventListener('blur', clearHighlight);item.addEventListener('click', toggleIsolate);if (line) {line.style.cursor = 'pointer';line.addEventListener('mouseenter', highlight);line.addEventListener('mouseleave', clearHighlight);line.addEventListener('click', toggleIsolate);}});});var versusCharts = chartWrapper.querySelectorAll('.fv-versus-chart');versusCharts.forEach(function(vc) {var dataJson = vc.getAttribute('data-versus-data');var leftColor = vc.getAttribute('data-left-color') || '#E53935';var rightColor = vc.getAttribute('data-right-color') || '#FFB300';if (!dataJson) return;var versusData = JSON.parse(dataJson);var leftSelect = vc.querySelector('.fv-select-left');var rightSelect = vc.querySelector('.fv-select-right');var rows = vc.querySelectorAll('.fv-versus-row');function updateVersusChart() {var leftProduct = leftSelect.value;var rightProduct = rightSelect.value;leftSelect.style.color = leftColor;leftSelect.style.borderColor = leftColor;rightSelect.style.color = rightColor;rightSelect.style.borderColor = rightColor;rows.forEach(function(row) {var index = parseInt(row.getAttribute('data-index'));var data = versusData[index];if (!data) return;var leftVal = data.productData[leftProduct] ? data.productData[leftProduct].value : undefined;var rightVal = data.productData[rightProduct] ? data.productData[rightProduct].value : undefined;var leftIsNum = typeof leftVal === 'number';var rightIsNum = typeof rightVal === 'number';var leftNum = leftIsNum ? leftVal : 0;var rightNum = rightIsNum ? rightVal : 0;var maxVal = Math.max(leftNum, rightNum, 0.0001);var leftWidth = leftIsNum ? (leftNum / maxVal) * 95 : 0;var rightWidth = rightIsNum ? (rightNum / maxVal) * 85 : 0;var winner = null;var pctDiffStr = null;if (leftIsNum && rightIsNum) {if (leftNum > rightNum) {winner = 'left';if (rightNum > 0) {var diff = Math.round(((leftNum - rightNum) / rightNum) * 100);pctDiffStr = '+' + diff.toLocaleString() + '%';}} else if (rightNum > leftNum) {winner = 'right';if (leftNum > 0) {var diff = Math.round(((rightNum - leftNum) / leftNum) * 100);pctDiffStr = '+' + diff.toLocaleString() + '%';}}}var leftDisplay = data.productData[leftProduct] && data.productData[leftProduct].displayValue !== undefined ? data.productData[leftProduct].displayValue : (leftIsNum ? leftNum.toLocaleString() : (leftVal !== undefined ? leftVal : '-'));var rightDisplay = data.productData[rightProduct] && data.productData[rightProduct].displayValue !== undefined ? data.productData[rightProduct].displayValue : (rightIsNum ? rightNum.toLocaleString() : (rightVal !== undefined ? rightVal : '-'));var unit = (data.productData[leftProduct] && data.productData[leftProduct].unit) ||(data.productData[rightProduct] && data.productData[rightProduct].unit) || '';var leftTextStr = leftDisplay;var rightTextStr = rightDisplay;var leftBar = row.querySelector('.fv-versus-bar-left');var rightBar = row.querySelector('.fv-versus-bar-right');var leftText = row.querySelector('.fv-inside-left');var rightText = row.querySelector('.fv-inside-right');var labelText = row.querySelector('.fv-versus-label span');var leftWrapper = row.querySelector('.fv-versus-bar-left-wrapper');var rightWrapper = row.querySelector('.fv-versus-bar-right-wrapper');var existingPctDiffs = row.querySelectorAll('.fv-versus-pct-diff');existingPctDiffs.forEach(function(el) { el.remove(); });if (winner === 'left' && pctDiffStr) {var pctSpan = document.createElement('span');pctSpan.className = 'fv-versus-pct-diff';pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';pctSpan.textContent = pctDiffStr;if (leftBar) leftBar.insertBefore(pctSpan, leftBar.firstChild);} else if (winner === 'right' && pctDiffStr) {var pctSpan = document.createElement('span');pctSpan.className = 'fv-versus-pct-diff';pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';pctSpan.textContent = pctDiffStr;if (rightBar) rightBar.appendChild(pctSpan);}if (leftBar) {leftBar.style.backgroundColor = leftColor;leftBar.dataset.targetWidth = leftWidth;leftBar.style.setProperty('--target-width', leftWidth + '%');leftBar.style.width = leftWidth + '%';}if (rightBar) {rightBar.style.backgroundColor = rightColor;rightBar.dataset.targetWidth = rightWidth;rightBar.style.setProperty('--target-width', rightWidth + '%');rightBar.style.width = rightWidth + '%';}if (leftText) {leftText.innerHTML = leftTextStr;}if (rightText) {rightText.innerHTML = rightTextStr;}if (labelText) {labelText.textContent = data.attribute + (unit ? ' (' + unit + ')' : '');}});}if (leftSelect) leftSelect.addEventListener('change', updateVersusChart);if (rightSelect) rightSelect.addEventListener('change', updateVersusChart);});var barRows = chartWrapper.querySelectorAll('.fv-bar-row');var globalCaptionEl = chartWrapper.querySelector('.rv-chart-caption');var fallbackCaptionHtml = globalCaptionEl ? globalCaptionEl.innerHTML : '';barRows.forEach(function(row) {var commentaryEl = row.querySelector('[data-commentary-key]');if (commentaryEl) {var commentaryText = commentaryEl.textContent;if (commentaryText && commentaryText.trim().length > 0) {row.addEventListener('mouseenter', function() {if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {globalCaptionEl.innerHTML = commentaryText;globalCaptionEl.classList.add('fv-bar-active-caption');}});row.addEventListener('mouseleave', function() {if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {globalCaptionEl.innerHTML = fallbackCaptionHtml;globalCaptionEl.classList.remove('fv-bar-active-caption');}});}}});var charts = chartWrapper.querySelectorAll('.fv-chart-item');var dropdown = chartWrapper.querySelector('.fv-dropdown-title');var prevBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.prev');var nextBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.next');var carouselTitle = chartWrapper.querySelector('.fv-carousel-title-controls .fv-benchmark-title');var counter = chartWrapper.querySelector('.fv-carousel-counter');var subheadEl = chartWrapper.querySelector('.fv-chart-subhead');var captionEl = chartWrapper.querySelector('.rv-chart-caption');var footerContentEl = chartWrapper.querySelector('.fv-footer-content');var bottomBarEl = chartWrapper.querySelector('.fv-bottom-bar');var logoEl = chartWrapper.querySelector('.fv-logo');if (charts.length > 1 && (dropdown || prevBtn)) {var currentChartIndex = 0;var titles = [];if (dropdown) {titles = Array.from(dropdown.options).map(function(o) { return o.text; });} else {charts.forEach(function(c) {titles.push(c.getAttribute('data-title') || '');});}function showInternalChart(index) {if (index < 0) index = charts.length - 1;if (index >= charts.length) index = 0;currentChartIndex = index;charts.forEach(function(c, i) {c.style.display = i === index ? 'block' : 'none';if (i === index) {var cType = c.dataset.chartType;if (cType === 'Line') {} else if (cType !== 'Pie') {window.fvAnimateCharts(chartWrapper);}var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';if (labelsOnTop && (cType === 'Bar' || cType === 'Stacked Bar' || cType === 'Versus')) {chartWrapper.classList.add('labels-on-top');} else {chartWrapper.classList.remove('labels-on-top');}}});if (dropdown) dropdown.value = index;if (carouselTitle && titles[index]) carouselTitle.textContent = titles[index];if (counter) counter.textContent = (index + 1) + ' of ' + charts.length;var activeChart = charts[index];if (activeChart) {var newSubhead = activeChart.getAttribute('data-subhead');var newCaption = activeChart.getAttribute('data-caption');var currentChartType = activeChart.getAttribute('data-chart-type');var hideGlobalCaption = currentChartType === 'Countdown' || currentChartType === 'Image Comparison' || currentChartType === 'Shop the Collection';if (subheadEl) subheadEl.textContent = newSubhead || '';if (captionEl) {captionEl.textContent = newCaption || '';fallbackCaptionHtml = newCaption || '';}if (footerContentEl) {if (newCaption && newCaption.trim().length > 0 && !hideGlobalCaption) {footerContentEl.style.display = 'block';if (bottomBarEl) bottomBarEl.style.display = 'flex';} else {footerContentEl.style.display = 'none';if (bottomBarEl && !logoEl) {bottomBarEl.style.display = 'none';}}}}}if (dropdown) dropdown.addEventListener('change', function(e) { showInternalChart(parseInt(e.target.value)); });if (prevBtn) prevBtn.addEventListener('click', function() { showInternalChart(currentChartIndex - 1); });if (nextBtn) nextBtn.addEventListener('click', function() { showInternalChart(currentChartIndex + 1); });}var imageCompareWrappers = chartWrapper.querySelectorAll('.fv-image-compare-wrapper');imageCompareWrappers.forEach(function(wrapper) {var inner = wrapper.querySelector('.fv-image-compare-inner') || wrapper;var slider = wrapper.querySelector('.fv-image-compare-slider');var fgImage = wrapper.querySelector('.fv-image-compare-fg');var bgImage = wrapper.querySelector('.fv-image-compare-bg');var labelLeft = wrapper.querySelector('.fv-image-compare-label-left');var labelRight = wrapper.querySelector('.fv-image-compare-label-right');var isDragging = false;var scale = 1;var panX = 0;var panY = 0;var isPanning = false;var hasPanned = false;var lastClientX = 0;var lastClientY = 0;var initialDistance = null;var lastCenterX = null;var lastCenterY = null;function updateTransform() {if (wrapper.classList.contains('fv-image-compare-fullscreen')) {inner.style.setProperty('transform', 'translate(' + panX + 'px, ' + panY + 'px) scale(' + scale + ')', 'important');} else {inner.style.removeProperty('transform');scale = 1;panX = 0;panY = 0;}}function constrainPan() {var rect = wrapper.getBoundingClientRect();var maxPanX = Math.max(0, (rect.width * scale - rect.width) / 2);var maxPanY = Math.max(0, (rect.height * scale - rect.height) / 2);panX = Math.max(-maxPanX, Math.min(panX, maxPanX));panY = Math.max(-maxPanY, Math.min(panY, maxPanY));}wrapper.addEventListener('wheel', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;e.preventDefault();var zoomSensitivity = 0.005;var zoomFactor = Math.exp(-e.deltaY * zoomSensitivity);var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));if (newScale === scale) return;var rect = wrapper.getBoundingClientRect();var mouseX = e.clientX - rect.left - rect.width / 2;var mouseY = e.clientY - rect.top - rect.height / 2;var ratio = newScale / scale;panX = mouseX - (mouseX - panX) * ratio;panY = mouseY - (mouseY - panY) * ratio;scale = newScale;constrainPan();updateTransform();}, { passive: false });wrapper.addEventListener('mousedown', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen') || scale <= 1) return;if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;isPanning = true;hasPanned = false;lastClientX = e.clientX;lastClientY = e.clientY;});window.addEventListener('mousemove', function(e) {if (!isPanning) return;var dx = e.clientX - lastClientX;var dy = e.clientY - lastClientY;if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {hasPanned = true;}lastClientX = e.clientX;lastClientY = e.clientY;panX += dx;panY += dy;constrainPan();updateTransform();});window.addEventListener('mouseup', function() {isPanning = false;});wrapper.addEventListener('touchstart', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;if (e.touches.length === 2) {e.preventDefault();var dx = e.touches[0].clientX - e.touches[1].clientX;var dy = e.touches[0].clientY - e.touches[1].clientY;initialDistance = Math.sqrt(dx * dx + dy * dy);var rect = wrapper.getBoundingClientRect();lastCenterX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;lastCenterY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;hasPanned = true;} else if (e.touches.length === 1 && scale > 1) {if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;isPanning = true;hasPanned = false;lastClientX = e.touches[0].clientX;lastClientY = e.touches[0].clientY;}}, { passive: false });wrapper.addEventListener('touchmove', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;if (e.touches.length === 2 && initialDistance !== null) {e.preventDefault();var dx = e.touches[0].clientX - e.touches[1].clientX;var dy = e.touches[0].clientY - e.touches[1].clientY;var distance = Math.sqrt(dx * dx + dy * dy);if (initialDistance > 0) {var zoomFactor = distance / initialDistance;var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));var rect = wrapper.getBoundingClientRect();var centerX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;var centerY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;var ratio = newScale / scale;panX = centerX - (centerX - panX) * ratio;panY = centerY - (centerY - panY) * ratio;if (lastCenterX !== null && lastCenterY !== null) {panX += (centerX - lastCenterX);panY += (centerY - lastCenterY);}scale = newScale;lastCenterX = centerX;lastCenterY = centerY;constrainPan();updateTransform();}initialDistance = distance;} else if (e.touches.length === 1 && isPanning) {e.preventDefault();var dx = e.touches[0].clientX - lastClientX;var dy = e.touches[0].clientY - lastClientY;if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {hasPanned = true;}lastClientX = e.touches[0].clientX;lastClientY = e.touches[0].clientY;panX += dx;panY += dy;constrainPan();updateTransform();}}, { passive: false });wrapper.addEventListener('touchend', function(e) {if (e.touches.length < 2) {initialDistance = null;}if (e.touches.length === 0) {isPanning = false;}});function handleMove(clientX) {var rect = inner.getBoundingClientRect();var x = Math.max(0, Math.min(clientX - rect.left, rect.width));var percent = Math.max(0, Math.min((x / rect.width) * 100, 100));if (slider) slider.style.setProperty('left', percent + '%', 'important');if (fgImage) fgImage.style.setProperty('clip-path', 'polygon(0 0, ' + percent + '% 0, ' + percent + '% 100%, 0 100%)', 'important');if (labelLeft) {if (percent < 10) {labelLeft.style.setProperty('opacity', '0', 'important');} else {labelLeft.style.setProperty('opacity', '1', 'important');}}if (labelRight) {if (percent > 90) {labelRight.style.setProperty('opacity', '0', 'important');} else {labelRight.style.setProperty('opacity', '1', 'important');}}}function onMouseMove(e) {if (!isDragging) return;handleMove(e.clientX);}function onTouchMove(e) {if (!isDragging) return;e.preventDefault();handleMove(e.touches[0].clientX);}function stopDragging() {isDragging = false;window.removeEventListener('mousemove', onMouseMove);window.removeEventListener('mouseup', stopDragging);window.removeEventListener('touchmove', onTouchMove);window.removeEventListener('touchend', stopDragging);}if (slider) {var startDrag = function(clientX) {isDragging = true;handleMove(clientX);window.addEventListener('mousemove', onMouseMove);window.addEventListener('mouseup', stopDragging);};var startTouchDrag = function(clientX) {isDragging = true;handleMove(clientX);window.addEventListener('touchmove', onTouchMove, { passive: false });window.addEventListener('touchend', stopDragging);};slider.addEventListener('mousedown', function(e) {e.preventDefault();startDrag(e.clientX);});slider.addEventListener('touchstart', function(e) {e.preventDefault();startTouchDrag(e.touches[0].clientX);}, { passive: false });}var expandBtn = wrapper.querySelector('.fv-image-compare-expand-btn');var closeBtn = wrapper.querySelector('.fv-image-compare-close-btn');if (expandBtn) {if (window !== window.parent) {expandBtn.style.display = 'none';} else {expandBtn.addEventListener('click', function(e) {e.stopPropagation();wrapper.classList.add('fv-image-compare-fullscreen');document.body.style.overflow = 'hidden';if (fgImage && fgImage.dataset.highresSrc) {fgImage.src = fgImage.dataset.highresSrc;fgImage.removeAttribute('srcset');fgImage.removeAttribute('sizes');}if (bgImage && bgImage.dataset.highresSrc) {bgImage.src = bgImage.dataset.highresSrc;bgImage.removeAttribute('srcset');bgImage.removeAttribute('sizes');}});}}if (closeBtn) {closeBtn.addEventListener('click', function(e) {e.stopPropagation();wrapper.classList.remove('fv-image-compare-fullscreen');document.body.style.overflow = '';updateTransform();});}document.addEventListener('keydown', function(e) {if (e.key === 'Escape' && wrapper.classList.contains('fv-image-compare-fullscreen')) {wrapper.classList.remove('fv-image-compare-fullscreen');document.body.style.overflow = '';updateTransform();}});});var hotspots = chartWrapper.querySelectorAll('.fv-stl-hotspot-btn');var allProductsModal = chartWrapper.querySelector('.fv-stl-all-products-modal');var shopAllBtn = chartWrapper.querySelector('.fv-stl-shop-all-btn');var allProductsList = chartWrapper.querySelector('.fv-stl-all-products-list');var stlContainer = chartWrapper.querySelector('.fv-stl-container');function closeAllModals() {if (allProductsModal) {allProductsModal.classList.remove('is-active');var items = allProductsModal.querySelectorAll('.fv-stl-all-products-item');items.forEach(function(item) {item.classList.remove('is-highlighted');});if (stlContainer) {setTimeout(function() {if (!allProductsModal.classList.contains('is-active')) {stlContainer.style.minHeight = '';if ('parentIFrame' in window) {window.parentIFrame.size();}}}, 300);}}hotspots.forEach(function(btn) { btn.setAttribute('aria-expanded', 'false'); });if ('parentIFrame' in window) {window.parentIFrame.size();}}hotspots.forEach(function(btn) {btn.addEventListener('click', function(e) {e.stopPropagation();var hotspotId = btn.getAttribute('data-hotspot-id');var isExpanded = btn.getAttribute('aria-expanded') === 'true';closeAllModals();if (!isExpanded && allProductsModal) {btn.setAttribute('aria-expanded', 'true');allProductsModal.classList.add('is-active');var container = btn.closest('.fv-stl-container');if (container && container.offsetHeight < 450) {container.style.minHeight = '450px';}var targetItem = allProductsModal.querySelector('.fv-stl-all-products-item[data-product-id="' + hotspotId + '"]');if (targetItem) {targetItem.classList.add('is-highlighted');setTimeout(function() {targetItem.scrollIntoView({ behavior: 'smooth', block: 'center' });}, 100);}if ('parentIFrame' in window) {window.parentIFrame.size();}}});});if (shopAllBtn && allProductsModal) {shopAllBtn.addEventListener('click', function(e) {e.stopPropagation();closeAllModals();allProductsModal.classList.add('is-active');var container = shopAllBtn.closest('.fv-stl-container');if (container && container.offsetHeight < 450) {container.style.minHeight = '450px';}if ('parentIFrame' in window) {window.parentIFrame.size();}});}if (allProductsModal) {var closeAllBtn = allProductsModal.querySelector('.fv-stl-all-products-close');if (closeAllBtn) {closeAllBtn.addEventListener('click', function(e) {e.stopPropagation();closeAllModals();});}}chartWrapper.addEventListener('click', function(e) {if (!e.target.closest('.fv-stl-all-products-content')) {closeAllModals();}});if (allProductsModal) {allProductsModal.addEventListener('click', function(e) {if (!e.target.closest('.fv-stl-all-products-content')) {closeAllModals();}});}var iaNodes = chartWrapper.querySelectorAll('.fv-ia-node-button');var iaWrapper = chartWrapper.querySelector('.fv-ia-wrapper');var originalCaption = chartWrapper.querySelector('.fv-original-caption') || captionEl;var dynamicCaption = chartWrapper.querySelector('.fv-ia-dynamic-caption');var exploreBtn = chartWrapper.querySelector('.fv-ia-explore-btn');var currentIaIndex = -1;function closeAllIANodes() {iaNodes.forEach(function(btn) { btn.classList.remove('is-active'); });if (originalCaption) originalCaption.style.display = 'block';if (dynamicCaption) dynamicCaption.style.display = 'none';}function resetExploreBtn() {currentIaIndex = -1;if (exploreBtn) {var exploreSpan = exploreBtn.querySelector('span');if (exploreSpan) exploreSpan.textContent = 'Explore';}}iaNodes.forEach(function(btn, index) {btn.addEventListener('click', function(e) {e.stopPropagation();var isActive = btn.classList.contains('is-active');closeAllIANodes();if (!isActive) {currentIaIndex = index;if (exploreBtn) {var exploreSpan = exploreBtn.querySelector('span');if (exploreSpan) exploreSpan.textContent = 'Next';}btn.classList.add('is-active');if (dynamicCaption) {var title = btn.getAttribute('data-title') || '';var desc = btn.getAttribute('data-desc') || '';dynamicCaption.innerHTML = '';var strongTag = document.createElement('strong');strongTag.textContent = title;dynamicCaption.appendChild(strongTag);if (desc) {dynamicCaption.appendChild(document.createTextNode(' - ' + desc));}if (originalCaption) originalCaption.style.display = 'none';dynamicCaption.style.display = 'block';if (footerContentEl) footerContentEl.style.display = 'block';}} else {resetExploreBtn();}});});if (exploreBtn) {exploreBtn.addEventListener('click', function(e) {e.stopPropagation();if (iaNodes.length === 0) return;var nextIndex = currentIaIndex + 1;if (nextIndex >= iaNodes.length) {closeAllIANodes();resetExploreBtn();} else {currentIaIndex = nextIndex;var targetBtn = iaNodes[currentIaIndex];if (targetBtn) {if(targetBtn.classList.contains('is-active')) {targetBtn.click();}targetBtn.click();}}});}if (iaWrapper) {iaWrapper.addEventListener('click', function(e) {if (!e.target.closest('.fv-ia-node-button') && !e.target.closest('.fv-ia-explore-btn')) {closeAllIANodes();resetExploreBtn();}});}window.fvAnimateCharts(chartWrapper);var countdownContainer = chartWrapper.querySelector('.fv-countdown-container');if (countdownContainer) {var targetDateAttr = countdownContainer.getAttribute('data-target-date');if (targetDateAttr) {var targetDate = new Date(targetDateAttr);var primaryColor = countdownContainer.getAttribute('data-primary-color') || '#f97316';var subheadColor = countdownContainer.getAttribute('data-subhead-color') || '#ffffff';var pad = function(n) { return (n < 10 ? '0' : '') + n; };var updateCountdown = function() {var difference = +targetDate - +new Date();var d = 0, h = 0, m = 0, s = 0;if (difference > 0) {d = Math.floor(difference / (1000 * 60 * 60 * 24));h = Math.floor((difference / (1000 * 60 * 60)) % 24);m = Math.floor((difference / 1000 / 60) % 60);s = Math.floor((difference / 1000) % 60);}var daysEl = countdownContainer.querySelector('[data-time="days"]');var hoursEl = countdownContainer.querySelector('[data-time="hours"]');var minsEl = countdownContainer.querySelector('[data-time="minutes"]');var secsEl = countdownContainer.querySelector('[data-time="seconds"]');if (daysEl) daysEl.textContent = d;if (hoursEl) hoursEl.textContent = pad(h);if (minsEl) minsEl.textContent = pad(m);if (secsEl) secsEl.textContent = pad(s);};updateCountdown();setInterval(updateCountdown, 1000);}}}if (false) {var slideshowContainer = document.getElementById(uniqueId + '-slideshow');if (slideshowContainer) {var slides = slideshowContainer.querySelectorAll('.fv-slide');slides.forEach(function(slide) {setupWrapper(slide.querySelector('.fv-chart-wrapper'));});}} else {setupWrapper(root);}}if (document.readyState === 'loading') {document.addEventListener('DOMContentLoaded', function() { initialize('fv-chart-1790607075785-manmdg66k', false); });} else {initialize('fv-chart-1790607075785-manmdg66k', false);}})();</script></div><p>During the obstacle avoidance tests it did well to identify the shoe and sock, staying clear as it cleaned around them but it did go over the charging cable, getting it stuck in the cleaning brushes and needing me to rescue it before it could continue cleaning.</p><p>During my mopping tests on first pass it did a reasonable job taking up a fair bit of the ketchup although there was a hint of the soy sauce remaining. Trying a second clean on maximum water flow and cleaning settings it did a fantastic job cleaning off even the dried on patches of ketchup.</p><div class="vizualizer-embed"><style>@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap');#fv-chart-1790607282055-ehf5hye65 *, #fv-chart-1790607282055-ehf5hye65 *:before, #fv-chart-1790607282055-ehf5hye65 *:after, #fv-chart-1790607282055-ehf5hye65-slideshow *, #fv-chart-1790607282055-ehf5hye65-slideshow *:before, #fv-chart-1790607282055-ehf5hye65-slideshow *:after {box-sizing: border-box !important; margin: 0; padding: 0; border: 0;font-size: 100%; font: inherit; vertical-align: baseline;}#fv-chart-1790607282055-ehf5hye65, #fv-chart-1790607282055-ehf5hye65-slideshow { font-family: 'Open Sans', sans-serif !important; }#fv-chart-1790607282055-ehf5hye65 {position: relative !important; overflow: visible !important;--riv-primary: #2E6E93;}#fv-chart-1790607282055-ehf5hye65 .fv-inner-wrapper {color: #1F2937 !important; background-color: #ffffff !important;padding: 1.5rem 1.5rem 2rem !important; border-radius: 0.5rem !important;box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important;margin: 1rem 0 !important; display: flex !important; flex-direction: column !important;overflow: hidden !important;}#fv-chart-1790607282055-ehf5hye65 .fv-inner-wrapper.fv-no-header.fv-is-image-compare {padding-top: 0 !important;}#fv-chart-1790607282055-ehf5hye65.fv-full-bleed {width: 100vw !important;margin-left: calc(50% - 50vw) !important;}body {overflow-x: clip !important;}#fv-chart-1790607282055-ehf5hye65.fv-full-bleed .fv-inner-wrapper {padding: 0 !important;border-radius: 0 !important;box-shadow: none !important;margin: 0 !important;background-color: transparent !important;}#fv-chart-1790607282055-ehf5hye65 .fv-inner-wrapper.fv-is-shop-the-look {padding: 0 !important;border-radius: 0 !important;box-shadow: none !important;margin: 0 !important;background-color: transparent !important;}#fv-chart-1790607282055-ehf5hye65-slideshow {position: relative !important;width: 100% !important;margin: 1rem 0 !important;--riv-primary: #2E6E93;}#fv-chart-1790607282055-ehf5hye65-slideshow .fv-slides-wrapper {position: relative !important;width: 100% !important;}#fv-chart-1790607282055-ehf5hye65-slideshow .fv-slide {width: 100% !important;animation: fv-fade-in 0.3s ease-in-out;}@keyframes fv-fade-in {from { opacity: 0; }to { opacity: 1; }}#fv-chart-1790607282055-ehf5hye65-slideshow .fv-slideshow-nav-row {position: relative !important;display: flex !important;justify-content: space-between !important;align-items: center !important;padding: 0 0 16px 0 !important;width: 100% !important;z-index: 20 !important;}#fv-chart-1790607282055-ehf5hye65-slideshow .fv-nav-btn {background-color: var(--riv-primary) !important;color: #ffffff !important;border: none !important;border-radius: 4px !important;padding: 8px 16px !important;font-size: 14px !important;font-weight: 700 !important;cursor: pointer !important;display: flex !important;align-items: center !important;justify-content: center !important;gap: 6px !important;transition: opacity 0.2s, background-color 0.2s !important;height: 36px !important;text-transform: none !important;box-shadow: 0 1px 2px rgba(0,0,0,0.1) !important;}#fv-chart-1790607282055-ehf5hye65-slideshow .fv-nav-btn svg {width: 18px !important;height: 18px !important;stroke-width: 3px !important;filter: none !important;}#fv-chart-1790607282055-ehf5hye65-slideshow .fv-nav-btn:hover {opacity: 0.9 !important;transform: translateY(-1px) !important;}#fv-chart-1790607282055-ehf5hye65-slideshow .fv-nav-btn.disabled {background-color: #E5E7EB !important;color: #9CA3AF !important;cursor: default !important;pointer-events: none !important;box-shadow: none !important;}#fv-chart-1790607282055-ehf5hye65-slideshow .fv-slide-counter {font-family: 'Poppins', sans-serif !important;font-size: 14px !important;font-weight: 600 !important;color: #374151 !important;text-align: center !important;min-width: 40px !important;background-color: rgba(255,255,255,0.8) !important;padding: 2px 8px !important;border-radius: 10px !important;}#fv-chart-1790607282055-ehf5hye65-slideshow .fv-slideshow-select {position: absolute !important;top: 10px !important;right: 10px !important;z-index: 20 !important;appearance: none !important;-webkit-appearance: none !important;-moz-appearance: none !important;background-color: white !important;border: 1px solid #d1d5db !important;color: #1F2937 !important;font-family: 'Open Sans', sans-serif !important;font-size: 14px !important;font-weight: 600 !important;padding: 6px 32px 6px 12px !important;border-radius: 4px !important;cursor: pointer !important;box-shadow: 0 1px 2px rgba(0,0,0,0.05) !important;background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e") !important;background-position: right 0.5rem center !important;background-repeat: no-repeat !important;background-size: 1.5em 1.5em !important;}#fv-chart-1790607282055-ehf5hye65-slideshow .fv-slideshow-select:focus {outline: 2px solid #2E6E93 !important;border-color: #2E6E93 !important;}#fv-chart-1790607282055-ehf5hye65 .fv-chart-title {font-weight: bold !important;text-align: center !important;margin-bottom: 0.5rem !important;color: var(--riv-primary) !important;font-size: 20px !important;line-height: 1.2 !important;font-family: 'Open Sans', sans-serif !important;text-transform: none !important;white-space: normal !important;overflow-wrap: break-word !important;padding: 0 20px !important;}#fv-chart-1790607282055-ehf5hye65 .fv-chart-subhead {font-size: 18px !important;font-weight: 500 !important;text-align: center !important;margin-bottom: 2rem !important;color: #374151 !important;line-height: 1.7 !important;font-family: 'Open Sans', sans-serif !important;display: block !important;text-transform: none !important;padding: 0 20px !important;}#fv-chart-1790607282055-ehf5hye65 .rv-chart-caption { font-size: 15px !important; color: #374151 !important; text-align: center !important; font-style: normal !important; font-weight: normal !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; }#fv-chart-1790607282055-ehf5hye65 .fv-versus-chart { display: flex; flex-direction: column; width: 100%; margin-top: 1rem; }#fv-chart-1790607282055-ehf5hye65 .fv-versus-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding: 0 1rem; }#fv-chart-1790607282055-ehf5hye65 .fv-versus-select-wrapper { flex: 1; min-width: 0; }#fv-chart-1790607282055-ehf5hye65 .fv-versus-select-wrapper.fv-left { text-align: center; padding-right: 1rem; }#fv-chart-1790607282055-ehf5hye65 .fv-versus-select-wrapper.fv-right { text-align: center; padding-left: 1rem; }#fv-chart-1790607282055-ehf5hye65 .fv-versus-select-container { position: relative; display: inline-block; max-width: 100%; width: 100%; }#fv-chart-1790607282055-ehf5hye65 .fv-versus-chevron { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; width: 16px; height: 16px; flex-shrink: 0; }#fv-chart-1790607282055-ehf5hye65 .fv-versus-select-wrapper.fv-left .fv-versus-chevron { right: 0; }#fv-chart-1790607282055-ehf5hye65 .fv-versus-select-wrapper.fv-right .fv-versus-chevron { right: 0; }#fv-chart-1790607282055-ehf5hye65 .fv-versus-select { background: transparent; border: none; border-bottom: 2px solid; font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; padding: 0.25rem 0; cursor: pointer; outline: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; max-width: 100%; width: 100%; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; }#fv-chart-1790607282055-ehf5hye65 .fv-versus-select.fv-select-left { text-align: center; direction: ltr; padding-right: 1.25rem; }#fv-chart-1790607282055-ehf5hye65 .fv-versus-select.fv-select-right { text-align: center; padding-right: 1.25rem; }#fv-chart-1790607282055-ehf5hye65 .fv-versus-select option { font-family: 'Open Sans', sans-serif; font-weight: 400; font-size: 14px; color: #374151; direction: ltr; text-align: left; }#fv-chart-1790607282055-ehf5hye65 .fv-versus-vs { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; color: #374151; letter-spacing: 0.1em; padding: 0 1rem; }#fv-chart-1790607282055-ehf5hye65 .fv-versus-body { display: flex; flex-direction: column; gap: 1.5rem; }#fv-chart-1790607282055-ehf5hye65 .fv-versus-row { position: relative; height: auto; padding-top: 20px; margin-bottom: 0.25rem; display: block; }#fv-chart-1790607282055-ehf5hye65 .fv-versus-bar-container { position: relative; height: 32px; display: flex; align-items: center; }#fv-chart-1790607282055-ehf5hye65 .fv-versus-bar-left-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-end; align-items: center; }#fv-chart-1790607282055-ehf5hye65 .fv-versus-bar-right-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-start; align-items: center; }#fv-chart-1790607282055-ehf5hye65 .fv-versus-bar { height: 32px; width: var(--target-width); transition: width 0.8s ease-out; animation: fv-grow-max-width 0.8s ease-out forwards; display: flex; align-items: center; overflow: hidden; color: #ffffff; }#fv-chart-1790607282055-ehf5hye65 .fv-versus-bar-left { border-radius: 4px 0 0 4px; justify-content: flex-end; padding: 0 8px; }#fv-chart-1790607282055-ehf5hye65 .fv-versus-bar-right { border-radius: 0 4px 4px 0; justify-content: flex-start; padding: 0 8px; }@keyframes fv-grow-max-width {from { max-width: 0; }to { max-width: 100%; }}#fv-chart-1790607282055-ehf5hye65 .fv-versus-center-line { position: absolute; left: 50%; top: 0; bottom: 0; width: 4px; background-color: #ffffff; transform: translateX(-50%); z-index: 1; }#fv-chart-1790607282055-ehf5hye65 .fv-inside-left { white-space: nowrap; flex-shrink: 0; }#fv-chart-1790607282055-ehf5hye65 .fv-inside-right { white-space: nowrap; flex-shrink: 0; }#fv-chart-1790607282055-ehf5hye65 .fv-versus-val-text { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; }#fv-chart-1790607282055-ehf5hye65 .fv-versus-pct-diff { font-size: 12px; font-weight: 600; }#fv-chart-1790607282055-ehf5hye65 .fv-versus-label { position: absolute; left: 50%; transform: translateX(-50%); top: 0; background-color: transparent; border: none; box-shadow: none; padding: 0; font-family: 'Open Sans', sans-serif; font-weight: 700; font-size: 14px; color: #374151; white-space: nowrap; }#fv-chart-1790607282055-ehf5hye65 .sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }#fv-chart-1790607282055-ehf5hye65 .fv-image-compare-container { width: auto !important; margin-left: -1.5rem !important; margin-right: -1.5rem !important; margin-bottom: 2rem !important; }#fv-chart-1790607282055-ehf5hye65.fv-full-bleed .fv-image-compare-container { width: 100% !important; max-width: none !important; margin: 0 auto !important; }#fv-chart-1790607282055-ehf5hye65 .fv-image-compare-wrapper { position: relative !important; width: 100% !important; overflow: hidden !important; border-radius: 0 !important; background-color: #000 !important; touch-action: pan-y !important; user-select: none !important; -webkit-user-select: none !important; }#fv-chart-1790607282055-ehf5hye65 .fv-image-compare-inner { position: relative !important; width: 100% !important; height: 100% !important; display: block !important; transform-origin: center center !important; transition: transform 0.1s ease-out !important; }#fv-chart-1790607282055-ehf5hye65 .fv-image-compare-bg { display: block !important; width: 100% !important; height: auto !important; pointer-events: none !important; user-select: none !important; -webkit-user-select: none !important; -webkit-user-drag: none !important; }#fv-chart-1790607282055-ehf5hye65 .fv-image-compare-fg { position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; object-fit: cover !important; clip-path: polygon(0 0, 50% 0, 50% 100%, 0 100%) !important; pointer-events: none !important; user-select: none !important; -webkit-user-select: none !important; -webkit-user-drag: none !important; }#fv-chart-1790607282055-ehf5hye65 .fv-image-compare-slider { position: absolute !important; top: 0 !important; bottom: 0 !important; left: 50% !important; width: 32px !important; transform: translateX(-50%) !important; cursor: ew-resize !important; z-index: 10 !important; user-select: none !important; -webkit-user-select: none !important; }#fv-chart-1790607282055-ehf5hye65 .fv-image-compare-slider-line { position: absolute !important; top: 0 !important; bottom: 0 !important; left: 50% !important; width: 4px !important; background-color: white !important; transform: translateX(-50%) !important; box-shadow: 0 0 10px rgba(0,0,0,0.5) !important; pointer-events: none !important; }#fv-chart-1790607282055-ehf5hye65 .fv-image-compare-handle { position: absolute !important; top: 50% !important; left: 50% !important; transform: translate(-50%, -50%) !important; width: 32px !important; height: 32px !important; background-color: white !important; border-radius: 50% !important; box-shadow: 0 2px 6px rgba(0,0,0,0.3) !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 4px !important; pointer-events: none !important; z-index: 11 !important; overflow: hidden !important; }#fv-chart-1790607282055-ehf5hye65 .fv-image-compare-handle.fv-image-compare-handle-square { border-radius: 6px !important; }#fv-chart-1790607282055-ehf5hye65 .fv-image-compare-arrow-left { width: 0 !important; height: 0 !important; border-top: 4px solid transparent !important; border-bottom: 4px solid transparent !important; border-right: 4px solid #4b5563 !important; }#fv-chart-1790607282055-ehf5hye65 .fv-image-compare-arrow-right { width: 0 !important; height: 0 !important; border-top: 4px solid transparent !important; border-bottom: 4px solid transparent !important; border-left: 4px solid #4b5563 !important; }#fv-chart-1790607282055-ehf5hye65 .fv-image-compare-label { position: absolute !important; top: 1rem !important; background-color: rgba(0, 0, 0, 0.5) !important; color: white !important; padding: 0.25rem 0.75rem !important; border-radius: 0.25rem !important; font-size: 0.875rem !important; font-weight: 500 !important; pointer-events: none !important; backdrop-filter: blur(4px) !important; z-index: 5 !important; transition: right 0.3s ease, opacity 0.2s ease !important; }#fv-chart-1790607282055-ehf5hye65 .fv-image-compare-label-left { left: 1rem !important; }#fv-chart-1790607282055-ehf5hye65 .fv-image-compare-label-right { right: 1rem !important; }#fv-chart-1790607282055-ehf5hye65 .fv-image-compare-expand-btn, #fv-chart-1790607282055-ehf5hye65 .fv-image-compare-close-btn { position: absolute !important; bottom: 1rem !important; right: 1rem !important; background-color: rgba(0, 0, 0, 0.5) !important; color: white !important; border: none !important; border-radius: 0.25rem !important; padding: 0.5rem !important; cursor: pointer !important; z-index: 20 !important; display: flex !important; align-items: center !important; justify-content: center !important; backdrop-filter: blur(4px) !important; transition: background-color 0.2s !important; }#fv-chart-1790607282055-ehf5hye65 .fv-image-compare-expand-btn:hover, #fv-chart-1790607282055-ehf5hye65 .fv-image-compare-close-btn:hover { background-color: rgba(0, 0, 0, 0.7) !important; }#fv-chart-1790607282055-ehf5hye65 .fv-image-compare-close-btn { display: none !important; top: 1rem !important; bottom: auto !important; }#fv-chart-1790607282055-ehf5hye65 .fv-image-compare-wrapper.fv-image-compare-fullscreen { position: fixed !important; top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important; width: 100% !important; height: 100% !important; z-index: 999999 !important; display: flex !important; align-items: center !important; justify-content: center !important; background-color: rgba(0, 0, 0, 0.9) !important; margin: 0 !important; touch-action: none !important; }#fv-chart-1790607282055-ehf5hye65 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-inner { width: 100% !important; height: 100% !important; display: flex !important; align-items: center !important; justify-content: center !important; cursor: grab !important; }#fv-chart-1790607282055-ehf5hye65 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-inner:active { cursor: grabbing !important; }#fv-chart-1790607282055-ehf5hye65 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-bg { position: absolute !important; top: 0 !important; left: 0 !important; max-width: 100% !important; max-height: 100% !important; width: 100% !important; height: 100% !important; object-fit: contain !important; }#fv-chart-1790607282055-ehf5hye65 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-fg { max-width: 100% !important; max-height: 100% !important; width: 100% !important; height: 100% !important; object-fit: contain !important; }#fv-chart-1790607282055-ehf5hye65 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-expand-btn { display: none !important; }#fv-chart-1790607282055-ehf5hye65 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-close-btn { display: flex !important; }#fv-chart-1790607282055-ehf5hye65 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-label-right { right: 4rem !important; }#fv-chart-1790607282055-ehf5hye65 .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; }#fv-chart-1790607282055-ehf5hye65 .fv-footer-content { text-align: center !important; width: 100% !important; }#fv-chart-1790607282055-ehf5hye65 .fv-logo {display: block !important;margin: 0 auto !important;width: 120px !important;min-width: 120px !important;max-width: 120px !important;height: auto !important;object-fit: contain !important;flex-shrink: 0 !important;}#fv-chart-1790607282055-ehf5hye65 .fv-dropdown-wrapper { text-align: center !important; margin-bottom: 16px !important; margin-top: 0 !important; }#fv-chart-1790607282055-ehf5hye65 .fv-dropdown-title-container { position: relative !important; display: inline-block !important; max-width: 100% !important; }#fv-chart-1790607282055-ehf5hye65 .fv-dropdown-title {appearance: none !important;-webkit-appearance: none !important;-moz-appearance: none !important;background: transparent !important;border: none !important;font-size: 18px !important;font-weight: 600 !important;color: var(--riv-primary) !important;padding-right: 28px !important;padding-left: 10px !important;cursor: pointer !important;text-align: center !important;text-align-last: center !important;width: auto !important;max-width: 100% !important;font-family: 'Open Sans', sans-serif !important;line-height: 1.3 !important;margin: 0 !important;text-overflow: ellipsis !important;overflow: hidden !important;white-space: nowrap !important;}#fv-chart-1790607282055-ehf5hye65 .fv-dropdown-title:focus { outline: none !important; }#fv-chart-1790607282055-ehf5hye65 .fv-dropdown-title::-ms-expand { display: none !important; }#fv-chart-1790607282055-ehf5hye65 .fv-dropdown-chevron {position: absolute !important;right: 0 !important;top: 50% !important;transform: translateY(-50%) !important;pointer-events: none !important;color: var(--riv-primary) !important;display: flex !important;align-items: center !important;}#fv-chart-1790607282055-ehf5hye65 .fv-carousel-title-controls { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 16px !important; width: 100% !important; gap: 12px !important; }#fv-chart-1790607282055-ehf5hye65 .fv-carousel-nav-btn {background: transparent !important; border: 1px solid #d1d5db !important; border-radius: 6px !important; padding: 6px 10px !important;cursor: pointer !important; font-size: 14px !important; color: #374151 !important; display: flex !important; align-items: center !important; gap: 4px !important; font-family: 'Open Sans', sans-serif !important;}#fv-chart-1790607282055-ehf5hye65 .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; }#fv-chart-1790607282055-ehf5hye65 .fv-carousel-counter { font-size: 14px !important; color: #374151 !important; text-align: center !important; margin-top: 1rem !important; }#fv-chart-1790607282055-ehf5hye65 .fv-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 8px 16px !important; margin: 0 !important; padding: 0 !important; margin-top: 1rem !important; }#fv-chart-1790607282055-ehf5hye65 .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #374151 !important; }#fv-chart-1790607282055-ehf5hye65 .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; }#fv-chart-1790607282055-ehf5hye65 .fv-multi-value-legend {display: flex !important;justify-content: center !important;flex-wrap: wrap !important;gap: 12px 24px !important;margin-bottom: 1.5rem !important;padding: 0 !important;}#fv-chart-1790607282055-ehf5hye65 .fv-multi-legend-item { display: flex !important; align-items: center !important; gap: 8px !important; font-size: 14px !important; color: #374151 !important; font-weight: 500 !important; }#fv-chart-1790607282055-ehf5hye65 .fv-multi-legend-swatch { width: 16px !important; height: 16px !important; border-radius: 3px !important; }#fv-chart-1790607282055-ehf5hye65 .fv-benchmark-group { margin-bottom: 1rem !important; }#fv-chart-1790607282055-ehf5hye65 .fv-benchmark-title {font-size: 18px !important; font-weight: 600 !important; margin-bottom: 16px !important; margin-top: 0 !important; padding: 0 !important;text-align: center !important; color: var(--riv-primary) !important; flex: 1 !important; min-width: 0 !important;font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important;text-transform: none !important;white-space: normal !important;overflow-wrap: break-word !important;word-wrap: break-word !important;max-width: 100% !important;}#fv-chart-1790607282055-ehf5hye65 .fv-bar-row, #fv-chart-1790607282055-ehf5hye65 .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; position: relative !important; }#fv-chart-1790607282055-ehf5hye65 .fv-bar-label { width: 150px !important; flex-shrink: 0 !important; font-size: 14px !important; color: #374151 !important; padding-right: 10px !important; text-align: right !important; font-weight: 500 !important; display: block !important; }#fv-chart-1790607282055-ehf5hye65 .fv-bar-container { flex-grow: 1 !important; background-color: #E5E7EB !important; border-radius: 4px !important; min-height: 25px !important; border: 1px solid #D1D5DB !important; position: relative !important; display: flex !important; align-items: center !important; }#fv-chart-1790607282055-ehf5hye65 .fv-bar-commentary-inline { display: none !important; position: absolute !important; left: 150px !important; top: 0 !important; bottom: 0 !important; right: 0 !important; width: calc(100% - 150px) !important; margin: 0 !important; padding: 0 8px !important; font-size: 13px !important; color: #fff !important; background: rgba(0,0,0,0.8) !important; border-radius: 4px !important; line-height: 1.4 !important; font-weight: normal !important; text-transform: none !important; word-wrap: break-word !important; z-index: 10 !important; align-items: center !important; overflow-y: auto !important; }#fv-chart-1790607282055-ehf5hye65.preview-wrapper .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1790607282055-ehf5hye65.preview-wrapper .fv-bar-commentary-inline:focus, #fv-chart-1790607282055-ehf5hye65.preview-wrapper .fv-bar-commentary-inline:focus-within, #fv-chart-1790607282055-ehf5hye65.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1790607282055-ehf5hye65.mobile-view .fv-bar-commentary-inline:focus, #fv-chart-1790607282055-ehf5hye65.mobile-view .fv-bar-commentary-inline:focus-within { display: flex !important; }#fv-chart-1790607282055-ehf5hye65 .fv-bar { height: 100% !important; border-radius: 3px !important; display: flex !important; align-items: center !important; transition: opacity 0.2s ease, width 0.8s ease-out !important; min-height: 23px !important; }#fv-chart-1790607282055-ehf5hye65 .fv-bar:hover { opacity: 0.8 !important; }#fv-chart-1790607282055-ehf5hye65 .fv-bar-inner-content { display: flex !important; justify-content: space-between !important; align-items: center !important; width: 100% !important; height: 100% !important; padding: 0 8px !important; font-size: 14px !important; font-weight: bold !important; overflow: hidden !important; }#fv-chart-1790607282055-ehf5hye65 .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; }#fv-chart-1790607282055-ehf5hye65 .fv-bar-inner-value { flex-shrink: 0 !important; }#fv-chart-1790607282055-ehf5hye65 .fv-bar-value-outside { padding-left: 8px !important; font-size: 14px !important; font-weight: bold !important; color: #374151 !important; white-space: nowrap !important; }#fv-chart-1790607282055-ehf5hye65 .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; }#fv-chart-1790607282055-ehf5hye65 .fv-multi-bar-container { flex-direction: column !important; padding: 4px !important; align-items: stretch !important; gap: 4px !important; height: auto !important; }#fv-chart-1790607282055-ehf5hye65 .fv-multi-bar-item { display: flex !important; align-items: center !important; height: 25px !important; width: 100% !important; }#fv-chart-1790607282055-ehf5hye65 .fv-stacked-bar { display: flex !important; overflow: hidden !important; }#fv-chart-1790607282055-ehf5hye65 .fv-stacked-segment { height: 100% !important; display: flex !important; align-items: center !important; justify-content: flex-end !important; padding-right: 8px !important; border-right: 1px solid rgba(255,255,255,0.3) !important; }#fv-chart-1790607282055-ehf5hye65 .fv-stacked-segment:last-child { border-right: none !important; }#fv-chart-1790607282055-ehf5hye65 .fv-segment-value { font-size: 14px !important; font-weight: bold !important; }#fv-chart-1790607282055-ehf5hye65 .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; }#fv-chart-1790607282055-ehf5hye65 .fv-grouped-product-title-wrapper { padding-left: 150px !important; }#fv-chart-1790607282055-ehf5hye65 .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.5rem !important; font-weight: 700 !important; font-size: 14px !important; color: #374151 !important; text-transform: none !important; }#fv-chart-1790607282055-ehf5hye65 .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; }#fv-chart-1790607282055-ehf5hye65 .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; }#fv-chart-1790607282055-ehf5hye65 .fv-bar-cluster .fv-bar-container { height: 20px !important; }#fv-chart-1790607282055-ehf5hye65 .riv-grid line {stroke: #D1D5DB !important;stroke-dasharray: 3 3 !important;}#fv-chart-1790607282055-ehf5hye65 .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; }#fv-chart-1790607282055-ehf5hye65 .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; }#fv-chart-1790607282055-ehf5hye65 .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; }#fv-chart-1790607282055-ehf5hye65 .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; }#fv-chart-1790607282055-ehf5hye65 .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; }#fv-chart-1790607282055-ehf5hye65 .fv-x-axis-ticks { display: flex !important; justify-content: space-between !important; padding-top: 4px !important; font-size: 13px !important; color: #374151 !important; }#fv-chart-1790607282055-ehf5hye65 .fv-x-axis-ticks span { position: relative !important; }#fv-chart-1790607282055-ehf5hye65 .fv-x-axis-ticks span::before { content: '' !important; position: absolute !important; top: -6px !important; left: 50% !important; transform: translateX(-50%) !important; width: 2px !important; height: 4px !important; background-color: #D1D5DB !important; border-radius: 1px !important; }#fv-chart-1790607282055-ehf5hye65 .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #374151 !important; margin-top: 8px !important; display: block !important; }#fv-chart-1790607282055-ehf5hye65 .fv-x-axis-title { text-align: center !important; font-size: 15px !important; color: #374151 !important; margin-top: 8px !important; margin-bottom: 16px !important; line-height: 1.5 !important; padding: 0 1rem !important; display: block !important; font-weight: bold !important; }#fv-chart-1790607282055-ehf5hye65 .fv-y-axis-title {font-size: 15px !important;color: #374151 !important;line-height: 1.5 !important;text-align: left !important;padding-left: 5.83% !important;margin-bottom: 4px !important;display: block !important;font-weight: bold !important;}#fv-chart-1790607282055-ehf5hye65.mobile-view .fv-pie-container,#fv-chart-1790607282055-ehf5hye65.labels-on-top .fv-pie-container {flex-direction: column !important; gap: 1rem !important;}#fv-chart-1790607282055-ehf5hye65.mobile-view .fv-grouped-product-title-wrapper,#fv-chart-1790607282055-ehf5hye65.labels-on-top .fv-grouped-product-title-wrapper {padding-left: 0 !important;}#fv-chart-1790607282055-ehf5hye65.mobile-view .fv-bar-row,#fv-chart-1790607282055-ehf5hye65.mobile-view .fv-stacked-product,#fv-chart-1790607282055-ehf5hye65.mobile-view .fv-grouped-bar-product,#fv-chart-1790607282055-ehf5hye65.labels-on-top .fv-bar-row,#fv-chart-1790607282055-ehf5hye65.labels-on-top .fv-stacked-product,#fv-chart-1790607282055-ehf5hye65.labels-on-top .fv-grouped-bar-product {flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important;}#fv-chart-1790607282055-ehf5hye65.mobile-view .fv-bar-label:not(.fv-grouped-product-title),#fv-chart-1790607282055-ehf5hye65.labels-on-top .fv-bar-label:not(.fv-grouped-product-title) {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1790607282055-ehf5hye65.mobile-view .fv-bar-label,#fv-chart-1790607282055-ehf5hye65.mobile-view .fv-grouped-product-title,#fv-chart-1790607282055-ehf5hye65.labels-on-top .fv-bar-label,#fv-chart-1790607282055-ehf5hye65.labels-on-top .fv-grouped-product-title {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1790607282055-ehf5hye65.mobile-view .fv-bar-container,#fv-chart-1790607282055-ehf5hye65.mobile-view .fv-bar-cluster,#fv-chart-1790607282055-ehf5hye65.labels-on-top .fv-bar-container,#fv-chart-1790607282055-ehf5hye65.labels-on-top .fv-bar-cluster {width: 100% !important;}#fv-chart-1790607282055-ehf5hye65.mobile-view .fv-bar-row .fv-bar-commentary-inline,#fv-chart-1790607282055-ehf5hye65.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline,#fv-chart-1790607282055-ehf5hye65.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus,#fv-chart-1790607282055-ehf5hye65.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus-within,#fv-chart-1790607282055-ehf5hye65.labels-on-top .fv-bar-row .fv-bar-commentary-inline,#fv-chart-1790607282055-ehf5hye65.labels-on-top .fv-bar-row:hover .fv-bar-commentary-inline,#fv-chart-1790607282055-ehf5hye65.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus,#fv-chart-1790607282055-ehf5hye65.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus-within {position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important;}#fv-chart-1790607282055-ehf5hye65.mobile-view .fv-x-axis-wrapper,#fv-chart-1790607282055-ehf5hye65.labels-on-top .fv-x-axis-wrapper {margin-left: 0 !important;}#fv-chart-1790607282055-ehf5hye65.mobile-view .fv-x-axis-label-space,#fv-chart-1790607282055-ehf5hye65.labels-on-top .fv-x-axis-label-space {display: none !important;}#fv-chart-1790607282055-ehf5hye65.mobile-view .fv-x-axis-chart-space,#fv-chart-1790607282055-ehf5hye65.labels-on-top .fv-x-axis-chart-space {padding-right: 0 !important;}#fv-chart-1790607282055-ehf5hye65.mobile-view .fv-benchmark-title,#fv-chart-1790607282055-ehf5hye65.labels-on-top .fv-benchmark-title {font-size: 16px !important;}#fv-chart-1790607282055-ehf5hye65.mobile-view .fv-dropdown-title,#fv-chart-1790607282055-ehf5hye65.labels-on-top .fv-dropdown-title {font-size: 16px !important;}#fv-chart-1790607282055-ehf5hye65.mobile-view .fv-carousel-nav-btn,#fv-chart-1790607282055-ehf5hye65.labels-on-top .fv-carousel-nav-btn {padding: 8px 12px !important; font-size: 14px !important;}#fv-chart-1790607282055-ehf5hye65.mobile-view .fv-chart-title,#fv-chart-1790607282055-ehf5hye65.labels-on-top .fv-chart-title {padding: 0 8px !important;}#fv-chart-1790607282055-ehf5hye65.mobile-view .fv-chart-subhead,#fv-chart-1790607282055-ehf5hye65.labels-on-top .fv-chart-subhead {padding: 0 8px !important;}#fv-chart-1790607282055-ehf5hye65.mobile-view .fv-versus-header,#fv-chart-1790607282055-ehf5hye65.labels-on-top .fv-versus-header {flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important;}#fv-chart-1790607282055-ehf5hye65.mobile-view .fv-versus-select-wrapper,#fv-chart-1790607282055-ehf5hye65.labels-on-top .fv-versus-select-wrapper {flex: 1 !important; min-width: 0 !important; width: 100% !important;}#fv-chart-1790607282055-ehf5hye65.mobile-view .fv-versus-select-wrapper.fv-left,#fv-chart-1790607282055-ehf5hye65.labels-on-top .fv-versus-select-wrapper.fv-left {text-align: center !important; padding-right: 0 !important;}#fv-chart-1790607282055-ehf5hye65.mobile-view .fv-versus-select-wrapper.fv-right,#fv-chart-1790607282055-ehf5hye65.labels-on-top .fv-versus-select-wrapper.fv-right {text-align: center !important; padding-left: 0 !important;}#fv-chart-1790607282055-ehf5hye65.mobile-view .fv-versus-select.fv-select-left,#fv-chart-1790607282055-ehf5hye65.labels-on-top .fv-versus-select.fv-select-left {text-align: center !important;}#fv-chart-1790607282055-ehf5hye65.mobile-view .fv-versus-select.fv-select-right,#fv-chart-1790607282055-ehf5hye65.labels-on-top .fv-versus-select.fv-select-right {text-align: center !important;}#fv-chart-1790607282055-ehf5hye65.mobile-view .fv-versus-vs,#fv-chart-1790607282055-ehf5hye65.labels-on-top .fv-versus-vs {text-align: center !important; padding: 0.25rem 0 !important;}#fv-chart-1790607282055-ehf5hye65.mobile-view .fv-versus-select-container,#fv-chart-1790607282055-ehf5hye65.labels-on-top .fv-versus-select-container {max-width: 100% !important; width: 100% !important;}#fv-chart-1790607282055-ehf5hye65.mobile-view .fv-versus-select,#fv-chart-1790607282055-ehf5hye65.labels-on-top .fv-versus-select {font-size: 14px !important; width: 100% !important;}#fv-chart-1790607282055-ehf5hye65.mobile-view .fv-stl-shop-all-btn,#fv-chart-1790607282055-ehf5hye65.labels-on-top .fv-stl-shop-all-btn {bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important;}#fv-chart-1790607282055-ehf5hye65.mobile-view .fv-stl-shop-all-logo,#fv-chart-1790607282055-ehf5hye65.mobile-view .fv-stl-shop-all-icon,#fv-chart-1790607282055-ehf5hye65.labels-on-top .fv-stl-shop-all-logo,#fv-chart-1790607282055-ehf5hye65.labels-on-top .fv-stl-shop-all-icon {width: 2rem !important; height: 2rem !important;}#fv-chart-1790607282055-ehf5hye65.mobile-view .fv-stl-shop-all-icon svg,#fv-chart-1790607282055-ehf5hye65.labels-on-top .fv-stl-shop-all-icon svg {width: 14px !important; height: 14px !important;}#fv-chart-1790607282055-ehf5hye65.mobile-view .fv-bar-commentary-inline,#fv-chart-1790607282055-ehf5hye65.labels-on-top .fv-bar-commentary-inline {display: block !important; margin-left: 0 !important; width: 100% !important;}#fv-chart-1790607282055-ehf5hye65.mobile-view .fv-y-axis-title { padding-left: 5% !important;  }#fv-chart-1790607282055-ehf5hye65.mobile-view.fv-contains-line-chart .fv-footer-content {margin-left: -1rem !important;margin-right: -1rem !important;}@media (max-width: 599px) {#fv-chart-1790607282055-ehf5hye65 .fv-pie-container {flex-direction: column !important; gap: 1rem !important;}#fv-chart-1790607282055-ehf5hye65 .fv-grouped-product-title-wrapper {padding-left: 0 !important;}#fv-chart-1790607282055-ehf5hye65 .fv-bar-row,#fv-chart-1790607282055-ehf5hye65 .fv-stacked-product,#fv-chart-1790607282055-ehf5hye65 .fv-grouped-bar-product {flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important;}#fv-chart-1790607282055-ehf5hye65 .fv-bar-label:not(.fv-grouped-product-title) {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1790607282055-ehf5hye65 .fv-bar-label,#fv-chart-1790607282055-ehf5hye65 .fv-grouped-product-title {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1790607282055-ehf5hye65 .fv-bar-container,#fv-chart-1790607282055-ehf5hye65 .fv-bar-cluster {width: 100% !important;}#fv-chart-1790607282055-ehf5hye65 .fv-bar-row .fv-bar-commentary-inline,#fv-chart-1790607282055-ehf5hye65 .fv-bar-row:hover .fv-bar-commentary-inline,#fv-chart-1790607282055-ehf5hye65 .fv-bar-row .fv-bar-commentary-inline:focus,#fv-chart-1790607282055-ehf5hye65 .fv-bar-row .fv-bar-commentary-inline:focus-within {position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important;}#fv-chart-1790607282055-ehf5hye65 .fv-x-axis-wrapper {margin-left: 0 !important;}#fv-chart-1790607282055-ehf5hye65 .fv-x-axis-label-space {display: none !important;}#fv-chart-1790607282055-ehf5hye65 .fv-x-axis-chart-space {padding-right: 0 !important;}#fv-chart-1790607282055-ehf5hye65 .fv-benchmark-title {font-size: 16px !important;}#fv-chart-1790607282055-ehf5hye65 .fv-dropdown-title {font-size: 16px !important;}#fv-chart-1790607282055-ehf5hye65 .fv-carousel-nav-btn {padding: 8px 12px !important; font-size: 14px !important;}#fv-chart-1790607282055-ehf5hye65 .fv-chart-title {padding: 0 8px !important;}#fv-chart-1790607282055-ehf5hye65 .fv-chart-subhead {padding: 0 8px !important;}#fv-chart-1790607282055-ehf5hye65 .fv-versus-header {flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important;}#fv-chart-1790607282055-ehf5hye65 .fv-versus-select-wrapper {flex: 1 !important; min-width: 0 !important; width: 100% !important;}#fv-chart-1790607282055-ehf5hye65 .fv-versus-select-wrapper.fv-left {text-align: center !important; padding-right: 0 !important;}#fv-chart-1790607282055-ehf5hye65 .fv-versus-select-wrapper.fv-right {text-align: center !important; padding-left: 0 !important;}#fv-chart-1790607282055-ehf5hye65 .fv-versus-select.fv-select-left {text-align: center !important;}#fv-chart-1790607282055-ehf5hye65 .fv-versus-select.fv-select-right {text-align: center !important;}#fv-chart-1790607282055-ehf5hye65 .fv-versus-vs {text-align: center !important; padding: 0.25rem 0 !important;}#fv-chart-1790607282055-ehf5hye65 .fv-versus-select-container {max-width: 100% !important; width: 100% !important;}#fv-chart-1790607282055-ehf5hye65 .fv-versus-select {font-size: 14px !important; width: 100% !important;}#fv-chart-1790607282055-ehf5hye65 .fv-stl-shop-all-btn {bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important;}#fv-chart-1790607282055-ehf5hye65 .fv-stl-shop-all-logo,#fv-chart-1790607282055-ehf5hye65 .fv-stl-shop-all-icon {width: 2rem !important; height: 2rem !important;}#fv-chart-1790607282055-ehf5hye65 .fv-stl-shop-all-icon svg {width: 14px !important; height: 14px !important;}#fv-chart-1790607282055-ehf5hye65 .fv-bar-commentary-inline {display: block !important; margin-left: 0 !important; width: 100% !important;}#fv-chart-1790607282055-ehf5hye65 .fv-y-axis-title { padding-left: 5% !important;  }#fv-chart-1790607282055-ehf5hye65.fv-contains-line-chart .fv-footer-content {margin-left: -1rem !important;margin-right: -1rem !important;}}</style><script type="application/ld+json">{"@context": "https://schema.org","@type": "Dataset","name": "Mopping test","description": "Floor before and after mopping test with Roborock vacuum cleaner","creator": {"@type": "Organization","name": "TechRadar","logo": "https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png"},"isAccessibleForFree": true,"dateCreated": "2026-09-28T14:54:42.055Z","citation": "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized","keywords": ["Image Comparison","benchmark","comparison","performance","review","TechRadar"],"measurementTechnique": "Performance Benchmarking","variableMeasured": []}</script><div id="fv-chart-1790607282055-ehf5hye65" class="fv-chart-wrapper   " data-bar-labels-on-top="false" data-iframe-height="true" data-vizualizer-embed="true"><div class="fv-inner-wrapper fv-no-header fv-is-image-compare  "><div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1790607282055-ehf5hye65-image-compare-1" data-chart-type="Image Comparison" data-title="Image Comparison" data-subhead="Floor before and after mopping test with Roborock vacuum cleaner" data-caption="" style=""><div class="fv-benchmark-group"><div class="fv-image-compare-container"><div class="fv-image-compare-wrapper" data-image-compare="true"><div class="fv-image-compare-inner"><img src="https://cdn.mos.cms.futurecdn.net/FzksNo9yr46XWRx2psThXB.jpg" data-highres-src="https://cdn.mos.cms.futurecdn.net/FzksNo9yr46XWRx2psThXB.jpg" alt="After" class="fv-image-compare-bg" loading="lazy" referrerpolicy="no-referrer" draggable="false" /><img src="https://cdn.mos.cms.futurecdn.net/f2u425W6m73JfDkkxky8qA.jpg" data-highres-src="https://cdn.mos.cms.futurecdn.net/f2u425W6m73JfDkkxky8qA.jpg" alt="Before" class="fv-image-compare-fg" loading="lazy" referrerpolicy="no-referrer" draggable="false" /><div class="fv-image-compare-slider"><div class="fv-image-compare-slider-line"></div><div class="fv-image-compare-handle "><img src="https://proof.vanilla.tools/media/images/brandLogos/techradar.png" alt="Brand Logo" style="width: 100%; height: 100%; object-fit: cover;" /></div></div></div><div class="fv-image-compare-label fv-image-compare-label-left">Before</div><div class="fv-image-compare-label fv-image-compare-label-right">After</div><button class="fv-image-compare-expand-btn" aria-label="Expand Image"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 8V4h4"/><path d="M20 8V4h-4"/><path d="M4 16v4h4"/><path d="M20 16v4h-4"/><circle cx="11.5" cy="11.5" r="3.5"/><path d="m14 14 3 3"/></svg></button><button class="fv-image-compare-close-btn" aria-label="Close Fullscreen"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg></button></div></div></div></div></div><div class="fv-bottom-bar"><div class="fv-footer-content" style="display: none;"><div class="rv-chart-caption" style="display: block;"><span class="fv-original-caption" style="display: block;"></span><span class="fv-ia-dynamic-caption" style="display: none;"></span></div></div><div class="fv-logo-explore-bar"><img class="fv-logo" src="https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png" alt="TechRadar Logo"></div></div></div></div><script>window.iFrameResizer = {heightCalculationMethod: 'taggedElement'};</script><script src="https://cdnjs.cloudflare.com/ajax/libs/iframe-resizer/4.2.11/iframeResizer.contentWindow.min.js" async></script><script>(function() {window.fvAnimateCharts = function(chartWrapper) {if (!chartWrapper) return;function animateBars(chartElement) {if (!chartElement) return;var bars = chartElement.querySelectorAll('.fv-bar, .fv-stacked-segment');bars.forEach(function(bar, index) {bar.style.setProperty('width', '0%', 'important');bar.style.setProperty('transition', 'none', 'important');var targetWidth = bar.dataset.targetWidth;if (targetWidth === undefined) return;void bar.offsetWidth;var targetMargin = bar.dataset.targetMargin;var baseMargin = bar.dataset.baseMargin;if (baseMargin !== undefined) {bar.style.setProperty('margin-left', baseMargin + '%', 'important');}setTimeout(function() {var marginTransition = baseMargin !== undefined ? ', margin-left 0.8s ease-out' : '';bar.style.setProperty('transition', 'opacity 0.2s ease, width 0.8s ease-out' + marginTransition, 'important');bar.style.setProperty('width', targetWidth + '%', 'important');if (targetMargin !== undefined && baseMargin !== undefined) {bar.style.setProperty('margin-left', targetMargin + '%', 'important');}}, index * 50 + 50);});}function animateLineChart(chartElement) {if (!chartElement) return;var lineSvg = chartElement.querySelector('svg');if (!lineSvg) return;var paths = lineSvg.querySelectorAll('.riv-line-path');paths.forEach(function(p, i) {if (typeof p.getTotalLength === 'function') {var len = p.getTotalLength();p.style.transition = 'none';p.style.strokeDasharray = len;p.style.strokeDashoffset = len;p.getBoundingClientRect();setTimeout(function() {p.style.transition = 'stroke-dashoffset 1s ease-out ' + (i * 0.1) + 's, stroke-width 0.2s, opacity 0.2s';p.style.strokeDashoffset = '0';}, 100);}});var dots = lineSvg.querySelectorAll('.riv-dot');dots.forEach(function(dot, i) {dot.style.opacity = '0';setTimeout(function() {dot.style.transition = 'opacity 0.3s ease';dot.style.opacity = '1';}, 500 + i * 10);});}var charts = chartWrapper.querySelectorAll('.fv-chart-item');charts.forEach(function(chart) {if (window.getComputedStyle(chart).display === 'none') return;var chartType = chart.dataset.chartType;if (chartType === 'Line') {animateLineChart(chart);} else if (chartType !== 'Pie') {animateBars(chart);}});};function initialize(uniqueId, isSlideshow) {var root = document.getElementById(uniqueId);if (!root && !isSlideshow) return;function setupWrapper(chartWrapper) {if (!chartWrapper) return;function checkMobileView() {var width = chartWrapper.getBoundingClientRect().width;var isMobileDevice = window.screen && Math.min(window.screen.width, window.screen.height) <= 599;var isMobile;if (width === 0) {isMobile = isMobileDevice || window.matchMedia('(max-width: 599px)').matches;} else {isMobile = isMobileDevice || width < 600;}if (isMobile) {chartWrapper.classList.add('mobile-view');} else {chartWrapper.classList.remove('mobile-view');}}checkMobileView();if (typeof ResizeObserver !== 'undefined') {var ro = new ResizeObserver(function() {checkMobileView();});ro.observe(chartWrapper);}window.addEventListener('resize', checkMobileView);var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';if (labelsOnTop) {var charts = chartWrapper.querySelectorAll('.fv-chart-item');var hasVisibleBarChart = false;charts.forEach(function(c) {if (window.getComputedStyle(c).display !== 'none') {var cType = c.dataset.chartType;if (cType === 'Bar' || cType === 'Stacked Bar' || cType === 'Versus') {hasVisibleBarChart = true;}}});if (hasVisibleBarChart) {chartWrapper.classList.add('labels-on-top');} else {chartWrapper.classList.remove('labels-on-top');}} else {chartWrapper.classList.remove('labels-on-top');}chartWrapper.querySelectorAll('.riv-line-legend').forEach(function(legend) {var chartId = legend.dataset.chart;var chart = chartWrapper.querySelector('[id="' + chartId + '"]');if (!chart) return;var lines = chart.querySelectorAll('.riv-line-path');var dots = chart.querySelectorAll('.riv-dot');var legendItems = legend.querySelectorAll('.riv-legend-item');legendItems.forEach(function(item) {var productName = item.dataset.product;var safeProductName = productName.replace(/"/g, '\"');var line = chart.querySelector('.riv-line-path[data-product="' + safeProductName + '"]');var productDots = chart.querySelectorAll('.riv-dot[data-product="' + safeProductName + '"]');if (line && !line.dataset.origStroke) {line.dataset.origStroke = line.getAttribute('stroke-width') || '2';}var highlight = function() {if (legend.querySelector('.isolated')) return;lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '0.2'; });legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });if (line) {line.style.opacity = '1';line.setAttribute('stroke-width', '4');}productDots.forEach(function(d) { d.style.opacity = '1'; });item.style.opacity = '1';};var clearHighlight = function() {if (legend.querySelector('.isolated')) return;lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '1'; });legendItems.forEach(function(i) { i.style.opacity = '1'; });};var toggleIsolate = function() {var isIsolated = item.classList.contains('isolated');legendItems.forEach(function(i) { i.classList.remove('isolated'); });if (isIsolated) {lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '1'; });legendItems.forEach(function(i) { i.style.opacity = '1'; });} else {item.classList.add('isolated');lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '0.2'; });legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });if (line) {line.style.opacity = '1';line.setAttribute('stroke-width', '4');}productDots.forEach(function(d) { d.style.opacity = '1'; });item.style.opacity = '1';}};item.addEventListener('mouseenter', highlight);item.addEventListener('focus', highlight);item.addEventListener('mouseleave', clearHighlight);item.addEventListener('blur', clearHighlight);item.addEventListener('click', toggleIsolate);if (line) {line.style.cursor = 'pointer';line.addEventListener('mouseenter', highlight);line.addEventListener('mouseleave', clearHighlight);line.addEventListener('click', toggleIsolate);}});});var versusCharts = chartWrapper.querySelectorAll('.fv-versus-chart');versusCharts.forEach(function(vc) {var dataJson = vc.getAttribute('data-versus-data');var leftColor = vc.getAttribute('data-left-color') || '#E53935';var rightColor = vc.getAttribute('data-right-color') || '#FFB300';if (!dataJson) return;var versusData = JSON.parse(dataJson);var leftSelect = vc.querySelector('.fv-select-left');var rightSelect = vc.querySelector('.fv-select-right');var rows = vc.querySelectorAll('.fv-versus-row');function updateVersusChart() {var leftProduct = leftSelect.value;var rightProduct = rightSelect.value;leftSelect.style.color = leftColor;leftSelect.style.borderColor = leftColor;rightSelect.style.color = rightColor;rightSelect.style.borderColor = rightColor;rows.forEach(function(row) {var index = parseInt(row.getAttribute('data-index'));var data = versusData[index];if (!data) return;var leftVal = data.productData[leftProduct] ? data.productData[leftProduct].value : undefined;var rightVal = data.productData[rightProduct] ? data.productData[rightProduct].value : undefined;var leftIsNum = typeof leftVal === 'number';var rightIsNum = typeof rightVal === 'number';var leftNum = leftIsNum ? leftVal : 0;var rightNum = rightIsNum ? rightVal : 0;var maxVal = Math.max(leftNum, rightNum, 0.0001);var leftWidth = leftIsNum ? (leftNum / maxVal) * 95 : 0;var rightWidth = rightIsNum ? (rightNum / maxVal) * 85 : 0;var winner = null;var pctDiffStr = null;if (leftIsNum && rightIsNum) {if (leftNum > rightNum) {winner = 'left';if (rightNum > 0) {var diff = Math.round(((leftNum - rightNum) / rightNum) * 100);pctDiffStr = '+' + diff.toLocaleString() + '%';}} else if (rightNum > leftNum) {winner = 'right';if (leftNum > 0) {var diff = Math.round(((rightNum - leftNum) / leftNum) * 100);pctDiffStr = '+' + diff.toLocaleString() + '%';}}}var leftDisplay = data.productData[leftProduct] && data.productData[leftProduct].displayValue !== undefined ? data.productData[leftProduct].displayValue : (leftIsNum ? leftNum.toLocaleString() : (leftVal !== undefined ? leftVal : '-'));var rightDisplay = data.productData[rightProduct] && data.productData[rightProduct].displayValue !== undefined ? data.productData[rightProduct].displayValue : (rightIsNum ? rightNum.toLocaleString() : (rightVal !== undefined ? rightVal : '-'));var unit = (data.productData[leftProduct] && data.productData[leftProduct].unit) ||(data.productData[rightProduct] && data.productData[rightProduct].unit) || '';var leftTextStr = leftDisplay;var rightTextStr = rightDisplay;var leftBar = row.querySelector('.fv-versus-bar-left');var rightBar = row.querySelector('.fv-versus-bar-right');var leftText = row.querySelector('.fv-inside-left');var rightText = row.querySelector('.fv-inside-right');var labelText = row.querySelector('.fv-versus-label span');var leftWrapper = row.querySelector('.fv-versus-bar-left-wrapper');var rightWrapper = row.querySelector('.fv-versus-bar-right-wrapper');var existingPctDiffs = row.querySelectorAll('.fv-versus-pct-diff');existingPctDiffs.forEach(function(el) { el.remove(); });if (winner === 'left' && pctDiffStr) {var pctSpan = document.createElement('span');pctSpan.className = 'fv-versus-pct-diff';pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';pctSpan.textContent = pctDiffStr;if (leftBar) leftBar.insertBefore(pctSpan, leftBar.firstChild);} else if (winner === 'right' && pctDiffStr) {var pctSpan = document.createElement('span');pctSpan.className = 'fv-versus-pct-diff';pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';pctSpan.textContent = pctDiffStr;if (rightBar) rightBar.appendChild(pctSpan);}if (leftBar) {leftBar.style.backgroundColor = leftColor;leftBar.dataset.targetWidth = leftWidth;leftBar.style.setProperty('--target-width', leftWidth + '%');leftBar.style.width = leftWidth + '%';}if (rightBar) {rightBar.style.backgroundColor = rightColor;rightBar.dataset.targetWidth = rightWidth;rightBar.style.setProperty('--target-width', rightWidth + '%');rightBar.style.width = rightWidth + '%';}if (leftText) {leftText.innerHTML = leftTextStr;}if (rightText) {rightText.innerHTML = rightTextStr;}if (labelText) {labelText.textContent = data.attribute + (unit ? ' (' + unit + ')' : '');}});}if (leftSelect) leftSelect.addEventListener('change', updateVersusChart);if (rightSelect) rightSelect.addEventListener('change', updateVersusChart);});var barRows = chartWrapper.querySelectorAll('.fv-bar-row');var globalCaptionEl = chartWrapper.querySelector('.rv-chart-caption');var fallbackCaptionHtml = globalCaptionEl ? globalCaptionEl.innerHTML : '';barRows.forEach(function(row) {var commentaryEl = row.querySelector('[data-commentary-key]');if (commentaryEl) {var commentaryText = commentaryEl.textContent;if (commentaryText && commentaryText.trim().length > 0) {row.addEventListener('mouseenter', function() {if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {globalCaptionEl.innerHTML = commentaryText;globalCaptionEl.classList.add('fv-bar-active-caption');}});row.addEventListener('mouseleave', function() {if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {globalCaptionEl.innerHTML = fallbackCaptionHtml;globalCaptionEl.classList.remove('fv-bar-active-caption');}});}}});var charts = chartWrapper.querySelectorAll('.fv-chart-item');var dropdown = chartWrapper.querySelector('.fv-dropdown-title');var prevBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.prev');var nextBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.next');var carouselTitle = chartWrapper.querySelector('.fv-carousel-title-controls .fv-benchmark-title');var counter = chartWrapper.querySelector('.fv-carousel-counter');var subheadEl = chartWrapper.querySelector('.fv-chart-subhead');var captionEl = chartWrapper.querySelector('.rv-chart-caption');var footerContentEl = chartWrapper.querySelector('.fv-footer-content');var bottomBarEl = chartWrapper.querySelector('.fv-bottom-bar');var logoEl = chartWrapper.querySelector('.fv-logo');if (charts.length > 1 && (dropdown || prevBtn)) {var currentChartIndex = 0;var titles = [];if (dropdown) {titles = Array.from(dropdown.options).map(function(o) { return o.text; });} else {charts.forEach(function(c) {titles.push(c.getAttribute('data-title') || '');});}function showInternalChart(index) {if (index < 0) index = charts.length - 1;if (index >= charts.length) index = 0;currentChartIndex = index;charts.forEach(function(c, i) {c.style.display = i === index ? 'block' : 'none';if (i === index) {var cType = c.dataset.chartType;if (cType === 'Line') {} else if (cType !== 'Pie') {window.fvAnimateCharts(chartWrapper);}var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';if (labelsOnTop && (cType === 'Bar' || cType === 'Stacked Bar' || cType === 'Versus')) {chartWrapper.classList.add('labels-on-top');} else {chartWrapper.classList.remove('labels-on-top');}}});if (dropdown) dropdown.value = index;if (carouselTitle && titles[index]) carouselTitle.textContent = titles[index];if (counter) counter.textContent = (index + 1) + ' of ' + charts.length;var activeChart = charts[index];if (activeChart) {var newSubhead = activeChart.getAttribute('data-subhead');var newCaption = activeChart.getAttribute('data-caption');var currentChartType = activeChart.getAttribute('data-chart-type');var hideGlobalCaption = currentChartType === 'Countdown' || currentChartType === 'Image Comparison' || currentChartType === 'Shop the Collection';if (subheadEl) subheadEl.textContent = newSubhead || '';if (captionEl) {captionEl.textContent = newCaption || '';fallbackCaptionHtml = newCaption || '';}if (footerContentEl) {if (newCaption && newCaption.trim().length > 0 && !hideGlobalCaption) {footerContentEl.style.display = 'block';if (bottomBarEl) bottomBarEl.style.display = 'flex';} else {footerContentEl.style.display = 'none';if (bottomBarEl && !logoEl) {bottomBarEl.style.display = 'none';}}}}}if (dropdown) dropdown.addEventListener('change', function(e) { showInternalChart(parseInt(e.target.value)); });if (prevBtn) prevBtn.addEventListener('click', function() { showInternalChart(currentChartIndex - 1); });if (nextBtn) nextBtn.addEventListener('click', function() { showInternalChart(currentChartIndex + 1); });}var imageCompareWrappers = chartWrapper.querySelectorAll('.fv-image-compare-wrapper');imageCompareWrappers.forEach(function(wrapper) {var inner = wrapper.querySelector('.fv-image-compare-inner') || wrapper;var slider = wrapper.querySelector('.fv-image-compare-slider');var fgImage = wrapper.querySelector('.fv-image-compare-fg');var bgImage = wrapper.querySelector('.fv-image-compare-bg');var labelLeft = wrapper.querySelector('.fv-image-compare-label-left');var labelRight = wrapper.querySelector('.fv-image-compare-label-right');var isDragging = false;var scale = 1;var panX = 0;var panY = 0;var isPanning = false;var hasPanned = false;var lastClientX = 0;var lastClientY = 0;var initialDistance = null;var lastCenterX = null;var lastCenterY = null;function updateTransform() {if (wrapper.classList.contains('fv-image-compare-fullscreen')) {inner.style.setProperty('transform', 'translate(' + panX + 'px, ' + panY + 'px) scale(' + scale + ')', 'important');} else {inner.style.removeProperty('transform');scale = 1;panX = 0;panY = 0;}}function constrainPan() {var rect = wrapper.getBoundingClientRect();var maxPanX = Math.max(0, (rect.width * scale - rect.width) / 2);var maxPanY = Math.max(0, (rect.height * scale - rect.height) / 2);panX = Math.max(-maxPanX, Math.min(panX, maxPanX));panY = Math.max(-maxPanY, Math.min(panY, maxPanY));}wrapper.addEventListener('wheel', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;e.preventDefault();var zoomSensitivity = 0.005;var zoomFactor = Math.exp(-e.deltaY * zoomSensitivity);var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));if (newScale === scale) return;var rect = wrapper.getBoundingClientRect();var mouseX = e.clientX - rect.left - rect.width / 2;var mouseY = e.clientY - rect.top - rect.height / 2;var ratio = newScale / scale;panX = mouseX - (mouseX - panX) * ratio;panY = mouseY - (mouseY - panY) * ratio;scale = newScale;constrainPan();updateTransform();}, { passive: false });wrapper.addEventListener('mousedown', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen') || scale <= 1) return;if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;isPanning = true;hasPanned = false;lastClientX = e.clientX;lastClientY = e.clientY;});window.addEventListener('mousemove', function(e) {if (!isPanning) return;var dx = e.clientX - lastClientX;var dy = e.clientY - lastClientY;if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {hasPanned = true;}lastClientX = e.clientX;lastClientY = e.clientY;panX += dx;panY += dy;constrainPan();updateTransform();});window.addEventListener('mouseup', function() {isPanning = false;});wrapper.addEventListener('touchstart', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;if (e.touches.length === 2) {e.preventDefault();var dx = e.touches[0].clientX - e.touches[1].clientX;var dy = e.touches[0].clientY - e.touches[1].clientY;initialDistance = Math.sqrt(dx * dx + dy * dy);var rect = wrapper.getBoundingClientRect();lastCenterX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;lastCenterY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;hasPanned = true;} else if (e.touches.length === 1 && scale > 1) {if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;isPanning = true;hasPanned = false;lastClientX = e.touches[0].clientX;lastClientY = e.touches[0].clientY;}}, { passive: false });wrapper.addEventListener('touchmove', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;if (e.touches.length === 2 && initialDistance !== null) {e.preventDefault();var dx = e.touches[0].clientX - e.touches[1].clientX;var dy = e.touches[0].clientY - e.touches[1].clientY;var distance = Math.sqrt(dx * dx + dy * dy);if (initialDistance > 0) {var zoomFactor = distance / initialDistance;var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));var rect = wrapper.getBoundingClientRect();var centerX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;var centerY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;var ratio = newScale / scale;panX = centerX - (centerX - panX) * ratio;panY = centerY - (centerY - panY) * ratio;if (lastCenterX !== null && lastCenterY !== null) {panX += (centerX - lastCenterX);panY += (centerY - lastCenterY);}scale = newScale;lastCenterX = centerX;lastCenterY = centerY;constrainPan();updateTransform();}initialDistance = distance;} else if (e.touches.length === 1 && isPanning) {e.preventDefault();var dx = e.touches[0].clientX - lastClientX;var dy = e.touches[0].clientY - lastClientY;if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {hasPanned = true;}lastClientX = e.touches[0].clientX;lastClientY = e.touches[0].clientY;panX += dx;panY += dy;constrainPan();updateTransform();}}, { passive: false });wrapper.addEventListener('touchend', function(e) {if (e.touches.length < 2) {initialDistance = null;}if (e.touches.length === 0) {isPanning = false;}});function handleMove(clientX) {var rect = inner.getBoundingClientRect();var x = Math.max(0, Math.min(clientX - rect.left, rect.width));var percent = Math.max(0, Math.min((x / rect.width) * 100, 100));if (slider) slider.style.setProperty('left', percent + '%', 'important');if (fgImage) fgImage.style.setProperty('clip-path', 'polygon(0 0, ' + percent + '% 0, ' + percent + '% 100%, 0 100%)', 'important');if (labelLeft) {if (percent < 10) {labelLeft.style.setProperty('opacity', '0', 'important');} else {labelLeft.style.setProperty('opacity', '1', 'important');}}if (labelRight) {if (percent > 90) {labelRight.style.setProperty('opacity', '0', 'important');} else {labelRight.style.setProperty('opacity', '1', 'important');}}}function onMouseMove(e) {if (!isDragging) return;handleMove(e.clientX);}function onTouchMove(e) {if (!isDragging) return;e.preventDefault();handleMove(e.touches[0].clientX);}function stopDragging() {isDragging = false;window.removeEventListener('mousemove', onMouseMove);window.removeEventListener('mouseup', stopDragging);window.removeEventListener('touchmove', onTouchMove);window.removeEventListener('touchend', stopDragging);}if (slider) {var startDrag = function(clientX) {isDragging = true;handleMove(clientX);window.addEventListener('mousemove', onMouseMove);window.addEventListener('mouseup', stopDragging);};var startTouchDrag = function(clientX) {isDragging = true;handleMove(clientX);window.addEventListener('touchmove', onTouchMove, { passive: false });window.addEventListener('touchend', stopDragging);};slider.addEventListener('mousedown', function(e) {e.preventDefault();startDrag(e.clientX);});slider.addEventListener('touchstart', function(e) {e.preventDefault();startTouchDrag(e.touches[0].clientX);}, { passive: false });}var expandBtn = wrapper.querySelector('.fv-image-compare-expand-btn');var closeBtn = wrapper.querySelector('.fv-image-compare-close-btn');if (expandBtn) {if (window !== window.parent) {expandBtn.style.display = 'none';} else {expandBtn.addEventListener('click', function(e) {e.stopPropagation();wrapper.classList.add('fv-image-compare-fullscreen');document.body.style.overflow = 'hidden';if (fgImage && fgImage.dataset.highresSrc) {fgImage.src = fgImage.dataset.highresSrc;fgImage.removeAttribute('srcset');fgImage.removeAttribute('sizes');}if (bgImage && bgImage.dataset.highresSrc) {bgImage.src = bgImage.dataset.highresSrc;bgImage.removeAttribute('srcset');bgImage.removeAttribute('sizes');}});}}if (closeBtn) {closeBtn.addEventListener('click', function(e) {e.stopPropagation();wrapper.classList.remove('fv-image-compare-fullscreen');document.body.style.overflow = '';updateTransform();});}document.addEventListener('keydown', function(e) {if (e.key === 'Escape' && wrapper.classList.contains('fv-image-compare-fullscreen')) {wrapper.classList.remove('fv-image-compare-fullscreen');document.body.style.overflow = '';updateTransform();}});});var hotspots = chartWrapper.querySelectorAll('.fv-stl-hotspot-btn');var allProductsModal = chartWrapper.querySelector('.fv-stl-all-products-modal');var shopAllBtn = chartWrapper.querySelector('.fv-stl-shop-all-btn');var allProductsList = chartWrapper.querySelector('.fv-stl-all-products-list');var stlContainer = chartWrapper.querySelector('.fv-stl-container');function closeAllModals() {if (allProductsModal) {allProductsModal.classList.remove('is-active');var items = allProductsModal.querySelectorAll('.fv-stl-all-products-item');items.forEach(function(item) {item.classList.remove('is-highlighted');});if (stlContainer) {setTimeout(function() {if (!allProductsModal.classList.contains('is-active')) {stlContainer.style.minHeight = '';if ('parentIFrame' in window) {window.parentIFrame.size();}}}, 300);}}hotspots.forEach(function(btn) { btn.setAttribute('aria-expanded', 'false'); });if ('parentIFrame' in window) {window.parentIFrame.size();}}hotspots.forEach(function(btn) {btn.addEventListener('click', function(e) {e.stopPropagation();var hotspotId = btn.getAttribute('data-hotspot-id');var isExpanded = btn.getAttribute('aria-expanded') === 'true';closeAllModals();if (!isExpanded && allProductsModal) {btn.setAttribute('aria-expanded', 'true');allProductsModal.classList.add('is-active');var container = btn.closest('.fv-stl-container');if (container && container.offsetHeight < 450) {container.style.minHeight = '450px';}var targetItem = allProductsModal.querySelector('.fv-stl-all-products-item[data-product-id="' + hotspotId + '"]');if (targetItem) {targetItem.classList.add('is-highlighted');setTimeout(function() {targetItem.scrollIntoView({ behavior: 'smooth', block: 'center' });}, 100);}if ('parentIFrame' in window) {window.parentIFrame.size();}}});});if (shopAllBtn && allProductsModal) {shopAllBtn.addEventListener('click', function(e) {e.stopPropagation();closeAllModals();allProductsModal.classList.add('is-active');var container = shopAllBtn.closest('.fv-stl-container');if (container && container.offsetHeight < 450) {container.style.minHeight = '450px';}if ('parentIFrame' in window) {window.parentIFrame.size();}});}if (allProductsModal) {var closeAllBtn = allProductsModal.querySelector('.fv-stl-all-products-close');if (closeAllBtn) {closeAllBtn.addEventListener('click', function(e) {e.stopPropagation();closeAllModals();});}}chartWrapper.addEventListener('click', function(e) {if (!e.target.closest('.fv-stl-all-products-content')) {closeAllModals();}});if (allProductsModal) {allProductsModal.addEventListener('click', function(e) {if (!e.target.closest('.fv-stl-all-products-content')) {closeAllModals();}});}var iaNodes = chartWrapper.querySelectorAll('.fv-ia-node-button');var iaWrapper = chartWrapper.querySelector('.fv-ia-wrapper');var originalCaption = chartWrapper.querySelector('.fv-original-caption') || captionEl;var dynamicCaption = chartWrapper.querySelector('.fv-ia-dynamic-caption');var exploreBtn = chartWrapper.querySelector('.fv-ia-explore-btn');var currentIaIndex = -1;function closeAllIANodes() {iaNodes.forEach(function(btn) { btn.classList.remove('is-active'); });if (originalCaption) originalCaption.style.display = 'block';if (dynamicCaption) dynamicCaption.style.display = 'none';}function resetExploreBtn() {currentIaIndex = -1;if (exploreBtn) {var exploreSpan = exploreBtn.querySelector('span');if (exploreSpan) exploreSpan.textContent = 'Explore';}}iaNodes.forEach(function(btn, index) {btn.addEventListener('click', function(e) {e.stopPropagation();var isActive = btn.classList.contains('is-active');closeAllIANodes();if (!isActive) {currentIaIndex = index;if (exploreBtn) {var exploreSpan = exploreBtn.querySelector('span');if (exploreSpan) exploreSpan.textContent = 'Next';}btn.classList.add('is-active');if (dynamicCaption) {var title = btn.getAttribute('data-title') || '';var desc = btn.getAttribute('data-desc') || '';dynamicCaption.innerHTML = '';var strongTag = document.createElement('strong');strongTag.textContent = title;dynamicCaption.appendChild(strongTag);if (desc) {dynamicCaption.appendChild(document.createTextNode(' - ' + desc));}if (originalCaption) originalCaption.style.display = 'none';dynamicCaption.style.display = 'block';if (footerContentEl) footerContentEl.style.display = 'block';}} else {resetExploreBtn();}});});if (exploreBtn) {exploreBtn.addEventListener('click', function(e) {e.stopPropagation();if (iaNodes.length === 0) return;var nextIndex = currentIaIndex + 1;if (nextIndex >= iaNodes.length) {closeAllIANodes();resetExploreBtn();} else {currentIaIndex = nextIndex;var targetBtn = iaNodes[currentIaIndex];if (targetBtn) {if(targetBtn.classList.contains('is-active')) {targetBtn.click();}targetBtn.click();}}});}if (iaWrapper) {iaWrapper.addEventListener('click', function(e) {if (!e.target.closest('.fv-ia-node-button') && !e.target.closest('.fv-ia-explore-btn')) {closeAllIANodes();resetExploreBtn();}});}window.fvAnimateCharts(chartWrapper);var countdownContainer = chartWrapper.querySelector('.fv-countdown-container');if (countdownContainer) {var targetDateAttr = countdownContainer.getAttribute('data-target-date');if (targetDateAttr) {var targetDate = new Date(targetDateAttr);var primaryColor = countdownContainer.getAttribute('data-primary-color') || '#f97316';var subheadColor = countdownContainer.getAttribute('data-subhead-color') || '#ffffff';var pad = function(n) { return (n < 10 ? '0' : '') + n; };var updateCountdown = function() {var difference = +targetDate - +new Date();var d = 0, h = 0, m = 0, s = 0;if (difference > 0) {d = Math.floor(difference / (1000 * 60 * 60 * 24));h = Math.floor((difference / (1000 * 60 * 60)) % 24);m = Math.floor((difference / 1000 / 60) % 60);s = Math.floor((difference / 1000) % 60);}var daysEl = countdownContainer.querySelector('[data-time="days"]');var hoursEl = countdownContainer.querySelector('[data-time="hours"]');var minsEl = countdownContainer.querySelector('[data-time="minutes"]');var secsEl = countdownContainer.querySelector('[data-time="seconds"]');if (daysEl) daysEl.textContent = d;if (hoursEl) hoursEl.textContent = pad(h);if (minsEl) minsEl.textContent = pad(m);if (secsEl) secsEl.textContent = pad(s);};updateCountdown();setInterval(updateCountdown, 1000);}}}if (false) {var slideshowContainer = document.getElementById(uniqueId + '-slideshow');if (slideshowContainer) {var slides = slideshowContainer.querySelectorAll('.fv-slide');slides.forEach(function(slide) {setupWrapper(slide.querySelector('.fv-chart-wrapper'));});}} else {setupWrapper(root);}}if (document.readyState === 'loading') {document.addEventListener('DOMContentLoaded', function() { initialize('fv-chart-1790607282055-ehf5hye65', false); });} else {initialize('fv-chart-1790607282055-ehf5hye65', false);}})();</script></div><p>While the most intensive cleaning took some time and left the floor relatively wet, it was some of the best mopping I have ever seen from a robot. You do need to delve into the settings to get the best performance and it probably is only practical for small zone cleaning but it's still a lot less effort than getting out a mop and bucket.</p><p>On regular cleaning settings it can manage around five regular rooms before needing recharging so depending on your home it may need to recharge before completing a full clean. Recharging takes around four hours.</p><div class="vizualizer-embed"><style>@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap');#fv-chart-1790607426801-muejn7a43 *, #fv-chart-1790607426801-muejn7a43 *:before, #fv-chart-1790607426801-muejn7a43 *:after, #fv-chart-1790607426801-muejn7a43-slideshow *, #fv-chart-1790607426801-muejn7a43-slideshow *:before, #fv-chart-1790607426801-muejn7a43-slideshow *:after {box-sizing: border-box !important; margin: 0; padding: 0; border: 0;font-size: 100%; font: inherit; vertical-align: baseline;}#fv-chart-1790607426801-muejn7a43, #fv-chart-1790607426801-muejn7a43-slideshow { font-family: 'Open Sans', sans-serif !important; }#fv-chart-1790607426801-muejn7a43 {position: relative !important; overflow: visible !important;--riv-primary: #2E6E93;}#fv-chart-1790607426801-muejn7a43 .fv-inner-wrapper {color: #1F2937 !important; background-color: #ffffff !important;padding: 1.5rem 1.5rem 2rem !important; border-radius: 0.5rem !important;box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important;margin: 1rem 0 !important; display: flex !important; flex-direction: column !important;overflow: hidden !important;}#fv-chart-1790607426801-muejn7a43 .fv-inner-wrapper.fv-no-header.fv-is-image-compare {padding-top: 0 !important;}#fv-chart-1790607426801-muejn7a43.fv-full-bleed {width: 100vw !important;margin-left: calc(50% - 50vw) !important;}body {overflow-x: clip !important;}#fv-chart-1790607426801-muejn7a43.fv-full-bleed .fv-inner-wrapper {padding: 0 !important;border-radius: 0 !important;box-shadow: none !important;margin: 0 !important;background-color: transparent !important;}#fv-chart-1790607426801-muejn7a43 .fv-inner-wrapper.fv-is-shop-the-look {padding: 0 !important;border-radius: 0 !important;box-shadow: none !important;margin: 0 !important;background-color: transparent !important;}#fv-chart-1790607426801-muejn7a43-slideshow {position: relative !important;width: 100% !important;margin: 1rem 0 !important;--riv-primary: #2E6E93;}#fv-chart-1790607426801-muejn7a43-slideshow .fv-slides-wrapper {position: relative !important;width: 100% !important;}#fv-chart-1790607426801-muejn7a43-slideshow .fv-slide {width: 100% !important;animation: fv-fade-in 0.3s ease-in-out;}@keyframes fv-fade-in {from { opacity: 0; }to { opacity: 1; }}#fv-chart-1790607426801-muejn7a43-slideshow .fv-slideshow-nav-row {position: relative !important;display: flex !important;justify-content: space-between !important;align-items: center !important;padding: 0 0 16px 0 !important;width: 100% !important;z-index: 20 !important;}#fv-chart-1790607426801-muejn7a43-slideshow .fv-nav-btn {background-color: var(--riv-primary) !important;color: #ffffff !important;border: none !important;border-radius: 4px !important;padding: 8px 16px !important;font-size: 14px !important;font-weight: 700 !important;cursor: pointer !important;display: flex !important;align-items: center !important;justify-content: center !important;gap: 6px !important;transition: opacity 0.2s, background-color 0.2s !important;height: 36px !important;text-transform: none !important;box-shadow: 0 1px 2px rgba(0,0,0,0.1) !important;}#fv-chart-1790607426801-muejn7a43-slideshow .fv-nav-btn svg {width: 18px !important;height: 18px !important;stroke-width: 3px !important;filter: none !important;}#fv-chart-1790607426801-muejn7a43-slideshow .fv-nav-btn:hover {opacity: 0.9 !important;transform: translateY(-1px) !important;}#fv-chart-1790607426801-muejn7a43-slideshow .fv-nav-btn.disabled {background-color: #E5E7EB !important;color: #9CA3AF !important;cursor: default !important;pointer-events: none !important;box-shadow: none !important;}#fv-chart-1790607426801-muejn7a43-slideshow .fv-slide-counter {font-family: 'Poppins', sans-serif !important;font-size: 14px !important;font-weight: 600 !important;color: #374151 !important;text-align: center !important;min-width: 40px !important;background-color: rgba(255,255,255,0.8) !important;padding: 2px 8px !important;border-radius: 10px !important;}#fv-chart-1790607426801-muejn7a43-slideshow .fv-slideshow-select {position: absolute !important;top: 10px !important;right: 10px !important;z-index: 20 !important;appearance: none !important;-webkit-appearance: none !important;-moz-appearance: none !important;background-color: white !important;border: 1px solid #d1d5db !important;color: #1F2937 !important;font-family: 'Open Sans', sans-serif !important;font-size: 14px !important;font-weight: 600 !important;padding: 6px 32px 6px 12px !important;border-radius: 4px !important;cursor: pointer !important;box-shadow: 0 1px 2px rgba(0,0,0,0.05) !important;background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e") !important;background-position: right 0.5rem center !important;background-repeat: no-repeat !important;background-size: 1.5em 1.5em !important;}#fv-chart-1790607426801-muejn7a43-slideshow .fv-slideshow-select:focus {outline: 2px solid #2E6E93 !important;border-color: #2E6E93 !important;}#fv-chart-1790607426801-muejn7a43 .fv-chart-title {font-weight: bold !important;text-align: center !important;margin-bottom: 0.5rem !important;color: var(--riv-primary) !important;font-size: 20px !important;line-height: 1.2 !important;font-family: 'Open Sans', sans-serif !important;text-transform: none !important;white-space: normal !important;overflow-wrap: break-word !important;padding: 0 20px !important;}#fv-chart-1790607426801-muejn7a43 .fv-chart-subhead {font-size: 18px !important;font-weight: 500 !important;text-align: center !important;margin-bottom: 2rem !important;color: #374151 !important;line-height: 1.7 !important;font-family: 'Open Sans', sans-serif !important;display: block !important;text-transform: none !important;padding: 0 20px !important;}#fv-chart-1790607426801-muejn7a43 .rv-chart-caption { font-size: 15px !important; color: #374151 !important; text-align: center !important; font-style: normal !important; font-weight: normal !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; }#fv-chart-1790607426801-muejn7a43 .fv-versus-chart { display: flex; flex-direction: column; width: 100%; margin-top: 1rem; }#fv-chart-1790607426801-muejn7a43 .fv-versus-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding: 0 1rem; }#fv-chart-1790607426801-muejn7a43 .fv-versus-select-wrapper { flex: 1; min-width: 0; }#fv-chart-1790607426801-muejn7a43 .fv-versus-select-wrapper.fv-left { text-align: center; padding-right: 1rem; }#fv-chart-1790607426801-muejn7a43 .fv-versus-select-wrapper.fv-right { text-align: center; padding-left: 1rem; }#fv-chart-1790607426801-muejn7a43 .fv-versus-select-container { position: relative; display: inline-block; max-width: 100%; width: 100%; }#fv-chart-1790607426801-muejn7a43 .fv-versus-chevron { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; width: 16px; height: 16px; flex-shrink: 0; }#fv-chart-1790607426801-muejn7a43 .fv-versus-select-wrapper.fv-left .fv-versus-chevron { right: 0; }#fv-chart-1790607426801-muejn7a43 .fv-versus-select-wrapper.fv-right .fv-versus-chevron { right: 0; }#fv-chart-1790607426801-muejn7a43 .fv-versus-select { background: transparent; border: none; border-bottom: 2px solid; font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; padding: 0.25rem 0; cursor: pointer; outline: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; max-width: 100%; width: 100%; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; }#fv-chart-1790607426801-muejn7a43 .fv-versus-select.fv-select-left { text-align: center; direction: ltr; padding-right: 1.25rem; }#fv-chart-1790607426801-muejn7a43 .fv-versus-select.fv-select-right { text-align: center; padding-right: 1.25rem; }#fv-chart-1790607426801-muejn7a43 .fv-versus-select option { font-family: 'Open Sans', sans-serif; font-weight: 400; font-size: 14px; color: #374151; direction: ltr; text-align: left; }#fv-chart-1790607426801-muejn7a43 .fv-versus-vs { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; color: #374151; letter-spacing: 0.1em; padding: 0 1rem; }#fv-chart-1790607426801-muejn7a43 .fv-versus-body { display: flex; flex-direction: column; gap: 1.5rem; }#fv-chart-1790607426801-muejn7a43 .fv-versus-row { position: relative; height: auto; padding-top: 20px; margin-bottom: 0.25rem; display: block; }#fv-chart-1790607426801-muejn7a43 .fv-versus-bar-container { position: relative; height: 32px; display: flex; align-items: center; }#fv-chart-1790607426801-muejn7a43 .fv-versus-bar-left-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-end; align-items: center; }#fv-chart-1790607426801-muejn7a43 .fv-versus-bar-right-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-start; align-items: center; }#fv-chart-1790607426801-muejn7a43 .fv-versus-bar { height: 32px; width: var(--target-width); transition: width 0.8s ease-out; animation: fv-grow-max-width 0.8s ease-out forwards; display: flex; align-items: center; overflow: hidden; color: #ffffff; }#fv-chart-1790607426801-muejn7a43 .fv-versus-bar-left { border-radius: 4px 0 0 4px; justify-content: flex-end; padding: 0 8px; }#fv-chart-1790607426801-muejn7a43 .fv-versus-bar-right { border-radius: 0 4px 4px 0; justify-content: flex-start; padding: 0 8px; }@keyframes fv-grow-max-width {from { max-width: 0; }to { max-width: 100%; }}#fv-chart-1790607426801-muejn7a43 .fv-versus-center-line { position: absolute; left: 50%; top: 0; bottom: 0; width: 4px; background-color: #ffffff; transform: translateX(-50%); z-index: 1; }#fv-chart-1790607426801-muejn7a43 .fv-inside-left { white-space: nowrap; flex-shrink: 0; }#fv-chart-1790607426801-muejn7a43 .fv-inside-right { white-space: nowrap; flex-shrink: 0; }#fv-chart-1790607426801-muejn7a43 .fv-versus-val-text { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; }#fv-chart-1790607426801-muejn7a43 .fv-versus-pct-diff { font-size: 12px; font-weight: 600; }#fv-chart-1790607426801-muejn7a43 .fv-versus-label { position: absolute; left: 50%; transform: translateX(-50%); top: 0; background-color: transparent; border: none; box-shadow: none; padding: 0; font-family: 'Open Sans', sans-serif; font-weight: 700; font-size: 14px; color: #374151; white-space: nowrap; }#fv-chart-1790607426801-muejn7a43 .sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }#fv-chart-1790607426801-muejn7a43 .fv-image-compare-container { width: auto !important; margin-left: -1.5rem !important; margin-right: -1.5rem !important; margin-bottom: 2rem !important; }#fv-chart-1790607426801-muejn7a43.fv-full-bleed .fv-image-compare-container { width: 100% !important; max-width: none !important; margin: 0 auto !important; }#fv-chart-1790607426801-muejn7a43 .fv-image-compare-wrapper { position: relative !important; width: 100% !important; overflow: hidden !important; border-radius: 0 !important; background-color: #000 !important; touch-action: pan-y !important; user-select: none !important; -webkit-user-select: none !important; }#fv-chart-1790607426801-muejn7a43 .fv-image-compare-inner { position: relative !important; width: 100% !important; height: 100% !important; display: block !important; transform-origin: center center !important; transition: transform 0.1s ease-out !important; }#fv-chart-1790607426801-muejn7a43 .fv-image-compare-bg { display: block !important; width: 100% !important; height: auto !important; pointer-events: none !important; user-select: none !important; -webkit-user-select: none !important; -webkit-user-drag: none !important; }#fv-chart-1790607426801-muejn7a43 .fv-image-compare-fg { position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; object-fit: cover !important; clip-path: polygon(0 0, 50% 0, 50% 100%, 0 100%) !important; pointer-events: none !important; user-select: none !important; -webkit-user-select: none !important; -webkit-user-drag: none !important; }#fv-chart-1790607426801-muejn7a43 .fv-image-compare-slider { position: absolute !important; top: 0 !important; bottom: 0 !important; left: 50% !important; width: 32px !important; transform: translateX(-50%) !important; cursor: ew-resize !important; z-index: 10 !important; user-select: none !important; -webkit-user-select: none !important; }#fv-chart-1790607426801-muejn7a43 .fv-image-compare-slider-line { position: absolute !important; top: 0 !important; bottom: 0 !important; left: 50% !important; width: 4px !important; background-color: white !important; transform: translateX(-50%) !important; box-shadow: 0 0 10px rgba(0,0,0,0.5) !important; pointer-events: none !important; }#fv-chart-1790607426801-muejn7a43 .fv-image-compare-handle { position: absolute !important; top: 50% !important; left: 50% !important; transform: translate(-50%, -50%) !important; width: 32px !important; height: 32px !important; background-color: white !important; border-radius: 50% !important; box-shadow: 0 2px 6px rgba(0,0,0,0.3) !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 4px !important; pointer-events: none !important; z-index: 11 !important; overflow: hidden !important; }#fv-chart-1790607426801-muejn7a43 .fv-image-compare-handle.fv-image-compare-handle-square { border-radius: 6px !important; }#fv-chart-1790607426801-muejn7a43 .fv-image-compare-arrow-left { width: 0 !important; height: 0 !important; border-top: 4px solid transparent !important; border-bottom: 4px solid transparent !important; border-right: 4px solid #4b5563 !important; }#fv-chart-1790607426801-muejn7a43 .fv-image-compare-arrow-right { width: 0 !important; height: 0 !important; border-top: 4px solid transparent !important; border-bottom: 4px solid transparent !important; border-left: 4px solid #4b5563 !important; }#fv-chart-1790607426801-muejn7a43 .fv-image-compare-label { position: absolute !important; top: 1rem !important; background-color: rgba(0, 0, 0, 0.5) !important; color: white !important; padding: 0.25rem 0.75rem !important; border-radius: 0.25rem !important; font-size: 0.875rem !important; font-weight: 500 !important; pointer-events: none !important; backdrop-filter: blur(4px) !important; z-index: 5 !important; transition: right 0.3s ease, opacity 0.2s ease !important; }#fv-chart-1790607426801-muejn7a43 .fv-image-compare-label-left { left: 1rem !important; }#fv-chart-1790607426801-muejn7a43 .fv-image-compare-label-right { right: 1rem !important; }#fv-chart-1790607426801-muejn7a43 .fv-image-compare-expand-btn, #fv-chart-1790607426801-muejn7a43 .fv-image-compare-close-btn { position: absolute !important; bottom: 1rem !important; right: 1rem !important; background-color: rgba(0, 0, 0, 0.5) !important; color: white !important; border: none !important; border-radius: 0.25rem !important; padding: 0.5rem !important; cursor: pointer !important; z-index: 20 !important; display: flex !important; align-items: center !important; justify-content: center !important; backdrop-filter: blur(4px) !important; transition: background-color 0.2s !important; }#fv-chart-1790607426801-muejn7a43 .fv-image-compare-expand-btn:hover, #fv-chart-1790607426801-muejn7a43 .fv-image-compare-close-btn:hover { background-color: rgba(0, 0, 0, 0.7) !important; }#fv-chart-1790607426801-muejn7a43 .fv-image-compare-close-btn { display: none !important; top: 1rem !important; bottom: auto !important; }#fv-chart-1790607426801-muejn7a43 .fv-image-compare-wrapper.fv-image-compare-fullscreen { position: fixed !important; top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important; width: 100% !important; height: 100% !important; z-index: 999999 !important; display: flex !important; align-items: center !important; justify-content: center !important; background-color: rgba(0, 0, 0, 0.9) !important; margin: 0 !important; touch-action: none !important; }#fv-chart-1790607426801-muejn7a43 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-inner { width: 100% !important; height: 100% !important; display: flex !important; align-items: center !important; justify-content: center !important; cursor: grab !important; }#fv-chart-1790607426801-muejn7a43 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-inner:active { cursor: grabbing !important; }#fv-chart-1790607426801-muejn7a43 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-bg { position: absolute !important; top: 0 !important; left: 0 !important; max-width: 100% !important; max-height: 100% !important; width: 100% !important; height: 100% !important; object-fit: contain !important; }#fv-chart-1790607426801-muejn7a43 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-fg { max-width: 100% !important; max-height: 100% !important; width: 100% !important; height: 100% !important; object-fit: contain !important; }#fv-chart-1790607426801-muejn7a43 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-expand-btn { display: none !important; }#fv-chart-1790607426801-muejn7a43 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-close-btn { display: flex !important; }#fv-chart-1790607426801-muejn7a43 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-label-right { right: 4rem !important; }#fv-chart-1790607426801-muejn7a43 .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; }#fv-chart-1790607426801-muejn7a43 .fv-footer-content { text-align: center !important; width: 100% !important; }#fv-chart-1790607426801-muejn7a43 .fv-logo {display: block !important;margin: 0 auto !important;width: 120px !important;min-width: 120px !important;max-width: 120px !important;height: auto !important;object-fit: contain !important;flex-shrink: 0 !important;}#fv-chart-1790607426801-muejn7a43 .fv-dropdown-wrapper { text-align: center !important; margin-bottom: 16px !important; margin-top: 0 !important; }#fv-chart-1790607426801-muejn7a43 .fv-dropdown-title-container { position: relative !important; display: inline-block !important; max-width: 100% !important; }#fv-chart-1790607426801-muejn7a43 .fv-dropdown-title {appearance: none !important;-webkit-appearance: none !important;-moz-appearance: none !important;background: transparent !important;border: none !important;font-size: 18px !important;font-weight: 600 !important;color: var(--riv-primary) !important;padding-right: 28px !important;padding-left: 10px !important;cursor: pointer !important;text-align: center !important;text-align-last: center !important;width: auto !important;max-width: 100% !important;font-family: 'Open Sans', sans-serif !important;line-height: 1.3 !important;margin: 0 !important;text-overflow: ellipsis !important;overflow: hidden !important;white-space: nowrap !important;}#fv-chart-1790607426801-muejn7a43 .fv-dropdown-title:focus { outline: none !important; }#fv-chart-1790607426801-muejn7a43 .fv-dropdown-title::-ms-expand { display: none !important; }#fv-chart-1790607426801-muejn7a43 .fv-dropdown-chevron {position: absolute !important;right: 0 !important;top: 50% !important;transform: translateY(-50%) !important;pointer-events: none !important;color: var(--riv-primary) !important;display: flex !important;align-items: center !important;}#fv-chart-1790607426801-muejn7a43 .fv-carousel-title-controls { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 16px !important; width: 100% !important; gap: 12px !important; }#fv-chart-1790607426801-muejn7a43 .fv-carousel-nav-btn {background: transparent !important; border: 1px solid #d1d5db !important; border-radius: 6px !important; padding: 6px 10px !important;cursor: pointer !important; font-size: 14px !important; color: #374151 !important; display: flex !important; align-items: center !important; gap: 4px !important; font-family: 'Open Sans', sans-serif !important;}#fv-chart-1790607426801-muejn7a43 .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; }#fv-chart-1790607426801-muejn7a43 .fv-carousel-counter { font-size: 14px !important; color: #374151 !important; text-align: center !important; margin-top: 1rem !important; }#fv-chart-1790607426801-muejn7a43 .fv-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 8px 16px !important; margin: 0 !important; padding: 0 !important; margin-top: 1rem !important; }#fv-chart-1790607426801-muejn7a43 .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #374151 !important; }#fv-chart-1790607426801-muejn7a43 .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; }#fv-chart-1790607426801-muejn7a43 .fv-multi-value-legend {display: flex !important;justify-content: center !important;flex-wrap: wrap !important;gap: 12px 24px !important;margin-bottom: 1.5rem !important;padding: 0 !important;}#fv-chart-1790607426801-muejn7a43 .fv-multi-legend-item { display: flex !important; align-items: center !important; gap: 8px !important; font-size: 14px !important; color: #374151 !important; font-weight: 500 !important; }#fv-chart-1790607426801-muejn7a43 .fv-multi-legend-swatch { width: 16px !important; height: 16px !important; border-radius: 3px !important; }#fv-chart-1790607426801-muejn7a43 .fv-benchmark-group { margin-bottom: 1rem !important; }#fv-chart-1790607426801-muejn7a43 .fv-benchmark-title {font-size: 18px !important; font-weight: 600 !important; margin-bottom: 16px !important; margin-top: 0 !important; padding: 0 !important;text-align: center !important; color: var(--riv-primary) !important; flex: 1 !important; min-width: 0 !important;font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important;text-transform: none !important;white-space: normal !important;overflow-wrap: break-word !important;word-wrap: break-word !important;max-width: 100% !important;}#fv-chart-1790607426801-muejn7a43 .fv-bar-row, #fv-chart-1790607426801-muejn7a43 .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; position: relative !important; }#fv-chart-1790607426801-muejn7a43 .fv-bar-label { width: 150px !important; flex-shrink: 0 !important; font-size: 14px !important; color: #374151 !important; padding-right: 10px !important; text-align: right !important; font-weight: 500 !important; display: block !important; }#fv-chart-1790607426801-muejn7a43 .fv-bar-container { flex-grow: 1 !important; background-color: #E5E7EB !important; border-radius: 4px !important; min-height: 25px !important; border: 1px solid #D1D5DB !important; position: relative !important; display: flex !important; align-items: center !important; }#fv-chart-1790607426801-muejn7a43 .fv-bar-commentary-inline { display: none !important; position: absolute !important; left: 150px !important; top: 0 !important; bottom: 0 !important; right: 0 !important; width: calc(100% - 150px) !important; margin: 0 !important; padding: 0 8px !important; font-size: 13px !important; color: #fff !important; background: rgba(0,0,0,0.8) !important; border-radius: 4px !important; line-height: 1.4 !important; font-weight: normal !important; text-transform: none !important; word-wrap: break-word !important; z-index: 10 !important; align-items: center !important; overflow-y: auto !important; }#fv-chart-1790607426801-muejn7a43.preview-wrapper .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1790607426801-muejn7a43.preview-wrapper .fv-bar-commentary-inline:focus, #fv-chart-1790607426801-muejn7a43.preview-wrapper .fv-bar-commentary-inline:focus-within, #fv-chart-1790607426801-muejn7a43.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1790607426801-muejn7a43.mobile-view .fv-bar-commentary-inline:focus, #fv-chart-1790607426801-muejn7a43.mobile-view .fv-bar-commentary-inline:focus-within { display: flex !important; }#fv-chart-1790607426801-muejn7a43 .fv-bar { height: 100% !important; border-radius: 3px !important; display: flex !important; align-items: center !important; transition: opacity 0.2s ease, width 0.8s ease-out !important; min-height: 23px !important; }#fv-chart-1790607426801-muejn7a43 .fv-bar:hover { opacity: 0.8 !important; }#fv-chart-1790607426801-muejn7a43 .fv-bar-inner-content { display: flex !important; justify-content: space-between !important; align-items: center !important; width: 100% !important; height: 100% !important; padding: 0 8px !important; font-size: 14px !important; font-weight: bold !important; overflow: hidden !important; }#fv-chart-1790607426801-muejn7a43 .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; }#fv-chart-1790607426801-muejn7a43 .fv-bar-inner-value { flex-shrink: 0 !important; }#fv-chart-1790607426801-muejn7a43 .fv-bar-value-outside { padding-left: 8px !important; font-size: 14px !important; font-weight: bold !important; color: #374151 !important; white-space: nowrap !important; }#fv-chart-1790607426801-muejn7a43 .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; }#fv-chart-1790607426801-muejn7a43 .fv-multi-bar-container { flex-direction: column !important; padding: 4px !important; align-items: stretch !important; gap: 4px !important; height: auto !important; }#fv-chart-1790607426801-muejn7a43 .fv-multi-bar-item { display: flex !important; align-items: center !important; height: 25px !important; width: 100% !important; }#fv-chart-1790607426801-muejn7a43 .fv-stacked-bar { display: flex !important; overflow: hidden !important; }#fv-chart-1790607426801-muejn7a43 .fv-stacked-segment { height: 100% !important; display: flex !important; align-items: center !important; justify-content: flex-end !important; padding-right: 8px !important; border-right: 1px solid rgba(255,255,255,0.3) !important; }#fv-chart-1790607426801-muejn7a43 .fv-stacked-segment:last-child { border-right: none !important; }#fv-chart-1790607426801-muejn7a43 .fv-segment-value { font-size: 14px !important; font-weight: bold !important; }#fv-chart-1790607426801-muejn7a43 .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; }#fv-chart-1790607426801-muejn7a43 .fv-grouped-product-title-wrapper { padding-left: 150px !important; }#fv-chart-1790607426801-muejn7a43 .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.5rem !important; font-weight: 700 !important; font-size: 14px !important; color: #374151 !important; text-transform: none !important; }#fv-chart-1790607426801-muejn7a43 .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; }#fv-chart-1790607426801-muejn7a43 .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; }#fv-chart-1790607426801-muejn7a43 .fv-bar-cluster .fv-bar-container { height: 20px !important; }#fv-chart-1790607426801-muejn7a43 .riv-grid line {stroke: #D1D5DB !important;stroke-dasharray: 3 3 !important;}#fv-chart-1790607426801-muejn7a43 .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; }#fv-chart-1790607426801-muejn7a43 .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; }#fv-chart-1790607426801-muejn7a43 .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; }#fv-chart-1790607426801-muejn7a43 .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; }#fv-chart-1790607426801-muejn7a43 .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; }#fv-chart-1790607426801-muejn7a43 .fv-x-axis-ticks { display: flex !important; justify-content: space-between !important; padding-top: 4px !important; font-size: 13px !important; color: #374151 !important; }#fv-chart-1790607426801-muejn7a43 .fv-x-axis-ticks span { position: relative !important; }#fv-chart-1790607426801-muejn7a43 .fv-x-axis-ticks span::before { content: '' !important; position: absolute !important; top: -6px !important; left: 50% !important; transform: translateX(-50%) !important; width: 2px !important; height: 4px !important; background-color: #D1D5DB !important; border-radius: 1px !important; }#fv-chart-1790607426801-muejn7a43 .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #374151 !important; margin-top: 8px !important; display: block !important; }#fv-chart-1790607426801-muejn7a43 .fv-x-axis-title { text-align: center !important; font-size: 15px !important; color: #374151 !important; margin-top: 8px !important; margin-bottom: 16px !important; line-height: 1.5 !important; padding: 0 1rem !important; display: block !important; font-weight: bold !important; }#fv-chart-1790607426801-muejn7a43 .fv-y-axis-title {font-size: 15px !important;color: #374151 !important;line-height: 1.5 !important;text-align: left !important;padding-left: 5.83% !important;margin-bottom: 4px !important;display: block !important;font-weight: bold !important;}#fv-chart-1790607426801-muejn7a43.mobile-view .fv-pie-container,#fv-chart-1790607426801-muejn7a43.labels-on-top .fv-pie-container {flex-direction: column !important; gap: 1rem !important;}#fv-chart-1790607426801-muejn7a43.mobile-view .fv-grouped-product-title-wrapper,#fv-chart-1790607426801-muejn7a43.labels-on-top .fv-grouped-product-title-wrapper {padding-left: 0 !important;}#fv-chart-1790607426801-muejn7a43.mobile-view .fv-bar-row,#fv-chart-1790607426801-muejn7a43.mobile-view .fv-stacked-product,#fv-chart-1790607426801-muejn7a43.mobile-view .fv-grouped-bar-product,#fv-chart-1790607426801-muejn7a43.labels-on-top .fv-bar-row,#fv-chart-1790607426801-muejn7a43.labels-on-top .fv-stacked-product,#fv-chart-1790607426801-muejn7a43.labels-on-top .fv-grouped-bar-product {flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important;}#fv-chart-1790607426801-muejn7a43.mobile-view .fv-bar-label:not(.fv-grouped-product-title),#fv-chart-1790607426801-muejn7a43.labels-on-top .fv-bar-label:not(.fv-grouped-product-title) {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1790607426801-muejn7a43.mobile-view .fv-bar-label,#fv-chart-1790607426801-muejn7a43.mobile-view .fv-grouped-product-title,#fv-chart-1790607426801-muejn7a43.labels-on-top .fv-bar-label,#fv-chart-1790607426801-muejn7a43.labels-on-top .fv-grouped-product-title {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1790607426801-muejn7a43.mobile-view .fv-bar-container,#fv-chart-1790607426801-muejn7a43.mobile-view .fv-bar-cluster,#fv-chart-1790607426801-muejn7a43.labels-on-top .fv-bar-container,#fv-chart-1790607426801-muejn7a43.labels-on-top .fv-bar-cluster {width: 100% !important;}#fv-chart-1790607426801-muejn7a43.mobile-view .fv-bar-row .fv-bar-commentary-inline,#fv-chart-1790607426801-muejn7a43.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline,#fv-chart-1790607426801-muejn7a43.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus,#fv-chart-1790607426801-muejn7a43.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus-within,#fv-chart-1790607426801-muejn7a43.labels-on-top .fv-bar-row .fv-bar-commentary-inline,#fv-chart-1790607426801-muejn7a43.labels-on-top .fv-bar-row:hover .fv-bar-commentary-inline,#fv-chart-1790607426801-muejn7a43.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus,#fv-chart-1790607426801-muejn7a43.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus-within {position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important;}#fv-chart-1790607426801-muejn7a43.mobile-view .fv-x-axis-wrapper,#fv-chart-1790607426801-muejn7a43.labels-on-top .fv-x-axis-wrapper {margin-left: 0 !important;}#fv-chart-1790607426801-muejn7a43.mobile-view .fv-x-axis-label-space,#fv-chart-1790607426801-muejn7a43.labels-on-top .fv-x-axis-label-space {display: none !important;}#fv-chart-1790607426801-muejn7a43.mobile-view .fv-x-axis-chart-space,#fv-chart-1790607426801-muejn7a43.labels-on-top .fv-x-axis-chart-space {padding-right: 0 !important;}#fv-chart-1790607426801-muejn7a43.mobile-view .fv-benchmark-title,#fv-chart-1790607426801-muejn7a43.labels-on-top .fv-benchmark-title {font-size: 16px !important;}#fv-chart-1790607426801-muejn7a43.mobile-view .fv-dropdown-title,#fv-chart-1790607426801-muejn7a43.labels-on-top .fv-dropdown-title {font-size: 16px !important;}#fv-chart-1790607426801-muejn7a43.mobile-view .fv-carousel-nav-btn,#fv-chart-1790607426801-muejn7a43.labels-on-top .fv-carousel-nav-btn {padding: 8px 12px !important; font-size: 14px !important;}#fv-chart-1790607426801-muejn7a43.mobile-view .fv-chart-title,#fv-chart-1790607426801-muejn7a43.labels-on-top .fv-chart-title {padding: 0 8px !important;}#fv-chart-1790607426801-muejn7a43.mobile-view .fv-chart-subhead,#fv-chart-1790607426801-muejn7a43.labels-on-top .fv-chart-subhead {padding: 0 8px !important;}#fv-chart-1790607426801-muejn7a43.mobile-view .fv-versus-header,#fv-chart-1790607426801-muejn7a43.labels-on-top .fv-versus-header {flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important;}#fv-chart-1790607426801-muejn7a43.mobile-view .fv-versus-select-wrapper,#fv-chart-1790607426801-muejn7a43.labels-on-top .fv-versus-select-wrapper {flex: 1 !important; min-width: 0 !important; width: 100% !important;}#fv-chart-1790607426801-muejn7a43.mobile-view .fv-versus-select-wrapper.fv-left,#fv-chart-1790607426801-muejn7a43.labels-on-top .fv-versus-select-wrapper.fv-left {text-align: center !important; padding-right: 0 !important;}#fv-chart-1790607426801-muejn7a43.mobile-view .fv-versus-select-wrapper.fv-right,#fv-chart-1790607426801-muejn7a43.labels-on-top .fv-versus-select-wrapper.fv-right {text-align: center !important; padding-left: 0 !important;}#fv-chart-1790607426801-muejn7a43.mobile-view .fv-versus-select.fv-select-left,#fv-chart-1790607426801-muejn7a43.labels-on-top .fv-versus-select.fv-select-left {text-align: center !important;}#fv-chart-1790607426801-muejn7a43.mobile-view .fv-versus-select.fv-select-right,#fv-chart-1790607426801-muejn7a43.labels-on-top .fv-versus-select.fv-select-right {text-align: center !important;}#fv-chart-1790607426801-muejn7a43.mobile-view .fv-versus-vs,#fv-chart-1790607426801-muejn7a43.labels-on-top .fv-versus-vs {text-align: center !important; padding: 0.25rem 0 !important;}#fv-chart-1790607426801-muejn7a43.mobile-view .fv-versus-select-container,#fv-chart-1790607426801-muejn7a43.labels-on-top .fv-versus-select-container {max-width: 100% !important; width: 100% !important;}#fv-chart-1790607426801-muejn7a43.mobile-view .fv-versus-select,#fv-chart-1790607426801-muejn7a43.labels-on-top .fv-versus-select {font-size: 14px !important; width: 100% !important;}#fv-chart-1790607426801-muejn7a43.mobile-view .fv-stl-shop-all-btn,#fv-chart-1790607426801-muejn7a43.labels-on-top .fv-stl-shop-all-btn {bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important;}#fv-chart-1790607426801-muejn7a43.mobile-view .fv-stl-shop-all-logo,#fv-chart-1790607426801-muejn7a43.mobile-view .fv-stl-shop-all-icon,#fv-chart-1790607426801-muejn7a43.labels-on-top .fv-stl-shop-all-logo,#fv-chart-1790607426801-muejn7a43.labels-on-top .fv-stl-shop-all-icon {width: 2rem !important; height: 2rem !important;}#fv-chart-1790607426801-muejn7a43.mobile-view .fv-stl-shop-all-icon svg,#fv-chart-1790607426801-muejn7a43.labels-on-top .fv-stl-shop-all-icon svg {width: 14px !important; height: 14px !important;}#fv-chart-1790607426801-muejn7a43.mobile-view .fv-bar-commentary-inline,#fv-chart-1790607426801-muejn7a43.labels-on-top .fv-bar-commentary-inline {display: block !important; margin-left: 0 !important; width: 100% !important;}#fv-chart-1790607426801-muejn7a43.mobile-view .fv-y-axis-title { padding-left: 5% !important;  }#fv-chart-1790607426801-muejn7a43.mobile-view.fv-contains-line-chart .fv-footer-content {margin-left: -1rem !important;margin-right: -1rem !important;}@media (max-width: 599px) {#fv-chart-1790607426801-muejn7a43 .fv-pie-container {flex-direction: column !important; gap: 1rem !important;}#fv-chart-1790607426801-muejn7a43 .fv-grouped-product-title-wrapper {padding-left: 0 !important;}#fv-chart-1790607426801-muejn7a43 .fv-bar-row,#fv-chart-1790607426801-muejn7a43 .fv-stacked-product,#fv-chart-1790607426801-muejn7a43 .fv-grouped-bar-product {flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important;}#fv-chart-1790607426801-muejn7a43 .fv-bar-label:not(.fv-grouped-product-title) {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1790607426801-muejn7a43 .fv-bar-label,#fv-chart-1790607426801-muejn7a43 .fv-grouped-product-title {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1790607426801-muejn7a43 .fv-bar-container,#fv-chart-1790607426801-muejn7a43 .fv-bar-cluster {width: 100% !important;}#fv-chart-1790607426801-muejn7a43 .fv-bar-row .fv-bar-commentary-inline,#fv-chart-1790607426801-muejn7a43 .fv-bar-row:hover .fv-bar-commentary-inline,#fv-chart-1790607426801-muejn7a43 .fv-bar-row .fv-bar-commentary-inline:focus,#fv-chart-1790607426801-muejn7a43 .fv-bar-row .fv-bar-commentary-inline:focus-within {position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important;}#fv-chart-1790607426801-muejn7a43 .fv-x-axis-wrapper {margin-left: 0 !important;}#fv-chart-1790607426801-muejn7a43 .fv-x-axis-label-space {display: none !important;}#fv-chart-1790607426801-muejn7a43 .fv-x-axis-chart-space {padding-right: 0 !important;}#fv-chart-1790607426801-muejn7a43 .fv-benchmark-title {font-size: 16px !important;}#fv-chart-1790607426801-muejn7a43 .fv-dropdown-title {font-size: 16px !important;}#fv-chart-1790607426801-muejn7a43 .fv-carousel-nav-btn {padding: 8px 12px !important; font-size: 14px !important;}#fv-chart-1790607426801-muejn7a43 .fv-chart-title {padding: 0 8px !important;}#fv-chart-1790607426801-muejn7a43 .fv-chart-subhead {padding: 0 8px !important;}#fv-chart-1790607426801-muejn7a43 .fv-versus-header {flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important;}#fv-chart-1790607426801-muejn7a43 .fv-versus-select-wrapper {flex: 1 !important; min-width: 0 !important; width: 100% !important;}#fv-chart-1790607426801-muejn7a43 .fv-versus-select-wrapper.fv-left {text-align: center !important; padding-right: 0 !important;}#fv-chart-1790607426801-muejn7a43 .fv-versus-select-wrapper.fv-right {text-align: center !important; padding-left: 0 !important;}#fv-chart-1790607426801-muejn7a43 .fv-versus-select.fv-select-left {text-align: center !important;}#fv-chart-1790607426801-muejn7a43 .fv-versus-select.fv-select-right {text-align: center !important;}#fv-chart-1790607426801-muejn7a43 .fv-versus-vs {text-align: center !important; padding: 0.25rem 0 !important;}#fv-chart-1790607426801-muejn7a43 .fv-versus-select-container {max-width: 100% !important; width: 100% !important;}#fv-chart-1790607426801-muejn7a43 .fv-versus-select {font-size: 14px !important; width: 100% !important;}#fv-chart-1790607426801-muejn7a43 .fv-stl-shop-all-btn {bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important;}#fv-chart-1790607426801-muejn7a43 .fv-stl-shop-all-logo,#fv-chart-1790607426801-muejn7a43 .fv-stl-shop-all-icon {width: 2rem !important; height: 2rem !important;}#fv-chart-1790607426801-muejn7a43 .fv-stl-shop-all-icon svg {width: 14px !important; height: 14px !important;}#fv-chart-1790607426801-muejn7a43 .fv-bar-commentary-inline {display: block !important; margin-left: 0 !important; width: 100% !important;}#fv-chart-1790607426801-muejn7a43 .fv-y-axis-title { padding-left: 5% !important;  }#fv-chart-1790607426801-muejn7a43.fv-contains-line-chart .fv-footer-content {margin-left: -1rem !important;margin-right: -1rem !important;}}</style><script type="application/ld+json">{"@context": "https://schema.org","@type": "Dataset","name": "Edge cleaning","description": "Cleaning edge of hard floor with Roborock vacuum cleaner to test vacuuming","creator": {"@type": "Organization","name": "TechRadar","logo": "https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png"},"isAccessibleForFree": true,"dateCreated": "2026-09-28T14:57:06.801Z","citation": "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized","keywords": ["Image Comparison","benchmark","comparison","performance","review","TechRadar"],"measurementTechnique": "Performance Benchmarking","variableMeasured": []}</script><div id="fv-chart-1790607426801-muejn7a43" class="fv-chart-wrapper   " data-bar-labels-on-top="false" data-iframe-height="true" data-vizualizer-embed="true"><div class="fv-inner-wrapper fv-no-header fv-is-image-compare  "><div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1790607426801-muejn7a43-image-compare-1" data-chart-type="Image Comparison" data-title="Image Comparison" data-subhead="Cleaning edge of hard floor with Roborock vacuum cleaner to test vacuuming" data-caption="" style=""><div class="fv-benchmark-group"><div class="fv-image-compare-container"><div class="fv-image-compare-wrapper" data-image-compare="true"><div class="fv-image-compare-inner"><img src="https://cdn.mos.cms.futurecdn.net/ZBHXBFwYVSYJ4bDnM8YwXB.jpg" data-highres-src="https://cdn.mos.cms.futurecdn.net/ZBHXBFwYVSYJ4bDnM8YwXB.jpg" alt="After" class="fv-image-compare-bg" loading="lazy" referrerpolicy="no-referrer" draggable="false" /><img src="https://cdn.mos.cms.futurecdn.net/R5qJvTD7XSrgDvojD6nHvB.jpg" data-highres-src="https://cdn.mos.cms.futurecdn.net/R5qJvTD7XSrgDvojD6nHvB.jpg" alt="Before" class="fv-image-compare-fg" loading="lazy" referrerpolicy="no-referrer" draggable="false" /><div class="fv-image-compare-slider"><div class="fv-image-compare-slider-line"></div><div class="fv-image-compare-handle "><img src="https://proof.vanilla.tools/media/images/brandLogos/techradar.png" alt="Brand Logo" style="width: 100%; height: 100%; object-fit: cover;" /></div></div></div><div class="fv-image-compare-label fv-image-compare-label-left">Before</div><div class="fv-image-compare-label fv-image-compare-label-right">After</div><button class="fv-image-compare-expand-btn" aria-label="Expand Image"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 8V4h4"/><path d="M20 8V4h-4"/><path d="M4 16v4h4"/><path d="M20 16v4h-4"/><circle cx="11.5" cy="11.5" r="3.5"/><path d="m14 14 3 3"/></svg></button><button class="fv-image-compare-close-btn" aria-label="Close Fullscreen"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg></button></div></div></div></div></div><div class="fv-bottom-bar"><div class="fv-footer-content" style="display: none;"><div class="rv-chart-caption" style="display: block;"><span class="fv-original-caption" style="display: block;"></span><span class="fv-ia-dynamic-caption" style="display: none;"></span></div></div><div class="fv-logo-explore-bar"><img class="fv-logo" src="https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png" alt="TechRadar Logo"></div></div></div></div><script>window.iFrameResizer = {heightCalculationMethod: 'taggedElement'};</script><script src="https://cdnjs.cloudflare.com/ajax/libs/iframe-resizer/4.2.11/iframeResizer.contentWindow.min.js" async></script><script>(function() {window.fvAnimateCharts = function(chartWrapper) {if (!chartWrapper) return;function animateBars(chartElement) {if (!chartElement) return;var bars = chartElement.querySelectorAll('.fv-bar, .fv-stacked-segment');bars.forEach(function(bar, index) {bar.style.setProperty('width', '0%', 'important');bar.style.setProperty('transition', 'none', 'important');var targetWidth = bar.dataset.targetWidth;if (targetWidth === undefined) return;void bar.offsetWidth;var targetMargin = bar.dataset.targetMargin;var baseMargin = bar.dataset.baseMargin;if (baseMargin !== undefined) {bar.style.setProperty('margin-left', baseMargin + '%', 'important');}setTimeout(function() {var marginTransition = baseMargin !== undefined ? ', margin-left 0.8s ease-out' : '';bar.style.setProperty('transition', 'opacity 0.2s ease, width 0.8s ease-out' + marginTransition, 'important');bar.style.setProperty('width', targetWidth + '%', 'important');if (targetMargin !== undefined && baseMargin !== undefined) {bar.style.setProperty('margin-left', targetMargin + '%', 'important');}}, index * 50 + 50);});}function animateLineChart(chartElement) {if (!chartElement) return;var lineSvg = chartElement.querySelector('svg');if (!lineSvg) return;var paths = lineSvg.querySelectorAll('.riv-line-path');paths.forEach(function(p, i) {if (typeof p.getTotalLength === 'function') {var len = p.getTotalLength();p.style.transition = 'none';p.style.strokeDasharray = len;p.style.strokeDashoffset = len;p.getBoundingClientRect();setTimeout(function() {p.style.transition = 'stroke-dashoffset 1s ease-out ' + (i * 0.1) + 's, stroke-width 0.2s, opacity 0.2s';p.style.strokeDashoffset = '0';}, 100);}});var dots = lineSvg.querySelectorAll('.riv-dot');dots.forEach(function(dot, i) {dot.style.opacity = '0';setTimeout(function() {dot.style.transition = 'opacity 0.3s ease';dot.style.opacity = '1';}, 500 + i * 10);});}var charts = chartWrapper.querySelectorAll('.fv-chart-item');charts.forEach(function(chart) {if (window.getComputedStyle(chart).display === 'none') return;var chartType = chart.dataset.chartType;if (chartType === 'Line') {animateLineChart(chart);} else if (chartType !== 'Pie') {animateBars(chart);}});};function initialize(uniqueId, isSlideshow) {var root = document.getElementById(uniqueId);if (!root && !isSlideshow) return;function setupWrapper(chartWrapper) {if (!chartWrapper) return;function checkMobileView() {var width = chartWrapper.getBoundingClientRect().width;var isMobileDevice = window.screen && Math.min(window.screen.width, window.screen.height) <= 599;var isMobile;if (width === 0) {isMobile = isMobileDevice || window.matchMedia('(max-width: 599px)').matches;} else {isMobile = isMobileDevice || width < 600;}if (isMobile) {chartWrapper.classList.add('mobile-view');} else {chartWrapper.classList.remove('mobile-view');}}checkMobileView();if (typeof ResizeObserver !== 'undefined') {var ro = new ResizeObserver(function() {checkMobileView();});ro.observe(chartWrapper);}window.addEventListener('resize', checkMobileView);var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';if (labelsOnTop) {var charts = chartWrapper.querySelectorAll('.fv-chart-item');var hasVisibleBarChart = false;charts.forEach(function(c) {if (window.getComputedStyle(c).display !== 'none') {var cType = c.dataset.chartType;if (cType === 'Bar' || cType === 'Stacked Bar' || cType === 'Versus') {hasVisibleBarChart = true;}}});if (hasVisibleBarChart) {chartWrapper.classList.add('labels-on-top');} else {chartWrapper.classList.remove('labels-on-top');}} else {chartWrapper.classList.remove('labels-on-top');}chartWrapper.querySelectorAll('.riv-line-legend').forEach(function(legend) {var chartId = legend.dataset.chart;var chart = chartWrapper.querySelector('[id="' + chartId + '"]');if (!chart) return;var lines = chart.querySelectorAll('.riv-line-path');var dots = chart.querySelectorAll('.riv-dot');var legendItems = legend.querySelectorAll('.riv-legend-item');legendItems.forEach(function(item) {var productName = item.dataset.product;var safeProductName = productName.replace(/"/g, '\"');var line = chart.querySelector('.riv-line-path[data-product="' + safeProductName + '"]');var productDots = chart.querySelectorAll('.riv-dot[data-product="' + safeProductName + '"]');if (line && !line.dataset.origStroke) {line.dataset.origStroke = line.getAttribute('stroke-width') || '2';}var highlight = function() {if (legend.querySelector('.isolated')) return;lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '0.2'; });legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });if (line) {line.style.opacity = '1';line.setAttribute('stroke-width', '4');}productDots.forEach(function(d) { d.style.opacity = '1'; });item.style.opacity = '1';};var clearHighlight = function() {if (legend.querySelector('.isolated')) return;lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '1'; });legendItems.forEach(function(i) { i.style.opacity = '1'; });};var toggleIsolate = function() {var isIsolated = item.classList.contains('isolated');legendItems.forEach(function(i) { i.classList.remove('isolated'); });if (isIsolated) {lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '1'; });legendItems.forEach(function(i) { i.style.opacity = '1'; });} else {item.classList.add('isolated');lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '0.2'; });legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });if (line) {line.style.opacity = '1';line.setAttribute('stroke-width', '4');}productDots.forEach(function(d) { d.style.opacity = '1'; });item.style.opacity = '1';}};item.addEventListener('mouseenter', highlight);item.addEventListener('focus', highlight);item.addEventListener('mouseleave', clearHighlight);item.addEventListener('blur', clearHighlight);item.addEventListener('click', toggleIsolate);if (line) {line.style.cursor = 'pointer';line.addEventListener('mouseenter', highlight);line.addEventListener('mouseleave', clearHighlight);line.addEventListener('click', toggleIsolate);}});});var versusCharts = chartWrapper.querySelectorAll('.fv-versus-chart');versusCharts.forEach(function(vc) {var dataJson = vc.getAttribute('data-versus-data');var leftColor = vc.getAttribute('data-left-color') || '#E53935';var rightColor = vc.getAttribute('data-right-color') || '#FFB300';if (!dataJson) return;var versusData = JSON.parse(dataJson);var leftSelect = vc.querySelector('.fv-select-left');var rightSelect = vc.querySelector('.fv-select-right');var rows = vc.querySelectorAll('.fv-versus-row');function updateVersusChart() {var leftProduct = leftSelect.value;var rightProduct = rightSelect.value;leftSelect.style.color = leftColor;leftSelect.style.borderColor = leftColor;rightSelect.style.color = rightColor;rightSelect.style.borderColor = rightColor;rows.forEach(function(row) {var index = parseInt(row.getAttribute('data-index'));var data = versusData[index];if (!data) return;var leftVal = data.productData[leftProduct] ? data.productData[leftProduct].value : undefined;var rightVal = data.productData[rightProduct] ? data.productData[rightProduct].value : undefined;var leftIsNum = typeof leftVal === 'number';var rightIsNum = typeof rightVal === 'number';var leftNum = leftIsNum ? leftVal : 0;var rightNum = rightIsNum ? rightVal : 0;var maxVal = Math.max(leftNum, rightNum, 0.0001);var leftWidth = leftIsNum ? (leftNum / maxVal) * 95 : 0;var rightWidth = rightIsNum ? (rightNum / maxVal) * 85 : 0;var winner = null;var pctDiffStr = null;if (leftIsNum && rightIsNum) {if (leftNum > rightNum) {winner = 'left';if (rightNum > 0) {var diff = Math.round(((leftNum - rightNum) / rightNum) * 100);pctDiffStr = '+' + diff.toLocaleString() + '%';}} else if (rightNum > leftNum) {winner = 'right';if (leftNum > 0) {var diff = Math.round(((rightNum - leftNum) / leftNum) * 100);pctDiffStr = '+' + diff.toLocaleString() + '%';}}}var leftDisplay = data.productData[leftProduct] && data.productData[leftProduct].displayValue !== undefined ? data.productData[leftProduct].displayValue : (leftIsNum ? leftNum.toLocaleString() : (leftVal !== undefined ? leftVal : '-'));var rightDisplay = data.productData[rightProduct] && data.productData[rightProduct].displayValue !== undefined ? data.productData[rightProduct].displayValue : (rightIsNum ? rightNum.toLocaleString() : (rightVal !== undefined ? rightVal : '-'));var unit = (data.productData[leftProduct] && data.productData[leftProduct].unit) ||(data.productData[rightProduct] && data.productData[rightProduct].unit) || '';var leftTextStr = leftDisplay;var rightTextStr = rightDisplay;var leftBar = row.querySelector('.fv-versus-bar-left');var rightBar = row.querySelector('.fv-versus-bar-right');var leftText = row.querySelector('.fv-inside-left');var rightText = row.querySelector('.fv-inside-right');var labelText = row.querySelector('.fv-versus-label span');var leftWrapper = row.querySelector('.fv-versus-bar-left-wrapper');var rightWrapper = row.querySelector('.fv-versus-bar-right-wrapper');var existingPctDiffs = row.querySelectorAll('.fv-versus-pct-diff');existingPctDiffs.forEach(function(el) { el.remove(); });if (winner === 'left' && pctDiffStr) {var pctSpan = document.createElement('span');pctSpan.className = 'fv-versus-pct-diff';pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';pctSpan.textContent = pctDiffStr;if (leftBar) leftBar.insertBefore(pctSpan, leftBar.firstChild);} else if (winner === 'right' && pctDiffStr) {var pctSpan = document.createElement('span');pctSpan.className = 'fv-versus-pct-diff';pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';pctSpan.textContent = pctDiffStr;if (rightBar) rightBar.appendChild(pctSpan);}if (leftBar) {leftBar.style.backgroundColor = leftColor;leftBar.dataset.targetWidth = leftWidth;leftBar.style.setProperty('--target-width', leftWidth + '%');leftBar.style.width = leftWidth + '%';}if (rightBar) {rightBar.style.backgroundColor = rightColor;rightBar.dataset.targetWidth = rightWidth;rightBar.style.setProperty('--target-width', rightWidth + '%');rightBar.style.width = rightWidth + '%';}if (leftText) {leftText.innerHTML = leftTextStr;}if (rightText) {rightText.innerHTML = rightTextStr;}if (labelText) {labelText.textContent = data.attribute + (unit ? ' (' + unit + ')' : '');}});}if (leftSelect) leftSelect.addEventListener('change', updateVersusChart);if (rightSelect) rightSelect.addEventListener('change', updateVersusChart);});var barRows = chartWrapper.querySelectorAll('.fv-bar-row');var globalCaptionEl = chartWrapper.querySelector('.rv-chart-caption');var fallbackCaptionHtml = globalCaptionEl ? globalCaptionEl.innerHTML : '';barRows.forEach(function(row) {var commentaryEl = row.querySelector('[data-commentary-key]');if (commentaryEl) {var commentaryText = commentaryEl.textContent;if (commentaryText && commentaryText.trim().length > 0) {row.addEventListener('mouseenter', function() {if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {globalCaptionEl.innerHTML = commentaryText;globalCaptionEl.classList.add('fv-bar-active-caption');}});row.addEventListener('mouseleave', function() {if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {globalCaptionEl.innerHTML = fallbackCaptionHtml;globalCaptionEl.classList.remove('fv-bar-active-caption');}});}}});var charts = chartWrapper.querySelectorAll('.fv-chart-item');var dropdown = chartWrapper.querySelector('.fv-dropdown-title');var prevBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.prev');var nextBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.next');var carouselTitle = chartWrapper.querySelector('.fv-carousel-title-controls .fv-benchmark-title');var counter = chartWrapper.querySelector('.fv-carousel-counter');var subheadEl = chartWrapper.querySelector('.fv-chart-subhead');var captionEl = chartWrapper.querySelector('.rv-chart-caption');var footerContentEl = chartWrapper.querySelector('.fv-footer-content');var bottomBarEl = chartWrapper.querySelector('.fv-bottom-bar');var logoEl = chartWrapper.querySelector('.fv-logo');if (charts.length > 1 && (dropdown || prevBtn)) {var currentChartIndex = 0;var titles = [];if (dropdown) {titles = Array.from(dropdown.options).map(function(o) { return o.text; });} else {charts.forEach(function(c) {titles.push(c.getAttribute('data-title') || '');});}function showInternalChart(index) {if (index < 0) index = charts.length - 1;if (index >= charts.length) index = 0;currentChartIndex = index;charts.forEach(function(c, i) {c.style.display = i === index ? 'block' : 'none';if (i === index) {var cType = c.dataset.chartType;if (cType === 'Line') {} else if (cType !== 'Pie') {window.fvAnimateCharts(chartWrapper);}var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';if (labelsOnTop && (cType === 'Bar' || cType === 'Stacked Bar' || cType === 'Versus')) {chartWrapper.classList.add('labels-on-top');} else {chartWrapper.classList.remove('labels-on-top');}}});if (dropdown) dropdown.value = index;if (carouselTitle && titles[index]) carouselTitle.textContent = titles[index];if (counter) counter.textContent = (index + 1) + ' of ' + charts.length;var activeChart = charts[index];if (activeChart) {var newSubhead = activeChart.getAttribute('data-subhead');var newCaption = activeChart.getAttribute('data-caption');var currentChartType = activeChart.getAttribute('data-chart-type');var hideGlobalCaption = currentChartType === 'Countdown' || currentChartType === 'Image Comparison' || currentChartType === 'Shop the Collection';if (subheadEl) subheadEl.textContent = newSubhead || '';if (captionEl) {captionEl.textContent = newCaption || '';fallbackCaptionHtml = newCaption || '';}if (footerContentEl) {if (newCaption && newCaption.trim().length > 0 && !hideGlobalCaption) {footerContentEl.style.display = 'block';if (bottomBarEl) bottomBarEl.style.display = 'flex';} else {footerContentEl.style.display = 'none';if (bottomBarEl && !logoEl) {bottomBarEl.style.display = 'none';}}}}}if (dropdown) dropdown.addEventListener('change', function(e) { showInternalChart(parseInt(e.target.value)); });if (prevBtn) prevBtn.addEventListener('click', function() { showInternalChart(currentChartIndex - 1); });if (nextBtn) nextBtn.addEventListener('click', function() { showInternalChart(currentChartIndex + 1); });}var imageCompareWrappers = chartWrapper.querySelectorAll('.fv-image-compare-wrapper');imageCompareWrappers.forEach(function(wrapper) {var inner = wrapper.querySelector('.fv-image-compare-inner') || wrapper;var slider = wrapper.querySelector('.fv-image-compare-slider');var fgImage = wrapper.querySelector('.fv-image-compare-fg');var bgImage = wrapper.querySelector('.fv-image-compare-bg');var labelLeft = wrapper.querySelector('.fv-image-compare-label-left');var labelRight = wrapper.querySelector('.fv-image-compare-label-right');var isDragging = false;var scale = 1;var panX = 0;var panY = 0;var isPanning = false;var hasPanned = false;var lastClientX = 0;var lastClientY = 0;var initialDistance = null;var lastCenterX = null;var lastCenterY = null;function updateTransform() {if (wrapper.classList.contains('fv-image-compare-fullscreen')) {inner.style.setProperty('transform', 'translate(' + panX + 'px, ' + panY + 'px) scale(' + scale + ')', 'important');} else {inner.style.removeProperty('transform');scale = 1;panX = 0;panY = 0;}}function constrainPan() {var rect = wrapper.getBoundingClientRect();var maxPanX = Math.max(0, (rect.width * scale - rect.width) / 2);var maxPanY = Math.max(0, (rect.height * scale - rect.height) / 2);panX = Math.max(-maxPanX, Math.min(panX, maxPanX));panY = Math.max(-maxPanY, Math.min(panY, maxPanY));}wrapper.addEventListener('wheel', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;e.preventDefault();var zoomSensitivity = 0.005;var zoomFactor = Math.exp(-e.deltaY * zoomSensitivity);var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));if (newScale === scale) return;var rect = wrapper.getBoundingClientRect();var mouseX = e.clientX - rect.left - rect.width / 2;var mouseY = e.clientY - rect.top - rect.height / 2;var ratio = newScale / scale;panX = mouseX - (mouseX - panX) * ratio;panY = mouseY - (mouseY - panY) * ratio;scale = newScale;constrainPan();updateTransform();}, { passive: false });wrapper.addEventListener('mousedown', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen') || scale <= 1) return;if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;isPanning = true;hasPanned = false;lastClientX = e.clientX;lastClientY = e.clientY;});window.addEventListener('mousemove', function(e) {if (!isPanning) return;var dx = e.clientX - lastClientX;var dy = e.clientY - lastClientY;if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {hasPanned = true;}lastClientX = e.clientX;lastClientY = e.clientY;panX += dx;panY += dy;constrainPan();updateTransform();});window.addEventListener('mouseup', function() {isPanning = false;});wrapper.addEventListener('touchstart', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;if (e.touches.length === 2) {e.preventDefault();var dx = e.touches[0].clientX - e.touches[1].clientX;var dy = e.touches[0].clientY - e.touches[1].clientY;initialDistance = Math.sqrt(dx * dx + dy * dy);var rect = wrapper.getBoundingClientRect();lastCenterX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;lastCenterY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;hasPanned = true;} else if (e.touches.length === 1 && scale > 1) {if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;isPanning = true;hasPanned = false;lastClientX = e.touches[0].clientX;lastClientY = e.touches[0].clientY;}}, { passive: false });wrapper.addEventListener('touchmove', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;if (e.touches.length === 2 && initialDistance !== null) {e.preventDefault();var dx = e.touches[0].clientX - e.touches[1].clientX;var dy = e.touches[0].clientY - e.touches[1].clientY;var distance = Math.sqrt(dx * dx + dy * dy);if (initialDistance > 0) {var zoomFactor = distance / initialDistance;var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));var rect = wrapper.getBoundingClientRect();var centerX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;var centerY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;var ratio = newScale / scale;panX = centerX - (centerX - panX) * ratio;panY = centerY - (centerY - panY) * ratio;if (lastCenterX !== null && lastCenterY !== null) {panX += (centerX - lastCenterX);panY += (centerY - lastCenterY);}scale = newScale;lastCenterX = centerX;lastCenterY = centerY;constrainPan();updateTransform();}initialDistance = distance;} else if (e.touches.length === 1 && isPanning) {e.preventDefault();var dx = e.touches[0].clientX - lastClientX;var dy = e.touches[0].clientY - lastClientY;if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {hasPanned = true;}lastClientX = e.touches[0].clientX;lastClientY = e.touches[0].clientY;panX += dx;panY += dy;constrainPan();updateTransform();}}, { passive: false });wrapper.addEventListener('touchend', function(e) {if (e.touches.length < 2) {initialDistance = null;}if (e.touches.length === 0) {isPanning = false;}});function handleMove(clientX) {var rect = inner.getBoundingClientRect();var x = Math.max(0, Math.min(clientX - rect.left, rect.width));var percent = Math.max(0, Math.min((x / rect.width) * 100, 100));if (slider) slider.style.setProperty('left', percent + '%', 'important');if (fgImage) fgImage.style.setProperty('clip-path', 'polygon(0 0, ' + percent + '% 0, ' + percent + '% 100%, 0 100%)', 'important');if (labelLeft) {if (percent < 10) {labelLeft.style.setProperty('opacity', '0', 'important');} else {labelLeft.style.setProperty('opacity', '1', 'important');}}if (labelRight) {if (percent > 90) {labelRight.style.setProperty('opacity', '0', 'important');} else {labelRight.style.setProperty('opacity', '1', 'important');}}}function onMouseMove(e) {if (!isDragging) return;handleMove(e.clientX);}function onTouchMove(e) {if (!isDragging) return;e.preventDefault();handleMove(e.touches[0].clientX);}function stopDragging() {isDragging = false;window.removeEventListener('mousemove', onMouseMove);window.removeEventListener('mouseup', stopDragging);window.removeEventListener('touchmove', onTouchMove);window.removeEventListener('touchend', stopDragging);}if (slider) {var startDrag = function(clientX) {isDragging = true;handleMove(clientX);window.addEventListener('mousemove', onMouseMove);window.addEventListener('mouseup', stopDragging);};var startTouchDrag = function(clientX) {isDragging = true;handleMove(clientX);window.addEventListener('touchmove', onTouchMove, { passive: false });window.addEventListener('touchend', stopDragging);};slider.addEventListener('mousedown', function(e) {e.preventDefault();startDrag(e.clientX);});slider.addEventListener('touchstart', function(e) {e.preventDefault();startTouchDrag(e.touches[0].clientX);}, { passive: false });}var expandBtn = wrapper.querySelector('.fv-image-compare-expand-btn');var closeBtn = wrapper.querySelector('.fv-image-compare-close-btn');if (expandBtn) {if (window !== window.parent) {expandBtn.style.display = 'none';} else {expandBtn.addEventListener('click', function(e) {e.stopPropagation();wrapper.classList.add('fv-image-compare-fullscreen');document.body.style.overflow = 'hidden';if (fgImage && fgImage.dataset.highresSrc) {fgImage.src = fgImage.dataset.highresSrc;fgImage.removeAttribute('srcset');fgImage.removeAttribute('sizes');}if (bgImage && bgImage.dataset.highresSrc) {bgImage.src = bgImage.dataset.highresSrc;bgImage.removeAttribute('srcset');bgImage.removeAttribute('sizes');}});}}if (closeBtn) {closeBtn.addEventListener('click', function(e) {e.stopPropagation();wrapper.classList.remove('fv-image-compare-fullscreen');document.body.style.overflow = '';updateTransform();});}document.addEventListener('keydown', function(e) {if (e.key === 'Escape' && wrapper.classList.contains('fv-image-compare-fullscreen')) {wrapper.classList.remove('fv-image-compare-fullscreen');document.body.style.overflow = '';updateTransform();}});});var hotspots = chartWrapper.querySelectorAll('.fv-stl-hotspot-btn');var allProductsModal = chartWrapper.querySelector('.fv-stl-all-products-modal');var shopAllBtn = chartWrapper.querySelector('.fv-stl-shop-all-btn');var allProductsList = chartWrapper.querySelector('.fv-stl-all-products-list');var stlContainer = chartWrapper.querySelector('.fv-stl-container');function closeAllModals() {if (allProductsModal) {allProductsModal.classList.remove('is-active');var items = allProductsModal.querySelectorAll('.fv-stl-all-products-item');items.forEach(function(item) {item.classList.remove('is-highlighted');});if (stlContainer) {setTimeout(function() {if (!allProductsModal.classList.contains('is-active')) {stlContainer.style.minHeight = '';if ('parentIFrame' in window) {window.parentIFrame.size();}}}, 300);}}hotspots.forEach(function(btn) { btn.setAttribute('aria-expanded', 'false'); });if ('parentIFrame' in window) {window.parentIFrame.size();}}hotspots.forEach(function(btn) {btn.addEventListener('click', function(e) {e.stopPropagation();var hotspotId = btn.getAttribute('data-hotspot-id');var isExpanded = btn.getAttribute('aria-expanded') === 'true';closeAllModals();if (!isExpanded && allProductsModal) {btn.setAttribute('aria-expanded', 'true');allProductsModal.classList.add('is-active');var container = btn.closest('.fv-stl-container');if (container && container.offsetHeight < 450) {container.style.minHeight = '450px';}var targetItem = allProductsModal.querySelector('.fv-stl-all-products-item[data-product-id="' + hotspotId + '"]');if (targetItem) {targetItem.classList.add('is-highlighted');setTimeout(function() {targetItem.scrollIntoView({ behavior: 'smooth', block: 'center' });}, 100);}if ('parentIFrame' in window) {window.parentIFrame.size();}}});});if (shopAllBtn && allProductsModal) {shopAllBtn.addEventListener('click', function(e) {e.stopPropagation();closeAllModals();allProductsModal.classList.add('is-active');var container = shopAllBtn.closest('.fv-stl-container');if (container && container.offsetHeight < 450) {container.style.minHeight = '450px';}if ('parentIFrame' in window) {window.parentIFrame.size();}});}if (allProductsModal) {var closeAllBtn = allProductsModal.querySelector('.fv-stl-all-products-close');if (closeAllBtn) {closeAllBtn.addEventListener('click', function(e) {e.stopPropagation();closeAllModals();});}}chartWrapper.addEventListener('click', function(e) {if (!e.target.closest('.fv-stl-all-products-content')) {closeAllModals();}});if (allProductsModal) {allProductsModal.addEventListener('click', function(e) {if (!e.target.closest('.fv-stl-all-products-content')) {closeAllModals();}});}var iaNodes = chartWrapper.querySelectorAll('.fv-ia-node-button');var iaWrapper = chartWrapper.querySelector('.fv-ia-wrapper');var originalCaption = chartWrapper.querySelector('.fv-original-caption') || captionEl;var dynamicCaption = chartWrapper.querySelector('.fv-ia-dynamic-caption');var exploreBtn = chartWrapper.querySelector('.fv-ia-explore-btn');var currentIaIndex = -1;function closeAllIANodes() {iaNodes.forEach(function(btn) { btn.classList.remove('is-active'); });if (originalCaption) originalCaption.style.display = 'block';if (dynamicCaption) dynamicCaption.style.display = 'none';}function resetExploreBtn() {currentIaIndex = -1;if (exploreBtn) {var exploreSpan = exploreBtn.querySelector('span');if (exploreSpan) exploreSpan.textContent = 'Explore';}}iaNodes.forEach(function(btn, index) {btn.addEventListener('click', function(e) {e.stopPropagation();var isActive = btn.classList.contains('is-active');closeAllIANodes();if (!isActive) {currentIaIndex = index;if (exploreBtn) {var exploreSpan = exploreBtn.querySelector('span');if (exploreSpan) exploreSpan.textContent = 'Next';}btn.classList.add('is-active');if (dynamicCaption) {var title = btn.getAttribute('data-title') || '';var desc = btn.getAttribute('data-desc') || '';dynamicCaption.innerHTML = '';var strongTag = document.createElement('strong');strongTag.textContent = title;dynamicCaption.appendChild(strongTag);if (desc) {dynamicCaption.appendChild(document.createTextNode(' - ' + desc));}if (originalCaption) originalCaption.style.display = 'none';dynamicCaption.style.display = 'block';if (footerContentEl) footerContentEl.style.display = 'block';}} else {resetExploreBtn();}});});if (exploreBtn) {exploreBtn.addEventListener('click', function(e) {e.stopPropagation();if (iaNodes.length === 0) return;var nextIndex = currentIaIndex + 1;if (nextIndex >= iaNodes.length) {closeAllIANodes();resetExploreBtn();} else {currentIaIndex = nextIndex;var targetBtn = iaNodes[currentIaIndex];if (targetBtn) {if(targetBtn.classList.contains('is-active')) {targetBtn.click();}targetBtn.click();}}});}if (iaWrapper) {iaWrapper.addEventListener('click', function(e) {if (!e.target.closest('.fv-ia-node-button') && !e.target.closest('.fv-ia-explore-btn')) {closeAllIANodes();resetExploreBtn();}});}window.fvAnimateCharts(chartWrapper);var countdownContainer = chartWrapper.querySelector('.fv-countdown-container');if (countdownContainer) {var targetDateAttr = countdownContainer.getAttribute('data-target-date');if (targetDateAttr) {var targetDate = new Date(targetDateAttr);var primaryColor = countdownContainer.getAttribute('data-primary-color') || '#f97316';var subheadColor = countdownContainer.getAttribute('data-subhead-color') || '#ffffff';var pad = function(n) { return (n < 10 ? '0' : '') + n; };var updateCountdown = function() {var difference = +targetDate - +new Date();var d = 0, h = 0, m = 0, s = 0;if (difference > 0) {d = Math.floor(difference / (1000 * 60 * 60 * 24));h = Math.floor((difference / (1000 * 60 * 60)) % 24);m = Math.floor((difference / 1000 / 60) % 60);s = Math.floor((difference / 1000) % 60);}var daysEl = countdownContainer.querySelector('[data-time="days"]');var hoursEl = countdownContainer.querySelector('[data-time="hours"]');var minsEl = countdownContainer.querySelector('[data-time="minutes"]');var secsEl = countdownContainer.querySelector('[data-time="seconds"]');if (daysEl) daysEl.textContent = d;if (hoursEl) hoursEl.textContent = pad(h);if (minsEl) minsEl.textContent = pad(m);if (secsEl) secsEl.textContent = pad(s);};updateCountdown();setInterval(updateCountdown, 1000);}}}if (false) {var slideshowContainer = document.getElementById(uniqueId + '-slideshow');if (slideshowContainer) {var slides = slideshowContainer.querySelectorAll('.fv-slide');slides.forEach(function(slide) {setupWrapper(slide.querySelector('.fv-chart-wrapper'));});}} else {setupWrapper(root);}}if (document.readyState === 'loading') {document.addEventListener('DOMContentLoaded', function() { initialize('fv-chart-1790607426801-muejn7a43', false); });} else {initialize('fv-chart-1790607426801-muejn7a43', false);}})();</script></div><p>It’s not loud in operation, registering around 60db while cleaning on carpet. The dock emptying is a little louder, topping out at 69db (around the level of normal conversation), although this is pretty brief so shouldn’t be too disruptive.</p><p>The Qrevo 2 Pro uses dust bags so emptying it of dirt is quick and neat, although that does add ongoing costs to using it. You will also need to empty the waste water and refill the clean water tanks regularly which is easy to do (as long as you leave enough clearance room above the robot) as these lift out of the dock and then can be unclipped open for emptying or filling.</p><p>Smart home integration worked well for starting a whole house clean but I did have a little trouble using the room clean function for custom named rooms. Naming a room one of the default names such as Kitchen or Living Room worked fine, but a custom name such as Utility Room sparked a whole house clean instead.</p><p>While custom room names would be helpful, even getting default room cleaning to work is not a guarantee with any of the robot vacuum cleaners I have tested so, relatively, this is a success.</p><ul><li><strong>Performance score: 4.5 out of 5</strong></li></ul><h2 id="roborock-qrevo-2-pro-app">Roborock Qrevo 2 Pro: app</h2><ul><li><strong>Easy setup</strong></li><li><strong>Clear house map</strong></li><li><strong>Can set frequent types of clean and schedule cleans</strong></li></ul><p>The app is simple to use, although I did find it can sometimes get a little lost if you select your cleaning mode too quickly, meaning you have to move to another mode and back again before getting the options you need.</p><p>Once you select the robot you are shown the map of your home and have four tabs to select the type of clean you want, 'Full', 'Room', 'Zone' and 'Routine'. 'Full' starts a clean of the whole map and to the left of the play button there is a button for adjusting the type of clean including whether you want to vacuum and mop, just vacuum or just mop. There are also controls for the level of suction, waterflow, amount of times you want the robot to clean the area and the intensity of the cleaning pattern.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/297TZfb4vgsbHpjGMAv8TA-1920-80.png" alt="App home screen for Roborock Qrevo 2 Pro" /><figcaption>The app is simple to use provided you don't hop between modes too quickly<small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/GzLjqQU4Yi8XXK6mCJRLXA-1920-80.png" alt="House map for Roborock Qrevo 2 Pro in app" /><figcaption>Select your robot to see a map of your home<small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/cVb9V3L46ABA3NkALET6JA-1920-80.png" alt="Cleaning settings for Roborock Qrevo 2 Pro in app" /><figcaption>You can adjust the settings for the vacuum and mop independently<small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/Uo3hAVTPa2yjVAQAGuLMbA-1920-80.png" alt="Routines and scheduling for Roborock Qrevo 2 Pro in app" /><figcaption>The 'Routine' option allows you to schedule different types of cleaning<small role="credit">Future</small></figcaption></figure></figure><p>Room allows you to select one or more rooms to clean, while Zones lets you pick multiple rectangular sections of your chosen size on the map for it to clean, allowing you to spot clean specific sections of floor. </p><p>'Routine' is the final option and allows you to create shortcuts for regular types of clean that will then be available from the opening screen on the app. This is useful for setting up things like zone cleans that focus around a dining table following a meal or if you want a predefined deep clean compared with a light maintenance clean.</p><p>Despite the name, 'Routine' doesn’t include any scheduling functionality by default. That is hidden somewhat in the settings menu, but can be used with scheduled cleans (if your home doesn’t regularly have bits of Lego on the floor like mine does). </p><ul><li><strong>App score: 5 out of 5</strong></li></ul><h3 class="article-body__section" id="section-should-you-buy-the-roborock-qrevo-2-pro"><span>Should you buy the Roborock Qrevo 2 Pro?</span></h3><div ><table><thead><tr><th class="firstcol " ><p>Attribute</p></th><th  ><p>Notes</p></th><th  ><p>Score</p></th></tr></thead><tbody><tr><td class="firstcol " ><p>Value for money</p></td><td  ><p>Even at full price the Qrevo 2 Pro represents good value and at a discount price it is a fantastic deal. You will need to consider the price of disposable dust bags in the running costs but you’ll be hard pressed to find these features and performance for less.</p></td><td  ><p>5/5</p></td></tr><tr><td class="firstcol " ><p>Design</p></td><td  ><p>The design is more focused on function than form but it is unfussy and designed to fit into most homes. The tall mounting of the lidar scanner will stop it from cleaning under low furniture.</p><p><br></p></td><td  ><p>4/5</p></td></tr><tr><td class="firstcol " ><p>Performance</p></td><td  ><p>Vacuuming performance is good and mopping is excellent although It did have trouble picking up on a charging cable in our object avoidance tests leading it to get stuck.</p><p><br></p></td><td  ><p>4.5/5</p></td></tr><tr><td class="firstcol " ><p>App</p></td><td  ><p>The app makes it easy to control, with simple options for choosing the type and location of cleans as well as a clear map of your home.</p></td><td  ><p>5/5</p></td></tr></tbody></table></div><h2 id="buy-it-if">Buy it if</h2><div class="product"><p><strong>You have a lot of hard flooring that needs regular mopping. </strong></p><p>On the maximum settings, it cleaned as well as any robot mop I have tested and even if you have carpeted areas the removable mop heads mean you don’t have to worry about it getting those damp.</p></div><div class="product"><p><strong>You don’t want to spend over $1,000</strong></p><p>Cleaning performance matches almost any robot vacuum regardless of price making it a great value option if you are shopping on a budget.</p></div><div class="product"><p><strong>You hate the mess of emptying dust bins</strong></p><p>Disposable bags may add to the running costs but emptying the dock is a quick and clean enough that you don’t have to get another vacuum out to clean up after.</p></div><h2 id="don-39-t-buy-it-if">Don't buy it if</h2><div class="product"><p><strong>You only have carpeted floors</strong></p><p>The mop functionality adds to the price so if you’re not going to use it look at vacuum only options.</p></div><div class="product"><p><strong>You have high thresholds between rooms</strong></p><p>More expensive options add the ability to navigate over higher divisions between rooms, the Qvero 2 Pro will be able to handle most regular passageways but its not designed for complex terrain.</p></div><div class="product"><p><strong>You’re looking for the cheapest viable option</strong></p><p>While it does offer excellent value, you can pick up a good robovac for less if your budget is tight.<a class="view-deal button" href="" target="_blank" rel="nofollow" data-dimension112="fce094fc-bb55-11f1-9fbf-37f14852bbb7" data-action="Deal Block" data-label="You’re looking for the cheapest viable optionWhile it does offer excellent value, you can pick up a good robovac for less if your budget is tight." data-dimension48="You’re looking for the cheapest viable optionWhile it does offer excellent value, you can pick up a good robovac for less if your budget is tight." data-dimension25="">View Deal</a></p></div><h3 class="article-body__section" id="section-how-i-tested-the-roborock-qrevo-2-pro"><span>How I tested the Roborock Qrevo 2 Pro</span></h3><p>I tested the Roborock Qrevo 2 Pro over a period of over two weeks, using it as an everyday cleaner of a busy household. </p><p>As well as day to day use I put it through a series of tests, assessing its performance picking up fine particles and larger debris on carpet and hard floor by having it clean an area with a set amount of rice and tea sprinkled on the surface. Edge cleaning was also tested using tea on the edge of a carpet and hard floor area.</p><p>Mopping performance was tested by having the robot clean up a spill of soy sauce, as well as tackling a patch of dried ketchup. After an initial pass on regular settings, this was then retested with cleaning settings set to maximum.</p><p><em>First reviewed September 2026</em></p> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/home/robot-vacuums/roborock-qrevo-2-pro-review</link>
                                                                            <description>
                            <![CDATA[ Excellent mopping and good vacuuming put it on a par with much more expensive rivals, and make it a great choice if you have mixed floor types. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">H64QBYHg3hTv2DAEcLnUnn</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/9JTgMwZZqkPudD82tm8kNB-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Mon, 28 Sep 2026 16:15:45 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Robot Vacuums]]></category>
                                                    <category><![CDATA[Home]]></category>
                                                    <category><![CDATA[Smart Home]]></category>
                                                                                                                    <dc:creator><![CDATA[ Tim Gee ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/e5mNB7vdKmiKgzc5SzXNMB-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/9JTgMwZZqkPudD82tm8kNB-1920-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Roborock Qrevo 2 Pro in its dock]]></media:description>                                                            <media:text><![CDATA[Roborock Qrevo 2 Pro in its dock]]></media:text>
                                <media:title type="plain"><![CDATA[Roborock Qrevo 2 Pro in its dock]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/9JTgMwZZqkPudD82tm8kNB-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <h3 class="article-body__section" id="section-roborock-qvero-2-pro-30-second-review"><span>Roborock Qvero 2 Pro: 30-second review</span></h3><p>The Qrevo 2 Pro is the latest robot vacuum and mop combo cleaner from Roborock and includes detachable mop plates to help ensure it doesn’t get carpets wet while cleaning.</p><p>Cleaning performance is a match for some of the most expensive options on the market with its mopping being as good as I have ever tested making it a fantastic pick for the price.</p><p>It is relatively tall so it can’t clean under low furniture and its hard floor cleaning isn’t flawless but it is an excellent option, especially when on sale.</p><h3 class="article-body__section" id="section-roborock-qrevo-2-pro-price-availability"><span>Roborock Qrevo 2 Pro: price & availability</span></h3><ul><li><strong>List price: $799.99 / £649.99 / AU$1,199 </strong></li><li><strong>Launch date: August 2026</strong></li><li><strong>Availability: worldwide </strong></li></ul><p>The Roborock Qrevo 2 Pro sits right on the line between premium and mid-range robot vacuums, with a list price $799.99 / £649.99 / AU$1,199. However, almost immediately after launch I have already seen it get a significant discount to $549 / £549.99, tipping it firmly into the more affordable category — especially considering the features and performance.</p><p>Even at full price it sits below the Roborock’s Curv models and produces similar results (although it doesn’t have the AdaptLift chassis for getting over higher thresholds between rooms) making it an excellent value pick. If you’re looking to spend less, the Roborock Q7 is a good alternative although it has much lower suction power and doesn’t have an auto-empty dock.</p><p>A branded floor cleaner compatible with the Qrevo 2 Pro is available on Roborock’s website but they don’t push this hard and after testing it without it, it’s definitely not required.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="LrKZEnFhKQJuA7T26JLzhB" name="Roborock Qrevo 2 Pro dock dust bag-1" alt="Roborock Qrevo 2 Pro dock open, showing dust bag" src="https://cdn.mos.cms.futurecdn.net/LrKZEnFhKQJuA7T26JLzhB-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">You don't have to use Roborock's own floor cleaner, but you will need to buy disposable dust bags </span><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>What you will need to buy are disposable dust bags as these are thrown away once full. A three-pack costs $39.90 in the US, and a six-pack is £31.99 in the UK, so this needs to be considered in the running costs. I have tested Roborocks with cheaper unbranded dust bags in the past and not encountered problems, but check model compatibility before ordering.</p><p>You can also buy replacement brushes, mop pads, filters and other parts in case anything breaks. </p><ul><li><strong>Value score: 5 out of 5</strong></li></ul><h3 class="article-body__section" id="section-roborock-qrevo-2-pro-review-design"><span>Roborock Qrevo 2 Pro review: design</span></h3><ul><li><strong>Smart-looking robot and dock</strong></li><li><strong>Can’t get under low furniture</strong></li><li><strong>Smart home integration</strong></li></ul><p>Available in all white or black (currently only available in white in the UK and Australia) it is pretty unfussy in terms of design with the dock a bit squarer than the slightly bulbous base stations of Roborock’s Curv series.</p><p>The robot is circular, measuring 14 inches wide with a 6-inch cleaning opening underneath for picking up dirt.</p><p>The lidar scanner the robot uses to navigate sits in a cage on top of the robot, increasing its height and reducing its clearance so it won’t be able to vacuum under low furniture like a sofa, unlike Roborock’s Qvrevo CurvX with its retractable lidar scanner.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/CaVGxiF8EKtFaFn67ctoyB-1920-80.jpg" alt="Roborock Qrevo 2 Pro cleaning under edge of furniture" /><figcaption>The robot's lidar scanner doesn't retract, so it can't fit under low furniture<small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/uHFyQ2JFGsyLcepWSofZuB-1920-80.jpg" alt="Roborock Qrevo 2 Pro in its dock" /><figcaption>The dock is easy to set up, provided you have sufficient space<small role="credit">Future</small></figcaption></figure></figure><p>Setting the dock up is easy, involving just attaching the ramp to the front of the dock, filling the clean water tank and plugging it in. The more difficult part may be finding a place for it as it needs to sit on a hard floor with at least 1.5 inches either side and 27.5 inches of clear space in front of the dock. It also needs to be within reach of a power socket and somewhere you won’t trip up over it or mind looking at it everyday.</p><p>Smart home integration is included with it compatible with <a href="https://www.techradar.com/news/matter-will-revolutionize-your-smart-home-heres-everything-you-need-to-know">the Matter standard</a>, Google Home, and Amazon Alexa</p><ul><li><strong>Design score: 4 out of 5</strong></li></ul><h3 class="article-body__section" id="section-roborock-qrevo-2-pro-performance"><span>Roborock Qrevo 2 Pro: performance</span></h3><ul><li><strong>Excellent mopping on maximum settings</strong></li><li><strong>Good vacuum performance</strong></li><li><strong>Did get caught on charging cable</strong></li></ul><p>Set up is simple, you will need to find an appropriate spot for the dock on a hard floor with plenty of space either side. You then download the app, pair the robot and then you can send it on a discovery run around your house to build a map.</p><p>Once it has scanned the space you can then edit the map to combine or divide spaces into rooms, mark areas as no-go zones, manually designate floor types and mark things like curtains and furniture. I found that aside from ensuring the rooms are divided correctly I didn’t have to make any changes to get it to work well, with the carpeted areas successfully detected.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="6LNj7vJspstxuHzD6SEuyB" name="Roborock Qrevo 2 Pro underneath-1" alt="Underneath of Roborock Qrevo 2 Pro" src="https://cdn.mos.cms.futurecdn.net/6LNj7vJspstxuHzD6SEuyB-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">The robot has detachable mop pads, which it leaves in its dock after mopping your floors </span><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>After setup you can use the app to kickstart cleans of the whole map, one or more selected rooms or a designated zone clean you can mark on the map. As well as ad hoc cleans you can set routines for different types of cleans from deep intensive cleans, to specific after dinner cleans of smaller zones or light maintenance vacuuming without mopping.</p><p>As the Qrevo 2 Pro has detachable mops, rather than vacuuming and mopping room by room it first goes around the carpeted areas of the whole space you are cleaning first. Once that is complete it returns to the dock to reattach the mop heads before cleaning the rest of the hard floors.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="AFMYPnWv9y8sCiiJAXX47C" name="Roborock Qrevo 2 Pro obstacle test-1" alt="Roborock Qrevo 2 Pro avoiding obstacles on the floor" src="https://cdn.mos.cms.futurecdn.net/AFMYPnWv9y8sCiiJAXX47C-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">Obstacle detection was generally good, though the Qrevo 2 Pro did get caught on a USB charging cable </span><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Cleaning performance is OK on hard floors, although it can lead to some spreading of larger debris as the edge cleaning arm sent rice grains skittering across the floor. It did better with fine particles, although there was still some tea visible on a pass on the standard cleaning settings.</p><p>It handled larger particles much better on carpet, picking up almost every single grain of rice, although there was some tea left after the first pass.</p><p>As with most robot vacuums, its edge cleaning wasn't great on carpet, but the sweeping brush does well to move material into the vacuum’s path on hard floors..</p><div class="vizualizer-embed"><style>@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap');#fv-chart-1790607075785-manmdg66k *, #fv-chart-1790607075785-manmdg66k *:before, #fv-chart-1790607075785-manmdg66k *:after, #fv-chart-1790607075785-manmdg66k-slideshow *, #fv-chart-1790607075785-manmdg66k-slideshow *:before, #fv-chart-1790607075785-manmdg66k-slideshow *:after {box-sizing: border-box !important; margin: 0; padding: 0; border: 0;font-size: 100%; font: inherit; vertical-align: baseline;}#fv-chart-1790607075785-manmdg66k, #fv-chart-1790607075785-manmdg66k-slideshow { font-family: 'Open Sans', sans-serif !important; }#fv-chart-1790607075785-manmdg66k {position: relative !important; overflow: visible !important;--riv-primary: #2E6E93;}#fv-chart-1790607075785-manmdg66k .fv-inner-wrapper {color: #1F2937 !important; background-color: #ffffff !important;padding: 1.5rem 1.5rem 2rem !important; border-radius: 0.5rem !important;box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important;margin: 1rem 0 !important; display: flex !important; flex-direction: column !important;overflow: hidden !important;}#fv-chart-1790607075785-manmdg66k .fv-inner-wrapper.fv-no-header.fv-is-image-compare {padding-top: 0 !important;}#fv-chart-1790607075785-manmdg66k.fv-full-bleed {width: 100vw !important;margin-left: calc(50% - 50vw) !important;}body {overflow-x: clip !important;}#fv-chart-1790607075785-manmdg66k.fv-full-bleed .fv-inner-wrapper {padding: 0 !important;border-radius: 0 !important;box-shadow: none !important;margin: 0 !important;background-color: transparent !important;}#fv-chart-1790607075785-manmdg66k .fv-inner-wrapper.fv-is-shop-the-look {padding: 0 !important;border-radius: 0 !important;box-shadow: none !important;margin: 0 !important;background-color: transparent !important;}#fv-chart-1790607075785-manmdg66k-slideshow {position: relative !important;width: 100% !important;margin: 1rem 0 !important;--riv-primary: #2E6E93;}#fv-chart-1790607075785-manmdg66k-slideshow .fv-slides-wrapper {position: relative !important;width: 100% !important;}#fv-chart-1790607075785-manmdg66k-slideshow .fv-slide {width: 100% !important;animation: fv-fade-in 0.3s ease-in-out;}@keyframes fv-fade-in {from { opacity: 0; }to { opacity: 1; }}#fv-chart-1790607075785-manmdg66k-slideshow .fv-slideshow-nav-row {position: relative !important;display: flex !important;justify-content: space-between !important;align-items: center !important;padding: 0 0 16px 0 !important;width: 100% !important;z-index: 20 !important;}#fv-chart-1790607075785-manmdg66k-slideshow .fv-nav-btn {background-color: var(--riv-primary) !important;color: #ffffff !important;border: none !important;border-radius: 4px !important;padding: 8px 16px !important;font-size: 14px !important;font-weight: 700 !important;cursor: pointer !important;display: flex !important;align-items: center !important;justify-content: center !important;gap: 6px !important;transition: opacity 0.2s, background-color 0.2s !important;height: 36px !important;text-transform: none !important;box-shadow: 0 1px 2px rgba(0,0,0,0.1) !important;}#fv-chart-1790607075785-manmdg66k-slideshow .fv-nav-btn svg {width: 18px !important;height: 18px !important;stroke-width: 3px !important;filter: none !important;}#fv-chart-1790607075785-manmdg66k-slideshow .fv-nav-btn:hover {opacity: 0.9 !important;transform: translateY(-1px) !important;}#fv-chart-1790607075785-manmdg66k-slideshow .fv-nav-btn.disabled {background-color: #E5E7EB !important;color: #9CA3AF !important;cursor: default !important;pointer-events: none !important;box-shadow: none !important;}#fv-chart-1790607075785-manmdg66k-slideshow .fv-slide-counter {font-family: 'Poppins', sans-serif !important;font-size: 14px !important;font-weight: 600 !important;color: #374151 !important;text-align: center !important;min-width: 40px !important;background-color: rgba(255,255,255,0.8) !important;padding: 2px 8px !important;border-radius: 10px !important;}#fv-chart-1790607075785-manmdg66k-slideshow .fv-slideshow-select {position: absolute !important;top: 10px !important;right: 10px !important;z-index: 20 !important;appearance: none !important;-webkit-appearance: none !important;-moz-appearance: none !important;background-color: white !important;border: 1px solid #d1d5db !important;color: #1F2937 !important;font-family: 'Open Sans', sans-serif !important;font-size: 14px !important;font-weight: 600 !important;padding: 6px 32px 6px 12px !important;border-radius: 4px !important;cursor: pointer !important;box-shadow: 0 1px 2px rgba(0,0,0,0.05) !important;background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e") !important;background-position: right 0.5rem center !important;background-repeat: no-repeat !important;background-size: 1.5em 1.5em !important;}#fv-chart-1790607075785-manmdg66k-slideshow .fv-slideshow-select:focus {outline: 2px solid #2E6E93 !important;border-color: #2E6E93 !important;}#fv-chart-1790607075785-manmdg66k .fv-chart-title {font-weight: bold !important;text-align: center !important;margin-bottom: 0.5rem !important;color: var(--riv-primary) !important;font-size: 20px !important;line-height: 1.2 !important;font-family: 'Open Sans', sans-serif !important;text-transform: none !important;white-space: normal !important;overflow-wrap: break-word !important;padding: 0 20px !important;}#fv-chart-1790607075785-manmdg66k .fv-chart-subhead {font-size: 18px !important;font-weight: 500 !important;text-align: center !important;margin-bottom: 2rem !important;color: #374151 !important;line-height: 1.7 !important;font-family: 'Open Sans', sans-serif !important;display: block !important;text-transform: none !important;padding: 0 20px !important;}#fv-chart-1790607075785-manmdg66k .rv-chart-caption { font-size: 15px !important; color: #374151 !important; text-align: center !important; font-style: normal !important; font-weight: normal !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; }#fv-chart-1790607075785-manmdg66k .fv-versus-chart { display: flex; flex-direction: column; width: 100%; margin-top: 1rem; }#fv-chart-1790607075785-manmdg66k .fv-versus-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding: 0 1rem; }#fv-chart-1790607075785-manmdg66k .fv-versus-select-wrapper { flex: 1; min-width: 0; }#fv-chart-1790607075785-manmdg66k .fv-versus-select-wrapper.fv-left { text-align: center; padding-right: 1rem; }#fv-chart-1790607075785-manmdg66k .fv-versus-select-wrapper.fv-right { text-align: center; padding-left: 1rem; }#fv-chart-1790607075785-manmdg66k .fv-versus-select-container { position: relative; display: inline-block; max-width: 100%; width: 100%; }#fv-chart-1790607075785-manmdg66k .fv-versus-chevron { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; width: 16px; height: 16px; flex-shrink: 0; }#fv-chart-1790607075785-manmdg66k .fv-versus-select-wrapper.fv-left .fv-versus-chevron { right: 0; }#fv-chart-1790607075785-manmdg66k .fv-versus-select-wrapper.fv-right .fv-versus-chevron { right: 0; }#fv-chart-1790607075785-manmdg66k .fv-versus-select { background: transparent; border: none; border-bottom: 2px solid; font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; padding: 0.25rem 0; cursor: pointer; outline: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; max-width: 100%; width: 100%; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; }#fv-chart-1790607075785-manmdg66k .fv-versus-select.fv-select-left { text-align: center; direction: ltr; padding-right: 1.25rem; }#fv-chart-1790607075785-manmdg66k .fv-versus-select.fv-select-right { text-align: center; padding-right: 1.25rem; }#fv-chart-1790607075785-manmdg66k .fv-versus-select option { font-family: 'Open Sans', sans-serif; font-weight: 400; font-size: 14px; color: #374151; direction: ltr; text-align: left; }#fv-chart-1790607075785-manmdg66k .fv-versus-vs { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; color: #374151; letter-spacing: 0.1em; padding: 0 1rem; }#fv-chart-1790607075785-manmdg66k .fv-versus-body { display: flex; flex-direction: column; gap: 1.5rem; }#fv-chart-1790607075785-manmdg66k .fv-versus-row { position: relative; height: auto; padding-top: 20px; margin-bottom: 0.25rem; display: block; }#fv-chart-1790607075785-manmdg66k .fv-versus-bar-container { position: relative; height: 32px; display: flex; align-items: center; }#fv-chart-1790607075785-manmdg66k .fv-versus-bar-left-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-end; align-items: center; }#fv-chart-1790607075785-manmdg66k .fv-versus-bar-right-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-start; align-items: center; }#fv-chart-1790607075785-manmdg66k .fv-versus-bar { height: 32px; width: var(--target-width); transition: width 0.8s ease-out; animation: fv-grow-max-width 0.8s ease-out forwards; display: flex; align-items: center; overflow: hidden; color: #ffffff; }#fv-chart-1790607075785-manmdg66k .fv-versus-bar-left { border-radius: 4px 0 0 4px; justify-content: flex-end; padding: 0 8px; }#fv-chart-1790607075785-manmdg66k .fv-versus-bar-right { border-radius: 0 4px 4px 0; justify-content: flex-start; padding: 0 8px; }@keyframes fv-grow-max-width {from { max-width: 0; }to { max-width: 100%; }}#fv-chart-1790607075785-manmdg66k .fv-versus-center-line { position: absolute; left: 50%; top: 0; bottom: 0; width: 4px; background-color: #ffffff; transform: translateX(-50%); z-index: 1; }#fv-chart-1790607075785-manmdg66k .fv-inside-left { white-space: nowrap; flex-shrink: 0; }#fv-chart-1790607075785-manmdg66k .fv-inside-right { white-space: nowrap; flex-shrink: 0; }#fv-chart-1790607075785-manmdg66k .fv-versus-val-text { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; }#fv-chart-1790607075785-manmdg66k .fv-versus-pct-diff { font-size: 12px; font-weight: 600; }#fv-chart-1790607075785-manmdg66k .fv-versus-label { position: absolute; left: 50%; transform: translateX(-50%); top: 0; background-color: transparent; border: none; box-shadow: none; padding: 0; font-family: 'Open Sans', sans-serif; font-weight: 700; font-size: 14px; color: #374151; white-space: nowrap; }#fv-chart-1790607075785-manmdg66k .sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }#fv-chart-1790607075785-manmdg66k .fv-image-compare-container { width: auto !important; margin-left: -1.5rem !important; margin-right: -1.5rem !important; margin-bottom: 2rem !important; }#fv-chart-1790607075785-manmdg66k.fv-full-bleed .fv-image-compare-container { width: 100% !important; max-width: none !important; margin: 0 auto !important; }#fv-chart-1790607075785-manmdg66k .fv-image-compare-wrapper { position: relative !important; width: 100% !important; overflow: hidden !important; border-radius: 0 !important; background-color: #000 !important; touch-action: pan-y !important; user-select: none !important; -webkit-user-select: none !important; }#fv-chart-1790607075785-manmdg66k .fv-image-compare-inner { position: relative !important; width: 100% !important; height: 100% !important; display: block !important; transform-origin: center center !important; transition: transform 0.1s ease-out !important; }#fv-chart-1790607075785-manmdg66k .fv-image-compare-bg { display: block !important; width: 100% !important; height: auto !important; pointer-events: none !important; user-select: none !important; -webkit-user-select: none !important; -webkit-user-drag: none !important; }#fv-chart-1790607075785-manmdg66k .fv-image-compare-fg { position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; object-fit: cover !important; clip-path: polygon(0 0, 50% 0, 50% 100%, 0 100%) !important; pointer-events: none !important; user-select: none !important; -webkit-user-select: none !important; -webkit-user-drag: none !important; }#fv-chart-1790607075785-manmdg66k .fv-image-compare-slider { position: absolute !important; top: 0 !important; bottom: 0 !important; left: 50% !important; width: 32px !important; transform: translateX(-50%) !important; cursor: ew-resize !important; z-index: 10 !important; user-select: none !important; -webkit-user-select: none !important; }#fv-chart-1790607075785-manmdg66k .fv-image-compare-slider-line { position: absolute !important; top: 0 !important; bottom: 0 !important; left: 50% !important; width: 4px !important; background-color: white !important; transform: translateX(-50%) !important; box-shadow: 0 0 10px rgba(0,0,0,0.5) !important; pointer-events: none !important; }#fv-chart-1790607075785-manmdg66k .fv-image-compare-handle { position: absolute !important; top: 50% !important; left: 50% !important; transform: translate(-50%, -50%) !important; width: 32px !important; height: 32px !important; background-color: white !important; border-radius: 50% !important; box-shadow: 0 2px 6px rgba(0,0,0,0.3) !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 4px !important; pointer-events: none !important; z-index: 11 !important; overflow: hidden !important; }#fv-chart-1790607075785-manmdg66k .fv-image-compare-handle.fv-image-compare-handle-square { border-radius: 6px !important; }#fv-chart-1790607075785-manmdg66k .fv-image-compare-arrow-left { width: 0 !important; height: 0 !important; border-top: 4px solid transparent !important; border-bottom: 4px solid transparent !important; border-right: 4px solid #4b5563 !important; }#fv-chart-1790607075785-manmdg66k .fv-image-compare-arrow-right { width: 0 !important; height: 0 !important; border-top: 4px solid transparent !important; border-bottom: 4px solid transparent !important; border-left: 4px solid #4b5563 !important; }#fv-chart-1790607075785-manmdg66k .fv-image-compare-label { position: absolute !important; top: 1rem !important; background-color: rgba(0, 0, 0, 0.5) !important; color: white !important; padding: 0.25rem 0.75rem !important; border-radius: 0.25rem !important; font-size: 0.875rem !important; font-weight: 500 !important; pointer-events: none !important; backdrop-filter: blur(4px) !important; z-index: 5 !important; transition: right 0.3s ease, opacity 0.2s ease !important; }#fv-chart-1790607075785-manmdg66k .fv-image-compare-label-left { left: 1rem !important; }#fv-chart-1790607075785-manmdg66k .fv-image-compare-label-right { right: 1rem !important; }#fv-chart-1790607075785-manmdg66k .fv-image-compare-expand-btn, #fv-chart-1790607075785-manmdg66k .fv-image-compare-close-btn { position: absolute !important; bottom: 1rem !important; right: 1rem !important; background-color: rgba(0, 0, 0, 0.5) !important; color: white !important; border: none !important; border-radius: 0.25rem !important; padding: 0.5rem !important; cursor: pointer !important; z-index: 20 !important; display: flex !important; align-items: center !important; justify-content: center !important; backdrop-filter: blur(4px) !important; transition: background-color 0.2s !important; }#fv-chart-1790607075785-manmdg66k .fv-image-compare-expand-btn:hover, #fv-chart-1790607075785-manmdg66k .fv-image-compare-close-btn:hover { background-color: rgba(0, 0, 0, 0.7) !important; }#fv-chart-1790607075785-manmdg66k .fv-image-compare-close-btn { display: none !important; top: 1rem !important; bottom: auto !important; }#fv-chart-1790607075785-manmdg66k .fv-image-compare-wrapper.fv-image-compare-fullscreen { position: fixed !important; top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important; width: 100% !important; height: 100% !important; z-index: 999999 !important; display: flex !important; align-items: center !important; justify-content: center !important; background-color: rgba(0, 0, 0, 0.9) !important; margin: 0 !important; touch-action: none !important; }#fv-chart-1790607075785-manmdg66k .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-inner { width: 100% !important; height: 100% !important; display: flex !important; align-items: center !important; justify-content: center !important; cursor: grab !important; }#fv-chart-1790607075785-manmdg66k .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-inner:active { cursor: grabbing !important; }#fv-chart-1790607075785-manmdg66k .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-bg { position: absolute !important; top: 0 !important; left: 0 !important; max-width: 100% !important; max-height: 100% !important; width: 100% !important; height: 100% !important; object-fit: contain !important; }#fv-chart-1790607075785-manmdg66k .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-fg { max-width: 100% !important; max-height: 100% !important; width: 100% !important; height: 100% !important; object-fit: contain !important; }#fv-chart-1790607075785-manmdg66k .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-expand-btn { display: none !important; }#fv-chart-1790607075785-manmdg66k .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-close-btn { display: flex !important; }#fv-chart-1790607075785-manmdg66k .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-label-right { right: 4rem !important; }#fv-chart-1790607075785-manmdg66k .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; }#fv-chart-1790607075785-manmdg66k .fv-footer-content { text-align: center !important; width: 100% !important; }#fv-chart-1790607075785-manmdg66k .fv-logo {display: block !important;margin: 0 auto !important;width: 120px !important;min-width: 120px !important;max-width: 120px !important;height: auto !important;object-fit: contain !important;flex-shrink: 0 !important;}#fv-chart-1790607075785-manmdg66k .fv-dropdown-wrapper { text-align: center !important; margin-bottom: 16px !important; margin-top: 0 !important; }#fv-chart-1790607075785-manmdg66k .fv-dropdown-title-container { position: relative !important; display: inline-block !important; max-width: 100% !important; }#fv-chart-1790607075785-manmdg66k .fv-dropdown-title {appearance: none !important;-webkit-appearance: none !important;-moz-appearance: none !important;background: transparent !important;border: none !important;font-size: 18px !important;font-weight: 600 !important;color: var(--riv-primary) !important;padding-right: 28px !important;padding-left: 10px !important;cursor: pointer !important;text-align: center !important;text-align-last: center !important;width: auto !important;max-width: 100% !important;font-family: 'Open Sans', sans-serif !important;line-height: 1.3 !important;margin: 0 !important;text-overflow: ellipsis !important;overflow: hidden !important;white-space: nowrap !important;}#fv-chart-1790607075785-manmdg66k .fv-dropdown-title:focus { outline: none !important; }#fv-chart-1790607075785-manmdg66k .fv-dropdown-title::-ms-expand { display: none !important; }#fv-chart-1790607075785-manmdg66k .fv-dropdown-chevron {position: absolute !important;right: 0 !important;top: 50% !important;transform: translateY(-50%) !important;pointer-events: none !important;color: var(--riv-primary) !important;display: flex !important;align-items: center !important;}#fv-chart-1790607075785-manmdg66k .fv-carousel-title-controls { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 16px !important; width: 100% !important; gap: 12px !important; }#fv-chart-1790607075785-manmdg66k .fv-carousel-nav-btn {background: transparent !important; border: 1px solid #d1d5db !important; border-radius: 6px !important; padding: 6px 10px !important;cursor: pointer !important; font-size: 14px !important; color: #374151 !important; display: flex !important; align-items: center !important; gap: 4px !important; font-family: 'Open Sans', sans-serif !important;}#fv-chart-1790607075785-manmdg66k .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; }#fv-chart-1790607075785-manmdg66k .fv-carousel-counter { font-size: 14px !important; color: #374151 !important; text-align: center !important; margin-top: 1rem !important; }#fv-chart-1790607075785-manmdg66k .fv-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 8px 16px !important; margin: 0 !important; padding: 0 !important; margin-top: 1rem !important; }#fv-chart-1790607075785-manmdg66k .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #374151 !important; }#fv-chart-1790607075785-manmdg66k .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; }#fv-chart-1790607075785-manmdg66k .fv-multi-value-legend {display: flex !important;justify-content: center !important;flex-wrap: wrap !important;gap: 12px 24px !important;margin-bottom: 1.5rem !important;padding: 0 !important;}#fv-chart-1790607075785-manmdg66k .fv-multi-legend-item { display: flex !important; align-items: center !important; gap: 8px !important; font-size: 14px !important; color: #374151 !important; font-weight: 500 !important; }#fv-chart-1790607075785-manmdg66k .fv-multi-legend-swatch { width: 16px !important; height: 16px !important; border-radius: 3px !important; }#fv-chart-1790607075785-manmdg66k .fv-benchmark-group { margin-bottom: 1rem !important; }#fv-chart-1790607075785-manmdg66k .fv-benchmark-title {font-size: 18px !important; font-weight: 600 !important; margin-bottom: 16px !important; margin-top: 0 !important; padding: 0 !important;text-align: center !important; color: var(--riv-primary) !important; flex: 1 !important; min-width: 0 !important;font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important;text-transform: none !important;white-space: normal !important;overflow-wrap: break-word !important;word-wrap: break-word !important;max-width: 100% !important;}#fv-chart-1790607075785-manmdg66k .fv-bar-row, #fv-chart-1790607075785-manmdg66k .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; position: relative !important; }#fv-chart-1790607075785-manmdg66k .fv-bar-label { width: 150px !important; flex-shrink: 0 !important; font-size: 14px !important; color: #374151 !important; padding-right: 10px !important; text-align: right !important; font-weight: 500 !important; display: block !important; }#fv-chart-1790607075785-manmdg66k .fv-bar-container { flex-grow: 1 !important; background-color: #E5E7EB !important; border-radius: 4px !important; min-height: 25px !important; border: 1px solid #D1D5DB !important; position: relative !important; display: flex !important; align-items: center !important; }#fv-chart-1790607075785-manmdg66k .fv-bar-commentary-inline { display: none !important; position: absolute !important; left: 150px !important; top: 0 !important; bottom: 0 !important; right: 0 !important; width: calc(100% - 150px) !important; margin: 0 !important; padding: 0 8px !important; font-size: 13px !important; color: #fff !important; background: rgba(0,0,0,0.8) !important; border-radius: 4px !important; line-height: 1.4 !important; font-weight: normal !important; text-transform: none !important; word-wrap: break-word !important; z-index: 10 !important; align-items: center !important; overflow-y: auto !important; }#fv-chart-1790607075785-manmdg66k.preview-wrapper .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1790607075785-manmdg66k.preview-wrapper .fv-bar-commentary-inline:focus, #fv-chart-1790607075785-manmdg66k.preview-wrapper .fv-bar-commentary-inline:focus-within, #fv-chart-1790607075785-manmdg66k.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1790607075785-manmdg66k.mobile-view .fv-bar-commentary-inline:focus, #fv-chart-1790607075785-manmdg66k.mobile-view .fv-bar-commentary-inline:focus-within { display: flex !important; }#fv-chart-1790607075785-manmdg66k .fv-bar { height: 100% !important; border-radius: 3px !important; display: flex !important; align-items: center !important; transition: opacity 0.2s ease, width 0.8s ease-out !important; min-height: 23px !important; }#fv-chart-1790607075785-manmdg66k .fv-bar:hover { opacity: 0.8 !important; }#fv-chart-1790607075785-manmdg66k .fv-bar-inner-content { display: flex !important; justify-content: space-between !important; align-items: center !important; width: 100% !important; height: 100% !important; padding: 0 8px !important; font-size: 14px !important; font-weight: bold !important; overflow: hidden !important; }#fv-chart-1790607075785-manmdg66k .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; }#fv-chart-1790607075785-manmdg66k .fv-bar-inner-value { flex-shrink: 0 !important; }#fv-chart-1790607075785-manmdg66k .fv-bar-value-outside { padding-left: 8px !important; font-size: 14px !important; font-weight: bold !important; color: #374151 !important; white-space: nowrap !important; }#fv-chart-1790607075785-manmdg66k .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; }#fv-chart-1790607075785-manmdg66k .fv-multi-bar-container { flex-direction: column !important; padding: 4px !important; align-items: stretch !important; gap: 4px !important; height: auto !important; }#fv-chart-1790607075785-manmdg66k .fv-multi-bar-item { display: flex !important; align-items: center !important; height: 25px !important; width: 100% !important; }#fv-chart-1790607075785-manmdg66k .fv-stacked-bar { display: flex !important; overflow: hidden !important; }#fv-chart-1790607075785-manmdg66k .fv-stacked-segment { height: 100% !important; display: flex !important; align-items: center !important; justify-content: flex-end !important; padding-right: 8px !important; border-right: 1px solid rgba(255,255,255,0.3) !important; }#fv-chart-1790607075785-manmdg66k .fv-stacked-segment:last-child { border-right: none !important; }#fv-chart-1790607075785-manmdg66k .fv-segment-value { font-size: 14px !important; font-weight: bold !important; }#fv-chart-1790607075785-manmdg66k .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; }#fv-chart-1790607075785-manmdg66k .fv-grouped-product-title-wrapper { padding-left: 150px !important; }#fv-chart-1790607075785-manmdg66k .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.5rem !important; font-weight: 700 !important; font-size: 14px !important; color: #374151 !important; text-transform: none !important; }#fv-chart-1790607075785-manmdg66k .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; }#fv-chart-1790607075785-manmdg66k .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; }#fv-chart-1790607075785-manmdg66k .fv-bar-cluster .fv-bar-container { height: 20px !important; }#fv-chart-1790607075785-manmdg66k .riv-grid line {stroke: #D1D5DB !important;stroke-dasharray: 3 3 !important;}#fv-chart-1790607075785-manmdg66k .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; }#fv-chart-1790607075785-manmdg66k .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; }#fv-chart-1790607075785-manmdg66k .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; }#fv-chart-1790607075785-manmdg66k .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; }#fv-chart-1790607075785-manmdg66k .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; }#fv-chart-1790607075785-manmdg66k .fv-x-axis-ticks { display: flex !important; justify-content: space-between !important; padding-top: 4px !important; font-size: 13px !important; color: #374151 !important; }#fv-chart-1790607075785-manmdg66k .fv-x-axis-ticks span { position: relative !important; }#fv-chart-1790607075785-manmdg66k .fv-x-axis-ticks span::before { content: '' !important; position: absolute !important; top: -6px !important; left: 50% !important; transform: translateX(-50%) !important; width: 2px !important; height: 4px !important; background-color: #D1D5DB !important; border-radius: 1px !important; }#fv-chart-1790607075785-manmdg66k .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #374151 !important; margin-top: 8px !important; display: block !important; }#fv-chart-1790607075785-manmdg66k .fv-x-axis-title { text-align: center !important; font-size: 15px !important; color: #374151 !important; margin-top: 8px !important; margin-bottom: 16px !important; line-height: 1.5 !important; padding: 0 1rem !important; display: block !important; font-weight: bold !important; }#fv-chart-1790607075785-manmdg66k .fv-y-axis-title {font-size: 15px !important;color: #374151 !important;line-height: 1.5 !important;text-align: left !important;padding-left: 5.83% !important;margin-bottom: 4px !important;display: block !important;font-weight: bold !important;}#fv-chart-1790607075785-manmdg66k.mobile-view .fv-pie-container,#fv-chart-1790607075785-manmdg66k.labels-on-top .fv-pie-container {flex-direction: column !important; gap: 1rem !important;}#fv-chart-1790607075785-manmdg66k.mobile-view .fv-grouped-product-title-wrapper,#fv-chart-1790607075785-manmdg66k.labels-on-top .fv-grouped-product-title-wrapper {padding-left: 0 !important;}#fv-chart-1790607075785-manmdg66k.mobile-view .fv-bar-row,#fv-chart-1790607075785-manmdg66k.mobile-view .fv-stacked-product,#fv-chart-1790607075785-manmdg66k.mobile-view .fv-grouped-bar-product,#fv-chart-1790607075785-manmdg66k.labels-on-top .fv-bar-row,#fv-chart-1790607075785-manmdg66k.labels-on-top .fv-stacked-product,#fv-chart-1790607075785-manmdg66k.labels-on-top .fv-grouped-bar-product {flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important;}#fv-chart-1790607075785-manmdg66k.mobile-view .fv-bar-label:not(.fv-grouped-product-title),#fv-chart-1790607075785-manmdg66k.labels-on-top .fv-bar-label:not(.fv-grouped-product-title) {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1790607075785-manmdg66k.mobile-view .fv-bar-label,#fv-chart-1790607075785-manmdg66k.mobile-view .fv-grouped-product-title,#fv-chart-1790607075785-manmdg66k.labels-on-top .fv-bar-label,#fv-chart-1790607075785-manmdg66k.labels-on-top .fv-grouped-product-title {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1790607075785-manmdg66k.mobile-view .fv-bar-container,#fv-chart-1790607075785-manmdg66k.mobile-view .fv-bar-cluster,#fv-chart-1790607075785-manmdg66k.labels-on-top .fv-bar-container,#fv-chart-1790607075785-manmdg66k.labels-on-top .fv-bar-cluster {width: 100% !important;}#fv-chart-1790607075785-manmdg66k.mobile-view .fv-bar-row .fv-bar-commentary-inline,#fv-chart-1790607075785-manmdg66k.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline,#fv-chart-1790607075785-manmdg66k.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus,#fv-chart-1790607075785-manmdg66k.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus-within,#fv-chart-1790607075785-manmdg66k.labels-on-top .fv-bar-row .fv-bar-commentary-inline,#fv-chart-1790607075785-manmdg66k.labels-on-top .fv-bar-row:hover .fv-bar-commentary-inline,#fv-chart-1790607075785-manmdg66k.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus,#fv-chart-1790607075785-manmdg66k.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus-within {position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important;}#fv-chart-1790607075785-manmdg66k.mobile-view .fv-x-axis-wrapper,#fv-chart-1790607075785-manmdg66k.labels-on-top .fv-x-axis-wrapper {margin-left: 0 !important;}#fv-chart-1790607075785-manmdg66k.mobile-view .fv-x-axis-label-space,#fv-chart-1790607075785-manmdg66k.labels-on-top .fv-x-axis-label-space {display: none !important;}#fv-chart-1790607075785-manmdg66k.mobile-view .fv-x-axis-chart-space,#fv-chart-1790607075785-manmdg66k.labels-on-top .fv-x-axis-chart-space {padding-right: 0 !important;}#fv-chart-1790607075785-manmdg66k.mobile-view .fv-benchmark-title,#fv-chart-1790607075785-manmdg66k.labels-on-top .fv-benchmark-title {font-size: 16px !important;}#fv-chart-1790607075785-manmdg66k.mobile-view .fv-dropdown-title,#fv-chart-1790607075785-manmdg66k.labels-on-top .fv-dropdown-title {font-size: 16px !important;}#fv-chart-1790607075785-manmdg66k.mobile-view .fv-carousel-nav-btn,#fv-chart-1790607075785-manmdg66k.labels-on-top .fv-carousel-nav-btn {padding: 8px 12px !important; font-size: 14px !important;}#fv-chart-1790607075785-manmdg66k.mobile-view .fv-chart-title,#fv-chart-1790607075785-manmdg66k.labels-on-top .fv-chart-title {padding: 0 8px !important;}#fv-chart-1790607075785-manmdg66k.mobile-view .fv-chart-subhead,#fv-chart-1790607075785-manmdg66k.labels-on-top .fv-chart-subhead {padding: 0 8px !important;}#fv-chart-1790607075785-manmdg66k.mobile-view .fv-versus-header,#fv-chart-1790607075785-manmdg66k.labels-on-top .fv-versus-header {flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important;}#fv-chart-1790607075785-manmdg66k.mobile-view .fv-versus-select-wrapper,#fv-chart-1790607075785-manmdg66k.labels-on-top .fv-versus-select-wrapper {flex: 1 !important; min-width: 0 !important; width: 100% !important;}#fv-chart-1790607075785-manmdg66k.mobile-view .fv-versus-select-wrapper.fv-left,#fv-chart-1790607075785-manmdg66k.labels-on-top .fv-versus-select-wrapper.fv-left {text-align: center !important; padding-right: 0 !important;}#fv-chart-1790607075785-manmdg66k.mobile-view .fv-versus-select-wrapper.fv-right,#fv-chart-1790607075785-manmdg66k.labels-on-top .fv-versus-select-wrapper.fv-right {text-align: center !important; padding-left: 0 !important;}#fv-chart-1790607075785-manmdg66k.mobile-view .fv-versus-select.fv-select-left,#fv-chart-1790607075785-manmdg66k.labels-on-top .fv-versus-select.fv-select-left {text-align: center !important;}#fv-chart-1790607075785-manmdg66k.mobile-view .fv-versus-select.fv-select-right,#fv-chart-1790607075785-manmdg66k.labels-on-top .fv-versus-select.fv-select-right {text-align: center !important;}#fv-chart-1790607075785-manmdg66k.mobile-view .fv-versus-vs,#fv-chart-1790607075785-manmdg66k.labels-on-top .fv-versus-vs {text-align: center !important; padding: 0.25rem 0 !important;}#fv-chart-1790607075785-manmdg66k.mobile-view .fv-versus-select-container,#fv-chart-1790607075785-manmdg66k.labels-on-top .fv-versus-select-container {max-width: 100% !important; width: 100% !important;}#fv-chart-1790607075785-manmdg66k.mobile-view .fv-versus-select,#fv-chart-1790607075785-manmdg66k.labels-on-top .fv-versus-select {font-size: 14px !important; width: 100% !important;}#fv-chart-1790607075785-manmdg66k.mobile-view .fv-stl-shop-all-btn,#fv-chart-1790607075785-manmdg66k.labels-on-top .fv-stl-shop-all-btn {bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important;}#fv-chart-1790607075785-manmdg66k.mobile-view .fv-stl-shop-all-logo,#fv-chart-1790607075785-manmdg66k.mobile-view .fv-stl-shop-all-icon,#fv-chart-1790607075785-manmdg66k.labels-on-top .fv-stl-shop-all-logo,#fv-chart-1790607075785-manmdg66k.labels-on-top .fv-stl-shop-all-icon {width: 2rem !important; height: 2rem !important;}#fv-chart-1790607075785-manmdg66k.mobile-view .fv-stl-shop-all-icon svg,#fv-chart-1790607075785-manmdg66k.labels-on-top .fv-stl-shop-all-icon svg {width: 14px !important; height: 14px !important;}#fv-chart-1790607075785-manmdg66k.mobile-view .fv-bar-commentary-inline,#fv-chart-1790607075785-manmdg66k.labels-on-top .fv-bar-commentary-inline {display: block !important; margin-left: 0 !important; width: 100% !important;}#fv-chart-1790607075785-manmdg66k.mobile-view .fv-y-axis-title { padding-left: 5% !important;  }#fv-chart-1790607075785-manmdg66k.mobile-view.fv-contains-line-chart .fv-footer-content {margin-left: -1rem !important;margin-right: -1rem !important;}@media (max-width: 599px) {#fv-chart-1790607075785-manmdg66k .fv-pie-container {flex-direction: column !important; gap: 1rem !important;}#fv-chart-1790607075785-manmdg66k .fv-grouped-product-title-wrapper {padding-left: 0 !important;}#fv-chart-1790607075785-manmdg66k .fv-bar-row,#fv-chart-1790607075785-manmdg66k .fv-stacked-product,#fv-chart-1790607075785-manmdg66k .fv-grouped-bar-product {flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important;}#fv-chart-1790607075785-manmdg66k .fv-bar-label:not(.fv-grouped-product-title) {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1790607075785-manmdg66k .fv-bar-label,#fv-chart-1790607075785-manmdg66k .fv-grouped-product-title {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1790607075785-manmdg66k .fv-bar-container,#fv-chart-1790607075785-manmdg66k .fv-bar-cluster {width: 100% !important;}#fv-chart-1790607075785-manmdg66k .fv-bar-row .fv-bar-commentary-inline,#fv-chart-1790607075785-manmdg66k .fv-bar-row:hover .fv-bar-commentary-inline,#fv-chart-1790607075785-manmdg66k .fv-bar-row .fv-bar-commentary-inline:focus,#fv-chart-1790607075785-manmdg66k .fv-bar-row .fv-bar-commentary-inline:focus-within {position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important;}#fv-chart-1790607075785-manmdg66k .fv-x-axis-wrapper {margin-left: 0 !important;}#fv-chart-1790607075785-manmdg66k .fv-x-axis-label-space {display: none !important;}#fv-chart-1790607075785-manmdg66k .fv-x-axis-chart-space {padding-right: 0 !important;}#fv-chart-1790607075785-manmdg66k .fv-benchmark-title {font-size: 16px !important;}#fv-chart-1790607075785-manmdg66k .fv-dropdown-title {font-size: 16px !important;}#fv-chart-1790607075785-manmdg66k .fv-carousel-nav-btn {padding: 8px 12px !important; font-size: 14px !important;}#fv-chart-1790607075785-manmdg66k .fv-chart-title {padding: 0 8px !important;}#fv-chart-1790607075785-manmdg66k .fv-chart-subhead {padding: 0 8px !important;}#fv-chart-1790607075785-manmdg66k .fv-versus-header {flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important;}#fv-chart-1790607075785-manmdg66k .fv-versus-select-wrapper {flex: 1 !important; min-width: 0 !important; width: 100% !important;}#fv-chart-1790607075785-manmdg66k .fv-versus-select-wrapper.fv-left {text-align: center !important; padding-right: 0 !important;}#fv-chart-1790607075785-manmdg66k .fv-versus-select-wrapper.fv-right {text-align: center !important; padding-left: 0 !important;}#fv-chart-1790607075785-manmdg66k .fv-versus-select.fv-select-left {text-align: center !important;}#fv-chart-1790607075785-manmdg66k .fv-versus-select.fv-select-right {text-align: center !important;}#fv-chart-1790607075785-manmdg66k .fv-versus-vs {text-align: center !important; padding: 0.25rem 0 !important;}#fv-chart-1790607075785-manmdg66k .fv-versus-select-container {max-width: 100% !important; width: 100% !important;}#fv-chart-1790607075785-manmdg66k .fv-versus-select {font-size: 14px !important; width: 100% !important;}#fv-chart-1790607075785-manmdg66k .fv-stl-shop-all-btn {bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important;}#fv-chart-1790607075785-manmdg66k .fv-stl-shop-all-logo,#fv-chart-1790607075785-manmdg66k .fv-stl-shop-all-icon {width: 2rem !important; height: 2rem !important;}#fv-chart-1790607075785-manmdg66k .fv-stl-shop-all-icon svg {width: 14px !important; height: 14px !important;}#fv-chart-1790607075785-manmdg66k .fv-bar-commentary-inline {display: block !important; margin-left: 0 !important; width: 100% !important;}#fv-chart-1790607075785-manmdg66k .fv-y-axis-title { padding-left: 5% !important;  }#fv-chart-1790607075785-manmdg66k.fv-contains-line-chart .fv-footer-content {margin-left: -1rem !important;margin-right: -1rem !important;}}</style><script type="application/ld+json">{"@context": "https://schema.org","@type": "Dataset","name": "Vacuum test","description": "Testing performance of Roborock vacuum cleaner on carpeted floor","creator": {"@type": "Organization","name": "TechRadar","logo": "https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png"},"isAccessibleForFree": true,"dateCreated": "2026-09-28T14:51:15.785Z","citation": "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized","keywords": ["Image Comparison","benchmark","comparison","performance","review","TechRadar"],"measurementTechnique": "Performance Benchmarking","variableMeasured": []}</script><div id="fv-chart-1790607075785-manmdg66k" class="fv-chart-wrapper   " data-bar-labels-on-top="false" data-iframe-height="true" data-vizualizer-embed="true"><div class="fv-inner-wrapper fv-no-header fv-is-image-compare  "><div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1790607075785-manmdg66k-image-compare-1" data-chart-type="Image Comparison" data-title="Image Comparison" data-subhead="Testing performance of Roborock vacuum cleaner on carpeted floor" data-caption="" style=""><div class="fv-benchmark-group"><div class="fv-image-compare-container"><div class="fv-image-compare-wrapper" data-image-compare="true"><div class="fv-image-compare-inner"><img src="https://cdn.mos.cms.futurecdn.net/Laf7t7Qow84BUutMk94b5C.jpg" data-highres-src="https://cdn.mos.cms.futurecdn.net/Laf7t7Qow84BUutMk94b5C.jpg" alt="After vacuuming" class="fv-image-compare-bg" loading="lazy" referrerpolicy="no-referrer" draggable="false" /><img src="https://cdn.mos.cms.futurecdn.net/7qNX2jFNFixVwWmm22UU5C.jpg" data-highres-src="https://cdn.mos.cms.futurecdn.net/7qNX2jFNFixVwWmm22UU5C.jpg" alt="Before vacuuming" class="fv-image-compare-fg" loading="lazy" referrerpolicy="no-referrer" draggable="false" /><div class="fv-image-compare-slider"><div class="fv-image-compare-slider-line"></div><div class="fv-image-compare-handle "><img src="https://proof.vanilla.tools/media/images/brandLogos/techradar.png" alt="Brand Logo" style="width: 100%; height: 100%; object-fit: cover;" /></div></div></div><div class="fv-image-compare-label fv-image-compare-label-left">Before</div><div class="fv-image-compare-label fv-image-compare-label-right">After</div><button class="fv-image-compare-expand-btn" aria-label="Expand Image"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 8V4h4"/><path d="M20 8V4h-4"/><path d="M4 16v4h4"/><path d="M20 16v4h-4"/><circle cx="11.5" cy="11.5" r="3.5"/><path d="m14 14 3 3"/></svg></button><button class="fv-image-compare-close-btn" aria-label="Close Fullscreen"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg></button></div></div></div></div></div><div class="fv-bottom-bar"><div class="fv-footer-content" style="display: none;"><div class="rv-chart-caption" style="display: block;"><span class="fv-original-caption" style="display: block;"></span><span class="fv-ia-dynamic-caption" style="display: none;"></span></div></div><div class="fv-logo-explore-bar"><img class="fv-logo" src="https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png" alt="TechRadar Logo"></div></div></div></div><script>window.iFrameResizer = {heightCalculationMethod: 'taggedElement'};</script><script src="https://cdnjs.cloudflare.com/ajax/libs/iframe-resizer/4.2.11/iframeResizer.contentWindow.min.js" async></script><script>(function() {window.fvAnimateCharts = function(chartWrapper) {if (!chartWrapper) return;function animateBars(chartElement) {if (!chartElement) return;var bars = chartElement.querySelectorAll('.fv-bar, .fv-stacked-segment');bars.forEach(function(bar, index) {bar.style.setProperty('width', '0%', 'important');bar.style.setProperty('transition', 'none', 'important');var targetWidth = bar.dataset.targetWidth;if (targetWidth === undefined) return;void bar.offsetWidth;var targetMargin = bar.dataset.targetMargin;var baseMargin = bar.dataset.baseMargin;if (baseMargin !== undefined) {bar.style.setProperty('margin-left', baseMargin + '%', 'important');}setTimeout(function() {var marginTransition = baseMargin !== undefined ? ', margin-left 0.8s ease-out' : '';bar.style.setProperty('transition', 'opacity 0.2s ease, width 0.8s ease-out' + marginTransition, 'important');bar.style.setProperty('width', targetWidth + '%', 'important');if (targetMargin !== undefined && baseMargin !== undefined) {bar.style.setProperty('margin-left', targetMargin + '%', 'important');}}, index * 50 + 50);});}function animateLineChart(chartElement) {if (!chartElement) return;var lineSvg = chartElement.querySelector('svg');if (!lineSvg) return;var paths = lineSvg.querySelectorAll('.riv-line-path');paths.forEach(function(p, i) {if (typeof p.getTotalLength === 'function') {var len = p.getTotalLength();p.style.transition = 'none';p.style.strokeDasharray = len;p.style.strokeDashoffset = len;p.getBoundingClientRect();setTimeout(function() {p.style.transition = 'stroke-dashoffset 1s ease-out ' + (i * 0.1) + 's, stroke-width 0.2s, opacity 0.2s';p.style.strokeDashoffset = '0';}, 100);}});var dots = lineSvg.querySelectorAll('.riv-dot');dots.forEach(function(dot, i) {dot.style.opacity = '0';setTimeout(function() {dot.style.transition = 'opacity 0.3s ease';dot.style.opacity = '1';}, 500 + i * 10);});}var charts = chartWrapper.querySelectorAll('.fv-chart-item');charts.forEach(function(chart) {if (window.getComputedStyle(chart).display === 'none') return;var chartType = chart.dataset.chartType;if (chartType === 'Line') {animateLineChart(chart);} else if (chartType !== 'Pie') {animateBars(chart);}});};function initialize(uniqueId, isSlideshow) {var root = document.getElementById(uniqueId);if (!root && !isSlideshow) return;function setupWrapper(chartWrapper) {if (!chartWrapper) return;function checkMobileView() {var width = chartWrapper.getBoundingClientRect().width;var isMobileDevice = window.screen && Math.min(window.screen.width, window.screen.height) <= 599;var isMobile;if (width === 0) {isMobile = isMobileDevice || window.matchMedia('(max-width: 599px)').matches;} else {isMobile = isMobileDevice || width < 600;}if (isMobile) {chartWrapper.classList.add('mobile-view');} else {chartWrapper.classList.remove('mobile-view');}}checkMobileView();if (typeof ResizeObserver !== 'undefined') {var ro = new ResizeObserver(function() {checkMobileView();});ro.observe(chartWrapper);}window.addEventListener('resize', checkMobileView);var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';if (labelsOnTop) {var charts = chartWrapper.querySelectorAll('.fv-chart-item');var hasVisibleBarChart = false;charts.forEach(function(c) {if (window.getComputedStyle(c).display !== 'none') {var cType = c.dataset.chartType;if (cType === 'Bar' || cType === 'Stacked Bar' || cType === 'Versus') {hasVisibleBarChart = true;}}});if (hasVisibleBarChart) {chartWrapper.classList.add('labels-on-top');} else {chartWrapper.classList.remove('labels-on-top');}} else {chartWrapper.classList.remove('labels-on-top');}chartWrapper.querySelectorAll('.riv-line-legend').forEach(function(legend) {var chartId = legend.dataset.chart;var chart = chartWrapper.querySelector('[id="' + chartId + '"]');if (!chart) return;var lines = chart.querySelectorAll('.riv-line-path');var dots = chart.querySelectorAll('.riv-dot');var legendItems = legend.querySelectorAll('.riv-legend-item');legendItems.forEach(function(item) {var productName = item.dataset.product;var safeProductName = productName.replace(/"/g, '\"');var line = chart.querySelector('.riv-line-path[data-product="' + safeProductName + '"]');var productDots = chart.querySelectorAll('.riv-dot[data-product="' + safeProductName + '"]');if (line && !line.dataset.origStroke) {line.dataset.origStroke = line.getAttribute('stroke-width') || '2';}var highlight = function() {if (legend.querySelector('.isolated')) return;lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '0.2'; });legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });if (line) {line.style.opacity = '1';line.setAttribute('stroke-width', '4');}productDots.forEach(function(d) { d.style.opacity = '1'; });item.style.opacity = '1';};var clearHighlight = function() {if (legend.querySelector('.isolated')) return;lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '1'; });legendItems.forEach(function(i) { i.style.opacity = '1'; });};var toggleIsolate = function() {var isIsolated = item.classList.contains('isolated');legendItems.forEach(function(i) { i.classList.remove('isolated'); });if (isIsolated) {lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '1'; });legendItems.forEach(function(i) { i.style.opacity = '1'; });} else {item.classList.add('isolated');lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '0.2'; });legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });if (line) {line.style.opacity = '1';line.setAttribute('stroke-width', '4');}productDots.forEach(function(d) { d.style.opacity = '1'; });item.style.opacity = '1';}};item.addEventListener('mouseenter', highlight);item.addEventListener('focus', highlight);item.addEventListener('mouseleave', clearHighlight);item.addEventListener('blur', clearHighlight);item.addEventListener('click', toggleIsolate);if (line) {line.style.cursor = 'pointer';line.addEventListener('mouseenter', highlight);line.addEventListener('mouseleave', clearHighlight);line.addEventListener('click', toggleIsolate);}});});var versusCharts = chartWrapper.querySelectorAll('.fv-versus-chart');versusCharts.forEach(function(vc) {var dataJson = vc.getAttribute('data-versus-data');var leftColor = vc.getAttribute('data-left-color') || '#E53935';var rightColor = vc.getAttribute('data-right-color') || '#FFB300';if (!dataJson) return;var versusData = JSON.parse(dataJson);var leftSelect = vc.querySelector('.fv-select-left');var rightSelect = vc.querySelector('.fv-select-right');var rows = vc.querySelectorAll('.fv-versus-row');function updateVersusChart() {var leftProduct = leftSelect.value;var rightProduct = rightSelect.value;leftSelect.style.color = leftColor;leftSelect.style.borderColor = leftColor;rightSelect.style.color = rightColor;rightSelect.style.borderColor = rightColor;rows.forEach(function(row) {var index = parseInt(row.getAttribute('data-index'));var data = versusData[index];if (!data) return;var leftVal = data.productData[leftProduct] ? data.productData[leftProduct].value : undefined;var rightVal = data.productData[rightProduct] ? data.productData[rightProduct].value : undefined;var leftIsNum = typeof leftVal === 'number';var rightIsNum = typeof rightVal === 'number';var leftNum = leftIsNum ? leftVal : 0;var rightNum = rightIsNum ? rightVal : 0;var maxVal = Math.max(leftNum, rightNum, 0.0001);var leftWidth = leftIsNum ? (leftNum / maxVal) * 95 : 0;var rightWidth = rightIsNum ? (rightNum / maxVal) * 85 : 0;var winner = null;var pctDiffStr = null;if (leftIsNum && rightIsNum) {if (leftNum > rightNum) {winner = 'left';if (rightNum > 0) {var diff = Math.round(((leftNum - rightNum) / rightNum) * 100);pctDiffStr = '+' + diff.toLocaleString() + '%';}} else if (rightNum > leftNum) {winner = 'right';if (leftNum > 0) {var diff = Math.round(((rightNum - leftNum) / leftNum) * 100);pctDiffStr = '+' + diff.toLocaleString() + '%';}}}var leftDisplay = data.productData[leftProduct] && data.productData[leftProduct].displayValue !== undefined ? data.productData[leftProduct].displayValue : (leftIsNum ? leftNum.toLocaleString() : (leftVal !== undefined ? leftVal : '-'));var rightDisplay = data.productData[rightProduct] && data.productData[rightProduct].displayValue !== undefined ? data.productData[rightProduct].displayValue : (rightIsNum ? rightNum.toLocaleString() : (rightVal !== undefined ? rightVal : '-'));var unit = (data.productData[leftProduct] && data.productData[leftProduct].unit) ||(data.productData[rightProduct] && data.productData[rightProduct].unit) || '';var leftTextStr = leftDisplay;var rightTextStr = rightDisplay;var leftBar = row.querySelector('.fv-versus-bar-left');var rightBar = row.querySelector('.fv-versus-bar-right');var leftText = row.querySelector('.fv-inside-left');var rightText = row.querySelector('.fv-inside-right');var labelText = row.querySelector('.fv-versus-label span');var leftWrapper = row.querySelector('.fv-versus-bar-left-wrapper');var rightWrapper = row.querySelector('.fv-versus-bar-right-wrapper');var existingPctDiffs = row.querySelectorAll('.fv-versus-pct-diff');existingPctDiffs.forEach(function(el) { el.remove(); });if (winner === 'left' && pctDiffStr) {var pctSpan = document.createElement('span');pctSpan.className = 'fv-versus-pct-diff';pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';pctSpan.textContent = pctDiffStr;if (leftBar) leftBar.insertBefore(pctSpan, leftBar.firstChild);} else if (winner === 'right' && pctDiffStr) {var pctSpan = document.createElement('span');pctSpan.className = 'fv-versus-pct-diff';pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';pctSpan.textContent = pctDiffStr;if (rightBar) rightBar.appendChild(pctSpan);}if (leftBar) {leftBar.style.backgroundColor = leftColor;leftBar.dataset.targetWidth = leftWidth;leftBar.style.setProperty('--target-width', leftWidth + '%');leftBar.style.width = leftWidth + '%';}if (rightBar) {rightBar.style.backgroundColor = rightColor;rightBar.dataset.targetWidth = rightWidth;rightBar.style.setProperty('--target-width', rightWidth + '%');rightBar.style.width = rightWidth + '%';}if (leftText) {leftText.innerHTML = leftTextStr;}if (rightText) {rightText.innerHTML = rightTextStr;}if (labelText) {labelText.textContent = data.attribute + (unit ? ' (' + unit + ')' : '');}});}if (leftSelect) leftSelect.addEventListener('change', updateVersusChart);if (rightSelect) rightSelect.addEventListener('change', updateVersusChart);});var barRows = chartWrapper.querySelectorAll('.fv-bar-row');var globalCaptionEl = chartWrapper.querySelector('.rv-chart-caption');var fallbackCaptionHtml = globalCaptionEl ? globalCaptionEl.innerHTML : '';barRows.forEach(function(row) {var commentaryEl = row.querySelector('[data-commentary-key]');if (commentaryEl) {var commentaryText = commentaryEl.textContent;if (commentaryText && commentaryText.trim().length > 0) {row.addEventListener('mouseenter', function() {if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {globalCaptionEl.innerHTML = commentaryText;globalCaptionEl.classList.add('fv-bar-active-caption');}});row.addEventListener('mouseleave', function() {if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {globalCaptionEl.innerHTML = fallbackCaptionHtml;globalCaptionEl.classList.remove('fv-bar-active-caption');}});}}});var charts = chartWrapper.querySelectorAll('.fv-chart-item');var dropdown = chartWrapper.querySelector('.fv-dropdown-title');var prevBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.prev');var nextBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.next');var carouselTitle = chartWrapper.querySelector('.fv-carousel-title-controls .fv-benchmark-title');var counter = chartWrapper.querySelector('.fv-carousel-counter');var subheadEl = chartWrapper.querySelector('.fv-chart-subhead');var captionEl = chartWrapper.querySelector('.rv-chart-caption');var footerContentEl = chartWrapper.querySelector('.fv-footer-content');var bottomBarEl = chartWrapper.querySelector('.fv-bottom-bar');var logoEl = chartWrapper.querySelector('.fv-logo');if (charts.length > 1 && (dropdown || prevBtn)) {var currentChartIndex = 0;var titles = [];if (dropdown) {titles = Array.from(dropdown.options).map(function(o) { return o.text; });} else {charts.forEach(function(c) {titles.push(c.getAttribute('data-title') || '');});}function showInternalChart(index) {if (index < 0) index = charts.length - 1;if (index >= charts.length) index = 0;currentChartIndex = index;charts.forEach(function(c, i) {c.style.display = i === index ? 'block' : 'none';if (i === index) {var cType = c.dataset.chartType;if (cType === 'Line') {} else if (cType !== 'Pie') {window.fvAnimateCharts(chartWrapper);}var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';if (labelsOnTop && (cType === 'Bar' || cType === 'Stacked Bar' || cType === 'Versus')) {chartWrapper.classList.add('labels-on-top');} else {chartWrapper.classList.remove('labels-on-top');}}});if (dropdown) dropdown.value = index;if (carouselTitle && titles[index]) carouselTitle.textContent = titles[index];if (counter) counter.textContent = (index + 1) + ' of ' + charts.length;var activeChart = charts[index];if (activeChart) {var newSubhead = activeChart.getAttribute('data-subhead');var newCaption = activeChart.getAttribute('data-caption');var currentChartType = activeChart.getAttribute('data-chart-type');var hideGlobalCaption = currentChartType === 'Countdown' || currentChartType === 'Image Comparison' || currentChartType === 'Shop the Collection';if (subheadEl) subheadEl.textContent = newSubhead || '';if (captionEl) {captionEl.textContent = newCaption || '';fallbackCaptionHtml = newCaption || '';}if (footerContentEl) {if (newCaption && newCaption.trim().length > 0 && !hideGlobalCaption) {footerContentEl.style.display = 'block';if (bottomBarEl) bottomBarEl.style.display = 'flex';} else {footerContentEl.style.display = 'none';if (bottomBarEl && !logoEl) {bottomBarEl.style.display = 'none';}}}}}if (dropdown) dropdown.addEventListener('change', function(e) { showInternalChart(parseInt(e.target.value)); });if (prevBtn) prevBtn.addEventListener('click', function() { showInternalChart(currentChartIndex - 1); });if (nextBtn) nextBtn.addEventListener('click', function() { showInternalChart(currentChartIndex + 1); });}var imageCompareWrappers = chartWrapper.querySelectorAll('.fv-image-compare-wrapper');imageCompareWrappers.forEach(function(wrapper) {var inner = wrapper.querySelector('.fv-image-compare-inner') || wrapper;var slider = wrapper.querySelector('.fv-image-compare-slider');var fgImage = wrapper.querySelector('.fv-image-compare-fg');var bgImage = wrapper.querySelector('.fv-image-compare-bg');var labelLeft = wrapper.querySelector('.fv-image-compare-label-left');var labelRight = wrapper.querySelector('.fv-image-compare-label-right');var isDragging = false;var scale = 1;var panX = 0;var panY = 0;var isPanning = false;var hasPanned = false;var lastClientX = 0;var lastClientY = 0;var initialDistance = null;var lastCenterX = null;var lastCenterY = null;function updateTransform() {if (wrapper.classList.contains('fv-image-compare-fullscreen')) {inner.style.setProperty('transform', 'translate(' + panX + 'px, ' + panY + 'px) scale(' + scale + ')', 'important');} else {inner.style.removeProperty('transform');scale = 1;panX = 0;panY = 0;}}function constrainPan() {var rect = wrapper.getBoundingClientRect();var maxPanX = Math.max(0, (rect.width * scale - rect.width) / 2);var maxPanY = Math.max(0, (rect.height * scale - rect.height) / 2);panX = Math.max(-maxPanX, Math.min(panX, maxPanX));panY = Math.max(-maxPanY, Math.min(panY, maxPanY));}wrapper.addEventListener('wheel', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;e.preventDefault();var zoomSensitivity = 0.005;var zoomFactor = Math.exp(-e.deltaY * zoomSensitivity);var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));if (newScale === scale) return;var rect = wrapper.getBoundingClientRect();var mouseX = e.clientX - rect.left - rect.width / 2;var mouseY = e.clientY - rect.top - rect.height / 2;var ratio = newScale / scale;panX = mouseX - (mouseX - panX) * ratio;panY = mouseY - (mouseY - panY) * ratio;scale = newScale;constrainPan();updateTransform();}, { passive: false });wrapper.addEventListener('mousedown', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen') || scale <= 1) return;if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;isPanning = true;hasPanned = false;lastClientX = e.clientX;lastClientY = e.clientY;});window.addEventListener('mousemove', function(e) {if (!isPanning) return;var dx = e.clientX - lastClientX;var dy = e.clientY - lastClientY;if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {hasPanned = true;}lastClientX = e.clientX;lastClientY = e.clientY;panX += dx;panY += dy;constrainPan();updateTransform();});window.addEventListener('mouseup', function() {isPanning = false;});wrapper.addEventListener('touchstart', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;if (e.touches.length === 2) {e.preventDefault();var dx = e.touches[0].clientX - e.touches[1].clientX;var dy = e.touches[0].clientY - e.touches[1].clientY;initialDistance = Math.sqrt(dx * dx + dy * dy);var rect = wrapper.getBoundingClientRect();lastCenterX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;lastCenterY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;hasPanned = true;} else if (e.touches.length === 1 && scale > 1) {if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;isPanning = true;hasPanned = false;lastClientX = e.touches[0].clientX;lastClientY = e.touches[0].clientY;}}, { passive: false });wrapper.addEventListener('touchmove', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;if (e.touches.length === 2 && initialDistance !== null) {e.preventDefault();var dx = e.touches[0].clientX - e.touches[1].clientX;var dy = e.touches[0].clientY - e.touches[1].clientY;var distance = Math.sqrt(dx * dx + dy * dy);if (initialDistance > 0) {var zoomFactor = distance / initialDistance;var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));var rect = wrapper.getBoundingClientRect();var centerX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;var centerY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;var ratio = newScale / scale;panX = centerX - (centerX - panX) * ratio;panY = centerY - (centerY - panY) * ratio;if (lastCenterX !== null && lastCenterY !== null) {panX += (centerX - lastCenterX);panY += (centerY - lastCenterY);}scale = newScale;lastCenterX = centerX;lastCenterY = centerY;constrainPan();updateTransform();}initialDistance = distance;} else if (e.touches.length === 1 && isPanning) {e.preventDefault();var dx = e.touches[0].clientX - lastClientX;var dy = e.touches[0].clientY - lastClientY;if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {hasPanned = true;}lastClientX = e.touches[0].clientX;lastClientY = e.touches[0].clientY;panX += dx;panY += dy;constrainPan();updateTransform();}}, { passive: false });wrapper.addEventListener('touchend', function(e) {if (e.touches.length < 2) {initialDistance = null;}if (e.touches.length === 0) {isPanning = false;}});function handleMove(clientX) {var rect = inner.getBoundingClientRect();var x = Math.max(0, Math.min(clientX - rect.left, rect.width));var percent = Math.max(0, Math.min((x / rect.width) * 100, 100));if (slider) slider.style.setProperty('left', percent + '%', 'important');if (fgImage) fgImage.style.setProperty('clip-path', 'polygon(0 0, ' + percent + '% 0, ' + percent + '% 100%, 0 100%)', 'important');if (labelLeft) {if (percent < 10) {labelLeft.style.setProperty('opacity', '0', 'important');} else {labelLeft.style.setProperty('opacity', '1', 'important');}}if (labelRight) {if (percent > 90) {labelRight.style.setProperty('opacity', '0', 'important');} else {labelRight.style.setProperty('opacity', '1', 'important');}}}function onMouseMove(e) {if (!isDragging) return;handleMove(e.clientX);}function onTouchMove(e) {if (!isDragging) return;e.preventDefault();handleMove(e.touches[0].clientX);}function stopDragging() {isDragging = false;window.removeEventListener('mousemove', onMouseMove);window.removeEventListener('mouseup', stopDragging);window.removeEventListener('touchmove', onTouchMove);window.removeEventListener('touchend', stopDragging);}if (slider) {var startDrag = function(clientX) {isDragging = true;handleMove(clientX);window.addEventListener('mousemove', onMouseMove);window.addEventListener('mouseup', stopDragging);};var startTouchDrag = function(clientX) {isDragging = true;handleMove(clientX);window.addEventListener('touchmove', onTouchMove, { passive: false });window.addEventListener('touchend', stopDragging);};slider.addEventListener('mousedown', function(e) {e.preventDefault();startDrag(e.clientX);});slider.addEventListener('touchstart', function(e) {e.preventDefault();startTouchDrag(e.touches[0].clientX);}, { passive: false });}var expandBtn = wrapper.querySelector('.fv-image-compare-expand-btn');var closeBtn = wrapper.querySelector('.fv-image-compare-close-btn');if (expandBtn) {if (window !== window.parent) {expandBtn.style.display = 'none';} else {expandBtn.addEventListener('click', function(e) {e.stopPropagation();wrapper.classList.add('fv-image-compare-fullscreen');document.body.style.overflow = 'hidden';if (fgImage && fgImage.dataset.highresSrc) {fgImage.src = fgImage.dataset.highresSrc;fgImage.removeAttribute('srcset');fgImage.removeAttribute('sizes');}if (bgImage && bgImage.dataset.highresSrc) {bgImage.src = bgImage.dataset.highresSrc;bgImage.removeAttribute('srcset');bgImage.removeAttribute('sizes');}});}}if (closeBtn) {closeBtn.addEventListener('click', function(e) {e.stopPropagation();wrapper.classList.remove('fv-image-compare-fullscreen');document.body.style.overflow = '';updateTransform();});}document.addEventListener('keydown', function(e) {if (e.key === 'Escape' && wrapper.classList.contains('fv-image-compare-fullscreen')) {wrapper.classList.remove('fv-image-compare-fullscreen');document.body.style.overflow = '';updateTransform();}});});var hotspots = chartWrapper.querySelectorAll('.fv-stl-hotspot-btn');var allProductsModal = chartWrapper.querySelector('.fv-stl-all-products-modal');var shopAllBtn = chartWrapper.querySelector('.fv-stl-shop-all-btn');var allProductsList = chartWrapper.querySelector('.fv-stl-all-products-list');var stlContainer = chartWrapper.querySelector('.fv-stl-container');function closeAllModals() {if (allProductsModal) {allProductsModal.classList.remove('is-active');var items = allProductsModal.querySelectorAll('.fv-stl-all-products-item');items.forEach(function(item) {item.classList.remove('is-highlighted');});if (stlContainer) {setTimeout(function() {if (!allProductsModal.classList.contains('is-active')) {stlContainer.style.minHeight = '';if ('parentIFrame' in window) {window.parentIFrame.size();}}}, 300);}}hotspots.forEach(function(btn) { btn.setAttribute('aria-expanded', 'false'); });if ('parentIFrame' in window) {window.parentIFrame.size();}}hotspots.forEach(function(btn) {btn.addEventListener('click', function(e) {e.stopPropagation();var hotspotId = btn.getAttribute('data-hotspot-id');var isExpanded = btn.getAttribute('aria-expanded') === 'true';closeAllModals();if (!isExpanded && allProductsModal) {btn.setAttribute('aria-expanded', 'true');allProductsModal.classList.add('is-active');var container = btn.closest('.fv-stl-container');if (container && container.offsetHeight < 450) {container.style.minHeight = '450px';}var targetItem = allProductsModal.querySelector('.fv-stl-all-products-item[data-product-id="' + hotspotId + '"]');if (targetItem) {targetItem.classList.add('is-highlighted');setTimeout(function() {targetItem.scrollIntoView({ behavior: 'smooth', block: 'center' });}, 100);}if ('parentIFrame' in window) {window.parentIFrame.size();}}});});if (shopAllBtn && allProductsModal) {shopAllBtn.addEventListener('click', function(e) {e.stopPropagation();closeAllModals();allProductsModal.classList.add('is-active');var container = shopAllBtn.closest('.fv-stl-container');if (container && container.offsetHeight < 450) {container.style.minHeight = '450px';}if ('parentIFrame' in window) {window.parentIFrame.size();}});}if (allProductsModal) {var closeAllBtn = allProductsModal.querySelector('.fv-stl-all-products-close');if (closeAllBtn) {closeAllBtn.addEventListener('click', function(e) {e.stopPropagation();closeAllModals();});}}chartWrapper.addEventListener('click', function(e) {if (!e.target.closest('.fv-stl-all-products-content')) {closeAllModals();}});if (allProductsModal) {allProductsModal.addEventListener('click', function(e) {if (!e.target.closest('.fv-stl-all-products-content')) {closeAllModals();}});}var iaNodes = chartWrapper.querySelectorAll('.fv-ia-node-button');var iaWrapper = chartWrapper.querySelector('.fv-ia-wrapper');var originalCaption = chartWrapper.querySelector('.fv-original-caption') || captionEl;var dynamicCaption = chartWrapper.querySelector('.fv-ia-dynamic-caption');var exploreBtn = chartWrapper.querySelector('.fv-ia-explore-btn');var currentIaIndex = -1;function closeAllIANodes() {iaNodes.forEach(function(btn) { btn.classList.remove('is-active'); });if (originalCaption) originalCaption.style.display = 'block';if (dynamicCaption) dynamicCaption.style.display = 'none';}function resetExploreBtn() {currentIaIndex = -1;if (exploreBtn) {var exploreSpan = exploreBtn.querySelector('span');if (exploreSpan) exploreSpan.textContent = 'Explore';}}iaNodes.forEach(function(btn, index) {btn.addEventListener('click', function(e) {e.stopPropagation();var isActive = btn.classList.contains('is-active');closeAllIANodes();if (!isActive) {currentIaIndex = index;if (exploreBtn) {var exploreSpan = exploreBtn.querySelector('span');if (exploreSpan) exploreSpan.textContent = 'Next';}btn.classList.add('is-active');if (dynamicCaption) {var title = btn.getAttribute('data-title') || '';var desc = btn.getAttribute('data-desc') || '';dynamicCaption.innerHTML = '';var strongTag = document.createElement('strong');strongTag.textContent = title;dynamicCaption.appendChild(strongTag);if (desc) {dynamicCaption.appendChild(document.createTextNode(' - ' + desc));}if (originalCaption) originalCaption.style.display = 'none';dynamicCaption.style.display = 'block';if (footerContentEl) footerContentEl.style.display = 'block';}} else {resetExploreBtn();}});});if (exploreBtn) {exploreBtn.addEventListener('click', function(e) {e.stopPropagation();if (iaNodes.length === 0) return;var nextIndex = currentIaIndex + 1;if (nextIndex >= iaNodes.length) {closeAllIANodes();resetExploreBtn();} else {currentIaIndex = nextIndex;var targetBtn = iaNodes[currentIaIndex];if (targetBtn) {if(targetBtn.classList.contains('is-active')) {targetBtn.click();}targetBtn.click();}}});}if (iaWrapper) {iaWrapper.addEventListener('click', function(e) {if (!e.target.closest('.fv-ia-node-button') && !e.target.closest('.fv-ia-explore-btn')) {closeAllIANodes();resetExploreBtn();}});}window.fvAnimateCharts(chartWrapper);var countdownContainer = chartWrapper.querySelector('.fv-countdown-container');if (countdownContainer) {var targetDateAttr = countdownContainer.getAttribute('data-target-date');if (targetDateAttr) {var targetDate = new Date(targetDateAttr);var primaryColor = countdownContainer.getAttribute('data-primary-color') || '#f97316';var subheadColor = countdownContainer.getAttribute('data-subhead-color') || '#ffffff';var pad = function(n) { return (n < 10 ? '0' : '') + n; };var updateCountdown = function() {var difference = +targetDate - +new Date();var d = 0, h = 0, m = 0, s = 0;if (difference > 0) {d = Math.floor(difference / (1000 * 60 * 60 * 24));h = Math.floor((difference / (1000 * 60 * 60)) % 24);m = Math.floor((difference / 1000 / 60) % 60);s = Math.floor((difference / 1000) % 60);}var daysEl = countdownContainer.querySelector('[data-time="days"]');var hoursEl = countdownContainer.querySelector('[data-time="hours"]');var minsEl = countdownContainer.querySelector('[data-time="minutes"]');var secsEl = countdownContainer.querySelector('[data-time="seconds"]');if (daysEl) daysEl.textContent = d;if (hoursEl) hoursEl.textContent = pad(h);if (minsEl) minsEl.textContent = pad(m);if (secsEl) secsEl.textContent = pad(s);};updateCountdown();setInterval(updateCountdown, 1000);}}}if (false) {var slideshowContainer = document.getElementById(uniqueId + '-slideshow');if (slideshowContainer) {var slides = slideshowContainer.querySelectorAll('.fv-slide');slides.forEach(function(slide) {setupWrapper(slide.querySelector('.fv-chart-wrapper'));});}} else {setupWrapper(root);}}if (document.readyState === 'loading') {document.addEventListener('DOMContentLoaded', function() { initialize('fv-chart-1790607075785-manmdg66k', false); });} else {initialize('fv-chart-1790607075785-manmdg66k', false);}})();</script></div><p>During the obstacle avoidance tests it did well to identify the shoe and sock, staying clear as it cleaned around them but it did go over the charging cable, getting it stuck in the cleaning brushes and needing me to rescue it before it could continue cleaning.</p><p>During my mopping tests on first pass it did a reasonable job taking up a fair bit of the ketchup although there was a hint of the soy sauce remaining. Trying a second clean on maximum water flow and cleaning settings it did a fantastic job cleaning off even the dried on patches of ketchup.</p><div class="vizualizer-embed"><style>@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap');#fv-chart-1790607282055-ehf5hye65 *, #fv-chart-1790607282055-ehf5hye65 *:before, #fv-chart-1790607282055-ehf5hye65 *:after, #fv-chart-1790607282055-ehf5hye65-slideshow *, #fv-chart-1790607282055-ehf5hye65-slideshow *:before, #fv-chart-1790607282055-ehf5hye65-slideshow *:after {box-sizing: border-box !important; margin: 0; padding: 0; border: 0;font-size: 100%; font: inherit; vertical-align: baseline;}#fv-chart-1790607282055-ehf5hye65, #fv-chart-1790607282055-ehf5hye65-slideshow { font-family: 'Open Sans', sans-serif !important; }#fv-chart-1790607282055-ehf5hye65 {position: relative !important; overflow: visible !important;--riv-primary: #2E6E93;}#fv-chart-1790607282055-ehf5hye65 .fv-inner-wrapper {color: #1F2937 !important; background-color: #ffffff !important;padding: 1.5rem 1.5rem 2rem !important; border-radius: 0.5rem !important;box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important;margin: 1rem 0 !important; display: flex !important; flex-direction: column !important;overflow: hidden !important;}#fv-chart-1790607282055-ehf5hye65 .fv-inner-wrapper.fv-no-header.fv-is-image-compare {padding-top: 0 !important;}#fv-chart-1790607282055-ehf5hye65.fv-full-bleed {width: 100vw !important;margin-left: calc(50% - 50vw) !important;}body {overflow-x: clip !important;}#fv-chart-1790607282055-ehf5hye65.fv-full-bleed .fv-inner-wrapper {padding: 0 !important;border-radius: 0 !important;box-shadow: none !important;margin: 0 !important;background-color: transparent !important;}#fv-chart-1790607282055-ehf5hye65 .fv-inner-wrapper.fv-is-shop-the-look {padding: 0 !important;border-radius: 0 !important;box-shadow: none !important;margin: 0 !important;background-color: transparent !important;}#fv-chart-1790607282055-ehf5hye65-slideshow {position: relative !important;width: 100% !important;margin: 1rem 0 !important;--riv-primary: #2E6E93;}#fv-chart-1790607282055-ehf5hye65-slideshow .fv-slides-wrapper {position: relative !important;width: 100% !important;}#fv-chart-1790607282055-ehf5hye65-slideshow .fv-slide {width: 100% !important;animation: fv-fade-in 0.3s ease-in-out;}@keyframes fv-fade-in {from { opacity: 0; }to { opacity: 1; }}#fv-chart-1790607282055-ehf5hye65-slideshow .fv-slideshow-nav-row {position: relative !important;display: flex !important;justify-content: space-between !important;align-items: center !important;padding: 0 0 16px 0 !important;width: 100% !important;z-index: 20 !important;}#fv-chart-1790607282055-ehf5hye65-slideshow .fv-nav-btn {background-color: var(--riv-primary) !important;color: #ffffff !important;border: none !important;border-radius: 4px !important;padding: 8px 16px !important;font-size: 14px !important;font-weight: 700 !important;cursor: pointer !important;display: flex !important;align-items: center !important;justify-content: center !important;gap: 6px !important;transition: opacity 0.2s, background-color 0.2s !important;height: 36px !important;text-transform: none !important;box-shadow: 0 1px 2px rgba(0,0,0,0.1) !important;}#fv-chart-1790607282055-ehf5hye65-slideshow .fv-nav-btn svg {width: 18px !important;height: 18px !important;stroke-width: 3px !important;filter: none !important;}#fv-chart-1790607282055-ehf5hye65-slideshow .fv-nav-btn:hover {opacity: 0.9 !important;transform: translateY(-1px) !important;}#fv-chart-1790607282055-ehf5hye65-slideshow .fv-nav-btn.disabled {background-color: #E5E7EB !important;color: #9CA3AF !important;cursor: default !important;pointer-events: none !important;box-shadow: none !important;}#fv-chart-1790607282055-ehf5hye65-slideshow .fv-slide-counter {font-family: 'Poppins', sans-serif !important;font-size: 14px !important;font-weight: 600 !important;color: #374151 !important;text-align: center !important;min-width: 40px !important;background-color: rgba(255,255,255,0.8) !important;padding: 2px 8px !important;border-radius: 10px !important;}#fv-chart-1790607282055-ehf5hye65-slideshow .fv-slideshow-select {position: absolute !important;top: 10px !important;right: 10px !important;z-index: 20 !important;appearance: none !important;-webkit-appearance: none !important;-moz-appearance: none !important;background-color: white !important;border: 1px solid #d1d5db !important;color: #1F2937 !important;font-family: 'Open Sans', sans-serif !important;font-size: 14px !important;font-weight: 600 !important;padding: 6px 32px 6px 12px !important;border-radius: 4px !important;cursor: pointer !important;box-shadow: 0 1px 2px rgba(0,0,0,0.05) !important;background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e") !important;background-position: right 0.5rem center !important;background-repeat: no-repeat !important;background-size: 1.5em 1.5em !important;}#fv-chart-1790607282055-ehf5hye65-slideshow .fv-slideshow-select:focus {outline: 2px solid #2E6E93 !important;border-color: #2E6E93 !important;}#fv-chart-1790607282055-ehf5hye65 .fv-chart-title {font-weight: bold !important;text-align: center !important;margin-bottom: 0.5rem !important;color: var(--riv-primary) !important;font-size: 20px !important;line-height: 1.2 !important;font-family: 'Open Sans', sans-serif !important;text-transform: none !important;white-space: normal !important;overflow-wrap: break-word !important;padding: 0 20px !important;}#fv-chart-1790607282055-ehf5hye65 .fv-chart-subhead {font-size: 18px !important;font-weight: 500 !important;text-align: center !important;margin-bottom: 2rem !important;color: #374151 !important;line-height: 1.7 !important;font-family: 'Open Sans', sans-serif !important;display: block !important;text-transform: none !important;padding: 0 20px !important;}#fv-chart-1790607282055-ehf5hye65 .rv-chart-caption { font-size: 15px !important; color: #374151 !important; text-align: center !important; font-style: normal !important; font-weight: normal !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; }#fv-chart-1790607282055-ehf5hye65 .fv-versus-chart { display: flex; flex-direction: column; width: 100%; margin-top: 1rem; }#fv-chart-1790607282055-ehf5hye65 .fv-versus-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding: 0 1rem; }#fv-chart-1790607282055-ehf5hye65 .fv-versus-select-wrapper { flex: 1; min-width: 0; }#fv-chart-1790607282055-ehf5hye65 .fv-versus-select-wrapper.fv-left { text-align: center; padding-right: 1rem; }#fv-chart-1790607282055-ehf5hye65 .fv-versus-select-wrapper.fv-right { text-align: center; padding-left: 1rem; }#fv-chart-1790607282055-ehf5hye65 .fv-versus-select-container { position: relative; display: inline-block; max-width: 100%; width: 100%; }#fv-chart-1790607282055-ehf5hye65 .fv-versus-chevron { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; width: 16px; height: 16px; flex-shrink: 0; }#fv-chart-1790607282055-ehf5hye65 .fv-versus-select-wrapper.fv-left .fv-versus-chevron { right: 0; }#fv-chart-1790607282055-ehf5hye65 .fv-versus-select-wrapper.fv-right .fv-versus-chevron { right: 0; }#fv-chart-1790607282055-ehf5hye65 .fv-versus-select { background: transparent; border: none; border-bottom: 2px solid; font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; padding: 0.25rem 0; cursor: pointer; outline: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; max-width: 100%; width: 100%; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; }#fv-chart-1790607282055-ehf5hye65 .fv-versus-select.fv-select-left { text-align: center; direction: ltr; padding-right: 1.25rem; }#fv-chart-1790607282055-ehf5hye65 .fv-versus-select.fv-select-right { text-align: center; padding-right: 1.25rem; }#fv-chart-1790607282055-ehf5hye65 .fv-versus-select option { font-family: 'Open Sans', sans-serif; font-weight: 400; font-size: 14px; color: #374151; direction: ltr; text-align: left; }#fv-chart-1790607282055-ehf5hye65 .fv-versus-vs { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; color: #374151; letter-spacing: 0.1em; padding: 0 1rem; }#fv-chart-1790607282055-ehf5hye65 .fv-versus-body { display: flex; flex-direction: column; gap: 1.5rem; }#fv-chart-1790607282055-ehf5hye65 .fv-versus-row { position: relative; height: auto; padding-top: 20px; margin-bottom: 0.25rem; display: block; }#fv-chart-1790607282055-ehf5hye65 .fv-versus-bar-container { position: relative; height: 32px; display: flex; align-items: center; }#fv-chart-1790607282055-ehf5hye65 .fv-versus-bar-left-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-end; align-items: center; }#fv-chart-1790607282055-ehf5hye65 .fv-versus-bar-right-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-start; align-items: center; }#fv-chart-1790607282055-ehf5hye65 .fv-versus-bar { height: 32px; width: var(--target-width); transition: width 0.8s ease-out; animation: fv-grow-max-width 0.8s ease-out forwards; display: flex; align-items: center; overflow: hidden; color: #ffffff; }#fv-chart-1790607282055-ehf5hye65 .fv-versus-bar-left { border-radius: 4px 0 0 4px; justify-content: flex-end; padding: 0 8px; }#fv-chart-1790607282055-ehf5hye65 .fv-versus-bar-right { border-radius: 0 4px 4px 0; justify-content: flex-start; padding: 0 8px; }@keyframes fv-grow-max-width {from { max-width: 0; }to { max-width: 100%; }}#fv-chart-1790607282055-ehf5hye65 .fv-versus-center-line { position: absolute; left: 50%; top: 0; bottom: 0; width: 4px; background-color: #ffffff; transform: translateX(-50%); z-index: 1; }#fv-chart-1790607282055-ehf5hye65 .fv-inside-left { white-space: nowrap; flex-shrink: 0; }#fv-chart-1790607282055-ehf5hye65 .fv-inside-right { white-space: nowrap; flex-shrink: 0; }#fv-chart-1790607282055-ehf5hye65 .fv-versus-val-text { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; }#fv-chart-1790607282055-ehf5hye65 .fv-versus-pct-diff { font-size: 12px; font-weight: 600; }#fv-chart-1790607282055-ehf5hye65 .fv-versus-label { position: absolute; left: 50%; transform: translateX(-50%); top: 0; background-color: transparent; border: none; box-shadow: none; padding: 0; font-family: 'Open Sans', sans-serif; font-weight: 700; font-size: 14px; color: #374151; white-space: nowrap; }#fv-chart-1790607282055-ehf5hye65 .sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }#fv-chart-1790607282055-ehf5hye65 .fv-image-compare-container { width: auto !important; margin-left: -1.5rem !important; margin-right: -1.5rem !important; margin-bottom: 2rem !important; }#fv-chart-1790607282055-ehf5hye65.fv-full-bleed .fv-image-compare-container { width: 100% !important; max-width: none !important; margin: 0 auto !important; }#fv-chart-1790607282055-ehf5hye65 .fv-image-compare-wrapper { position: relative !important; width: 100% !important; overflow: hidden !important; border-radius: 0 !important; background-color: #000 !important; touch-action: pan-y !important; user-select: none !important; -webkit-user-select: none !important; }#fv-chart-1790607282055-ehf5hye65 .fv-image-compare-inner { position: relative !important; width: 100% !important; height: 100% !important; display: block !important; transform-origin: center center !important; transition: transform 0.1s ease-out !important; }#fv-chart-1790607282055-ehf5hye65 .fv-image-compare-bg { display: block !important; width: 100% !important; height: auto !important; pointer-events: none !important; user-select: none !important; -webkit-user-select: none !important; -webkit-user-drag: none !important; }#fv-chart-1790607282055-ehf5hye65 .fv-image-compare-fg { position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; object-fit: cover !important; clip-path: polygon(0 0, 50% 0, 50% 100%, 0 100%) !important; pointer-events: none !important; user-select: none !important; -webkit-user-select: none !important; -webkit-user-drag: none !important; }#fv-chart-1790607282055-ehf5hye65 .fv-image-compare-slider { position: absolute !important; top: 0 !important; bottom: 0 !important; left: 50% !important; width: 32px !important; transform: translateX(-50%) !important; cursor: ew-resize !important; z-index: 10 !important; user-select: none !important; -webkit-user-select: none !important; }#fv-chart-1790607282055-ehf5hye65 .fv-image-compare-slider-line { position: absolute !important; top: 0 !important; bottom: 0 !important; left: 50% !important; width: 4px !important; background-color: white !important; transform: translateX(-50%) !important; box-shadow: 0 0 10px rgba(0,0,0,0.5) !important; pointer-events: none !important; }#fv-chart-1790607282055-ehf5hye65 .fv-image-compare-handle { position: absolute !important; top: 50% !important; left: 50% !important; transform: translate(-50%, -50%) !important; width: 32px !important; height: 32px !important; background-color: white !important; border-radius: 50% !important; box-shadow: 0 2px 6px rgba(0,0,0,0.3) !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 4px !important; pointer-events: none !important; z-index: 11 !important; overflow: hidden !important; }#fv-chart-1790607282055-ehf5hye65 .fv-image-compare-handle.fv-image-compare-handle-square { border-radius: 6px !important; }#fv-chart-1790607282055-ehf5hye65 .fv-image-compare-arrow-left { width: 0 !important; height: 0 !important; border-top: 4px solid transparent !important; border-bottom: 4px solid transparent !important; border-right: 4px solid #4b5563 !important; }#fv-chart-1790607282055-ehf5hye65 .fv-image-compare-arrow-right { width: 0 !important; height: 0 !important; border-top: 4px solid transparent !important; border-bottom: 4px solid transparent !important; border-left: 4px solid #4b5563 !important; }#fv-chart-1790607282055-ehf5hye65 .fv-image-compare-label { position: absolute !important; top: 1rem !important; background-color: rgba(0, 0, 0, 0.5) !important; color: white !important; padding: 0.25rem 0.75rem !important; border-radius: 0.25rem !important; font-size: 0.875rem !important; font-weight: 500 !important; pointer-events: none !important; backdrop-filter: blur(4px) !important; z-index: 5 !important; transition: right 0.3s ease, opacity 0.2s ease !important; }#fv-chart-1790607282055-ehf5hye65 .fv-image-compare-label-left { left: 1rem !important; }#fv-chart-1790607282055-ehf5hye65 .fv-image-compare-label-right { right: 1rem !important; }#fv-chart-1790607282055-ehf5hye65 .fv-image-compare-expand-btn, #fv-chart-1790607282055-ehf5hye65 .fv-image-compare-close-btn { position: absolute !important; bottom: 1rem !important; right: 1rem !important; background-color: rgba(0, 0, 0, 0.5) !important; color: white !important; border: none !important; border-radius: 0.25rem !important; padding: 0.5rem !important; cursor: pointer !important; z-index: 20 !important; display: flex !important; align-items: center !important; justify-content: center !important; backdrop-filter: blur(4px) !important; transition: background-color 0.2s !important; }#fv-chart-1790607282055-ehf5hye65 .fv-image-compare-expand-btn:hover, #fv-chart-1790607282055-ehf5hye65 .fv-image-compare-close-btn:hover { background-color: rgba(0, 0, 0, 0.7) !important; }#fv-chart-1790607282055-ehf5hye65 .fv-image-compare-close-btn { display: none !important; top: 1rem !important; bottom: auto !important; }#fv-chart-1790607282055-ehf5hye65 .fv-image-compare-wrapper.fv-image-compare-fullscreen { position: fixed !important; top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important; width: 100% !important; height: 100% !important; z-index: 999999 !important; display: flex !important; align-items: center !important; justify-content: center !important; background-color: rgba(0, 0, 0, 0.9) !important; margin: 0 !important; touch-action: none !important; }#fv-chart-1790607282055-ehf5hye65 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-inner { width: 100% !important; height: 100% !important; display: flex !important; align-items: center !important; justify-content: center !important; cursor: grab !important; }#fv-chart-1790607282055-ehf5hye65 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-inner:active { cursor: grabbing !important; }#fv-chart-1790607282055-ehf5hye65 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-bg { position: absolute !important; top: 0 !important; left: 0 !important; max-width: 100% !important; max-height: 100% !important; width: 100% !important; height: 100% !important; object-fit: contain !important; }#fv-chart-1790607282055-ehf5hye65 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-fg { max-width: 100% !important; max-height: 100% !important; width: 100% !important; height: 100% !important; object-fit: contain !important; }#fv-chart-1790607282055-ehf5hye65 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-expand-btn { display: none !important; }#fv-chart-1790607282055-ehf5hye65 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-close-btn { display: flex !important; }#fv-chart-1790607282055-ehf5hye65 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-label-right { right: 4rem !important; }#fv-chart-1790607282055-ehf5hye65 .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; }#fv-chart-1790607282055-ehf5hye65 .fv-footer-content { text-align: center !important; width: 100% !important; }#fv-chart-1790607282055-ehf5hye65 .fv-logo {display: block !important;margin: 0 auto !important;width: 120px !important;min-width: 120px !important;max-width: 120px !important;height: auto !important;object-fit: contain !important;flex-shrink: 0 !important;}#fv-chart-1790607282055-ehf5hye65 .fv-dropdown-wrapper { text-align: center !important; margin-bottom: 16px !important; margin-top: 0 !important; }#fv-chart-1790607282055-ehf5hye65 .fv-dropdown-title-container { position: relative !important; display: inline-block !important; max-width: 100% !important; }#fv-chart-1790607282055-ehf5hye65 .fv-dropdown-title {appearance: none !important;-webkit-appearance: none !important;-moz-appearance: none !important;background: transparent !important;border: none !important;font-size: 18px !important;font-weight: 600 !important;color: var(--riv-primary) !important;padding-right: 28px !important;padding-left: 10px !important;cursor: pointer !important;text-align: center !important;text-align-last: center !important;width: auto !important;max-width: 100% !important;font-family: 'Open Sans', sans-serif !important;line-height: 1.3 !important;margin: 0 !important;text-overflow: ellipsis !important;overflow: hidden !important;white-space: nowrap !important;}#fv-chart-1790607282055-ehf5hye65 .fv-dropdown-title:focus { outline: none !important; }#fv-chart-1790607282055-ehf5hye65 .fv-dropdown-title::-ms-expand { display: none !important; }#fv-chart-1790607282055-ehf5hye65 .fv-dropdown-chevron {position: absolute !important;right: 0 !important;top: 50% !important;transform: translateY(-50%) !important;pointer-events: none !important;color: var(--riv-primary) !important;display: flex !important;align-items: center !important;}#fv-chart-1790607282055-ehf5hye65 .fv-carousel-title-controls { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 16px !important; width: 100% !important; gap: 12px !important; }#fv-chart-1790607282055-ehf5hye65 .fv-carousel-nav-btn {background: transparent !important; border: 1px solid #d1d5db !important; border-radius: 6px !important; padding: 6px 10px !important;cursor: pointer !important; font-size: 14px !important; color: #374151 !important; display: flex !important; align-items: center !important; gap: 4px !important; font-family: 'Open Sans', sans-serif !important;}#fv-chart-1790607282055-ehf5hye65 .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; }#fv-chart-1790607282055-ehf5hye65 .fv-carousel-counter { font-size: 14px !important; color: #374151 !important; text-align: center !important; margin-top: 1rem !important; }#fv-chart-1790607282055-ehf5hye65 .fv-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 8px 16px !important; margin: 0 !important; padding: 0 !important; margin-top: 1rem !important; }#fv-chart-1790607282055-ehf5hye65 .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #374151 !important; }#fv-chart-1790607282055-ehf5hye65 .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; }#fv-chart-1790607282055-ehf5hye65 .fv-multi-value-legend {display: flex !important;justify-content: center !important;flex-wrap: wrap !important;gap: 12px 24px !important;margin-bottom: 1.5rem !important;padding: 0 !important;}#fv-chart-1790607282055-ehf5hye65 .fv-multi-legend-item { display: flex !important; align-items: center !important; gap: 8px !important; font-size: 14px !important; color: #374151 !important; font-weight: 500 !important; }#fv-chart-1790607282055-ehf5hye65 .fv-multi-legend-swatch { width: 16px !important; height: 16px !important; border-radius: 3px !important; }#fv-chart-1790607282055-ehf5hye65 .fv-benchmark-group { margin-bottom: 1rem !important; }#fv-chart-1790607282055-ehf5hye65 .fv-benchmark-title {font-size: 18px !important; font-weight: 600 !important; margin-bottom: 16px !important; margin-top: 0 !important; padding: 0 !important;text-align: center !important; color: var(--riv-primary) !important; flex: 1 !important; min-width: 0 !important;font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important;text-transform: none !important;white-space: normal !important;overflow-wrap: break-word !important;word-wrap: break-word !important;max-width: 100% !important;}#fv-chart-1790607282055-ehf5hye65 .fv-bar-row, #fv-chart-1790607282055-ehf5hye65 .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; position: relative !important; }#fv-chart-1790607282055-ehf5hye65 .fv-bar-label { width: 150px !important; flex-shrink: 0 !important; font-size: 14px !important; color: #374151 !important; padding-right: 10px !important; text-align: right !important; font-weight: 500 !important; display: block !important; }#fv-chart-1790607282055-ehf5hye65 .fv-bar-container { flex-grow: 1 !important; background-color: #E5E7EB !important; border-radius: 4px !important; min-height: 25px !important; border: 1px solid #D1D5DB !important; position: relative !important; display: flex !important; align-items: center !important; }#fv-chart-1790607282055-ehf5hye65 .fv-bar-commentary-inline { display: none !important; position: absolute !important; left: 150px !important; top: 0 !important; bottom: 0 !important; right: 0 !important; width: calc(100% - 150px) !important; margin: 0 !important; padding: 0 8px !important; font-size: 13px !important; color: #fff !important; background: rgba(0,0,0,0.8) !important; border-radius: 4px !important; line-height: 1.4 !important; font-weight: normal !important; text-transform: none !important; word-wrap: break-word !important; z-index: 10 !important; align-items: center !important; overflow-y: auto !important; }#fv-chart-1790607282055-ehf5hye65.preview-wrapper .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1790607282055-ehf5hye65.preview-wrapper .fv-bar-commentary-inline:focus, #fv-chart-1790607282055-ehf5hye65.preview-wrapper .fv-bar-commentary-inline:focus-within, #fv-chart-1790607282055-ehf5hye65.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1790607282055-ehf5hye65.mobile-view .fv-bar-commentary-inline:focus, #fv-chart-1790607282055-ehf5hye65.mobile-view .fv-bar-commentary-inline:focus-within { display: flex !important; }#fv-chart-1790607282055-ehf5hye65 .fv-bar { height: 100% !important; border-radius: 3px !important; display: flex !important; align-items: center !important; transition: opacity 0.2s ease, width 0.8s ease-out !important; min-height: 23px !important; }#fv-chart-1790607282055-ehf5hye65 .fv-bar:hover { opacity: 0.8 !important; }#fv-chart-1790607282055-ehf5hye65 .fv-bar-inner-content { display: flex !important; justify-content: space-between !important; align-items: center !important; width: 100% !important; height: 100% !important; padding: 0 8px !important; font-size: 14px !important; font-weight: bold !important; overflow: hidden !important; }#fv-chart-1790607282055-ehf5hye65 .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; }#fv-chart-1790607282055-ehf5hye65 .fv-bar-inner-value { flex-shrink: 0 !important; }#fv-chart-1790607282055-ehf5hye65 .fv-bar-value-outside { padding-left: 8px !important; font-size: 14px !important; font-weight: bold !important; color: #374151 !important; white-space: nowrap !important; }#fv-chart-1790607282055-ehf5hye65 .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; }#fv-chart-1790607282055-ehf5hye65 .fv-multi-bar-container { flex-direction: column !important; padding: 4px !important; align-items: stretch !important; gap: 4px !important; height: auto !important; }#fv-chart-1790607282055-ehf5hye65 .fv-multi-bar-item { display: flex !important; align-items: center !important; height: 25px !important; width: 100% !important; }#fv-chart-1790607282055-ehf5hye65 .fv-stacked-bar { display: flex !important; overflow: hidden !important; }#fv-chart-1790607282055-ehf5hye65 .fv-stacked-segment { height: 100% !important; display: flex !important; align-items: center !important; justify-content: flex-end !important; padding-right: 8px !important; border-right: 1px solid rgba(255,255,255,0.3) !important; }#fv-chart-1790607282055-ehf5hye65 .fv-stacked-segment:last-child { border-right: none !important; }#fv-chart-1790607282055-ehf5hye65 .fv-segment-value { font-size: 14px !important; font-weight: bold !important; }#fv-chart-1790607282055-ehf5hye65 .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; }#fv-chart-1790607282055-ehf5hye65 .fv-grouped-product-title-wrapper { padding-left: 150px !important; }#fv-chart-1790607282055-ehf5hye65 .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.5rem !important; font-weight: 700 !important; font-size: 14px !important; color: #374151 !important; text-transform: none !important; }#fv-chart-1790607282055-ehf5hye65 .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; }#fv-chart-1790607282055-ehf5hye65 .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; }#fv-chart-1790607282055-ehf5hye65 .fv-bar-cluster .fv-bar-container { height: 20px !important; }#fv-chart-1790607282055-ehf5hye65 .riv-grid line {stroke: #D1D5DB !important;stroke-dasharray: 3 3 !important;}#fv-chart-1790607282055-ehf5hye65 .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; }#fv-chart-1790607282055-ehf5hye65 .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; }#fv-chart-1790607282055-ehf5hye65 .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; }#fv-chart-1790607282055-ehf5hye65 .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; }#fv-chart-1790607282055-ehf5hye65 .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; }#fv-chart-1790607282055-ehf5hye65 .fv-x-axis-ticks { display: flex !important; justify-content: space-between !important; padding-top: 4px !important; font-size: 13px !important; color: #374151 !important; }#fv-chart-1790607282055-ehf5hye65 .fv-x-axis-ticks span { position: relative !important; }#fv-chart-1790607282055-ehf5hye65 .fv-x-axis-ticks span::before { content: '' !important; position: absolute !important; top: -6px !important; left: 50% !important; transform: translateX(-50%) !important; width: 2px !important; height: 4px !important; background-color: #D1D5DB !important; border-radius: 1px !important; }#fv-chart-1790607282055-ehf5hye65 .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #374151 !important; margin-top: 8px !important; display: block !important; }#fv-chart-1790607282055-ehf5hye65 .fv-x-axis-title { text-align: center !important; font-size: 15px !important; color: #374151 !important; margin-top: 8px !important; margin-bottom: 16px !important; line-height: 1.5 !important; padding: 0 1rem !important; display: block !important; font-weight: bold !important; }#fv-chart-1790607282055-ehf5hye65 .fv-y-axis-title {font-size: 15px !important;color: #374151 !important;line-height: 1.5 !important;text-align: left !important;padding-left: 5.83% !important;margin-bottom: 4px !important;display: block !important;font-weight: bold !important;}#fv-chart-1790607282055-ehf5hye65.mobile-view .fv-pie-container,#fv-chart-1790607282055-ehf5hye65.labels-on-top .fv-pie-container {flex-direction: column !important; gap: 1rem !important;}#fv-chart-1790607282055-ehf5hye65.mobile-view .fv-grouped-product-title-wrapper,#fv-chart-1790607282055-ehf5hye65.labels-on-top .fv-grouped-product-title-wrapper {padding-left: 0 !important;}#fv-chart-1790607282055-ehf5hye65.mobile-view .fv-bar-row,#fv-chart-1790607282055-ehf5hye65.mobile-view .fv-stacked-product,#fv-chart-1790607282055-ehf5hye65.mobile-view .fv-grouped-bar-product,#fv-chart-1790607282055-ehf5hye65.labels-on-top .fv-bar-row,#fv-chart-1790607282055-ehf5hye65.labels-on-top .fv-stacked-product,#fv-chart-1790607282055-ehf5hye65.labels-on-top .fv-grouped-bar-product {flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important;}#fv-chart-1790607282055-ehf5hye65.mobile-view .fv-bar-label:not(.fv-grouped-product-title),#fv-chart-1790607282055-ehf5hye65.labels-on-top .fv-bar-label:not(.fv-grouped-product-title) {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1790607282055-ehf5hye65.mobile-view .fv-bar-label,#fv-chart-1790607282055-ehf5hye65.mobile-view .fv-grouped-product-title,#fv-chart-1790607282055-ehf5hye65.labels-on-top .fv-bar-label,#fv-chart-1790607282055-ehf5hye65.labels-on-top .fv-grouped-product-title {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1790607282055-ehf5hye65.mobile-view .fv-bar-container,#fv-chart-1790607282055-ehf5hye65.mobile-view .fv-bar-cluster,#fv-chart-1790607282055-ehf5hye65.labels-on-top .fv-bar-container,#fv-chart-1790607282055-ehf5hye65.labels-on-top .fv-bar-cluster {width: 100% !important;}#fv-chart-1790607282055-ehf5hye65.mobile-view .fv-bar-row .fv-bar-commentary-inline,#fv-chart-1790607282055-ehf5hye65.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline,#fv-chart-1790607282055-ehf5hye65.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus,#fv-chart-1790607282055-ehf5hye65.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus-within,#fv-chart-1790607282055-ehf5hye65.labels-on-top .fv-bar-row .fv-bar-commentary-inline,#fv-chart-1790607282055-ehf5hye65.labels-on-top .fv-bar-row:hover .fv-bar-commentary-inline,#fv-chart-1790607282055-ehf5hye65.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus,#fv-chart-1790607282055-ehf5hye65.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus-within {position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important;}#fv-chart-1790607282055-ehf5hye65.mobile-view .fv-x-axis-wrapper,#fv-chart-1790607282055-ehf5hye65.labels-on-top .fv-x-axis-wrapper {margin-left: 0 !important;}#fv-chart-1790607282055-ehf5hye65.mobile-view .fv-x-axis-label-space,#fv-chart-1790607282055-ehf5hye65.labels-on-top .fv-x-axis-label-space {display: none !important;}#fv-chart-1790607282055-ehf5hye65.mobile-view .fv-x-axis-chart-space,#fv-chart-1790607282055-ehf5hye65.labels-on-top .fv-x-axis-chart-space {padding-right: 0 !important;}#fv-chart-1790607282055-ehf5hye65.mobile-view .fv-benchmark-title,#fv-chart-1790607282055-ehf5hye65.labels-on-top .fv-benchmark-title {font-size: 16px !important;}#fv-chart-1790607282055-ehf5hye65.mobile-view .fv-dropdown-title,#fv-chart-1790607282055-ehf5hye65.labels-on-top .fv-dropdown-title {font-size: 16px !important;}#fv-chart-1790607282055-ehf5hye65.mobile-view .fv-carousel-nav-btn,#fv-chart-1790607282055-ehf5hye65.labels-on-top .fv-carousel-nav-btn {padding: 8px 12px !important; font-size: 14px !important;}#fv-chart-1790607282055-ehf5hye65.mobile-view .fv-chart-title,#fv-chart-1790607282055-ehf5hye65.labels-on-top .fv-chart-title {padding: 0 8px !important;}#fv-chart-1790607282055-ehf5hye65.mobile-view .fv-chart-subhead,#fv-chart-1790607282055-ehf5hye65.labels-on-top .fv-chart-subhead {padding: 0 8px !important;}#fv-chart-1790607282055-ehf5hye65.mobile-view .fv-versus-header,#fv-chart-1790607282055-ehf5hye65.labels-on-top .fv-versus-header {flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important;}#fv-chart-1790607282055-ehf5hye65.mobile-view .fv-versus-select-wrapper,#fv-chart-1790607282055-ehf5hye65.labels-on-top .fv-versus-select-wrapper {flex: 1 !important; min-width: 0 !important; width: 100% !important;}#fv-chart-1790607282055-ehf5hye65.mobile-view .fv-versus-select-wrapper.fv-left,#fv-chart-1790607282055-ehf5hye65.labels-on-top .fv-versus-select-wrapper.fv-left {text-align: center !important; padding-right: 0 !important;}#fv-chart-1790607282055-ehf5hye65.mobile-view .fv-versus-select-wrapper.fv-right,#fv-chart-1790607282055-ehf5hye65.labels-on-top .fv-versus-select-wrapper.fv-right {text-align: center !important; padding-left: 0 !important;}#fv-chart-1790607282055-ehf5hye65.mobile-view .fv-versus-select.fv-select-left,#fv-chart-1790607282055-ehf5hye65.labels-on-top .fv-versus-select.fv-select-left {text-align: center !important;}#fv-chart-1790607282055-ehf5hye65.mobile-view .fv-versus-select.fv-select-right,#fv-chart-1790607282055-ehf5hye65.labels-on-top .fv-versus-select.fv-select-right {text-align: center !important;}#fv-chart-1790607282055-ehf5hye65.mobile-view .fv-versus-vs,#fv-chart-1790607282055-ehf5hye65.labels-on-top .fv-versus-vs {text-align: center !important; padding: 0.25rem 0 !important;}#fv-chart-1790607282055-ehf5hye65.mobile-view .fv-versus-select-container,#fv-chart-1790607282055-ehf5hye65.labels-on-top .fv-versus-select-container {max-width: 100% !important; width: 100% !important;}#fv-chart-1790607282055-ehf5hye65.mobile-view .fv-versus-select,#fv-chart-1790607282055-ehf5hye65.labels-on-top .fv-versus-select {font-size: 14px !important; width: 100% !important;}#fv-chart-1790607282055-ehf5hye65.mobile-view .fv-stl-shop-all-btn,#fv-chart-1790607282055-ehf5hye65.labels-on-top .fv-stl-shop-all-btn {bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important;}#fv-chart-1790607282055-ehf5hye65.mobile-view .fv-stl-shop-all-logo,#fv-chart-1790607282055-ehf5hye65.mobile-view .fv-stl-shop-all-icon,#fv-chart-1790607282055-ehf5hye65.labels-on-top .fv-stl-shop-all-logo,#fv-chart-1790607282055-ehf5hye65.labels-on-top .fv-stl-shop-all-icon {width: 2rem !important; height: 2rem !important;}#fv-chart-1790607282055-ehf5hye65.mobile-view .fv-stl-shop-all-icon svg,#fv-chart-1790607282055-ehf5hye65.labels-on-top .fv-stl-shop-all-icon svg {width: 14px !important; height: 14px !important;}#fv-chart-1790607282055-ehf5hye65.mobile-view .fv-bar-commentary-inline,#fv-chart-1790607282055-ehf5hye65.labels-on-top .fv-bar-commentary-inline {display: block !important; margin-left: 0 !important; width: 100% !important;}#fv-chart-1790607282055-ehf5hye65.mobile-view .fv-y-axis-title { padding-left: 5% !important;  }#fv-chart-1790607282055-ehf5hye65.mobile-view.fv-contains-line-chart .fv-footer-content {margin-left: -1rem !important;margin-right: -1rem !important;}@media (max-width: 599px) {#fv-chart-1790607282055-ehf5hye65 .fv-pie-container {flex-direction: column !important; gap: 1rem !important;}#fv-chart-1790607282055-ehf5hye65 .fv-grouped-product-title-wrapper {padding-left: 0 !important;}#fv-chart-1790607282055-ehf5hye65 .fv-bar-row,#fv-chart-1790607282055-ehf5hye65 .fv-stacked-product,#fv-chart-1790607282055-ehf5hye65 .fv-grouped-bar-product {flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important;}#fv-chart-1790607282055-ehf5hye65 .fv-bar-label:not(.fv-grouped-product-title) {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1790607282055-ehf5hye65 .fv-bar-label,#fv-chart-1790607282055-ehf5hye65 .fv-grouped-product-title {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1790607282055-ehf5hye65 .fv-bar-container,#fv-chart-1790607282055-ehf5hye65 .fv-bar-cluster {width: 100% !important;}#fv-chart-1790607282055-ehf5hye65 .fv-bar-row .fv-bar-commentary-inline,#fv-chart-1790607282055-ehf5hye65 .fv-bar-row:hover .fv-bar-commentary-inline,#fv-chart-1790607282055-ehf5hye65 .fv-bar-row .fv-bar-commentary-inline:focus,#fv-chart-1790607282055-ehf5hye65 .fv-bar-row .fv-bar-commentary-inline:focus-within {position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important;}#fv-chart-1790607282055-ehf5hye65 .fv-x-axis-wrapper {margin-left: 0 !important;}#fv-chart-1790607282055-ehf5hye65 .fv-x-axis-label-space {display: none !important;}#fv-chart-1790607282055-ehf5hye65 .fv-x-axis-chart-space {padding-right: 0 !important;}#fv-chart-1790607282055-ehf5hye65 .fv-benchmark-title {font-size: 16px !important;}#fv-chart-1790607282055-ehf5hye65 .fv-dropdown-title {font-size: 16px !important;}#fv-chart-1790607282055-ehf5hye65 .fv-carousel-nav-btn {padding: 8px 12px !important; font-size: 14px !important;}#fv-chart-1790607282055-ehf5hye65 .fv-chart-title {padding: 0 8px !important;}#fv-chart-1790607282055-ehf5hye65 .fv-chart-subhead {padding: 0 8px !important;}#fv-chart-1790607282055-ehf5hye65 .fv-versus-header {flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important;}#fv-chart-1790607282055-ehf5hye65 .fv-versus-select-wrapper {flex: 1 !important; min-width: 0 !important; width: 100% !important;}#fv-chart-1790607282055-ehf5hye65 .fv-versus-select-wrapper.fv-left {text-align: center !important; padding-right: 0 !important;}#fv-chart-1790607282055-ehf5hye65 .fv-versus-select-wrapper.fv-right {text-align: center !important; padding-left: 0 !important;}#fv-chart-1790607282055-ehf5hye65 .fv-versus-select.fv-select-left {text-align: center !important;}#fv-chart-1790607282055-ehf5hye65 .fv-versus-select.fv-select-right {text-align: center !important;}#fv-chart-1790607282055-ehf5hye65 .fv-versus-vs {text-align: center !important; padding: 0.25rem 0 !important;}#fv-chart-1790607282055-ehf5hye65 .fv-versus-select-container {max-width: 100% !important; width: 100% !important;}#fv-chart-1790607282055-ehf5hye65 .fv-versus-select {font-size: 14px !important; width: 100% !important;}#fv-chart-1790607282055-ehf5hye65 .fv-stl-shop-all-btn {bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important;}#fv-chart-1790607282055-ehf5hye65 .fv-stl-shop-all-logo,#fv-chart-1790607282055-ehf5hye65 .fv-stl-shop-all-icon {width: 2rem !important; height: 2rem !important;}#fv-chart-1790607282055-ehf5hye65 .fv-stl-shop-all-icon svg {width: 14px !important; height: 14px !important;}#fv-chart-1790607282055-ehf5hye65 .fv-bar-commentary-inline {display: block !important; margin-left: 0 !important; width: 100% !important;}#fv-chart-1790607282055-ehf5hye65 .fv-y-axis-title { padding-left: 5% !important;  }#fv-chart-1790607282055-ehf5hye65.fv-contains-line-chart .fv-footer-content {margin-left: -1rem !important;margin-right: -1rem !important;}}</style><script type="application/ld+json">{"@context": "https://schema.org","@type": "Dataset","name": "Mopping test","description": "Floor before and after mopping test with Roborock vacuum cleaner","creator": {"@type": "Organization","name": "TechRadar","logo": "https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png"},"isAccessibleForFree": true,"dateCreated": "2026-09-28T14:54:42.055Z","citation": "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized","keywords": ["Image Comparison","benchmark","comparison","performance","review","TechRadar"],"measurementTechnique": "Performance Benchmarking","variableMeasured": []}</script><div id="fv-chart-1790607282055-ehf5hye65" class="fv-chart-wrapper   " data-bar-labels-on-top="false" data-iframe-height="true" data-vizualizer-embed="true"><div class="fv-inner-wrapper fv-no-header fv-is-image-compare  "><div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1790607282055-ehf5hye65-image-compare-1" data-chart-type="Image Comparison" data-title="Image Comparison" data-subhead="Floor before and after mopping test with Roborock vacuum cleaner" data-caption="" style=""><div class="fv-benchmark-group"><div class="fv-image-compare-container"><div class="fv-image-compare-wrapper" data-image-compare="true"><div class="fv-image-compare-inner"><img src="https://cdn.mos.cms.futurecdn.net/FzksNo9yr46XWRx2psThXB.jpg" data-highres-src="https://cdn.mos.cms.futurecdn.net/FzksNo9yr46XWRx2psThXB.jpg" alt="After" class="fv-image-compare-bg" loading="lazy" referrerpolicy="no-referrer" draggable="false" /><img src="https://cdn.mos.cms.futurecdn.net/f2u425W6m73JfDkkxky8qA.jpg" data-highres-src="https://cdn.mos.cms.futurecdn.net/f2u425W6m73JfDkkxky8qA.jpg" alt="Before" class="fv-image-compare-fg" loading="lazy" referrerpolicy="no-referrer" draggable="false" /><div class="fv-image-compare-slider"><div class="fv-image-compare-slider-line"></div><div class="fv-image-compare-handle "><img src="https://proof.vanilla.tools/media/images/brandLogos/techradar.png" alt="Brand Logo" style="width: 100%; height: 100%; object-fit: cover;" /></div></div></div><div class="fv-image-compare-label fv-image-compare-label-left">Before</div><div class="fv-image-compare-label fv-image-compare-label-right">After</div><button class="fv-image-compare-expand-btn" aria-label="Expand Image"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 8V4h4"/><path d="M20 8V4h-4"/><path d="M4 16v4h4"/><path d="M20 16v4h-4"/><circle cx="11.5" cy="11.5" r="3.5"/><path d="m14 14 3 3"/></svg></button><button class="fv-image-compare-close-btn" aria-label="Close Fullscreen"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg></button></div></div></div></div></div><div class="fv-bottom-bar"><div class="fv-footer-content" style="display: none;"><div class="rv-chart-caption" style="display: block;"><span class="fv-original-caption" style="display: block;"></span><span class="fv-ia-dynamic-caption" style="display: none;"></span></div></div><div class="fv-logo-explore-bar"><img class="fv-logo" src="https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png" alt="TechRadar Logo"></div></div></div></div><script>window.iFrameResizer = {heightCalculationMethod: 'taggedElement'};</script><script src="https://cdnjs.cloudflare.com/ajax/libs/iframe-resizer/4.2.11/iframeResizer.contentWindow.min.js" async></script><script>(function() {window.fvAnimateCharts = function(chartWrapper) {if (!chartWrapper) return;function animateBars(chartElement) {if (!chartElement) return;var bars = chartElement.querySelectorAll('.fv-bar, .fv-stacked-segment');bars.forEach(function(bar, index) {bar.style.setProperty('width', '0%', 'important');bar.style.setProperty('transition', 'none', 'important');var targetWidth = bar.dataset.targetWidth;if (targetWidth === undefined) return;void bar.offsetWidth;var targetMargin = bar.dataset.targetMargin;var baseMargin = bar.dataset.baseMargin;if (baseMargin !== undefined) {bar.style.setProperty('margin-left', baseMargin + '%', 'important');}setTimeout(function() {var marginTransition = baseMargin !== undefined ? ', margin-left 0.8s ease-out' : '';bar.style.setProperty('transition', 'opacity 0.2s ease, width 0.8s ease-out' + marginTransition, 'important');bar.style.setProperty('width', targetWidth + '%', 'important');if (targetMargin !== undefined && baseMargin !== undefined) {bar.style.setProperty('margin-left', targetMargin + '%', 'important');}}, index * 50 + 50);});}function animateLineChart(chartElement) {if (!chartElement) return;var lineSvg = chartElement.querySelector('svg');if (!lineSvg) return;var paths = lineSvg.querySelectorAll('.riv-line-path');paths.forEach(function(p, i) {if (typeof p.getTotalLength === 'function') {var len = p.getTotalLength();p.style.transition = 'none';p.style.strokeDasharray = len;p.style.strokeDashoffset = len;p.getBoundingClientRect();setTimeout(function() {p.style.transition = 'stroke-dashoffset 1s ease-out ' + (i * 0.1) + 's, stroke-width 0.2s, opacity 0.2s';p.style.strokeDashoffset = '0';}, 100);}});var dots = lineSvg.querySelectorAll('.riv-dot');dots.forEach(function(dot, i) {dot.style.opacity = '0';setTimeout(function() {dot.style.transition = 'opacity 0.3s ease';dot.style.opacity = '1';}, 500 + i * 10);});}var charts = chartWrapper.querySelectorAll('.fv-chart-item');charts.forEach(function(chart) {if (window.getComputedStyle(chart).display === 'none') return;var chartType = chart.dataset.chartType;if (chartType === 'Line') {animateLineChart(chart);} else if (chartType !== 'Pie') {animateBars(chart);}});};function initialize(uniqueId, isSlideshow) {var root = document.getElementById(uniqueId);if (!root && !isSlideshow) return;function setupWrapper(chartWrapper) {if (!chartWrapper) return;function checkMobileView() {var width = chartWrapper.getBoundingClientRect().width;var isMobileDevice = window.screen && Math.min(window.screen.width, window.screen.height) <= 599;var isMobile;if (width === 0) {isMobile = isMobileDevice || window.matchMedia('(max-width: 599px)').matches;} else {isMobile = isMobileDevice || width < 600;}if (isMobile) {chartWrapper.classList.add('mobile-view');} else {chartWrapper.classList.remove('mobile-view');}}checkMobileView();if (typeof ResizeObserver !== 'undefined') {var ro = new ResizeObserver(function() {checkMobileView();});ro.observe(chartWrapper);}window.addEventListener('resize', checkMobileView);var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';if (labelsOnTop) {var charts = chartWrapper.querySelectorAll('.fv-chart-item');var hasVisibleBarChart = false;charts.forEach(function(c) {if (window.getComputedStyle(c).display !== 'none') {var cType = c.dataset.chartType;if (cType === 'Bar' || cType === 'Stacked Bar' || cType === 'Versus') {hasVisibleBarChart = true;}}});if (hasVisibleBarChart) {chartWrapper.classList.add('labels-on-top');} else {chartWrapper.classList.remove('labels-on-top');}} else {chartWrapper.classList.remove('labels-on-top');}chartWrapper.querySelectorAll('.riv-line-legend').forEach(function(legend) {var chartId = legend.dataset.chart;var chart = chartWrapper.querySelector('[id="' + chartId + '"]');if (!chart) return;var lines = chart.querySelectorAll('.riv-line-path');var dots = chart.querySelectorAll('.riv-dot');var legendItems = legend.querySelectorAll('.riv-legend-item');legendItems.forEach(function(item) {var productName = item.dataset.product;var safeProductName = productName.replace(/"/g, '\"');var line = chart.querySelector('.riv-line-path[data-product="' + safeProductName + '"]');var productDots = chart.querySelectorAll('.riv-dot[data-product="' + safeProductName + '"]');if (line && !line.dataset.origStroke) {line.dataset.origStroke = line.getAttribute('stroke-width') || '2';}var highlight = function() {if (legend.querySelector('.isolated')) return;lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '0.2'; });legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });if (line) {line.style.opacity = '1';line.setAttribute('stroke-width', '4');}productDots.forEach(function(d) { d.style.opacity = '1'; });item.style.opacity = '1';};var clearHighlight = function() {if (legend.querySelector('.isolated')) return;lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '1'; });legendItems.forEach(function(i) { i.style.opacity = '1'; });};var toggleIsolate = function() {var isIsolated = item.classList.contains('isolated');legendItems.forEach(function(i) { i.classList.remove('isolated'); });if (isIsolated) {lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '1'; });legendItems.forEach(function(i) { i.style.opacity = '1'; });} else {item.classList.add('isolated');lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '0.2'; });legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });if (line) {line.style.opacity = '1';line.setAttribute('stroke-width', '4');}productDots.forEach(function(d) { d.style.opacity = '1'; });item.style.opacity = '1';}};item.addEventListener('mouseenter', highlight);item.addEventListener('focus', highlight);item.addEventListener('mouseleave', clearHighlight);item.addEventListener('blur', clearHighlight);item.addEventListener('click', toggleIsolate);if (line) {line.style.cursor = 'pointer';line.addEventListener('mouseenter', highlight);line.addEventListener('mouseleave', clearHighlight);line.addEventListener('click', toggleIsolate);}});});var versusCharts = chartWrapper.querySelectorAll('.fv-versus-chart');versusCharts.forEach(function(vc) {var dataJson = vc.getAttribute('data-versus-data');var leftColor = vc.getAttribute('data-left-color') || '#E53935';var rightColor = vc.getAttribute('data-right-color') || '#FFB300';if (!dataJson) return;var versusData = JSON.parse(dataJson);var leftSelect = vc.querySelector('.fv-select-left');var rightSelect = vc.querySelector('.fv-select-right');var rows = vc.querySelectorAll('.fv-versus-row');function updateVersusChart() {var leftProduct = leftSelect.value;var rightProduct = rightSelect.value;leftSelect.style.color = leftColor;leftSelect.style.borderColor = leftColor;rightSelect.style.color = rightColor;rightSelect.style.borderColor = rightColor;rows.forEach(function(row) {var index = parseInt(row.getAttribute('data-index'));var data = versusData[index];if (!data) return;var leftVal = data.productData[leftProduct] ? data.productData[leftProduct].value : undefined;var rightVal = data.productData[rightProduct] ? data.productData[rightProduct].value : undefined;var leftIsNum = typeof leftVal === 'number';var rightIsNum = typeof rightVal === 'number';var leftNum = leftIsNum ? leftVal : 0;var rightNum = rightIsNum ? rightVal : 0;var maxVal = Math.max(leftNum, rightNum, 0.0001);var leftWidth = leftIsNum ? (leftNum / maxVal) * 95 : 0;var rightWidth = rightIsNum ? (rightNum / maxVal) * 85 : 0;var winner = null;var pctDiffStr = null;if (leftIsNum && rightIsNum) {if (leftNum > rightNum) {winner = 'left';if (rightNum > 0) {var diff = Math.round(((leftNum - rightNum) / rightNum) * 100);pctDiffStr = '+' + diff.toLocaleString() + '%';}} else if (rightNum > leftNum) {winner = 'right';if (leftNum > 0) {var diff = Math.round(((rightNum - leftNum) / leftNum) * 100);pctDiffStr = '+' + diff.toLocaleString() + '%';}}}var leftDisplay = data.productData[leftProduct] && data.productData[leftProduct].displayValue !== undefined ? data.productData[leftProduct].displayValue : (leftIsNum ? leftNum.toLocaleString() : (leftVal !== undefined ? leftVal : '-'));var rightDisplay = data.productData[rightProduct] && data.productData[rightProduct].displayValue !== undefined ? data.productData[rightProduct].displayValue : (rightIsNum ? rightNum.toLocaleString() : (rightVal !== undefined ? rightVal : '-'));var unit = (data.productData[leftProduct] && data.productData[leftProduct].unit) ||(data.productData[rightProduct] && data.productData[rightProduct].unit) || '';var leftTextStr = leftDisplay;var rightTextStr = rightDisplay;var leftBar = row.querySelector('.fv-versus-bar-left');var rightBar = row.querySelector('.fv-versus-bar-right');var leftText = row.querySelector('.fv-inside-left');var rightText = row.querySelector('.fv-inside-right');var labelText = row.querySelector('.fv-versus-label span');var leftWrapper = row.querySelector('.fv-versus-bar-left-wrapper');var rightWrapper = row.querySelector('.fv-versus-bar-right-wrapper');var existingPctDiffs = row.querySelectorAll('.fv-versus-pct-diff');existingPctDiffs.forEach(function(el) { el.remove(); });if (winner === 'left' && pctDiffStr) {var pctSpan = document.createElement('span');pctSpan.className = 'fv-versus-pct-diff';pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';pctSpan.textContent = pctDiffStr;if (leftBar) leftBar.insertBefore(pctSpan, leftBar.firstChild);} else if (winner === 'right' && pctDiffStr) {var pctSpan = document.createElement('span');pctSpan.className = 'fv-versus-pct-diff';pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';pctSpan.textContent = pctDiffStr;if (rightBar) rightBar.appendChild(pctSpan);}if (leftBar) {leftBar.style.backgroundColor = leftColor;leftBar.dataset.targetWidth = leftWidth;leftBar.style.setProperty('--target-width', leftWidth + '%');leftBar.style.width = leftWidth + '%';}if (rightBar) {rightBar.style.backgroundColor = rightColor;rightBar.dataset.targetWidth = rightWidth;rightBar.style.setProperty('--target-width', rightWidth + '%');rightBar.style.width = rightWidth + '%';}if (leftText) {leftText.innerHTML = leftTextStr;}if (rightText) {rightText.innerHTML = rightTextStr;}if (labelText) {labelText.textContent = data.attribute + (unit ? ' (' + unit + ')' : '');}});}if (leftSelect) leftSelect.addEventListener('change', updateVersusChart);if (rightSelect) rightSelect.addEventListener('change', updateVersusChart);});var barRows = chartWrapper.querySelectorAll('.fv-bar-row');var globalCaptionEl = chartWrapper.querySelector('.rv-chart-caption');var fallbackCaptionHtml = globalCaptionEl ? globalCaptionEl.innerHTML : '';barRows.forEach(function(row) {var commentaryEl = row.querySelector('[data-commentary-key]');if (commentaryEl) {var commentaryText = commentaryEl.textContent;if (commentaryText && commentaryText.trim().length > 0) {row.addEventListener('mouseenter', function() {if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {globalCaptionEl.innerHTML = commentaryText;globalCaptionEl.classList.add('fv-bar-active-caption');}});row.addEventListener('mouseleave', function() {if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {globalCaptionEl.innerHTML = fallbackCaptionHtml;globalCaptionEl.classList.remove('fv-bar-active-caption');}});}}});var charts = chartWrapper.querySelectorAll('.fv-chart-item');var dropdown = chartWrapper.querySelector('.fv-dropdown-title');var prevBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.prev');var nextBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.next');var carouselTitle = chartWrapper.querySelector('.fv-carousel-title-controls .fv-benchmark-title');var counter = chartWrapper.querySelector('.fv-carousel-counter');var subheadEl = chartWrapper.querySelector('.fv-chart-subhead');var captionEl = chartWrapper.querySelector('.rv-chart-caption');var footerContentEl = chartWrapper.querySelector('.fv-footer-content');var bottomBarEl = chartWrapper.querySelector('.fv-bottom-bar');var logoEl = chartWrapper.querySelector('.fv-logo');if (charts.length > 1 && (dropdown || prevBtn)) {var currentChartIndex = 0;var titles = [];if (dropdown) {titles = Array.from(dropdown.options).map(function(o) { return o.text; });} else {charts.forEach(function(c) {titles.push(c.getAttribute('data-title') || '');});}function showInternalChart(index) {if (index < 0) index = charts.length - 1;if (index >= charts.length) index = 0;currentChartIndex = index;charts.forEach(function(c, i) {c.style.display = i === index ? 'block' : 'none';if (i === index) {var cType = c.dataset.chartType;if (cType === 'Line') {} else if (cType !== 'Pie') {window.fvAnimateCharts(chartWrapper);}var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';if (labelsOnTop && (cType === 'Bar' || cType === 'Stacked Bar' || cType === 'Versus')) {chartWrapper.classList.add('labels-on-top');} else {chartWrapper.classList.remove('labels-on-top');}}});if (dropdown) dropdown.value = index;if (carouselTitle && titles[index]) carouselTitle.textContent = titles[index];if (counter) counter.textContent = (index + 1) + ' of ' + charts.length;var activeChart = charts[index];if (activeChart) {var newSubhead = activeChart.getAttribute('data-subhead');var newCaption = activeChart.getAttribute('data-caption');var currentChartType = activeChart.getAttribute('data-chart-type');var hideGlobalCaption = currentChartType === 'Countdown' || currentChartType === 'Image Comparison' || currentChartType === 'Shop the Collection';if (subheadEl) subheadEl.textContent = newSubhead || '';if (captionEl) {captionEl.textContent = newCaption || '';fallbackCaptionHtml = newCaption || '';}if (footerContentEl) {if (newCaption && newCaption.trim().length > 0 && !hideGlobalCaption) {footerContentEl.style.display = 'block';if (bottomBarEl) bottomBarEl.style.display = 'flex';} else {footerContentEl.style.display = 'none';if (bottomBarEl && !logoEl) {bottomBarEl.style.display = 'none';}}}}}if (dropdown) dropdown.addEventListener('change', function(e) { showInternalChart(parseInt(e.target.value)); });if (prevBtn) prevBtn.addEventListener('click', function() { showInternalChart(currentChartIndex - 1); });if (nextBtn) nextBtn.addEventListener('click', function() { showInternalChart(currentChartIndex + 1); });}var imageCompareWrappers = chartWrapper.querySelectorAll('.fv-image-compare-wrapper');imageCompareWrappers.forEach(function(wrapper) {var inner = wrapper.querySelector('.fv-image-compare-inner') || wrapper;var slider = wrapper.querySelector('.fv-image-compare-slider');var fgImage = wrapper.querySelector('.fv-image-compare-fg');var bgImage = wrapper.querySelector('.fv-image-compare-bg');var labelLeft = wrapper.querySelector('.fv-image-compare-label-left');var labelRight = wrapper.querySelector('.fv-image-compare-label-right');var isDragging = false;var scale = 1;var panX = 0;var panY = 0;var isPanning = false;var hasPanned = false;var lastClientX = 0;var lastClientY = 0;var initialDistance = null;var lastCenterX = null;var lastCenterY = null;function updateTransform() {if (wrapper.classList.contains('fv-image-compare-fullscreen')) {inner.style.setProperty('transform', 'translate(' + panX + 'px, ' + panY + 'px) scale(' + scale + ')', 'important');} else {inner.style.removeProperty('transform');scale = 1;panX = 0;panY = 0;}}function constrainPan() {var rect = wrapper.getBoundingClientRect();var maxPanX = Math.max(0, (rect.width * scale - rect.width) / 2);var maxPanY = Math.max(0, (rect.height * scale - rect.height) / 2);panX = Math.max(-maxPanX, Math.min(panX, maxPanX));panY = Math.max(-maxPanY, Math.min(panY, maxPanY));}wrapper.addEventListener('wheel', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;e.preventDefault();var zoomSensitivity = 0.005;var zoomFactor = Math.exp(-e.deltaY * zoomSensitivity);var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));if (newScale === scale) return;var rect = wrapper.getBoundingClientRect();var mouseX = e.clientX - rect.left - rect.width / 2;var mouseY = e.clientY - rect.top - rect.height / 2;var ratio = newScale / scale;panX = mouseX - (mouseX - panX) * ratio;panY = mouseY - (mouseY - panY) * ratio;scale = newScale;constrainPan();updateTransform();}, { passive: false });wrapper.addEventListener('mousedown', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen') || scale <= 1) return;if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;isPanning = true;hasPanned = false;lastClientX = e.clientX;lastClientY = e.clientY;});window.addEventListener('mousemove', function(e) {if (!isPanning) return;var dx = e.clientX - lastClientX;var dy = e.clientY - lastClientY;if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {hasPanned = true;}lastClientX = e.clientX;lastClientY = e.clientY;panX += dx;panY += dy;constrainPan();updateTransform();});window.addEventListener('mouseup', function() {isPanning = false;});wrapper.addEventListener('touchstart', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;if (e.touches.length === 2) {e.preventDefault();var dx = e.touches[0].clientX - e.touches[1].clientX;var dy = e.touches[0].clientY - e.touches[1].clientY;initialDistance = Math.sqrt(dx * dx + dy * dy);var rect = wrapper.getBoundingClientRect();lastCenterX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;lastCenterY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;hasPanned = true;} else if (e.touches.length === 1 && scale > 1) {if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;isPanning = true;hasPanned = false;lastClientX = e.touches[0].clientX;lastClientY = e.touches[0].clientY;}}, { passive: false });wrapper.addEventListener('touchmove', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;if (e.touches.length === 2 && initialDistance !== null) {e.preventDefault();var dx = e.touches[0].clientX - e.touches[1].clientX;var dy = e.touches[0].clientY - e.touches[1].clientY;var distance = Math.sqrt(dx * dx + dy * dy);if (initialDistance > 0) {var zoomFactor = distance / initialDistance;var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));var rect = wrapper.getBoundingClientRect();var centerX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;var centerY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;var ratio = newScale / scale;panX = centerX - (centerX - panX) * ratio;panY = centerY - (centerY - panY) * ratio;if (lastCenterX !== null && lastCenterY !== null) {panX += (centerX - lastCenterX);panY += (centerY - lastCenterY);}scale = newScale;lastCenterX = centerX;lastCenterY = centerY;constrainPan();updateTransform();}initialDistance = distance;} else if (e.touches.length === 1 && isPanning) {e.preventDefault();var dx = e.touches[0].clientX - lastClientX;var dy = e.touches[0].clientY - lastClientY;if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {hasPanned = true;}lastClientX = e.touches[0].clientX;lastClientY = e.touches[0].clientY;panX += dx;panY += dy;constrainPan();updateTransform();}}, { passive: false });wrapper.addEventListener('touchend', function(e) {if (e.touches.length < 2) {initialDistance = null;}if (e.touches.length === 0) {isPanning = false;}});function handleMove(clientX) {var rect = inner.getBoundingClientRect();var x = Math.max(0, Math.min(clientX - rect.left, rect.width));var percent = Math.max(0, Math.min((x / rect.width) * 100, 100));if (slider) slider.style.setProperty('left', percent + '%', 'important');if (fgImage) fgImage.style.setProperty('clip-path', 'polygon(0 0, ' + percent + '% 0, ' + percent + '% 100%, 0 100%)', 'important');if (labelLeft) {if (percent < 10) {labelLeft.style.setProperty('opacity', '0', 'important');} else {labelLeft.style.setProperty('opacity', '1', 'important');}}if (labelRight) {if (percent > 90) {labelRight.style.setProperty('opacity', '0', 'important');} else {labelRight.style.setProperty('opacity', '1', 'important');}}}function onMouseMove(e) {if (!isDragging) return;handleMove(e.clientX);}function onTouchMove(e) {if (!isDragging) return;e.preventDefault();handleMove(e.touches[0].clientX);}function stopDragging() {isDragging = false;window.removeEventListener('mousemove', onMouseMove);window.removeEventListener('mouseup', stopDragging);window.removeEventListener('touchmove', onTouchMove);window.removeEventListener('touchend', stopDragging);}if (slider) {var startDrag = function(clientX) {isDragging = true;handleMove(clientX);window.addEventListener('mousemove', onMouseMove);window.addEventListener('mouseup', stopDragging);};var startTouchDrag = function(clientX) {isDragging = true;handleMove(clientX);window.addEventListener('touchmove', onTouchMove, { passive: false });window.addEventListener('touchend', stopDragging);};slider.addEventListener('mousedown', function(e) {e.preventDefault();startDrag(e.clientX);});slider.addEventListener('touchstart', function(e) {e.preventDefault();startTouchDrag(e.touches[0].clientX);}, { passive: false });}var expandBtn = wrapper.querySelector('.fv-image-compare-expand-btn');var closeBtn = wrapper.querySelector('.fv-image-compare-close-btn');if (expandBtn) {if (window !== window.parent) {expandBtn.style.display = 'none';} else {expandBtn.addEventListener('click', function(e) {e.stopPropagation();wrapper.classList.add('fv-image-compare-fullscreen');document.body.style.overflow = 'hidden';if (fgImage && fgImage.dataset.highresSrc) {fgImage.src = fgImage.dataset.highresSrc;fgImage.removeAttribute('srcset');fgImage.removeAttribute('sizes');}if (bgImage && bgImage.dataset.highresSrc) {bgImage.src = bgImage.dataset.highresSrc;bgImage.removeAttribute('srcset');bgImage.removeAttribute('sizes');}});}}if (closeBtn) {closeBtn.addEventListener('click', function(e) {e.stopPropagation();wrapper.classList.remove('fv-image-compare-fullscreen');document.body.style.overflow = '';updateTransform();});}document.addEventListener('keydown', function(e) {if (e.key === 'Escape' && wrapper.classList.contains('fv-image-compare-fullscreen')) {wrapper.classList.remove('fv-image-compare-fullscreen');document.body.style.overflow = '';updateTransform();}});});var hotspots = chartWrapper.querySelectorAll('.fv-stl-hotspot-btn');var allProductsModal = chartWrapper.querySelector('.fv-stl-all-products-modal');var shopAllBtn = chartWrapper.querySelector('.fv-stl-shop-all-btn');var allProductsList = chartWrapper.querySelector('.fv-stl-all-products-list');var stlContainer = chartWrapper.querySelector('.fv-stl-container');function closeAllModals() {if (allProductsModal) {allProductsModal.classList.remove('is-active');var items = allProductsModal.querySelectorAll('.fv-stl-all-products-item');items.forEach(function(item) {item.classList.remove('is-highlighted');});if (stlContainer) {setTimeout(function() {if (!allProductsModal.classList.contains('is-active')) {stlContainer.style.minHeight = '';if ('parentIFrame' in window) {window.parentIFrame.size();}}}, 300);}}hotspots.forEach(function(btn) { btn.setAttribute('aria-expanded', 'false'); });if ('parentIFrame' in window) {window.parentIFrame.size();}}hotspots.forEach(function(btn) {btn.addEventListener('click', function(e) {e.stopPropagation();var hotspotId = btn.getAttribute('data-hotspot-id');var isExpanded = btn.getAttribute('aria-expanded') === 'true';closeAllModals();if (!isExpanded && allProductsModal) {btn.setAttribute('aria-expanded', 'true');allProductsModal.classList.add('is-active');var container = btn.closest('.fv-stl-container');if (container && container.offsetHeight < 450) {container.style.minHeight = '450px';}var targetItem = allProductsModal.querySelector('.fv-stl-all-products-item[data-product-id="' + hotspotId + '"]');if (targetItem) {targetItem.classList.add('is-highlighted');setTimeout(function() {targetItem.scrollIntoView({ behavior: 'smooth', block: 'center' });}, 100);}if ('parentIFrame' in window) {window.parentIFrame.size();}}});});if (shopAllBtn && allProductsModal) {shopAllBtn.addEventListener('click', function(e) {e.stopPropagation();closeAllModals();allProductsModal.classList.add('is-active');var container = shopAllBtn.closest('.fv-stl-container');if (container && container.offsetHeight < 450) {container.style.minHeight = '450px';}if ('parentIFrame' in window) {window.parentIFrame.size();}});}if (allProductsModal) {var closeAllBtn = allProductsModal.querySelector('.fv-stl-all-products-close');if (closeAllBtn) {closeAllBtn.addEventListener('click', function(e) {e.stopPropagation();closeAllModals();});}}chartWrapper.addEventListener('click', function(e) {if (!e.target.closest('.fv-stl-all-products-content')) {closeAllModals();}});if (allProductsModal) {allProductsModal.addEventListener('click', function(e) {if (!e.target.closest('.fv-stl-all-products-content')) {closeAllModals();}});}var iaNodes = chartWrapper.querySelectorAll('.fv-ia-node-button');var iaWrapper = chartWrapper.querySelector('.fv-ia-wrapper');var originalCaption = chartWrapper.querySelector('.fv-original-caption') || captionEl;var dynamicCaption = chartWrapper.querySelector('.fv-ia-dynamic-caption');var exploreBtn = chartWrapper.querySelector('.fv-ia-explore-btn');var currentIaIndex = -1;function closeAllIANodes() {iaNodes.forEach(function(btn) { btn.classList.remove('is-active'); });if (originalCaption) originalCaption.style.display = 'block';if (dynamicCaption) dynamicCaption.style.display = 'none';}function resetExploreBtn() {currentIaIndex = -1;if (exploreBtn) {var exploreSpan = exploreBtn.querySelector('span');if (exploreSpan) exploreSpan.textContent = 'Explore';}}iaNodes.forEach(function(btn, index) {btn.addEventListener('click', function(e) {e.stopPropagation();var isActive = btn.classList.contains('is-active');closeAllIANodes();if (!isActive) {currentIaIndex = index;if (exploreBtn) {var exploreSpan = exploreBtn.querySelector('span');if (exploreSpan) exploreSpan.textContent = 'Next';}btn.classList.add('is-active');if (dynamicCaption) {var title = btn.getAttribute('data-title') || '';var desc = btn.getAttribute('data-desc') || '';dynamicCaption.innerHTML = '';var strongTag = document.createElement('strong');strongTag.textContent = title;dynamicCaption.appendChild(strongTag);if (desc) {dynamicCaption.appendChild(document.createTextNode(' - ' + desc));}if (originalCaption) originalCaption.style.display = 'none';dynamicCaption.style.display = 'block';if (footerContentEl) footerContentEl.style.display = 'block';}} else {resetExploreBtn();}});});if (exploreBtn) {exploreBtn.addEventListener('click', function(e) {e.stopPropagation();if (iaNodes.length === 0) return;var nextIndex = currentIaIndex + 1;if (nextIndex >= iaNodes.length) {closeAllIANodes();resetExploreBtn();} else {currentIaIndex = nextIndex;var targetBtn = iaNodes[currentIaIndex];if (targetBtn) {if(targetBtn.classList.contains('is-active')) {targetBtn.click();}targetBtn.click();}}});}if (iaWrapper) {iaWrapper.addEventListener('click', function(e) {if (!e.target.closest('.fv-ia-node-button') && !e.target.closest('.fv-ia-explore-btn')) {closeAllIANodes();resetExploreBtn();}});}window.fvAnimateCharts(chartWrapper);var countdownContainer = chartWrapper.querySelector('.fv-countdown-container');if (countdownContainer) {var targetDateAttr = countdownContainer.getAttribute('data-target-date');if (targetDateAttr) {var targetDate = new Date(targetDateAttr);var primaryColor = countdownContainer.getAttribute('data-primary-color') || '#f97316';var subheadColor = countdownContainer.getAttribute('data-subhead-color') || '#ffffff';var pad = function(n) { return (n < 10 ? '0' : '') + n; };var updateCountdown = function() {var difference = +targetDate - +new Date();var d = 0, h = 0, m = 0, s = 0;if (difference > 0) {d = Math.floor(difference / (1000 * 60 * 60 * 24));h = Math.floor((difference / (1000 * 60 * 60)) % 24);m = Math.floor((difference / 1000 / 60) % 60);s = Math.floor((difference / 1000) % 60);}var daysEl = countdownContainer.querySelector('[data-time="days"]');var hoursEl = countdownContainer.querySelector('[data-time="hours"]');var minsEl = countdownContainer.querySelector('[data-time="minutes"]');var secsEl = countdownContainer.querySelector('[data-time="seconds"]');if (daysEl) daysEl.textContent = d;if (hoursEl) hoursEl.textContent = pad(h);if (minsEl) minsEl.textContent = pad(m);if (secsEl) secsEl.textContent = pad(s);};updateCountdown();setInterval(updateCountdown, 1000);}}}if (false) {var slideshowContainer = document.getElementById(uniqueId + '-slideshow');if (slideshowContainer) {var slides = slideshowContainer.querySelectorAll('.fv-slide');slides.forEach(function(slide) {setupWrapper(slide.querySelector('.fv-chart-wrapper'));});}} else {setupWrapper(root);}}if (document.readyState === 'loading') {document.addEventListener('DOMContentLoaded', function() { initialize('fv-chart-1790607282055-ehf5hye65', false); });} else {initialize('fv-chart-1790607282055-ehf5hye65', false);}})();</script></div><p>While the most intensive cleaning took some time and left the floor relatively wet, it was some of the best mopping I have ever seen from a robot. You do need to delve into the settings to get the best performance and it probably is only practical for small zone cleaning but it's still a lot less effort than getting out a mop and bucket.</p><p>On regular cleaning settings it can manage around five regular rooms before needing recharging so depending on your home it may need to recharge before completing a full clean. Recharging takes around four hours.</p><div class="vizualizer-embed"><style>@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap');#fv-chart-1790607426801-muejn7a43 *, #fv-chart-1790607426801-muejn7a43 *:before, #fv-chart-1790607426801-muejn7a43 *:after, #fv-chart-1790607426801-muejn7a43-slideshow *, #fv-chart-1790607426801-muejn7a43-slideshow *:before, #fv-chart-1790607426801-muejn7a43-slideshow *:after {box-sizing: border-box !important; margin: 0; padding: 0; border: 0;font-size: 100%; font: inherit; vertical-align: baseline;}#fv-chart-1790607426801-muejn7a43, #fv-chart-1790607426801-muejn7a43-slideshow { font-family: 'Open Sans', sans-serif !important; }#fv-chart-1790607426801-muejn7a43 {position: relative !important; overflow: visible !important;--riv-primary: #2E6E93;}#fv-chart-1790607426801-muejn7a43 .fv-inner-wrapper {color: #1F2937 !important; background-color: #ffffff !important;padding: 1.5rem 1.5rem 2rem !important; border-radius: 0.5rem !important;box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important;margin: 1rem 0 !important; display: flex !important; flex-direction: column !important;overflow: hidden !important;}#fv-chart-1790607426801-muejn7a43 .fv-inner-wrapper.fv-no-header.fv-is-image-compare {padding-top: 0 !important;}#fv-chart-1790607426801-muejn7a43.fv-full-bleed {width: 100vw !important;margin-left: calc(50% - 50vw) !important;}body {overflow-x: clip !important;}#fv-chart-1790607426801-muejn7a43.fv-full-bleed .fv-inner-wrapper {padding: 0 !important;border-radius: 0 !important;box-shadow: none !important;margin: 0 !important;background-color: transparent !important;}#fv-chart-1790607426801-muejn7a43 .fv-inner-wrapper.fv-is-shop-the-look {padding: 0 !important;border-radius: 0 !important;box-shadow: none !important;margin: 0 !important;background-color: transparent !important;}#fv-chart-1790607426801-muejn7a43-slideshow {position: relative !important;width: 100% !important;margin: 1rem 0 !important;--riv-primary: #2E6E93;}#fv-chart-1790607426801-muejn7a43-slideshow .fv-slides-wrapper {position: relative !important;width: 100% !important;}#fv-chart-1790607426801-muejn7a43-slideshow .fv-slide {width: 100% !important;animation: fv-fade-in 0.3s ease-in-out;}@keyframes fv-fade-in {from { opacity: 0; }to { opacity: 1; }}#fv-chart-1790607426801-muejn7a43-slideshow .fv-slideshow-nav-row {position: relative !important;display: flex !important;justify-content: space-between !important;align-items: center !important;padding: 0 0 16px 0 !important;width: 100% !important;z-index: 20 !important;}#fv-chart-1790607426801-muejn7a43-slideshow .fv-nav-btn {background-color: var(--riv-primary) !important;color: #ffffff !important;border: none !important;border-radius: 4px !important;padding: 8px 16px !important;font-size: 14px !important;font-weight: 700 !important;cursor: pointer !important;display: flex !important;align-items: center !important;justify-content: center !important;gap: 6px !important;transition: opacity 0.2s, background-color 0.2s !important;height: 36px !important;text-transform: none !important;box-shadow: 0 1px 2px rgba(0,0,0,0.1) !important;}#fv-chart-1790607426801-muejn7a43-slideshow .fv-nav-btn svg {width: 18px !important;height: 18px !important;stroke-width: 3px !important;filter: none !important;}#fv-chart-1790607426801-muejn7a43-slideshow .fv-nav-btn:hover {opacity: 0.9 !important;transform: translateY(-1px) !important;}#fv-chart-1790607426801-muejn7a43-slideshow .fv-nav-btn.disabled {background-color: #E5E7EB !important;color: #9CA3AF !important;cursor: default !important;pointer-events: none !important;box-shadow: none !important;}#fv-chart-1790607426801-muejn7a43-slideshow .fv-slide-counter {font-family: 'Poppins', sans-serif !important;font-size: 14px !important;font-weight: 600 !important;color: #374151 !important;text-align: center !important;min-width: 40px !important;background-color: rgba(255,255,255,0.8) !important;padding: 2px 8px !important;border-radius: 10px !important;}#fv-chart-1790607426801-muejn7a43-slideshow .fv-slideshow-select {position: absolute !important;top: 10px !important;right: 10px !important;z-index: 20 !important;appearance: none !important;-webkit-appearance: none !important;-moz-appearance: none !important;background-color: white !important;border: 1px solid #d1d5db !important;color: #1F2937 !important;font-family: 'Open Sans', sans-serif !important;font-size: 14px !important;font-weight: 600 !important;padding: 6px 32px 6px 12px !important;border-radius: 4px !important;cursor: pointer !important;box-shadow: 0 1px 2px rgba(0,0,0,0.05) !important;background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e") !important;background-position: right 0.5rem center !important;background-repeat: no-repeat !important;background-size: 1.5em 1.5em !important;}#fv-chart-1790607426801-muejn7a43-slideshow .fv-slideshow-select:focus {outline: 2px solid #2E6E93 !important;border-color: #2E6E93 !important;}#fv-chart-1790607426801-muejn7a43 .fv-chart-title {font-weight: bold !important;text-align: center !important;margin-bottom: 0.5rem !important;color: var(--riv-primary) !important;font-size: 20px !important;line-height: 1.2 !important;font-family: 'Open Sans', sans-serif !important;text-transform: none !important;white-space: normal !important;overflow-wrap: break-word !important;padding: 0 20px !important;}#fv-chart-1790607426801-muejn7a43 .fv-chart-subhead {font-size: 18px !important;font-weight: 500 !important;text-align: center !important;margin-bottom: 2rem !important;color: #374151 !important;line-height: 1.7 !important;font-family: 'Open Sans', sans-serif !important;display: block !important;text-transform: none !important;padding: 0 20px !important;}#fv-chart-1790607426801-muejn7a43 .rv-chart-caption { font-size: 15px !important; color: #374151 !important; text-align: center !important; font-style: normal !important; font-weight: normal !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; }#fv-chart-1790607426801-muejn7a43 .fv-versus-chart { display: flex; flex-direction: column; width: 100%; margin-top: 1rem; }#fv-chart-1790607426801-muejn7a43 .fv-versus-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding: 0 1rem; }#fv-chart-1790607426801-muejn7a43 .fv-versus-select-wrapper { flex: 1; min-width: 0; }#fv-chart-1790607426801-muejn7a43 .fv-versus-select-wrapper.fv-left { text-align: center; padding-right: 1rem; }#fv-chart-1790607426801-muejn7a43 .fv-versus-select-wrapper.fv-right { text-align: center; padding-left: 1rem; }#fv-chart-1790607426801-muejn7a43 .fv-versus-select-container { position: relative; display: inline-block; max-width: 100%; width: 100%; }#fv-chart-1790607426801-muejn7a43 .fv-versus-chevron { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; width: 16px; height: 16px; flex-shrink: 0; }#fv-chart-1790607426801-muejn7a43 .fv-versus-select-wrapper.fv-left .fv-versus-chevron { right: 0; }#fv-chart-1790607426801-muejn7a43 .fv-versus-select-wrapper.fv-right .fv-versus-chevron { right: 0; }#fv-chart-1790607426801-muejn7a43 .fv-versus-select { background: transparent; border: none; border-bottom: 2px solid; font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; padding: 0.25rem 0; cursor: pointer; outline: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; max-width: 100%; width: 100%; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; }#fv-chart-1790607426801-muejn7a43 .fv-versus-select.fv-select-left { text-align: center; direction: ltr; padding-right: 1.25rem; }#fv-chart-1790607426801-muejn7a43 .fv-versus-select.fv-select-right { text-align: center; padding-right: 1.25rem; }#fv-chart-1790607426801-muejn7a43 .fv-versus-select option { font-family: 'Open Sans', sans-serif; font-weight: 400; font-size: 14px; color: #374151; direction: ltr; text-align: left; }#fv-chart-1790607426801-muejn7a43 .fv-versus-vs { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; color: #374151; letter-spacing: 0.1em; padding: 0 1rem; }#fv-chart-1790607426801-muejn7a43 .fv-versus-body { display: flex; flex-direction: column; gap: 1.5rem; }#fv-chart-1790607426801-muejn7a43 .fv-versus-row { position: relative; height: auto; padding-top: 20px; margin-bottom: 0.25rem; display: block; }#fv-chart-1790607426801-muejn7a43 .fv-versus-bar-container { position: relative; height: 32px; display: flex; align-items: center; }#fv-chart-1790607426801-muejn7a43 .fv-versus-bar-left-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-end; align-items: center; }#fv-chart-1790607426801-muejn7a43 .fv-versus-bar-right-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-start; align-items: center; }#fv-chart-1790607426801-muejn7a43 .fv-versus-bar { height: 32px; width: var(--target-width); transition: width 0.8s ease-out; animation: fv-grow-max-width 0.8s ease-out forwards; display: flex; align-items: center; overflow: hidden; color: #ffffff; }#fv-chart-1790607426801-muejn7a43 .fv-versus-bar-left { border-radius: 4px 0 0 4px; justify-content: flex-end; padding: 0 8px; }#fv-chart-1790607426801-muejn7a43 .fv-versus-bar-right { border-radius: 0 4px 4px 0; justify-content: flex-start; padding: 0 8px; }@keyframes fv-grow-max-width {from { max-width: 0; }to { max-width: 100%; }}#fv-chart-1790607426801-muejn7a43 .fv-versus-center-line { position: absolute; left: 50%; top: 0; bottom: 0; width: 4px; background-color: #ffffff; transform: translateX(-50%); z-index: 1; }#fv-chart-1790607426801-muejn7a43 .fv-inside-left { white-space: nowrap; flex-shrink: 0; }#fv-chart-1790607426801-muejn7a43 .fv-inside-right { white-space: nowrap; flex-shrink: 0; }#fv-chart-1790607426801-muejn7a43 .fv-versus-val-text { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; }#fv-chart-1790607426801-muejn7a43 .fv-versus-pct-diff { font-size: 12px; font-weight: 600; }#fv-chart-1790607426801-muejn7a43 .fv-versus-label { position: absolute; left: 50%; transform: translateX(-50%); top: 0; background-color: transparent; border: none; box-shadow: none; padding: 0; font-family: 'Open Sans', sans-serif; font-weight: 700; font-size: 14px; color: #374151; white-space: nowrap; }#fv-chart-1790607426801-muejn7a43 .sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }#fv-chart-1790607426801-muejn7a43 .fv-image-compare-container { width: auto !important; margin-left: -1.5rem !important; margin-right: -1.5rem !important; margin-bottom: 2rem !important; }#fv-chart-1790607426801-muejn7a43.fv-full-bleed .fv-image-compare-container { width: 100% !important; max-width: none !important; margin: 0 auto !important; }#fv-chart-1790607426801-muejn7a43 .fv-image-compare-wrapper { position: relative !important; width: 100% !important; overflow: hidden !important; border-radius: 0 !important; background-color: #000 !important; touch-action: pan-y !important; user-select: none !important; -webkit-user-select: none !important; }#fv-chart-1790607426801-muejn7a43 .fv-image-compare-inner { position: relative !important; width: 100% !important; height: 100% !important; display: block !important; transform-origin: center center !important; transition: transform 0.1s ease-out !important; }#fv-chart-1790607426801-muejn7a43 .fv-image-compare-bg { display: block !important; width: 100% !important; height: auto !important; pointer-events: none !important; user-select: none !important; -webkit-user-select: none !important; -webkit-user-drag: none !important; }#fv-chart-1790607426801-muejn7a43 .fv-image-compare-fg { position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; object-fit: cover !important; clip-path: polygon(0 0, 50% 0, 50% 100%, 0 100%) !important; pointer-events: none !important; user-select: none !important; -webkit-user-select: none !important; -webkit-user-drag: none !important; }#fv-chart-1790607426801-muejn7a43 .fv-image-compare-slider { position: absolute !important; top: 0 !important; bottom: 0 !important; left: 50% !important; width: 32px !important; transform: translateX(-50%) !important; cursor: ew-resize !important; z-index: 10 !important; user-select: none !important; -webkit-user-select: none !important; }#fv-chart-1790607426801-muejn7a43 .fv-image-compare-slider-line { position: absolute !important; top: 0 !important; bottom: 0 !important; left: 50% !important; width: 4px !important; background-color: white !important; transform: translateX(-50%) !important; box-shadow: 0 0 10px rgba(0,0,0,0.5) !important; pointer-events: none !important; }#fv-chart-1790607426801-muejn7a43 .fv-image-compare-handle { position: absolute !important; top: 50% !important; left: 50% !important; transform: translate(-50%, -50%) !important; width: 32px !important; height: 32px !important; background-color: white !important; border-radius: 50% !important; box-shadow: 0 2px 6px rgba(0,0,0,0.3) !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 4px !important; pointer-events: none !important; z-index: 11 !important; overflow: hidden !important; }#fv-chart-1790607426801-muejn7a43 .fv-image-compare-handle.fv-image-compare-handle-square { border-radius: 6px !important; }#fv-chart-1790607426801-muejn7a43 .fv-image-compare-arrow-left { width: 0 !important; height: 0 !important; border-top: 4px solid transparent !important; border-bottom: 4px solid transparent !important; border-right: 4px solid #4b5563 !important; }#fv-chart-1790607426801-muejn7a43 .fv-image-compare-arrow-right { width: 0 !important; height: 0 !important; border-top: 4px solid transparent !important; border-bottom: 4px solid transparent !important; border-left: 4px solid #4b5563 !important; }#fv-chart-1790607426801-muejn7a43 .fv-image-compare-label { position: absolute !important; top: 1rem !important; background-color: rgba(0, 0, 0, 0.5) !important; color: white !important; padding: 0.25rem 0.75rem !important; border-radius: 0.25rem !important; font-size: 0.875rem !important; font-weight: 500 !important; pointer-events: none !important; backdrop-filter: blur(4px) !important; z-index: 5 !important; transition: right 0.3s ease, opacity 0.2s ease !important; }#fv-chart-1790607426801-muejn7a43 .fv-image-compare-label-left { left: 1rem !important; }#fv-chart-1790607426801-muejn7a43 .fv-image-compare-label-right { right: 1rem !important; }#fv-chart-1790607426801-muejn7a43 .fv-image-compare-expand-btn, #fv-chart-1790607426801-muejn7a43 .fv-image-compare-close-btn { position: absolute !important; bottom: 1rem !important; right: 1rem !important; background-color: rgba(0, 0, 0, 0.5) !important; color: white !important; border: none !important; border-radius: 0.25rem !important; padding: 0.5rem !important; cursor: pointer !important; z-index: 20 !important; display: flex !important; align-items: center !important; justify-content: center !important; backdrop-filter: blur(4px) !important; transition: background-color 0.2s !important; }#fv-chart-1790607426801-muejn7a43 .fv-image-compare-expand-btn:hover, #fv-chart-1790607426801-muejn7a43 .fv-image-compare-close-btn:hover { background-color: rgba(0, 0, 0, 0.7) !important; }#fv-chart-1790607426801-muejn7a43 .fv-image-compare-close-btn { display: none !important; top: 1rem !important; bottom: auto !important; }#fv-chart-1790607426801-muejn7a43 .fv-image-compare-wrapper.fv-image-compare-fullscreen { position: fixed !important; top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important; width: 100% !important; height: 100% !important; z-index: 999999 !important; display: flex !important; align-items: center !important; justify-content: center !important; background-color: rgba(0, 0, 0, 0.9) !important; margin: 0 !important; touch-action: none !important; }#fv-chart-1790607426801-muejn7a43 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-inner { width: 100% !important; height: 100% !important; display: flex !important; align-items: center !important; justify-content: center !important; cursor: grab !important; }#fv-chart-1790607426801-muejn7a43 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-inner:active { cursor: grabbing !important; }#fv-chart-1790607426801-muejn7a43 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-bg { position: absolute !important; top: 0 !important; left: 0 !important; max-width: 100% !important; max-height: 100% !important; width: 100% !important; height: 100% !important; object-fit: contain !important; }#fv-chart-1790607426801-muejn7a43 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-fg { max-width: 100% !important; max-height: 100% !important; width: 100% !important; height: 100% !important; object-fit: contain !important; }#fv-chart-1790607426801-muejn7a43 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-expand-btn { display: none !important; }#fv-chart-1790607426801-muejn7a43 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-close-btn { display: flex !important; }#fv-chart-1790607426801-muejn7a43 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-label-right { right: 4rem !important; }#fv-chart-1790607426801-muejn7a43 .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; }#fv-chart-1790607426801-muejn7a43 .fv-footer-content { text-align: center !important; width: 100% !important; }#fv-chart-1790607426801-muejn7a43 .fv-logo {display: block !important;margin: 0 auto !important;width: 120px !important;min-width: 120px !important;max-width: 120px !important;height: auto !important;object-fit: contain !important;flex-shrink: 0 !important;}#fv-chart-1790607426801-muejn7a43 .fv-dropdown-wrapper { text-align: center !important; margin-bottom: 16px !important; margin-top: 0 !important; }#fv-chart-1790607426801-muejn7a43 .fv-dropdown-title-container { position: relative !important; display: inline-block !important; max-width: 100% !important; }#fv-chart-1790607426801-muejn7a43 .fv-dropdown-title {appearance: none !important;-webkit-appearance: none !important;-moz-appearance: none !important;background: transparent !important;border: none !important;font-size: 18px !important;font-weight: 600 !important;color: var(--riv-primary) !important;padding-right: 28px !important;padding-left: 10px !important;cursor: pointer !important;text-align: center !important;text-align-last: center !important;width: auto !important;max-width: 100% !important;font-family: 'Open Sans', sans-serif !important;line-height: 1.3 !important;margin: 0 !important;text-overflow: ellipsis !important;overflow: hidden !important;white-space: nowrap !important;}#fv-chart-1790607426801-muejn7a43 .fv-dropdown-title:focus { outline: none !important; }#fv-chart-1790607426801-muejn7a43 .fv-dropdown-title::-ms-expand { display: none !important; }#fv-chart-1790607426801-muejn7a43 .fv-dropdown-chevron {position: absolute !important;right: 0 !important;top: 50% !important;transform: translateY(-50%) !important;pointer-events: none !important;color: var(--riv-primary) !important;display: flex !important;align-items: center !important;}#fv-chart-1790607426801-muejn7a43 .fv-carousel-title-controls { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 16px !important; width: 100% !important; gap: 12px !important; }#fv-chart-1790607426801-muejn7a43 .fv-carousel-nav-btn {background: transparent !important; border: 1px solid #d1d5db !important; border-radius: 6px !important; padding: 6px 10px !important;cursor: pointer !important; font-size: 14px !important; color: #374151 !important; display: flex !important; align-items: center !important; gap: 4px !important; font-family: 'Open Sans', sans-serif !important;}#fv-chart-1790607426801-muejn7a43 .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; }#fv-chart-1790607426801-muejn7a43 .fv-carousel-counter { font-size: 14px !important; color: #374151 !important; text-align: center !important; margin-top: 1rem !important; }#fv-chart-1790607426801-muejn7a43 .fv-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 8px 16px !important; margin: 0 !important; padding: 0 !important; margin-top: 1rem !important; }#fv-chart-1790607426801-muejn7a43 .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #374151 !important; }#fv-chart-1790607426801-muejn7a43 .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; }#fv-chart-1790607426801-muejn7a43 .fv-multi-value-legend {display: flex !important;justify-content: center !important;flex-wrap: wrap !important;gap: 12px 24px !important;margin-bottom: 1.5rem !important;padding: 0 !important;}#fv-chart-1790607426801-muejn7a43 .fv-multi-legend-item { display: flex !important; align-items: center !important; gap: 8px !important; font-size: 14px !important; color: #374151 !important; font-weight: 500 !important; }#fv-chart-1790607426801-muejn7a43 .fv-multi-legend-swatch { width: 16px !important; height: 16px !important; border-radius: 3px !important; }#fv-chart-1790607426801-muejn7a43 .fv-benchmark-group { margin-bottom: 1rem !important; }#fv-chart-1790607426801-muejn7a43 .fv-benchmark-title {font-size: 18px !important; font-weight: 600 !important; margin-bottom: 16px !important; margin-top: 0 !important; padding: 0 !important;text-align: center !important; color: var(--riv-primary) !important; flex: 1 !important; min-width: 0 !important;font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important;text-transform: none !important;white-space: normal !important;overflow-wrap: break-word !important;word-wrap: break-word !important;max-width: 100% !important;}#fv-chart-1790607426801-muejn7a43 .fv-bar-row, #fv-chart-1790607426801-muejn7a43 .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; position: relative !important; }#fv-chart-1790607426801-muejn7a43 .fv-bar-label { width: 150px !important; flex-shrink: 0 !important; font-size: 14px !important; color: #374151 !important; padding-right: 10px !important; text-align: right !important; font-weight: 500 !important; display: block !important; }#fv-chart-1790607426801-muejn7a43 .fv-bar-container { flex-grow: 1 !important; background-color: #E5E7EB !important; border-radius: 4px !important; min-height: 25px !important; border: 1px solid #D1D5DB !important; position: relative !important; display: flex !important; align-items: center !important; }#fv-chart-1790607426801-muejn7a43 .fv-bar-commentary-inline { display: none !important; position: absolute !important; left: 150px !important; top: 0 !important; bottom: 0 !important; right: 0 !important; width: calc(100% - 150px) !important; margin: 0 !important; padding: 0 8px !important; font-size: 13px !important; color: #fff !important; background: rgba(0,0,0,0.8) !important; border-radius: 4px !important; line-height: 1.4 !important; font-weight: normal !important; text-transform: none !important; word-wrap: break-word !important; z-index: 10 !important; align-items: center !important; overflow-y: auto !important; }#fv-chart-1790607426801-muejn7a43.preview-wrapper .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1790607426801-muejn7a43.preview-wrapper .fv-bar-commentary-inline:focus, #fv-chart-1790607426801-muejn7a43.preview-wrapper .fv-bar-commentary-inline:focus-within, #fv-chart-1790607426801-muejn7a43.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1790607426801-muejn7a43.mobile-view .fv-bar-commentary-inline:focus, #fv-chart-1790607426801-muejn7a43.mobile-view .fv-bar-commentary-inline:focus-within { display: flex !important; }#fv-chart-1790607426801-muejn7a43 .fv-bar { height: 100% !important; border-radius: 3px !important; display: flex !important; align-items: center !important; transition: opacity 0.2s ease, width 0.8s ease-out !important; min-height: 23px !important; }#fv-chart-1790607426801-muejn7a43 .fv-bar:hover { opacity: 0.8 !important; }#fv-chart-1790607426801-muejn7a43 .fv-bar-inner-content { display: flex !important; justify-content: space-between !important; align-items: center !important; width: 100% !important; height: 100% !important; padding: 0 8px !important; font-size: 14px !important; font-weight: bold !important; overflow: hidden !important; }#fv-chart-1790607426801-muejn7a43 .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; }#fv-chart-1790607426801-muejn7a43 .fv-bar-inner-value { flex-shrink: 0 !important; }#fv-chart-1790607426801-muejn7a43 .fv-bar-value-outside { padding-left: 8px !important; font-size: 14px !important; font-weight: bold !important; color: #374151 !important; white-space: nowrap !important; }#fv-chart-1790607426801-muejn7a43 .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; }#fv-chart-1790607426801-muejn7a43 .fv-multi-bar-container { flex-direction: column !important; padding: 4px !important; align-items: stretch !important; gap: 4px !important; height: auto !important; }#fv-chart-1790607426801-muejn7a43 .fv-multi-bar-item { display: flex !important; align-items: center !important; height: 25px !important; width: 100% !important; }#fv-chart-1790607426801-muejn7a43 .fv-stacked-bar { display: flex !important; overflow: hidden !important; }#fv-chart-1790607426801-muejn7a43 .fv-stacked-segment { height: 100% !important; display: flex !important; align-items: center !important; justify-content: flex-end !important; padding-right: 8px !important; border-right: 1px solid rgba(255,255,255,0.3) !important; }#fv-chart-1790607426801-muejn7a43 .fv-stacked-segment:last-child { border-right: none !important; }#fv-chart-1790607426801-muejn7a43 .fv-segment-value { font-size: 14px !important; font-weight: bold !important; }#fv-chart-1790607426801-muejn7a43 .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; }#fv-chart-1790607426801-muejn7a43 .fv-grouped-product-title-wrapper { padding-left: 150px !important; }#fv-chart-1790607426801-muejn7a43 .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.5rem !important; font-weight: 700 !important; font-size: 14px !important; color: #374151 !important; text-transform: none !important; }#fv-chart-1790607426801-muejn7a43 .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; }#fv-chart-1790607426801-muejn7a43 .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; }#fv-chart-1790607426801-muejn7a43 .fv-bar-cluster .fv-bar-container { height: 20px !important; }#fv-chart-1790607426801-muejn7a43 .riv-grid line {stroke: #D1D5DB !important;stroke-dasharray: 3 3 !important;}#fv-chart-1790607426801-muejn7a43 .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; }#fv-chart-1790607426801-muejn7a43 .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; }#fv-chart-1790607426801-muejn7a43 .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; }#fv-chart-1790607426801-muejn7a43 .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; }#fv-chart-1790607426801-muejn7a43 .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; }#fv-chart-1790607426801-muejn7a43 .fv-x-axis-ticks { display: flex !important; justify-content: space-between !important; padding-top: 4px !important; font-size: 13px !important; color: #374151 !important; }#fv-chart-1790607426801-muejn7a43 .fv-x-axis-ticks span { position: relative !important; }#fv-chart-1790607426801-muejn7a43 .fv-x-axis-ticks span::before { content: '' !important; position: absolute !important; top: -6px !important; left: 50% !important; transform: translateX(-50%) !important; width: 2px !important; height: 4px !important; background-color: #D1D5DB !important; border-radius: 1px !important; }#fv-chart-1790607426801-muejn7a43 .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #374151 !important; margin-top: 8px !important; display: block !important; }#fv-chart-1790607426801-muejn7a43 .fv-x-axis-title { text-align: center !important; font-size: 15px !important; color: #374151 !important; margin-top: 8px !important; margin-bottom: 16px !important; line-height: 1.5 !important; padding: 0 1rem !important; display: block !important; font-weight: bold !important; }#fv-chart-1790607426801-muejn7a43 .fv-y-axis-title {font-size: 15px !important;color: #374151 !important;line-height: 1.5 !important;text-align: left !important;padding-left: 5.83% !important;margin-bottom: 4px !important;display: block !important;font-weight: bold !important;}#fv-chart-1790607426801-muejn7a43.mobile-view .fv-pie-container,#fv-chart-1790607426801-muejn7a43.labels-on-top .fv-pie-container {flex-direction: column !important; gap: 1rem !important;}#fv-chart-1790607426801-muejn7a43.mobile-view .fv-grouped-product-title-wrapper,#fv-chart-1790607426801-muejn7a43.labels-on-top .fv-grouped-product-title-wrapper {padding-left: 0 !important;}#fv-chart-1790607426801-muejn7a43.mobile-view .fv-bar-row,#fv-chart-1790607426801-muejn7a43.mobile-view .fv-stacked-product,#fv-chart-1790607426801-muejn7a43.mobile-view .fv-grouped-bar-product,#fv-chart-1790607426801-muejn7a43.labels-on-top .fv-bar-row,#fv-chart-1790607426801-muejn7a43.labels-on-top .fv-stacked-product,#fv-chart-1790607426801-muejn7a43.labels-on-top .fv-grouped-bar-product {flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important;}#fv-chart-1790607426801-muejn7a43.mobile-view .fv-bar-label:not(.fv-grouped-product-title),#fv-chart-1790607426801-muejn7a43.labels-on-top .fv-bar-label:not(.fv-grouped-product-title) {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1790607426801-muejn7a43.mobile-view .fv-bar-label,#fv-chart-1790607426801-muejn7a43.mobile-view .fv-grouped-product-title,#fv-chart-1790607426801-muejn7a43.labels-on-top .fv-bar-label,#fv-chart-1790607426801-muejn7a43.labels-on-top .fv-grouped-product-title {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1790607426801-muejn7a43.mobile-view .fv-bar-container,#fv-chart-1790607426801-muejn7a43.mobile-view .fv-bar-cluster,#fv-chart-1790607426801-muejn7a43.labels-on-top .fv-bar-container,#fv-chart-1790607426801-muejn7a43.labels-on-top .fv-bar-cluster {width: 100% !important;}#fv-chart-1790607426801-muejn7a43.mobile-view .fv-bar-row .fv-bar-commentary-inline,#fv-chart-1790607426801-muejn7a43.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline,#fv-chart-1790607426801-muejn7a43.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus,#fv-chart-1790607426801-muejn7a43.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus-within,#fv-chart-1790607426801-muejn7a43.labels-on-top .fv-bar-row .fv-bar-commentary-inline,#fv-chart-1790607426801-muejn7a43.labels-on-top .fv-bar-row:hover .fv-bar-commentary-inline,#fv-chart-1790607426801-muejn7a43.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus,#fv-chart-1790607426801-muejn7a43.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus-within {position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important;}#fv-chart-1790607426801-muejn7a43.mobile-view .fv-x-axis-wrapper,#fv-chart-1790607426801-muejn7a43.labels-on-top .fv-x-axis-wrapper {margin-left: 0 !important;}#fv-chart-1790607426801-muejn7a43.mobile-view .fv-x-axis-label-space,#fv-chart-1790607426801-muejn7a43.labels-on-top .fv-x-axis-label-space {display: none !important;}#fv-chart-1790607426801-muejn7a43.mobile-view .fv-x-axis-chart-space,#fv-chart-1790607426801-muejn7a43.labels-on-top .fv-x-axis-chart-space {padding-right: 0 !important;}#fv-chart-1790607426801-muejn7a43.mobile-view .fv-benchmark-title,#fv-chart-1790607426801-muejn7a43.labels-on-top .fv-benchmark-title {font-size: 16px !important;}#fv-chart-1790607426801-muejn7a43.mobile-view .fv-dropdown-title,#fv-chart-1790607426801-muejn7a43.labels-on-top .fv-dropdown-title {font-size: 16px !important;}#fv-chart-1790607426801-muejn7a43.mobile-view .fv-carousel-nav-btn,#fv-chart-1790607426801-muejn7a43.labels-on-top .fv-carousel-nav-btn {padding: 8px 12px !important; font-size: 14px !important;}#fv-chart-1790607426801-muejn7a43.mobile-view .fv-chart-title,#fv-chart-1790607426801-muejn7a43.labels-on-top .fv-chart-title {padding: 0 8px !important;}#fv-chart-1790607426801-muejn7a43.mobile-view .fv-chart-subhead,#fv-chart-1790607426801-muejn7a43.labels-on-top .fv-chart-subhead {padding: 0 8px !important;}#fv-chart-1790607426801-muejn7a43.mobile-view .fv-versus-header,#fv-chart-1790607426801-muejn7a43.labels-on-top .fv-versus-header {flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important;}#fv-chart-1790607426801-muejn7a43.mobile-view .fv-versus-select-wrapper,#fv-chart-1790607426801-muejn7a43.labels-on-top .fv-versus-select-wrapper {flex: 1 !important; min-width: 0 !important; width: 100% !important;}#fv-chart-1790607426801-muejn7a43.mobile-view .fv-versus-select-wrapper.fv-left,#fv-chart-1790607426801-muejn7a43.labels-on-top .fv-versus-select-wrapper.fv-left {text-align: center !important; padding-right: 0 !important;}#fv-chart-1790607426801-muejn7a43.mobile-view .fv-versus-select-wrapper.fv-right,#fv-chart-1790607426801-muejn7a43.labels-on-top .fv-versus-select-wrapper.fv-right {text-align: center !important; padding-left: 0 !important;}#fv-chart-1790607426801-muejn7a43.mobile-view .fv-versus-select.fv-select-left,#fv-chart-1790607426801-muejn7a43.labels-on-top .fv-versus-select.fv-select-left {text-align: center !important;}#fv-chart-1790607426801-muejn7a43.mobile-view .fv-versus-select.fv-select-right,#fv-chart-1790607426801-muejn7a43.labels-on-top .fv-versus-select.fv-select-right {text-align: center !important;}#fv-chart-1790607426801-muejn7a43.mobile-view .fv-versus-vs,#fv-chart-1790607426801-muejn7a43.labels-on-top .fv-versus-vs {text-align: center !important; padding: 0.25rem 0 !important;}#fv-chart-1790607426801-muejn7a43.mobile-view .fv-versus-select-container,#fv-chart-1790607426801-muejn7a43.labels-on-top .fv-versus-select-container {max-width: 100% !important; width: 100% !important;}#fv-chart-1790607426801-muejn7a43.mobile-view .fv-versus-select,#fv-chart-1790607426801-muejn7a43.labels-on-top .fv-versus-select {font-size: 14px !important; width: 100% !important;}#fv-chart-1790607426801-muejn7a43.mobile-view .fv-stl-shop-all-btn,#fv-chart-1790607426801-muejn7a43.labels-on-top .fv-stl-shop-all-btn {bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important;}#fv-chart-1790607426801-muejn7a43.mobile-view .fv-stl-shop-all-logo,#fv-chart-1790607426801-muejn7a43.mobile-view .fv-stl-shop-all-icon,#fv-chart-1790607426801-muejn7a43.labels-on-top .fv-stl-shop-all-logo,#fv-chart-1790607426801-muejn7a43.labels-on-top .fv-stl-shop-all-icon {width: 2rem !important; height: 2rem !important;}#fv-chart-1790607426801-muejn7a43.mobile-view .fv-stl-shop-all-icon svg,#fv-chart-1790607426801-muejn7a43.labels-on-top .fv-stl-shop-all-icon svg {width: 14px !important; height: 14px !important;}#fv-chart-1790607426801-muejn7a43.mobile-view .fv-bar-commentary-inline,#fv-chart-1790607426801-muejn7a43.labels-on-top .fv-bar-commentary-inline {display: block !important; margin-left: 0 !important; width: 100% !important;}#fv-chart-1790607426801-muejn7a43.mobile-view .fv-y-axis-title { padding-left: 5% !important;  }#fv-chart-1790607426801-muejn7a43.mobile-view.fv-contains-line-chart .fv-footer-content {margin-left: -1rem !important;margin-right: -1rem !important;}@media (max-width: 599px) {#fv-chart-1790607426801-muejn7a43 .fv-pie-container {flex-direction: column !important; gap: 1rem !important;}#fv-chart-1790607426801-muejn7a43 .fv-grouped-product-title-wrapper {padding-left: 0 !important;}#fv-chart-1790607426801-muejn7a43 .fv-bar-row,#fv-chart-1790607426801-muejn7a43 .fv-stacked-product,#fv-chart-1790607426801-muejn7a43 .fv-grouped-bar-product {flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important;}#fv-chart-1790607426801-muejn7a43 .fv-bar-label:not(.fv-grouped-product-title) {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1790607426801-muejn7a43 .fv-bar-label,#fv-chart-1790607426801-muejn7a43 .fv-grouped-product-title {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1790607426801-muejn7a43 .fv-bar-container,#fv-chart-1790607426801-muejn7a43 .fv-bar-cluster {width: 100% !important;}#fv-chart-1790607426801-muejn7a43 .fv-bar-row .fv-bar-commentary-inline,#fv-chart-1790607426801-muejn7a43 .fv-bar-row:hover .fv-bar-commentary-inline,#fv-chart-1790607426801-muejn7a43 .fv-bar-row .fv-bar-commentary-inline:focus,#fv-chart-1790607426801-muejn7a43 .fv-bar-row .fv-bar-commentary-inline:focus-within {position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important;}#fv-chart-1790607426801-muejn7a43 .fv-x-axis-wrapper {margin-left: 0 !important;}#fv-chart-1790607426801-muejn7a43 .fv-x-axis-label-space {display: none !important;}#fv-chart-1790607426801-muejn7a43 .fv-x-axis-chart-space {padding-right: 0 !important;}#fv-chart-1790607426801-muejn7a43 .fv-benchmark-title {font-size: 16px !important;}#fv-chart-1790607426801-muejn7a43 .fv-dropdown-title {font-size: 16px !important;}#fv-chart-1790607426801-muejn7a43 .fv-carousel-nav-btn {padding: 8px 12px !important; font-size: 14px !important;}#fv-chart-1790607426801-muejn7a43 .fv-chart-title {padding: 0 8px !important;}#fv-chart-1790607426801-muejn7a43 .fv-chart-subhead {padding: 0 8px !important;}#fv-chart-1790607426801-muejn7a43 .fv-versus-header {flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important;}#fv-chart-1790607426801-muejn7a43 .fv-versus-select-wrapper {flex: 1 !important; min-width: 0 !important; width: 100% !important;}#fv-chart-1790607426801-muejn7a43 .fv-versus-select-wrapper.fv-left {text-align: center !important; padding-right: 0 !important;}#fv-chart-1790607426801-muejn7a43 .fv-versus-select-wrapper.fv-right {text-align: center !important; padding-left: 0 !important;}#fv-chart-1790607426801-muejn7a43 .fv-versus-select.fv-select-left {text-align: center !important;}#fv-chart-1790607426801-muejn7a43 .fv-versus-select.fv-select-right {text-align: center !important;}#fv-chart-1790607426801-muejn7a43 .fv-versus-vs {text-align: center !important; padding: 0.25rem 0 !important;}#fv-chart-1790607426801-muejn7a43 .fv-versus-select-container {max-width: 100% !important; width: 100% !important;}#fv-chart-1790607426801-muejn7a43 .fv-versus-select {font-size: 14px !important; width: 100% !important;}#fv-chart-1790607426801-muejn7a43 .fv-stl-shop-all-btn {bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important;}#fv-chart-1790607426801-muejn7a43 .fv-stl-shop-all-logo,#fv-chart-1790607426801-muejn7a43 .fv-stl-shop-all-icon {width: 2rem !important; height: 2rem !important;}#fv-chart-1790607426801-muejn7a43 .fv-stl-shop-all-icon svg {width: 14px !important; height: 14px !important;}#fv-chart-1790607426801-muejn7a43 .fv-bar-commentary-inline {display: block !important; margin-left: 0 !important; width: 100% !important;}#fv-chart-1790607426801-muejn7a43 .fv-y-axis-title { padding-left: 5% !important;  }#fv-chart-1790607426801-muejn7a43.fv-contains-line-chart .fv-footer-content {margin-left: -1rem !important;margin-right: -1rem !important;}}</style><script type="application/ld+json">{"@context": "https://schema.org","@type": "Dataset","name": "Edge cleaning","description": "Cleaning edge of hard floor with Roborock vacuum cleaner to test vacuuming","creator": {"@type": "Organization","name": "TechRadar","logo": "https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png"},"isAccessibleForFree": true,"dateCreated": "2026-09-28T14:57:06.801Z","citation": "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized","keywords": ["Image Comparison","benchmark","comparison","performance","review","TechRadar"],"measurementTechnique": "Performance Benchmarking","variableMeasured": []}</script><div id="fv-chart-1790607426801-muejn7a43" class="fv-chart-wrapper   " data-bar-labels-on-top="false" data-iframe-height="true" data-vizualizer-embed="true"><div class="fv-inner-wrapper fv-no-header fv-is-image-compare  "><div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1790607426801-muejn7a43-image-compare-1" data-chart-type="Image Comparison" data-title="Image Comparison" data-subhead="Cleaning edge of hard floor with Roborock vacuum cleaner to test vacuuming" data-caption="" style=""><div class="fv-benchmark-group"><div class="fv-image-compare-container"><div class="fv-image-compare-wrapper" data-image-compare="true"><div class="fv-image-compare-inner"><img src="https://cdn.mos.cms.futurecdn.net/ZBHXBFwYVSYJ4bDnM8YwXB.jpg" data-highres-src="https://cdn.mos.cms.futurecdn.net/ZBHXBFwYVSYJ4bDnM8YwXB.jpg" alt="After" class="fv-image-compare-bg" loading="lazy" referrerpolicy="no-referrer" draggable="false" /><img src="https://cdn.mos.cms.futurecdn.net/R5qJvTD7XSrgDvojD6nHvB.jpg" data-highres-src="https://cdn.mos.cms.futurecdn.net/R5qJvTD7XSrgDvojD6nHvB.jpg" alt="Before" class="fv-image-compare-fg" loading="lazy" referrerpolicy="no-referrer" draggable="false" /><div class="fv-image-compare-slider"><div class="fv-image-compare-slider-line"></div><div class="fv-image-compare-handle "><img src="https://proof.vanilla.tools/media/images/brandLogos/techradar.png" alt="Brand Logo" style="width: 100%; height: 100%; object-fit: cover;" /></div></div></div><div class="fv-image-compare-label fv-image-compare-label-left">Before</div><div class="fv-image-compare-label fv-image-compare-label-right">After</div><button class="fv-image-compare-expand-btn" aria-label="Expand Image"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 8V4h4"/><path d="M20 8V4h-4"/><path d="M4 16v4h4"/><path d="M20 16v4h-4"/><circle cx="11.5" cy="11.5" r="3.5"/><path d="m14 14 3 3"/></svg></button><button class="fv-image-compare-close-btn" aria-label="Close Fullscreen"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg></button></div></div></div></div></div><div class="fv-bottom-bar"><div class="fv-footer-content" style="display: none;"><div class="rv-chart-caption" style="display: block;"><span class="fv-original-caption" style="display: block;"></span><span class="fv-ia-dynamic-caption" style="display: none;"></span></div></div><div class="fv-logo-explore-bar"><img class="fv-logo" src="https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png" alt="TechRadar Logo"></div></div></div></div><script>window.iFrameResizer = {heightCalculationMethod: 'taggedElement'};</script><script src="https://cdnjs.cloudflare.com/ajax/libs/iframe-resizer/4.2.11/iframeResizer.contentWindow.min.js" async></script><script>(function() {window.fvAnimateCharts = function(chartWrapper) {if (!chartWrapper) return;function animateBars(chartElement) {if (!chartElement) return;var bars = chartElement.querySelectorAll('.fv-bar, .fv-stacked-segment');bars.forEach(function(bar, index) {bar.style.setProperty('width', '0%', 'important');bar.style.setProperty('transition', 'none', 'important');var targetWidth = bar.dataset.targetWidth;if (targetWidth === undefined) return;void bar.offsetWidth;var targetMargin = bar.dataset.targetMargin;var baseMargin = bar.dataset.baseMargin;if (baseMargin !== undefined) {bar.style.setProperty('margin-left', baseMargin + '%', 'important');}setTimeout(function() {var marginTransition = baseMargin !== undefined ? ', margin-left 0.8s ease-out' : '';bar.style.setProperty('transition', 'opacity 0.2s ease, width 0.8s ease-out' + marginTransition, 'important');bar.style.setProperty('width', targetWidth + '%', 'important');if (targetMargin !== undefined && baseMargin !== undefined) {bar.style.setProperty('margin-left', targetMargin + '%', 'important');}}, index * 50 + 50);});}function animateLineChart(chartElement) {if (!chartElement) return;var lineSvg = chartElement.querySelector('svg');if (!lineSvg) return;var paths = lineSvg.querySelectorAll('.riv-line-path');paths.forEach(function(p, i) {if (typeof p.getTotalLength === 'function') {var len = p.getTotalLength();p.style.transition = 'none';p.style.strokeDasharray = len;p.style.strokeDashoffset = len;p.getBoundingClientRect();setTimeout(function() {p.style.transition = 'stroke-dashoffset 1s ease-out ' + (i * 0.1) + 's, stroke-width 0.2s, opacity 0.2s';p.style.strokeDashoffset = '0';}, 100);}});var dots = lineSvg.querySelectorAll('.riv-dot');dots.forEach(function(dot, i) {dot.style.opacity = '0';setTimeout(function() {dot.style.transition = 'opacity 0.3s ease';dot.style.opacity = '1';}, 500 + i * 10);});}var charts = chartWrapper.querySelectorAll('.fv-chart-item');charts.forEach(function(chart) {if (window.getComputedStyle(chart).display === 'none') return;var chartType = chart.dataset.chartType;if (chartType === 'Line') {animateLineChart(chart);} else if (chartType !== 'Pie') {animateBars(chart);}});};function initialize(uniqueId, isSlideshow) {var root = document.getElementById(uniqueId);if (!root && !isSlideshow) return;function setupWrapper(chartWrapper) {if (!chartWrapper) return;function checkMobileView() {var width = chartWrapper.getBoundingClientRect().width;var isMobileDevice = window.screen && Math.min(window.screen.width, window.screen.height) <= 599;var isMobile;if (width === 0) {isMobile = isMobileDevice || window.matchMedia('(max-width: 599px)').matches;} else {isMobile = isMobileDevice || width < 600;}if (isMobile) {chartWrapper.classList.add('mobile-view');} else {chartWrapper.classList.remove('mobile-view');}}checkMobileView();if (typeof ResizeObserver !== 'undefined') {var ro = new ResizeObserver(function() {checkMobileView();});ro.observe(chartWrapper);}window.addEventListener('resize', checkMobileView);var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';if (labelsOnTop) {var charts = chartWrapper.querySelectorAll('.fv-chart-item');var hasVisibleBarChart = false;charts.forEach(function(c) {if (window.getComputedStyle(c).display !== 'none') {var cType = c.dataset.chartType;if (cType === 'Bar' || cType === 'Stacked Bar' || cType === 'Versus') {hasVisibleBarChart = true;}}});if (hasVisibleBarChart) {chartWrapper.classList.add('labels-on-top');} else {chartWrapper.classList.remove('labels-on-top');}} else {chartWrapper.classList.remove('labels-on-top');}chartWrapper.querySelectorAll('.riv-line-legend').forEach(function(legend) {var chartId = legend.dataset.chart;var chart = chartWrapper.querySelector('[id="' + chartId + '"]');if (!chart) return;var lines = chart.querySelectorAll('.riv-line-path');var dots = chart.querySelectorAll('.riv-dot');var legendItems = legend.querySelectorAll('.riv-legend-item');legendItems.forEach(function(item) {var productName = item.dataset.product;var safeProductName = productName.replace(/"/g, '\"');var line = chart.querySelector('.riv-line-path[data-product="' + safeProductName + '"]');var productDots = chart.querySelectorAll('.riv-dot[data-product="' + safeProductName + '"]');if (line && !line.dataset.origStroke) {line.dataset.origStroke = line.getAttribute('stroke-width') || '2';}var highlight = function() {if (legend.querySelector('.isolated')) return;lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '0.2'; });legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });if (line) {line.style.opacity = '1';line.setAttribute('stroke-width', '4');}productDots.forEach(function(d) { d.style.opacity = '1'; });item.style.opacity = '1';};var clearHighlight = function() {if (legend.querySelector('.isolated')) return;lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '1'; });legendItems.forEach(function(i) { i.style.opacity = '1'; });};var toggleIsolate = function() {var isIsolated = item.classList.contains('isolated');legendItems.forEach(function(i) { i.classList.remove('isolated'); });if (isIsolated) {lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '1'; });legendItems.forEach(function(i) { i.style.opacity = '1'; });} else {item.classList.add('isolated');lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '0.2'; });legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });if (line) {line.style.opacity = '1';line.setAttribute('stroke-width', '4');}productDots.forEach(function(d) { d.style.opacity = '1'; });item.style.opacity = '1';}};item.addEventListener('mouseenter', highlight);item.addEventListener('focus', highlight);item.addEventListener('mouseleave', clearHighlight);item.addEventListener('blur', clearHighlight);item.addEventListener('click', toggleIsolate);if (line) {line.style.cursor = 'pointer';line.addEventListener('mouseenter', highlight);line.addEventListener('mouseleave', clearHighlight);line.addEventListener('click', toggleIsolate);}});});var versusCharts = chartWrapper.querySelectorAll('.fv-versus-chart');versusCharts.forEach(function(vc) {var dataJson = vc.getAttribute('data-versus-data');var leftColor = vc.getAttribute('data-left-color') || '#E53935';var rightColor = vc.getAttribute('data-right-color') || '#FFB300';if (!dataJson) return;var versusData = JSON.parse(dataJson);var leftSelect = vc.querySelector('.fv-select-left');var rightSelect = vc.querySelector('.fv-select-right');var rows = vc.querySelectorAll('.fv-versus-row');function updateVersusChart() {var leftProduct = leftSelect.value;var rightProduct = rightSelect.value;leftSelect.style.color = leftColor;leftSelect.style.borderColor = leftColor;rightSelect.style.color = rightColor;rightSelect.style.borderColor = rightColor;rows.forEach(function(row) {var index = parseInt(row.getAttribute('data-index'));var data = versusData[index];if (!data) return;var leftVal = data.productData[leftProduct] ? data.productData[leftProduct].value : undefined;var rightVal = data.productData[rightProduct] ? data.productData[rightProduct].value : undefined;var leftIsNum = typeof leftVal === 'number';var rightIsNum = typeof rightVal === 'number';var leftNum = leftIsNum ? leftVal : 0;var rightNum = rightIsNum ? rightVal : 0;var maxVal = Math.max(leftNum, rightNum, 0.0001);var leftWidth = leftIsNum ? (leftNum / maxVal) * 95 : 0;var rightWidth = rightIsNum ? (rightNum / maxVal) * 85 : 0;var winner = null;var pctDiffStr = null;if (leftIsNum && rightIsNum) {if (leftNum > rightNum) {winner = 'left';if (rightNum > 0) {var diff = Math.round(((leftNum - rightNum) / rightNum) * 100);pctDiffStr = '+' + diff.toLocaleString() + '%';}} else if (rightNum > leftNum) {winner = 'right';if (leftNum > 0) {var diff = Math.round(((rightNum - leftNum) / leftNum) * 100);pctDiffStr = '+' + diff.toLocaleString() + '%';}}}var leftDisplay = data.productData[leftProduct] && data.productData[leftProduct].displayValue !== undefined ? data.productData[leftProduct].displayValue : (leftIsNum ? leftNum.toLocaleString() : (leftVal !== undefined ? leftVal : '-'));var rightDisplay = data.productData[rightProduct] && data.productData[rightProduct].displayValue !== undefined ? data.productData[rightProduct].displayValue : (rightIsNum ? rightNum.toLocaleString() : (rightVal !== undefined ? rightVal : '-'));var unit = (data.productData[leftProduct] && data.productData[leftProduct].unit) ||(data.productData[rightProduct] && data.productData[rightProduct].unit) || '';var leftTextStr = leftDisplay;var rightTextStr = rightDisplay;var leftBar = row.querySelector('.fv-versus-bar-left');var rightBar = row.querySelector('.fv-versus-bar-right');var leftText = row.querySelector('.fv-inside-left');var rightText = row.querySelector('.fv-inside-right');var labelText = row.querySelector('.fv-versus-label span');var leftWrapper = row.querySelector('.fv-versus-bar-left-wrapper');var rightWrapper = row.querySelector('.fv-versus-bar-right-wrapper');var existingPctDiffs = row.querySelectorAll('.fv-versus-pct-diff');existingPctDiffs.forEach(function(el) { el.remove(); });if (winner === 'left' && pctDiffStr) {var pctSpan = document.createElement('span');pctSpan.className = 'fv-versus-pct-diff';pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';pctSpan.textContent = pctDiffStr;if (leftBar) leftBar.insertBefore(pctSpan, leftBar.firstChild);} else if (winner === 'right' && pctDiffStr) {var pctSpan = document.createElement('span');pctSpan.className = 'fv-versus-pct-diff';pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';pctSpan.textContent = pctDiffStr;if (rightBar) rightBar.appendChild(pctSpan);}if (leftBar) {leftBar.style.backgroundColor = leftColor;leftBar.dataset.targetWidth = leftWidth;leftBar.style.setProperty('--target-width', leftWidth + '%');leftBar.style.width = leftWidth + '%';}if (rightBar) {rightBar.style.backgroundColor = rightColor;rightBar.dataset.targetWidth = rightWidth;rightBar.style.setProperty('--target-width', rightWidth + '%');rightBar.style.width = rightWidth + '%';}if (leftText) {leftText.innerHTML = leftTextStr;}if (rightText) {rightText.innerHTML = rightTextStr;}if (labelText) {labelText.textContent = data.attribute + (unit ? ' (' + unit + ')' : '');}});}if (leftSelect) leftSelect.addEventListener('change', updateVersusChart);if (rightSelect) rightSelect.addEventListener('change', updateVersusChart);});var barRows = chartWrapper.querySelectorAll('.fv-bar-row');var globalCaptionEl = chartWrapper.querySelector('.rv-chart-caption');var fallbackCaptionHtml = globalCaptionEl ? globalCaptionEl.innerHTML : '';barRows.forEach(function(row) {var commentaryEl = row.querySelector('[data-commentary-key]');if (commentaryEl) {var commentaryText = commentaryEl.textContent;if (commentaryText && commentaryText.trim().length > 0) {row.addEventListener('mouseenter', function() {if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {globalCaptionEl.innerHTML = commentaryText;globalCaptionEl.classList.add('fv-bar-active-caption');}});row.addEventListener('mouseleave', function() {if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {globalCaptionEl.innerHTML = fallbackCaptionHtml;globalCaptionEl.classList.remove('fv-bar-active-caption');}});}}});var charts = chartWrapper.querySelectorAll('.fv-chart-item');var dropdown = chartWrapper.querySelector('.fv-dropdown-title');var prevBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.prev');var nextBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.next');var carouselTitle = chartWrapper.querySelector('.fv-carousel-title-controls .fv-benchmark-title');var counter = chartWrapper.querySelector('.fv-carousel-counter');var subheadEl = chartWrapper.querySelector('.fv-chart-subhead');var captionEl = chartWrapper.querySelector('.rv-chart-caption');var footerContentEl = chartWrapper.querySelector('.fv-footer-content');var bottomBarEl = chartWrapper.querySelector('.fv-bottom-bar');var logoEl = chartWrapper.querySelector('.fv-logo');if (charts.length > 1 && (dropdown || prevBtn)) {var currentChartIndex = 0;var titles = [];if (dropdown) {titles = Array.from(dropdown.options).map(function(o) { return o.text; });} else {charts.forEach(function(c) {titles.push(c.getAttribute('data-title') || '');});}function showInternalChart(index) {if (index < 0) index = charts.length - 1;if (index >= charts.length) index = 0;currentChartIndex = index;charts.forEach(function(c, i) {c.style.display = i === index ? 'block' : 'none';if (i === index) {var cType = c.dataset.chartType;if (cType === 'Line') {} else if (cType !== 'Pie') {window.fvAnimateCharts(chartWrapper);}var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';if (labelsOnTop && (cType === 'Bar' || cType === 'Stacked Bar' || cType === 'Versus')) {chartWrapper.classList.add('labels-on-top');} else {chartWrapper.classList.remove('labels-on-top');}}});if (dropdown) dropdown.value = index;if (carouselTitle && titles[index]) carouselTitle.textContent = titles[index];if (counter) counter.textContent = (index + 1) + ' of ' + charts.length;var activeChart = charts[index];if (activeChart) {var newSubhead = activeChart.getAttribute('data-subhead');var newCaption = activeChart.getAttribute('data-caption');var currentChartType = activeChart.getAttribute('data-chart-type');var hideGlobalCaption = currentChartType === 'Countdown' || currentChartType === 'Image Comparison' || currentChartType === 'Shop the Collection';if (subheadEl) subheadEl.textContent = newSubhead || '';if (captionEl) {captionEl.textContent = newCaption || '';fallbackCaptionHtml = newCaption || '';}if (footerContentEl) {if (newCaption && newCaption.trim().length > 0 && !hideGlobalCaption) {footerContentEl.style.display = 'block';if (bottomBarEl) bottomBarEl.style.display = 'flex';} else {footerContentEl.style.display = 'none';if (bottomBarEl && !logoEl) {bottomBarEl.style.display = 'none';}}}}}if (dropdown) dropdown.addEventListener('change', function(e) { showInternalChart(parseInt(e.target.value)); });if (prevBtn) prevBtn.addEventListener('click', function() { showInternalChart(currentChartIndex - 1); });if (nextBtn) nextBtn.addEventListener('click', function() { showInternalChart(currentChartIndex + 1); });}var imageCompareWrappers = chartWrapper.querySelectorAll('.fv-image-compare-wrapper');imageCompareWrappers.forEach(function(wrapper) {var inner = wrapper.querySelector('.fv-image-compare-inner') || wrapper;var slider = wrapper.querySelector('.fv-image-compare-slider');var fgImage = wrapper.querySelector('.fv-image-compare-fg');var bgImage = wrapper.querySelector('.fv-image-compare-bg');var labelLeft = wrapper.querySelector('.fv-image-compare-label-left');var labelRight = wrapper.querySelector('.fv-image-compare-label-right');var isDragging = false;var scale = 1;var panX = 0;var panY = 0;var isPanning = false;var hasPanned = false;var lastClientX = 0;var lastClientY = 0;var initialDistance = null;var lastCenterX = null;var lastCenterY = null;function updateTransform() {if (wrapper.classList.contains('fv-image-compare-fullscreen')) {inner.style.setProperty('transform', 'translate(' + panX + 'px, ' + panY + 'px) scale(' + scale + ')', 'important');} else {inner.style.removeProperty('transform');scale = 1;panX = 0;panY = 0;}}function constrainPan() {var rect = wrapper.getBoundingClientRect();var maxPanX = Math.max(0, (rect.width * scale - rect.width) / 2);var maxPanY = Math.max(0, (rect.height * scale - rect.height) / 2);panX = Math.max(-maxPanX, Math.min(panX, maxPanX));panY = Math.max(-maxPanY, Math.min(panY, maxPanY));}wrapper.addEventListener('wheel', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;e.preventDefault();var zoomSensitivity = 0.005;var zoomFactor = Math.exp(-e.deltaY * zoomSensitivity);var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));if (newScale === scale) return;var rect = wrapper.getBoundingClientRect();var mouseX = e.clientX - rect.left - rect.width / 2;var mouseY = e.clientY - rect.top - rect.height / 2;var ratio = newScale / scale;panX = mouseX - (mouseX - panX) * ratio;panY = mouseY - (mouseY - panY) * ratio;scale = newScale;constrainPan();updateTransform();}, { passive: false });wrapper.addEventListener('mousedown', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen') || scale <= 1) return;if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;isPanning = true;hasPanned = false;lastClientX = e.clientX;lastClientY = e.clientY;});window.addEventListener('mousemove', function(e) {if (!isPanning) return;var dx = e.clientX - lastClientX;var dy = e.clientY - lastClientY;if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {hasPanned = true;}lastClientX = e.clientX;lastClientY = e.clientY;panX += dx;panY += dy;constrainPan();updateTransform();});window.addEventListener('mouseup', function() {isPanning = false;});wrapper.addEventListener('touchstart', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;if (e.touches.length === 2) {e.preventDefault();var dx = e.touches[0].clientX - e.touches[1].clientX;var dy = e.touches[0].clientY - e.touches[1].clientY;initialDistance = Math.sqrt(dx * dx + dy * dy);var rect = wrapper.getBoundingClientRect();lastCenterX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;lastCenterY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;hasPanned = true;} else if (e.touches.length === 1 && scale > 1) {if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;isPanning = true;hasPanned = false;lastClientX = e.touches[0].clientX;lastClientY = e.touches[0].clientY;}}, { passive: false });wrapper.addEventListener('touchmove', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;if (e.touches.length === 2 && initialDistance !== null) {e.preventDefault();var dx = e.touches[0].clientX - e.touches[1].clientX;var dy = e.touches[0].clientY - e.touches[1].clientY;var distance = Math.sqrt(dx * dx + dy * dy);if (initialDistance > 0) {var zoomFactor = distance / initialDistance;var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));var rect = wrapper.getBoundingClientRect();var centerX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;var centerY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;var ratio = newScale / scale;panX = centerX - (centerX - panX) * ratio;panY = centerY - (centerY - panY) * ratio;if (lastCenterX !== null && lastCenterY !== null) {panX += (centerX - lastCenterX);panY += (centerY - lastCenterY);}scale = newScale;lastCenterX = centerX;lastCenterY = centerY;constrainPan();updateTransform();}initialDistance = distance;} else if (e.touches.length === 1 && isPanning) {e.preventDefault();var dx = e.touches[0].clientX - lastClientX;var dy = e.touches[0].clientY - lastClientY;if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {hasPanned = true;}lastClientX = e.touches[0].clientX;lastClientY = e.touches[0].clientY;panX += dx;panY += dy;constrainPan();updateTransform();}}, { passive: false });wrapper.addEventListener('touchend', function(e) {if (e.touches.length < 2) {initialDistance = null;}if (e.touches.length === 0) {isPanning = false;}});function handleMove(clientX) {var rect = inner.getBoundingClientRect();var x = Math.max(0, Math.min(clientX - rect.left, rect.width));var percent = Math.max(0, Math.min((x / rect.width) * 100, 100));if (slider) slider.style.setProperty('left', percent + '%', 'important');if (fgImage) fgImage.style.setProperty('clip-path', 'polygon(0 0, ' + percent + '% 0, ' + percent + '% 100%, 0 100%)', 'important');if (labelLeft) {if (percent < 10) {labelLeft.style.setProperty('opacity', '0', 'important');} else {labelLeft.style.setProperty('opacity', '1', 'important');}}if (labelRight) {if (percent > 90) {labelRight.style.setProperty('opacity', '0', 'important');} else {labelRight.style.setProperty('opacity', '1', 'important');}}}function onMouseMove(e) {if (!isDragging) return;handleMove(e.clientX);}function onTouchMove(e) {if (!isDragging) return;e.preventDefault();handleMove(e.touches[0].clientX);}function stopDragging() {isDragging = false;window.removeEventListener('mousemove', onMouseMove);window.removeEventListener('mouseup', stopDragging);window.removeEventListener('touchmove', onTouchMove);window.removeEventListener('touchend', stopDragging);}if (slider) {var startDrag = function(clientX) {isDragging = true;handleMove(clientX);window.addEventListener('mousemove', onMouseMove);window.addEventListener('mouseup', stopDragging);};var startTouchDrag = function(clientX) {isDragging = true;handleMove(clientX);window.addEventListener('touchmove', onTouchMove, { passive: false });window.addEventListener('touchend', stopDragging);};slider.addEventListener('mousedown', function(e) {e.preventDefault();startDrag(e.clientX);});slider.addEventListener('touchstart', function(e) {e.preventDefault();startTouchDrag(e.touches[0].clientX);}, { passive: false });}var expandBtn = wrapper.querySelector('.fv-image-compare-expand-btn');var closeBtn = wrapper.querySelector('.fv-image-compare-close-btn');if (expandBtn) {if (window !== window.parent) {expandBtn.style.display = 'none';} else {expandBtn.addEventListener('click', function(e) {e.stopPropagation();wrapper.classList.add('fv-image-compare-fullscreen');document.body.style.overflow = 'hidden';if (fgImage && fgImage.dataset.highresSrc) {fgImage.src = fgImage.dataset.highresSrc;fgImage.removeAttribute('srcset');fgImage.removeAttribute('sizes');}if (bgImage && bgImage.dataset.highresSrc) {bgImage.src = bgImage.dataset.highresSrc;bgImage.removeAttribute('srcset');bgImage.removeAttribute('sizes');}});}}if (closeBtn) {closeBtn.addEventListener('click', function(e) {e.stopPropagation();wrapper.classList.remove('fv-image-compare-fullscreen');document.body.style.overflow = '';updateTransform();});}document.addEventListener('keydown', function(e) {if (e.key === 'Escape' && wrapper.classList.contains('fv-image-compare-fullscreen')) {wrapper.classList.remove('fv-image-compare-fullscreen');document.body.style.overflow = '';updateTransform();}});});var hotspots = chartWrapper.querySelectorAll('.fv-stl-hotspot-btn');var allProductsModal = chartWrapper.querySelector('.fv-stl-all-products-modal');var shopAllBtn = chartWrapper.querySelector('.fv-stl-shop-all-btn');var allProductsList = chartWrapper.querySelector('.fv-stl-all-products-list');var stlContainer = chartWrapper.querySelector('.fv-stl-container');function closeAllModals() {if (allProductsModal) {allProductsModal.classList.remove('is-active');var items = allProductsModal.querySelectorAll('.fv-stl-all-products-item');items.forEach(function(item) {item.classList.remove('is-highlighted');});if (stlContainer) {setTimeout(function() {if (!allProductsModal.classList.contains('is-active')) {stlContainer.style.minHeight = '';if ('parentIFrame' in window) {window.parentIFrame.size();}}}, 300);}}hotspots.forEach(function(btn) { btn.setAttribute('aria-expanded', 'false'); });if ('parentIFrame' in window) {window.parentIFrame.size();}}hotspots.forEach(function(btn) {btn.addEventListener('click', function(e) {e.stopPropagation();var hotspotId = btn.getAttribute('data-hotspot-id');var isExpanded = btn.getAttribute('aria-expanded') === 'true';closeAllModals();if (!isExpanded && allProductsModal) {btn.setAttribute('aria-expanded', 'true');allProductsModal.classList.add('is-active');var container = btn.closest('.fv-stl-container');if (container && container.offsetHeight < 450) {container.style.minHeight = '450px';}var targetItem = allProductsModal.querySelector('.fv-stl-all-products-item[data-product-id="' + hotspotId + '"]');if (targetItem) {targetItem.classList.add('is-highlighted');setTimeout(function() {targetItem.scrollIntoView({ behavior: 'smooth', block: 'center' });}, 100);}if ('parentIFrame' in window) {window.parentIFrame.size();}}});});if (shopAllBtn && allProductsModal) {shopAllBtn.addEventListener('click', function(e) {e.stopPropagation();closeAllModals();allProductsModal.classList.add('is-active');var container = shopAllBtn.closest('.fv-stl-container');if (container && container.offsetHeight < 450) {container.style.minHeight = '450px';}if ('parentIFrame' in window) {window.parentIFrame.size();}});}if (allProductsModal) {var closeAllBtn = allProductsModal.querySelector('.fv-stl-all-products-close');if (closeAllBtn) {closeAllBtn.addEventListener('click', function(e) {e.stopPropagation();closeAllModals();});}}chartWrapper.addEventListener('click', function(e) {if (!e.target.closest('.fv-stl-all-products-content')) {closeAllModals();}});if (allProductsModal) {allProductsModal.addEventListener('click', function(e) {if (!e.target.closest('.fv-stl-all-products-content')) {closeAllModals();}});}var iaNodes = chartWrapper.querySelectorAll('.fv-ia-node-button');var iaWrapper = chartWrapper.querySelector('.fv-ia-wrapper');var originalCaption = chartWrapper.querySelector('.fv-original-caption') || captionEl;var dynamicCaption = chartWrapper.querySelector('.fv-ia-dynamic-caption');var exploreBtn = chartWrapper.querySelector('.fv-ia-explore-btn');var currentIaIndex = -1;function closeAllIANodes() {iaNodes.forEach(function(btn) { btn.classList.remove('is-active'); });if (originalCaption) originalCaption.style.display = 'block';if (dynamicCaption) dynamicCaption.style.display = 'none';}function resetExploreBtn() {currentIaIndex = -1;if (exploreBtn) {var exploreSpan = exploreBtn.querySelector('span');if (exploreSpan) exploreSpan.textContent = 'Explore';}}iaNodes.forEach(function(btn, index) {btn.addEventListener('click', function(e) {e.stopPropagation();var isActive = btn.classList.contains('is-active');closeAllIANodes();if (!isActive) {currentIaIndex = index;if (exploreBtn) {var exploreSpan = exploreBtn.querySelector('span');if (exploreSpan) exploreSpan.textContent = 'Next';}btn.classList.add('is-active');if (dynamicCaption) {var title = btn.getAttribute('data-title') || '';var desc = btn.getAttribute('data-desc') || '';dynamicCaption.innerHTML = '';var strongTag = document.createElement('strong');strongTag.textContent = title;dynamicCaption.appendChild(strongTag);if (desc) {dynamicCaption.appendChild(document.createTextNode(' - ' + desc));}if (originalCaption) originalCaption.style.display = 'none';dynamicCaption.style.display = 'block';if (footerContentEl) footerContentEl.style.display = 'block';}} else {resetExploreBtn();}});});if (exploreBtn) {exploreBtn.addEventListener('click', function(e) {e.stopPropagation();if (iaNodes.length === 0) return;var nextIndex = currentIaIndex + 1;if (nextIndex >= iaNodes.length) {closeAllIANodes();resetExploreBtn();} else {currentIaIndex = nextIndex;var targetBtn = iaNodes[currentIaIndex];if (targetBtn) {if(targetBtn.classList.contains('is-active')) {targetBtn.click();}targetBtn.click();}}});}if (iaWrapper) {iaWrapper.addEventListener('click', function(e) {if (!e.target.closest('.fv-ia-node-button') && !e.target.closest('.fv-ia-explore-btn')) {closeAllIANodes();resetExploreBtn();}});}window.fvAnimateCharts(chartWrapper);var countdownContainer = chartWrapper.querySelector('.fv-countdown-container');if (countdownContainer) {var targetDateAttr = countdownContainer.getAttribute('data-target-date');if (targetDateAttr) {var targetDate = new Date(targetDateAttr);var primaryColor = countdownContainer.getAttribute('data-primary-color') || '#f97316';var subheadColor = countdownContainer.getAttribute('data-subhead-color') || '#ffffff';var pad = function(n) { return (n < 10 ? '0' : '') + n; };var updateCountdown = function() {var difference = +targetDate - +new Date();var d = 0, h = 0, m = 0, s = 0;if (difference > 0) {d = Math.floor(difference / (1000 * 60 * 60 * 24));h = Math.floor((difference / (1000 * 60 * 60)) % 24);m = Math.floor((difference / 1000 / 60) % 60);s = Math.floor((difference / 1000) % 60);}var daysEl = countdownContainer.querySelector('[data-time="days"]');var hoursEl = countdownContainer.querySelector('[data-time="hours"]');var minsEl = countdownContainer.querySelector('[data-time="minutes"]');var secsEl = countdownContainer.querySelector('[data-time="seconds"]');if (daysEl) daysEl.textContent = d;if (hoursEl) hoursEl.textContent = pad(h);if (minsEl) minsEl.textContent = pad(m);if (secsEl) secsEl.textContent = pad(s);};updateCountdown();setInterval(updateCountdown, 1000);}}}if (false) {var slideshowContainer = document.getElementById(uniqueId + '-slideshow');if (slideshowContainer) {var slides = slideshowContainer.querySelectorAll('.fv-slide');slides.forEach(function(slide) {setupWrapper(slide.querySelector('.fv-chart-wrapper'));});}} else {setupWrapper(root);}}if (document.readyState === 'loading') {document.addEventListener('DOMContentLoaded', function() { initialize('fv-chart-1790607426801-muejn7a43', false); });} else {initialize('fv-chart-1790607426801-muejn7a43', false);}})();</script></div><p>It’s not loud in operation, registering around 60db while cleaning on carpet. The dock emptying is a little louder, topping out at 69db (around the level of normal conversation), although this is pretty brief so shouldn’t be too disruptive.</p><p>The Qrevo 2 Pro uses dust bags so emptying it of dirt is quick and neat, although that does add ongoing costs to using it. You will also need to empty the waste water and refill the clean water tanks regularly which is easy to do (as long as you leave enough clearance room above the robot) as these lift out of the dock and then can be unclipped open for emptying or filling.</p><p>Smart home integration worked well for starting a whole house clean but I did have a little trouble using the room clean function for custom named rooms. Naming a room one of the default names such as Kitchen or Living Room worked fine, but a custom name such as Utility Room sparked a whole house clean instead.</p><p>While custom room names would be helpful, even getting default room cleaning to work is not a guarantee with any of the robot vacuum cleaners I have tested so, relatively, this is a success.</p><ul><li><strong>Performance score: 4.5 out of 5</strong></li></ul><h2 id="roborock-qrevo-2-pro-app">Roborock Qrevo 2 Pro: app</h2><ul><li><strong>Easy setup</strong></li><li><strong>Clear house map</strong></li><li><strong>Can set frequent types of clean and schedule cleans</strong></li></ul><p>The app is simple to use, although I did find it can sometimes get a little lost if you select your cleaning mode too quickly, meaning you have to move to another mode and back again before getting the options you need.</p><p>Once you select the robot you are shown the map of your home and have four tabs to select the type of clean you want, 'Full', 'Room', 'Zone' and 'Routine'. 'Full' starts a clean of the whole map and to the left of the play button there is a button for adjusting the type of clean including whether you want to vacuum and mop, just vacuum or just mop. There are also controls for the level of suction, waterflow, amount of times you want the robot to clean the area and the intensity of the cleaning pattern.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/297TZfb4vgsbHpjGMAv8TA-1920-80.png" alt="App home screen for Roborock Qrevo 2 Pro" /><figcaption>The app is simple to use provided you don't hop between modes too quickly<small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/GzLjqQU4Yi8XXK6mCJRLXA-1920-80.png" alt="House map for Roborock Qrevo 2 Pro in app" /><figcaption>Select your robot to see a map of your home<small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/cVb9V3L46ABA3NkALET6JA-1920-80.png" alt="Cleaning settings for Roborock Qrevo 2 Pro in app" /><figcaption>You can adjust the settings for the vacuum and mop independently<small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/Uo3hAVTPa2yjVAQAGuLMbA-1920-80.png" alt="Routines and scheduling for Roborock Qrevo 2 Pro in app" /><figcaption>The 'Routine' option allows you to schedule different types of cleaning<small role="credit">Future</small></figcaption></figure></figure><p>Room allows you to select one or more rooms to clean, while Zones lets you pick multiple rectangular sections of your chosen size on the map for it to clean, allowing you to spot clean specific sections of floor. </p><p>'Routine' is the final option and allows you to create shortcuts for regular types of clean that will then be available from the opening screen on the app. This is useful for setting up things like zone cleans that focus around a dining table following a meal or if you want a predefined deep clean compared with a light maintenance clean.</p><p>Despite the name, 'Routine' doesn’t include any scheduling functionality by default. That is hidden somewhat in the settings menu, but can be used with scheduled cleans (if your home doesn’t regularly have bits of Lego on the floor like mine does). </p><ul><li><strong>App score: 5 out of 5</strong></li></ul><h3 class="article-body__section" id="section-should-you-buy-the-roborock-qrevo-2-pro"><span>Should you buy the Roborock Qrevo 2 Pro?</span></h3><div ><table><thead><tr><th class="firstcol " ><p>Attribute</p></th><th  ><p>Notes</p></th><th  ><p>Score</p></th></tr></thead><tbody><tr><td class="firstcol " ><p>Value for money</p></td><td  ><p>Even at full price the Qrevo 2 Pro represents good value and at a discount price it is a fantastic deal. You will need to consider the price of disposable dust bags in the running costs but you’ll be hard pressed to find these features and performance for less.</p></td><td  ><p>5/5</p></td></tr><tr><td class="firstcol " ><p>Design</p></td><td  ><p>The design is more focused on function than form but it is unfussy and designed to fit into most homes. The tall mounting of the lidar scanner will stop it from cleaning under low furniture.</p><p><br></p></td><td  ><p>4/5</p></td></tr><tr><td class="firstcol " ><p>Performance</p></td><td  ><p>Vacuuming performance is good and mopping is excellent although It did have trouble picking up on a charging cable in our object avoidance tests leading it to get stuck.</p><p><br></p></td><td  ><p>4.5/5</p></td></tr><tr><td class="firstcol " ><p>App</p></td><td  ><p>The app makes it easy to control, with simple options for choosing the type and location of cleans as well as a clear map of your home.</p></td><td  ><p>5/5</p></td></tr></tbody></table></div><h2 id="buy-it-if">Buy it if</h2><div class="product"><p><strong>You have a lot of hard flooring that needs regular mopping. </strong></p><p>On the maximum settings, it cleaned as well as any robot mop I have tested and even if you have carpeted areas the removable mop heads mean you don’t have to worry about it getting those damp.</p></div><div class="product"><p><strong>You don’t want to spend over $1,000</strong></p><p>Cleaning performance matches almost any robot vacuum regardless of price making it a great value option if you are shopping on a budget.</p></div><div class="product"><p><strong>You hate the mess of emptying dust bins</strong></p><p>Disposable bags may add to the running costs but emptying the dock is a quick and clean enough that you don’t have to get another vacuum out to clean up after.</p></div><h2 id="don-39-t-buy-it-if">Don't buy it if</h2><div class="product"><p><strong>You only have carpeted floors</strong></p><p>The mop functionality adds to the price so if you’re not going to use it look at vacuum only options.</p></div><div class="product"><p><strong>You have high thresholds between rooms</strong></p><p>More expensive options add the ability to navigate over higher divisions between rooms, the Qvero 2 Pro will be able to handle most regular passageways but its not designed for complex terrain.</p></div><div class="product"><p><strong>You’re looking for the cheapest viable option</strong></p><p>While it does offer excellent value, you can pick up a good robovac for less if your budget is tight.<a class="view-deal button" href="" target="_blank" rel="nofollow" data-dimension112="fce094fc-bb55-11f1-9fbf-37f14852bbb7" data-action="Deal Block" data-label="You’re looking for the cheapest viable optionWhile it does offer excellent value, you can pick up a good robovac for less if your budget is tight." data-dimension48="You’re looking for the cheapest viable optionWhile it does offer excellent value, you can pick up a good robovac for less if your budget is tight." data-dimension25="">View Deal</a></p></div><h3 class="article-body__section" id="section-how-i-tested-the-roborock-qrevo-2-pro"><span>How I tested the Roborock Qrevo 2 Pro</span></h3><p>I tested the Roborock Qrevo 2 Pro over a period of over two weeks, using it as an everyday cleaner of a busy household. </p><p>As well as day to day use I put it through a series of tests, assessing its performance picking up fine particles and larger debris on carpet and hard floor by having it clean an area with a set amount of rice and tea sprinkled on the surface. Edge cleaning was also tested using tea on the edge of a carpet and hard floor area.</p><p>Mopping performance was tested by having the robot clean up a spill of soy sauce, as well as tackling a patch of dried ketchup. After an initial pass on regular settings, this was then retested with cleaning settings set to maximum.</p><p><em>First reviewed September 2026</em></p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Goodbye claims, hello prevention — how smart tech is transforming home insurance ]]></title>
                                                                                                <dc:content><![CDATA[ <p>While other industries such as banking have undergone a major technological revolution in the last few years, insurance has remained pretty much the same for centuries — at least as far as the consumer is concerned. </p><p>Sure, the way in which insurance operations have been transformed by AI may be profound. But when it comes to the end-user, most of us still buy our annual premium and cross our fingers that nothing goes wrong. Then if disaster does strike, we file a claim and hope to get a pay-out — eventually.</p><p>Now, though, this centuries-old business model is finally undergoing a shake-up. Driven by the rapid rise of AI, the Internet of Things (IoT) and smart devices such as water leak detectors and surge protectors, ‘InsurTech’ is transforming the insurance sector from one previously based around retroactive reimbursement to one that’s more centred around proactive prevention. </p><p>While still only a small fraction of the overall insurance market (currently valued at €6.9 trillion or around £5.9 trillion according to the recent <a href="https://www.allianz.com/en/economic_research/insights/publications/specials_fmo/260528-global-insurance-report.html">Allianz Global Insurance Report</a>), <a href="https://www.mordorintelligence.com/industry-reports/global-insurtech-market">Mordor Intelligence</a> claims the InsurTech market is currently worth around $1.34 trillion (£1.01 trillion) and is set to increase to $2.44 trillion (£1.85 trillion) by 2031. </p><p>And with an overall industry size of $53.53 billion (£40.48 billion) according to Mordor Intelligence’s <a href="https://www.mordorintelligence.com/industry-reports/uk-insurtech-market?utm_source=gemini">United Kingdom Insurtech — Market Share Analysis, Industry Trends & Statistics, Growth Forecasts (2026–2031</a>), the UK is one of the largest as well as one of the most rapidly expanding markets with a particular focus on ‘AI-driven claims automation, IoT telemetry and digital underwriting tools.’</p><h2 id="taking-a-more-proactive-approach">Taking a more proactive approach </h2><p>To understand where smart home insurance is heading, you only have to look at the motor insurance sector. Here, drivers — especially young drivers — have small telematics devices (most commonly called ‘black boxes’) fitted in their car that can monitor speed, braking sharpness and cornering habits. By feeding real-time driving data back to insurers, motorists are rewarded with more dynamic pricing based on their actual behind-the-wheel risk profile, rather than blunt demographic assumptions previously used. </p><div><blockquote><p>The future of insurance should be less ‘something went wrong, here is a cheque’ and more about ‘technology helped stop it going wrong in the first place’</p><p>Nouran Moustafa, Roxton Wealth</p></blockquote></div><p>“It doesn’t matter whether it’s the car, the home or even cybersecurity insurance — there’s more than enough data for companies to use,” explains Scott Thomson, Insurance Client Partner at NTT Data. “However, the problem is that way insurers manage the claims is very reactive,” he adds. According to Thomson, not only can real-time data help to provide more ‘dynamic pricing’ for the consumer, it also allows insurers to drastically slash operational expenses (OpEX) and indemnity spend — the actual cost of physical damage — by catching claims early and managing them proactively through automated AI triage. </p><p>Nouran Moustafa, Practice Principal and Executive Financial Advisor at Roxton Wealth, which works closely with property landlords and high net-worth clients, agrees: “The future of insurance should be less ‘something went wrong, here is a cheque’ and more about ‘technology helped stop it going wrong in the first place’”.</p><p>Nor is the car industry the only sector taking a more proactive approach when it comes to insurance. Traditional pet insurance is also being transformed by digital-first disruptors. For example, Lassie’s mobile app also acts as a digital companion, offering daily tips, vaccination reminders and even educational quizzes. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="FD5uPpfTTZuqZGAn2dLgRZ" name="GettyImages-2252282659" alt="Leak sensor identifying leak in pipe" src="https://cdn.mos.cms.futurecdn.net/FD5uPpfTTZuqZGAn2dLgRZ-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">If a smart sensor detects a problem early, you might not need to make a claim at all </span><span class="credit" itemprop="copyrightHolder">(Image credit: Getty Images / Toa55)</span></figcaption></figure><p>Furthermore, Lassie integrates with active wearable trackers such as Tractive. “If you buy a Tractive tracker, you can connect it with Lassie and share the data,” Hedda Båverud Olsson, co-founder and CEO of pet insurer Lassie, tells TechRadar. “We never want punish someone for not doing preventative things but rather reward users with better pricing when they do good things.” </p><p>Hannah Simpson, Chief Product Officer at rival Waggel, agrees, noting how offering 24/7 vet triage and digital activity rewards have prevented thousands of unnecessary clinic visits while delivering over £1 million in premium savings back to policyholders. “You could apply a similar idea to home insurance,” Simpson suggests. “Things like a smart sensor that spots a leak or alerts you to a problem early could help deal with something before it turns into a much bigger and more expensive issue.”</p><h2 id="plugging-the-leak">Plugging the leak</h2><p>Indeed, when it comes to property insurance, the single most pressing domestic threat isn’t dramatic fires or forced-entry burglaries — it's water damage. Under constant internal pressure, behind walls and underneath floors, so it can be available instantly on demand, ‘escape-of-water events’ are a massive liability both for homeowners and insurance companies alike. </p><p>According to Paul Vacquier, CEO of US-based plumbing technology company Beagle Services, when it comes to property insurance, water damage represents a staggering "$14.5 billion paid in claims per year in the United States alone".</p><p>Because water is always seeking the path of least resistance, even the tiniest hairline crack in a pipeline, ageing supply line or failing washing machine hose can lead to severe flooding. “It’s the largest non-catastrophic loss paid by the carriers,” Vacquier explains. “While you can’t stop a hurricane, the technology does exist to prevent, or at least dramatically mitigate, this loss from occurring in the first place,” he adds. </p><p>Operating as a distributor of loss-prevention hardware through US insurance channels, Beagle Services effectively helps homeowners deploy multi-layered defences, ranging from simple puck-style IoT sensors placed under water heaters and dishwashers to non-invasive flow monitoring devices such as the LeakBot. </p><div><blockquote><p>While you can’t stop a hurricane, the technology does exist to prevent, or at least dramatically mitigate, this loss from occurring in the first place</p><p>Paul Vacquier, Beagle Services</p></blockquote></div><p>Developed in the UK by HomeServe Labs, and now owned by Ondo InsurTech plc, this small device clips directly onto pipes to detect tiny continuous flows as small as 5ml per minute as well as sudden changes in temperature, catching hidden issues such as slow pipe leaks before they result in catastrophic structural damage. </p><p>Several major insurance providers now partner with LeakBot, offering the clip-on device for free. These include Westfield in the US and LV and Hiscox in the UK. “Much like our customers, our goal is to protect their homes and smart solutions like LeakBot will become an increasingly fundamental part of this. It's often the smallest, hidden leaks that go undetected and ultimately cause the most damage, so spotting these early is essential,” said <a href="https://insurancenewsnet.com/oarticle/hiscox-introduces-smart-water-leak-technology">Phil Thorn, former Head of Propositions at Hiscox UK</a> when it became the UK’s first insurance company to introduce the technology back in 2020. </p><h2 id="water-shut-off-valves">Water shut-off valves</h2><p>Nor is the Leakbot the only type of preventative device on the market. For ultimate protection, insurers frequently encourage — even mandate — inline automated water shutoff valves tied to the mains water supply. Beagle also offers a Watchdog monitoring services which automatically flags abnormal pressure spikes and consistent drips, allowing human teams to intervene before a pipe bursts. </p><div><blockquote><p>The damage almost never starts as a flood. It starts as a slow drip behind a washing machine or under a water heater for weeks</p><p>Nick Nastos, Chicago Property Shop</p></blockquote></div><p>“Water is where I see the most damage,” says Peter Kravchuk, Founder of Seattle-based New Day Construction. “While a battery-powered puck under a sink will chirp at you, a flow-shutoff valve installed at the main line actually closes the water off when it detects an abnormal flow pattern, and that's a different category of protection entirely,” he adds. Nick Nastos, Real Estate Broker at Chicago Property Shop agrees: “Buyers and investors ask me about cameras constantly and almost never about leak detection,” adding “automatic shutoff valves near the mains are worth pricing out on any property.” </p><p>As well as proving vital for high-risk properties and those who have previously experienced water damage in the home, Vacquier claims the technology is particularly useful for ‘holiday homes and vacant properties where slow leaks can go unnoticed for weeks.’  Adds Nick Nastos: “I’ve walked into flats after a January freeze where a single burst supply took out ceilings, flooring and a tenant’s belongings on the floor below. The damage almost never starts as a flood. It starts as a slow drip behind a washing machine or under a water heater for weeks.”</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2121px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="swd5DBgzJwcqKVALnZGcfP" name="GettyImages-1227191376" alt="Sad woman sitting on sofa with buckets to catch water dripping from ceiling" src="https://cdn.mos.cms.futurecdn.net/swd5DBgzJwcqKVALnZGcfP-1920-80.jpg" mos="" align="middle" fullscreen="" width="2121" height="1193" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">What starts as a small drip behind an appliance can turn into catastrophic property damage </span><span class="credit" itemprop="copyrightHolder">(Image credit: Getty Images /  PixelsEffect)</span></figcaption></figure><p>For landlords managing residential portfolios, a shift from reactive to proactive insurance could also provide a particularly welcome relief from administrative burdens, claims Roxton Wealth’s UK-based Nouran Moustafa. She argues that rather than landlords having to fill in "excessive paperwork", housing regulations should be directed "towards having better alarms and leak monitors". She adds: “This is going to be massive for tenants, for landlords and for insurance providers.”</p><h2 id="beyond-plumbing">Beyond plumbing</h2><p>Although burst pipes remain the single biggest preventable risk in the home, it’s not the only risk that InsurTech can help to reduce. For example, in the UK, Sky Protect Home Insurance blends traditional buildings and content insurance, underwritten by global insurance firm Zurich, with real-time data from a whole host of smart devices in the home. </p><p>Officially launched in May 2023, the package is designed around a ‘prevention first approach’, rather than the reactive approach favoured by most traditional insurance companies. Integrating smart devices such as video doorbells, indoor cameras, motion and contact sensors, and leak detectors directly into a unified app experience, the platform uses real-time monitoring and automated alerts to help homeowners catch issues such as minor leaks or security breaches before they escalate into costly formal claims.</p><div><blockquote><p>Whole-home surge protection is the other piece homeowners rarely ask about</p><p>Peter Kravchuk, New Construction</p></blockquote></div><p>“We already make people’s lives easier at home through our TV, broadband and mobile services and with Sky Protect, we’ll be able to take the pain out of home insurance,” claimed<em> </em>Stephen van Rooyen, former Chief Executive Officer, Sky UK & Ireland and Chief Commercial Officer, Sky Group, <a href="https://skygroup.sky/en-gb/article/introducing-sky-protect-smart-home-insurance-smart-tech-home-insurance-in-one-">in a press statement</a> at launch. “By combining smart home technology with insurance, Sky Protect aims to prevent losses and provide financial peace of mind, should the unexpected happen,” added Tim Bailey, Zurich’s UK CEO.<strong>   </strong></p><p>Another area that is getting a lot of attention right now — but isn’t yet generally integrated in home insurance packages — is electrical safety. This can be significantly enhanced using specialist equipment designed to mitigate transient overvoltages, commonly known as electrical surges. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2121px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="sgQYsjaMPwT4adaERwYW6m" name="GettyImages-1340084279" alt="Person plugging phone charger into surge-protected power strip" src="https://cdn.mos.cms.futurecdn.net/sgQYsjaMPwT4adaERwYW6m-1920-80.jpg" mos="" align="middle" fullscreen="" width="2121" height="1193" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">Plug-in power strips can't protect all your appliances from power surges, but a device mounted directly at the electrical panel can </span><span class="credit" itemprop="copyrightHolder">(Image credit: Getty Images /  Kinga Krzeminska)</span></figcaption></figure><p>Triggered by external grid switching, internal appliance cycling or even lightning, these sudden voltage spikes pose a constant threat to sensitive home electronics and major appliances. To safeguard a property against these risks, whole-home Surge Protective Devices (SPDs) can be installed directly at the electrical panel. </p><p>"Whole-home surge protection is the other piece homeowners rarely ask about,” New Construction’s Peter Kravchuk says. “But a protective device mounted at the panel is a small line item during a panel upgrade and covers everything downstream. Plug-in strips can't do that job on their own."  Operating as an automated safety barrier, a SPD detects a sudden surge in voltage and instantly diverts the dangerous excess electrical current safely away from household circuits and into the grounding system to prevent equipment failure and reduce potential fire hazards.</p><h2 id="insurance-discounts">Insurance discounts</h2><p>One company that specialises in tech for preventing disasters in the home is X-Sense. Though it doesn’t work directly with insurance companies, US users buying X-Sense smoke alarms, CO (carbon monoxide) alarms, or combination smoke and CO alarms who subscribe to its Protect+ Elite professional monitoring service (costing $49.99 per year, or $4.99 per month) can claim home insurance benefits. </p><p>“Through the X-Sense app, eligible customers can obtain a monitoring certificate confirming that compatible alarms have been installed and connected to a professional monitoring service capable of coordinating emergency response, including fire department dispatch when necessary,” an X-Sense spokesperson told TechRadar. <br><br>“Customers can then provide this certificate to their home insurance provider and may qualify for a homeowners insurance discount. The exact discount varies by state and insurer, but in some cases it can be as much as 15%.”</p><div><blockquote><p>Customers can then provide this certificate to their home insurance provider and may qualify for a homeowners insurance discount</p><p>Spokesperson, X-Sense</p></blockquote></div><p>It all sounds very promising , especially if you like saving money — and who doesn’t! However, that’s not to say there aren’t any potential risk of embracing this new InsurTech revolution. Alarms which monitor everything from smoke and carbon monoxide levels to burglars breaking into a property not only require a sizeable hardware investment up front, they also generate a lot of potentially sensitive data. As Taimur Ijlal, Information Security Leader at Proxy Coupons, notes: “Once a sensor, camera or smart lock starts reporting to a third party, it become both an attack surface in your home and a data pipeline out of it.” </p><p>Indeed, the fragility of backend B2B data pipelines was recently demonstrated by a security incident involving Dublin-based InsurTech firm Companjon, a subsidiary of La Mobilière, which suffered a major data exposure via an unprotected Apache Kafka data stream. Revealing millions of records, including future-dated travel itineraries and personally identifiable information, the incident demonstrated how third-party vendor vulnerabilities can easily compromise consumer trust.</p><p>Consequently, experts advise homeowners asking questions before adopting bundled InsurTech such as who owns and retains the device data and for how long? What is the manufacturer's security patch policy? And what happens to policy coverage if a device fails or is disconnected? </p><h2 id="the-future-of-home-insurance">The future of home insurance</h2><p>While hurdles remain, such as legitimate concerns over data privacy and device cybersecurity, InsurTech undoubtedly represents the long-term future for home insurance. The convergence of IoT sensors, AI-driven claims processing and hi-tech detection devices is set to reshape our digital home lives, just as ‘black box’ telemetry has done for many motorists and tracking apps are starting to in pet and health insurance too. </p><p>Rather than the reactive ‘something has gone wrong, here’s the cheque’ approach of yesteryear, insurance is moving in a more proactive direction towards ‘technology stopped it going wrong in the first place’. For homeowners embracing this new way of thinking, ultimately it means greater peace of mind, as well as potentially reduced home insurance premiums. A real win-win. </p> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/home/smart-home/how-smart-home-tech-is-shaking-up-home-insurance-why-smart-sensors-ai-and-iot-devices-are-revolutionizing-how-we-protect-our-homes</link>
                                                                            <description>
                            <![CDATA[ As our homes become increasingly digitised, the data generated can be used to detect insurance risks before they happen and ultimately deliver lower premiums. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">gmpPgkLnjdFWqyWcdvyNaP</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/2wtWoEnimr5ozr6sPVZ7ZF-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sun, 27 Sep 2026 10:00:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Smart Home]]></category>
                                                    <category><![CDATA[Home]]></category>
                                                                                                                    <dc:creator><![CDATA[ Chris Price ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/DU2Lv5xHGaNHCjMhkrGY6R-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/2wtWoEnimr5ozr6sPVZ7ZF-1920-80.jpg">
                                                            <media:credit><![CDATA[Getty Images / VioletaStoimenova]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Happy couple sitting on sofa, looking at laptop]]></media:description>                                                            <media:text><![CDATA[Happy couple sitting on sofa, looking at laptop]]></media:text>
                                <media:title type="plain"><![CDATA[Happy couple sitting on sofa, looking at laptop]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/2wtWoEnimr5ozr6sPVZ7ZF-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>While other industries such as banking have undergone a major technological revolution in the last few years, insurance has remained pretty much the same for centuries — at least as far as the consumer is concerned. </p><p>Sure, the way in which insurance operations have been transformed by AI may be profound. But when it comes to the end-user, most of us still buy our annual premium and cross our fingers that nothing goes wrong. Then if disaster does strike, we file a claim and hope to get a pay-out — eventually.</p><p>Now, though, this centuries-old business model is finally undergoing a shake-up. Driven by the rapid rise of AI, the Internet of Things (IoT) and smart devices such as water leak detectors and surge protectors, ‘InsurTech’ is transforming the insurance sector from one previously based around retroactive reimbursement to one that’s more centred around proactive prevention. </p><p>While still only a small fraction of the overall insurance market (currently valued at €6.9 trillion or around £5.9 trillion according to the recent <a href="https://www.allianz.com/en/economic_research/insights/publications/specials_fmo/260528-global-insurance-report.html">Allianz Global Insurance Report</a>), <a href="https://www.mordorintelligence.com/industry-reports/global-insurtech-market">Mordor Intelligence</a> claims the InsurTech market is currently worth around $1.34 trillion (£1.01 trillion) and is set to increase to $2.44 trillion (£1.85 trillion) by 2031. </p><p>And with an overall industry size of $53.53 billion (£40.48 billion) according to Mordor Intelligence’s <a href="https://www.mordorintelligence.com/industry-reports/uk-insurtech-market?utm_source=gemini">United Kingdom Insurtech — Market Share Analysis, Industry Trends & Statistics, Growth Forecasts (2026–2031</a>), the UK is one of the largest as well as one of the most rapidly expanding markets with a particular focus on ‘AI-driven claims automation, IoT telemetry and digital underwriting tools.’</p><h2 id="taking-a-more-proactive-approach">Taking a more proactive approach </h2><p>To understand where smart home insurance is heading, you only have to look at the motor insurance sector. Here, drivers — especially young drivers — have small telematics devices (most commonly called ‘black boxes’) fitted in their car that can monitor speed, braking sharpness and cornering habits. By feeding real-time driving data back to insurers, motorists are rewarded with more dynamic pricing based on their actual behind-the-wheel risk profile, rather than blunt demographic assumptions previously used. </p><div><blockquote><p>The future of insurance should be less ‘something went wrong, here is a cheque’ and more about ‘technology helped stop it going wrong in the first place’</p><p>Nouran Moustafa, Roxton Wealth</p></blockquote></div><p>“It doesn’t matter whether it’s the car, the home or even cybersecurity insurance — there’s more than enough data for companies to use,” explains Scott Thomson, Insurance Client Partner at NTT Data. “However, the problem is that way insurers manage the claims is very reactive,” he adds. According to Thomson, not only can real-time data help to provide more ‘dynamic pricing’ for the consumer, it also allows insurers to drastically slash operational expenses (OpEX) and indemnity spend — the actual cost of physical damage — by catching claims early and managing them proactively through automated AI triage. </p><p>Nouran Moustafa, Practice Principal and Executive Financial Advisor at Roxton Wealth, which works closely with property landlords and high net-worth clients, agrees: “The future of insurance should be less ‘something went wrong, here is a cheque’ and more about ‘technology helped stop it going wrong in the first place’”.</p><p>Nor is the car industry the only sector taking a more proactive approach when it comes to insurance. Traditional pet insurance is also being transformed by digital-first disruptors. For example, Lassie’s mobile app also acts as a digital companion, offering daily tips, vaccination reminders and even educational quizzes. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="FD5uPpfTTZuqZGAn2dLgRZ" name="GettyImages-2252282659" alt="Leak sensor identifying leak in pipe" src="https://cdn.mos.cms.futurecdn.net/FD5uPpfTTZuqZGAn2dLgRZ-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">If a smart sensor detects a problem early, you might not need to make a claim at all </span><span class="credit" itemprop="copyrightHolder">(Image credit: Getty Images / Toa55)</span></figcaption></figure><p>Furthermore, Lassie integrates with active wearable trackers such as Tractive. “If you buy a Tractive tracker, you can connect it with Lassie and share the data,” Hedda Båverud Olsson, co-founder and CEO of pet insurer Lassie, tells TechRadar. “We never want punish someone for not doing preventative things but rather reward users with better pricing when they do good things.” </p><p>Hannah Simpson, Chief Product Officer at rival Waggel, agrees, noting how offering 24/7 vet triage and digital activity rewards have prevented thousands of unnecessary clinic visits while delivering over £1 million in premium savings back to policyholders. “You could apply a similar idea to home insurance,” Simpson suggests. “Things like a smart sensor that spots a leak or alerts you to a problem early could help deal with something before it turns into a much bigger and more expensive issue.”</p><h2 id="plugging-the-leak">Plugging the leak</h2><p>Indeed, when it comes to property insurance, the single most pressing domestic threat isn’t dramatic fires or forced-entry burglaries — it's water damage. Under constant internal pressure, behind walls and underneath floors, so it can be available instantly on demand, ‘escape-of-water events’ are a massive liability both for homeowners and insurance companies alike. </p><p>According to Paul Vacquier, CEO of US-based plumbing technology company Beagle Services, when it comes to property insurance, water damage represents a staggering "$14.5 billion paid in claims per year in the United States alone".</p><p>Because water is always seeking the path of least resistance, even the tiniest hairline crack in a pipeline, ageing supply line or failing washing machine hose can lead to severe flooding. “It’s the largest non-catastrophic loss paid by the carriers,” Vacquier explains. “While you can’t stop a hurricane, the technology does exist to prevent, or at least dramatically mitigate, this loss from occurring in the first place,” he adds. </p><p>Operating as a distributor of loss-prevention hardware through US insurance channels, Beagle Services effectively helps homeowners deploy multi-layered defences, ranging from simple puck-style IoT sensors placed under water heaters and dishwashers to non-invasive flow monitoring devices such as the LeakBot. </p><div><blockquote><p>While you can’t stop a hurricane, the technology does exist to prevent, or at least dramatically mitigate, this loss from occurring in the first place</p><p>Paul Vacquier, Beagle Services</p></blockquote></div><p>Developed in the UK by HomeServe Labs, and now owned by Ondo InsurTech plc, this small device clips directly onto pipes to detect tiny continuous flows as small as 5ml per minute as well as sudden changes in temperature, catching hidden issues such as slow pipe leaks before they result in catastrophic structural damage. </p><p>Several major insurance providers now partner with LeakBot, offering the clip-on device for free. These include Westfield in the US and LV and Hiscox in the UK. “Much like our customers, our goal is to protect their homes and smart solutions like LeakBot will become an increasingly fundamental part of this. It's often the smallest, hidden leaks that go undetected and ultimately cause the most damage, so spotting these early is essential,” said <a href="https://insurancenewsnet.com/oarticle/hiscox-introduces-smart-water-leak-technology">Phil Thorn, former Head of Propositions at Hiscox UK</a> when it became the UK’s first insurance company to introduce the technology back in 2020. </p><h2 id="water-shut-off-valves">Water shut-off valves</h2><p>Nor is the Leakbot the only type of preventative device on the market. For ultimate protection, insurers frequently encourage — even mandate — inline automated water shutoff valves tied to the mains water supply. Beagle also offers a Watchdog monitoring services which automatically flags abnormal pressure spikes and consistent drips, allowing human teams to intervene before a pipe bursts. </p><div><blockquote><p>The damage almost never starts as a flood. It starts as a slow drip behind a washing machine or under a water heater for weeks</p><p>Nick Nastos, Chicago Property Shop</p></blockquote></div><p>“Water is where I see the most damage,” says Peter Kravchuk, Founder of Seattle-based New Day Construction. “While a battery-powered puck under a sink will chirp at you, a flow-shutoff valve installed at the main line actually closes the water off when it detects an abnormal flow pattern, and that's a different category of protection entirely,” he adds. Nick Nastos, Real Estate Broker at Chicago Property Shop agrees: “Buyers and investors ask me about cameras constantly and almost never about leak detection,” adding “automatic shutoff valves near the mains are worth pricing out on any property.” </p><p>As well as proving vital for high-risk properties and those who have previously experienced water damage in the home, Vacquier claims the technology is particularly useful for ‘holiday homes and vacant properties where slow leaks can go unnoticed for weeks.’  Adds Nick Nastos: “I’ve walked into flats after a January freeze where a single burst supply took out ceilings, flooring and a tenant’s belongings on the floor below. The damage almost never starts as a flood. It starts as a slow drip behind a washing machine or under a water heater for weeks.”</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2121px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="swd5DBgzJwcqKVALnZGcfP" name="GettyImages-1227191376" alt="Sad woman sitting on sofa with buckets to catch water dripping from ceiling" src="https://cdn.mos.cms.futurecdn.net/swd5DBgzJwcqKVALnZGcfP-1920-80.jpg" mos="" align="middle" fullscreen="" width="2121" height="1193" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">What starts as a small drip behind an appliance can turn into catastrophic property damage </span><span class="credit" itemprop="copyrightHolder">(Image credit: Getty Images /  PixelsEffect)</span></figcaption></figure><p>For landlords managing residential portfolios, a shift from reactive to proactive insurance could also provide a particularly welcome relief from administrative burdens, claims Roxton Wealth’s UK-based Nouran Moustafa. She argues that rather than landlords having to fill in "excessive paperwork", housing regulations should be directed "towards having better alarms and leak monitors". She adds: “This is going to be massive for tenants, for landlords and for insurance providers.”</p><h2 id="beyond-plumbing">Beyond plumbing</h2><p>Although burst pipes remain the single biggest preventable risk in the home, it’s not the only risk that InsurTech can help to reduce. For example, in the UK, Sky Protect Home Insurance blends traditional buildings and content insurance, underwritten by global insurance firm Zurich, with real-time data from a whole host of smart devices in the home. </p><p>Officially launched in May 2023, the package is designed around a ‘prevention first approach’, rather than the reactive approach favoured by most traditional insurance companies. Integrating smart devices such as video doorbells, indoor cameras, motion and contact sensors, and leak detectors directly into a unified app experience, the platform uses real-time monitoring and automated alerts to help homeowners catch issues such as minor leaks or security breaches before they escalate into costly formal claims.</p><div><blockquote><p>Whole-home surge protection is the other piece homeowners rarely ask about</p><p>Peter Kravchuk, New Construction</p></blockquote></div><p>“We already make people’s lives easier at home through our TV, broadband and mobile services and with Sky Protect, we’ll be able to take the pain out of home insurance,” claimed<em> </em>Stephen van Rooyen, former Chief Executive Officer, Sky UK & Ireland and Chief Commercial Officer, Sky Group, <a href="https://skygroup.sky/en-gb/article/introducing-sky-protect-smart-home-insurance-smart-tech-home-insurance-in-one-">in a press statement</a> at launch. “By combining smart home technology with insurance, Sky Protect aims to prevent losses and provide financial peace of mind, should the unexpected happen,” added Tim Bailey, Zurich’s UK CEO.<strong>   </strong></p><p>Another area that is getting a lot of attention right now — but isn’t yet generally integrated in home insurance packages — is electrical safety. This can be significantly enhanced using specialist equipment designed to mitigate transient overvoltages, commonly known as electrical surges. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2121px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="sgQYsjaMPwT4adaERwYW6m" name="GettyImages-1340084279" alt="Person plugging phone charger into surge-protected power strip" src="https://cdn.mos.cms.futurecdn.net/sgQYsjaMPwT4adaERwYW6m-1920-80.jpg" mos="" align="middle" fullscreen="" width="2121" height="1193" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">Plug-in power strips can't protect all your appliances from power surges, but a device mounted directly at the electrical panel can </span><span class="credit" itemprop="copyrightHolder">(Image credit: Getty Images /  Kinga Krzeminska)</span></figcaption></figure><p>Triggered by external grid switching, internal appliance cycling or even lightning, these sudden voltage spikes pose a constant threat to sensitive home electronics and major appliances. To safeguard a property against these risks, whole-home Surge Protective Devices (SPDs) can be installed directly at the electrical panel. </p><p>"Whole-home surge protection is the other piece homeowners rarely ask about,” New Construction’s Peter Kravchuk says. “But a protective device mounted at the panel is a small line item during a panel upgrade and covers everything downstream. Plug-in strips can't do that job on their own."  Operating as an automated safety barrier, a SPD detects a sudden surge in voltage and instantly diverts the dangerous excess electrical current safely away from household circuits and into the grounding system to prevent equipment failure and reduce potential fire hazards.</p><h2 id="insurance-discounts">Insurance discounts</h2><p>One company that specialises in tech for preventing disasters in the home is X-Sense. Though it doesn’t work directly with insurance companies, US users buying X-Sense smoke alarms, CO (carbon monoxide) alarms, or combination smoke and CO alarms who subscribe to its Protect+ Elite professional monitoring service (costing $49.99 per year, or $4.99 per month) can claim home insurance benefits. </p><p>“Through the X-Sense app, eligible customers can obtain a monitoring certificate confirming that compatible alarms have been installed and connected to a professional monitoring service capable of coordinating emergency response, including fire department dispatch when necessary,” an X-Sense spokesperson told TechRadar. <br><br>“Customers can then provide this certificate to their home insurance provider and may qualify for a homeowners insurance discount. The exact discount varies by state and insurer, but in some cases it can be as much as 15%.”</p><div><blockquote><p>Customers can then provide this certificate to their home insurance provider and may qualify for a homeowners insurance discount</p><p>Spokesperson, X-Sense</p></blockquote></div><p>It all sounds very promising , especially if you like saving money — and who doesn’t! However, that’s not to say there aren’t any potential risk of embracing this new InsurTech revolution. Alarms which monitor everything from smoke and carbon monoxide levels to burglars breaking into a property not only require a sizeable hardware investment up front, they also generate a lot of potentially sensitive data. As Taimur Ijlal, Information Security Leader at Proxy Coupons, notes: “Once a sensor, camera or smart lock starts reporting to a third party, it become both an attack surface in your home and a data pipeline out of it.” </p><p>Indeed, the fragility of backend B2B data pipelines was recently demonstrated by a security incident involving Dublin-based InsurTech firm Companjon, a subsidiary of La Mobilière, which suffered a major data exposure via an unprotected Apache Kafka data stream. Revealing millions of records, including future-dated travel itineraries and personally identifiable information, the incident demonstrated how third-party vendor vulnerabilities can easily compromise consumer trust.</p><p>Consequently, experts advise homeowners asking questions before adopting bundled InsurTech such as who owns and retains the device data and for how long? What is the manufacturer's security patch policy? And what happens to policy coverage if a device fails or is disconnected? </p><h2 id="the-future-of-home-insurance">The future of home insurance</h2><p>While hurdles remain, such as legitimate concerns over data privacy and device cybersecurity, InsurTech undoubtedly represents the long-term future for home insurance. The convergence of IoT sensors, AI-driven claims processing and hi-tech detection devices is set to reshape our digital home lives, just as ‘black box’ telemetry has done for many motorists and tracking apps are starting to in pet and health insurance too. </p><p>Rather than the reactive ‘something has gone wrong, here’s the cheque’ approach of yesteryear, insurance is moving in a more proactive direction towards ‘technology stopped it going wrong in the first place’. For homeowners embracing this new way of thinking, ultimately it means greater peace of mind, as well as potentially reduced home insurance premiums. A real win-win. </p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Reolink OMVI 3i review: panoramic views and 4K tracking in one smart camera ]]></title>
                                                                                                <dc:content><![CDATA[ <h3 class="article-body__section" id="section-reolink-omvi-3i-two-minute-review"><span>Reolink OMVI 3i: two-minute review</span></h3><p>Shenzhen-based firm Reolink is a well-established brand in the home security market having gained a solid reputation for well-built, user-friendly cameras and video doorbells at an affordable price. I’ve reviewed quite a few models for TechRadar in my time and have generally been very impressed. One particular favourite is the recently launched <a href="https://www.techradar.com/home/home-security/reolink-solar-floodlight-camera-review">Reolink Solar Floodlight</a> Cam which combines a solar panel with two powerful spotlights either side of the main unit, as well as a loud onboard siren.</p><p>Like the Solar Floodlight Cam, the OMVI 3i also features powerful spotlights (there are eight in total) plus an ear-piercing 110dB siren. However, the key difference is that rather than relying on solar power combined with a built-in lithium-ion battery that can be recharged, the much bulkier Reolink OMVI 3i is mains-operated only and can’t be powered by battery or solar. This means it will have to be located near an AC power supply which isn’t always possible outdoors. </p><p>Two versions are available, a wired Power of Ethernet (PoE) version and the Wi-Fi model that we tested. Unlike some cheaper models, the OMVI 3i supports both 2.4GHz and 5GHz Wi-Fi — though the 5GHz frequencies are recommended for outdoor use. Practically identical to one another, both models are very bulky, requiring careful mounting on a wall using a drill in conjunction with brackets, screws and wall plugs provided. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="3R5uVEFr7FvemVfupBByRY" name="reolink-angle" alt="Reolink Omvi 3i security camera installed outside home" src="https://cdn.mos.cms.futurecdn.net/3R5uVEFr7FvemVfupBByRY-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Whereas most security cameras rely on cloud-based processing to identify objects, this latest Reolink features powerful integrated edge AI. This onboard intelligence allows the camera to easily distinguish between people, animals, and vehicles, letting you independently adjust sensitivity settings for each category to help dramatically reduce false alarms. Particularly clever is the smart tracking option alongside advanced package detection, which can alert you if a parcel is removed from a specific zone - making it a potentially useful tool in the fight against porch pirates.</p><p>When viewing footage via the easy-to-use app, two screens are displayed – one from the top panoramic camera producing a 180-degree image from two separate lenses and the other from a motorized pan-and-tilt camera that can rotate horizontally up to 355 degrees and vertically up to 50 degrees. Rather usefully, if you spot something untoward on the panoramic display such as an intruder, you can simply identify the area with your finger and it will then hone in on that area using the pan-and-tilt camera underneath. </p><p>Finally, where security camera manufacturers usually make their money is in selling you a monthly subscription to store your video footage in the cloud. Not only is this a potential cybersecurity risk, it can also get very expensive over time. With the Reolink OMVI 3i, there’s the choice between storing on a MicroSD card slot (not supplied) or subscribing to Reolink’s cloud service from just £2.71 (about $3.60 / AU$5.10) per month (yes it’s a strange amount). And because this OMVI 3i is mains-operated, the camera can record 24/7 if you want it to without having to worry about the battery losing its charge. This makes it ideal for business as well as consumer use. </p><h3 class="article-body__section" id="section-reolink-omvi-3i-subscription-options"><span>Reolink OMVI 3i: subscription options</span></h3><p><strong>Reolink Cloud, Single Device Plan: </strong>Up to 30-day cloud video history, one camera, unlimited cloud storage, unlimited rich notifications, AI Video Search. £2.71 (about $3.60 / AU$5.10) per month.</p><p><strong>Reolink Cloud,  Standard Plan:</strong> Up to 30-day cloud video history, up to five cameras supported, unlimited cloud storage, unlimited rich notifications. £2.87 (about $2.80 / AU$5.40) per month. </p><p>See <a href="https://cloud.reolink.com/cloud-plan">https://cloud.reolink.com/cloud-plan</a> for further details </p><h3 class="article-body__section" id="section-reolink-omvi-3i-price-and-availability"><span>Reolink OMVI 3i: price and availability</span></h3><ul><li><strong>How much does it cost?</strong> $329.99 / £259.99 / AU$439</li><li><strong>When is it available?</strong> Available since June / July 2026</li><li><strong>Where is it available?</strong> UK, US, Australia, and select global markets via Amazon and Reolink’s official store.</li></ul><p>When you consider everything that the Reolink OMVI 3i camera has to offer, including dual panoramic lenses, a 4K pan-and-tilt mechanism, integrated edge AI and powerful spotlights, this security camera simply is fantastic value for money — especially as it’s pretty well built too. A few years ago, a device like this would have set you back nearer to £400 in the UK  where I'm reviewing it, yet at the time of writing Amazon is offering it for just £220.</p><p>And while there are of course cheaper models on the market, none that I’ve seen offer anywhere near the same levels of performance. In fact, the Reolink OMVI 3i substantially undercuts commercial-grade monitoring systems, making it the ideal choice for small businesses/shops that want to use it for monitoring their premises. </p><p>Furthermore, even if you opt for cloud storage, the subscription fee isn't that bad coming in at under £3 a month. Better still, you can avoid ongoing costs completely by buying your own MicroSD card for local event logging, 24/7 continuous recording, or audio capture, making it a remarkably cost-effective long-term investment.</p><ul><li><strong>Value score: 5/5</strong></li></ul><h3 class="article-body__section" id="section-reolink-omvi-3i-design"><span>Reolink OMVI 3i: design</span></h3><ul><li><strong>Triple-lens configuration (10MP panoramic top lenses + 4K 8MP PTZ bottom lens)</strong></li><li><strong>Heavy-duty weatherproof (IP66) housing with drilling template included</strong></li><li><strong>Mains-powered only</strong></li></ul><p>Unlike many modern compact outdoor security cameras, the OMVI 3i is one heck of a big beast! Tipping up the scales at 2.4lbs / 1.1kg for the Wi-Fi variant and 2.9lbs / 1.3kg for the PoE version, it’s a really bulky unit. Installation isn't the easiest either. Because of its weight and the way it protrudes from the wall, it requires a very secure mount. It’s not a camera you can casually stick up with a couple of small screws. Instead, you’ll need a drill, screws, wall plugs and the mount to ensure it stays firmly anchored.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/L86ioBV44tzXw32mQ75zAZ-1920-80.jpg" alt="Close-up of Reolink Omvi 3i security camera sensor and lights" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/zVZZPZWziA9NJvSqCnCUAZ-1920-80.jpg" alt="Close-up of Reolink Omvi 3i security camera lens" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p>Using the template provided I drilled holes for the sturdy mounting bracket, placing the unit high up on my outside wall overlooking the garden. But there’s no getting away from the fact this is a big unit designed for high performance rather than looks. Another major problem is that it needs to be plugged into the mains. Thankfully I already have a mains socket outdoors, but if you don’t, you will run have to connect the cabling to a plug indoors. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="DzkUe5u74XpqKjHyLLh8YY" name="reolink-closeup" alt="Reolink Omvi 3i security camera socket" src="https://cdn.mos.cms.futurecdn.net/DzkUe5u74XpqKjHyLLh8YY-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Essentially the design comprises two main elements — the upper part with twin lenses for panorama mode and the single lens pan-and-tilt camera underneath. Round the back of the unit is a waterproof rubber flap housing a MicroSD card slot and reset button. The maximum supported MicroSD card size for the Reolink OMVI 3i (both WiFi and PoE versions) is 512 GB. Alternatively you can subscribe to store recorded footage in the cloud or buy a Reolink NVR (network video recorder). </p><ul><li><strong>Design score: 3.5/5</strong></li></ul><h3 class="article-body__section" id="section-reolink-omvi-3i-performance"><span>Reolink OMVI 3i: performance</span></h3><ul><li><strong>SyncTrack enables the Pan-Tilt camera to automatically lock on and follow subjects</strong></li><li><strong>Integrated edge AI for people, animals and vehicles</strong></li><li><strong>Removed item alerts and 24/7 continuous recording capability</strong></li></ul><p>When it comes to performance, the Reolink OMVI 3i Wi-Fi is certainly one of the best I’ve ever seen. Freed from battery limitations, it can focus completely on offering high-definition recordings from the triple-lens set up, rather than having to compromise on image quality to save battery power. </p><p>Indeed, visual performance is exceptionally strong. The 4K 8-megapixel pan-and-tilt camera delivers crisp, high-definition clarity that lets you easily zoom in on distant facial features or car number plates. Furthermore, the 10MP panoramic lenses on top provide an ultra-wide 180-degree overview, delivering the ultimate 'best of both worlds' setup where nothing escapes your field of vision. When an event occurs in the panoramic overview, you can simply tap or click on a specific area within the wide feed, and the 4K PTZ camera will instantly 'pinpoint' and swivel to that exact spot, zooming in to provide close-up detail without losing track of the broader context.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="r7tnLk2f7mxCpwpJWNopAZ" name="reolink-installation" alt="Reolink Omvi 3i security camera installation in app" src="https://cdn.mos.cms.futurecdn.net/r7tnLk2f7mxCpwpJWNopAZ-1920-80.png" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Even at night, picture quality remains exceptional. Infra-red night vision provides sharp monochrome clarity, while the multiple integrated spotlights proved amazingly powerful, bathing my garden in light late at night to ensure color recordings. Also on board is a powerful 110dB siren for startling unwanted trespassers, as well as two-way audio so you can tell intruders to get off your land!</p><p>But that’s not all. Particularly impressive is OMVI 3i’s built-in local AI processing. Rather than relying on sluggish or privacy-invasive cloud servers, the camera runs intelligence directly on the device. This allows it to distinguish between people, animals and vehicles with impressive accuracy. You can also independently fine-tune the motion sensitivity for each category, which dramatically cuts down on the nuisance false alarms that plague many security cameras. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Ns94dGaP3EXprQTh45fQpZ" name="reolink-panning" alt="Reolink Omvi 3i security camera panning using app" src="https://cdn.mos.cms.futurecdn.net/Ns94dGaP3EXprQTh45fQpZ-1920-80.png" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Although I didn’t test the feature, removed-item alerts enable you to get a notification if a parcel is lifted from a marked doorway zone (handy in the fight against porch pirates!) while if you want continuous coverage, you can set the camera to record 24/7 or configure it to record audio by default. </p><p>Yet despite these standout strengths, the camera’s performance is not entirely without flaws. One small issue I encountered during testing is that the software stitching between the two top cameras for the 180-degree panorama occasionally fails, disrupting the seamless wide-angle view (this can be corrected with software within the app). Additionally, while the automated tracking of people, vehicles and animals is generally smooth, fast-moving targets can cause the pan-and-tilt mechanism to stutter or momentarily lose tracking if they dart across the frame too quickly.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Nb5VhkkNdQzffyGQKVWnxZ" name="reolink-pet" alt="Reolink Omvi 3i security camera detecting a pet" src="https://cdn.mos.cms.futurecdn.net/Nb5VhkkNdQzffyGQKVWnxZ-1920-80.png" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Finally, because the camera captures such a massive, wide-angle view, it does demand careful positioning. If you have limited private space, its lenses can easily spill over into neighboring properties or public walkways, requiring you to use the detection exclusion zones software provided. </p><ul><li><strong>Performance score: 4.5/5</strong></li></ul><h3 class="article-body__section" id="section-should-you-buy-the-reolink-omvi-3i"><span>Should you buy the Reolink OMVI 3i?</span></h3><div ><table><thead><tr><th class="firstcol " ><p>Attribute</p></th><th  ><p>Notes</p></th><th  ><p>Score</p></th></tr></thead><tbody><tr><td class="firstcol " ><p>Value</p></td><td  ><p>The Reolink is excellent value for money considering its triple-lens hardware, local AI and flexible storage options.</p></td><td  ><p>5/5</p></td></tr><tr><td class="firstcol " ><p>Design</p></td><td  ><p>Heavy and bulky, requiring wall plugs and a drill for secure mounting. Also runs on mains power and is unsuited for tight private spaces due to large field of view.</p></td><td  ><p>3.5/5</p></td></tr><tr><td class="firstcol " ><p>Performance</p></td><td  ><p>Combines crisp 4K resolution, Pinpoint synchronized tracking, a 180-degree panoramic overview, 355-degree PTZ tracking, powerful spotlights, and a loud siren.</p></td><td  ><p>4.5/5</p></td></tr></tbody></table></div><h3 id="buy-it-if-2">Buy it if</h3><div class="product"><p><strong>You have a large estate or a small business with plenty of space</strong></p><p>If you need to monitor sprawling grounds, wide perimeters, or extensive outdoor areas, this is an ideal high-end security solution.</p></div><div class="product"><p><strong>You want total coverage without blind spots</strong> </p><p>The combination of dual panoramic lenses on top and a 355-degree pan-and-tilt camera underneath ensure a ‘best of both worlds’ solution.</p></div><h3 id="don-t-buy-it-if">Don’t buy it if</h3><div class="product"><p><strong>You want a discreet, easy-to-install solution</strong></p><p>The Reolink OMVI 3i is very bulky and heavy, requiring proper wall mounting with a drill and wall plugs, making it unsuited for casual setup.</p></div><div class="product"><p><strong>You have limited private space or no mains power</strong></p><p>Because it captures such a wide angle, it can easily spill over into neighboring areas, while its mains-power requirements means running cabling outdoors. </p></div><h3 class="article-body__section" id="section-reolink-omvi-3i-also-consider"><span>Reolink OMVI 3i: also consider</span></h3><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p><strong>Reolink OMVI 3i Wi-Fi</strong></p></th><th  ><p><strong>IMOU AOV PT</strong></p></th><th  ><p><strong>Reolink Solar Floodlight Cam</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Subscription price</strong></p></td><td  ><p>Optional cloud from £2.71 a month (or MicroSD storage)</p></td><td  ><p>Optional subscription from £3 a month</p></td><td  ><p>None. Optional subscription from £2.71 a month</p></td></tr><tr><td class="firstcol " ><p><strong>Viewing angle</strong></p></td><td  ><p>180-degree panoramic dual lens and 355-degree pan and tilt camera</p></td><td  ><p>360-degree pan and tilt lens</p></td><td  ><p>150-degree ultra-wide diagonal</p></td></tr><tr><td class="firstcol " ><p><strong>Network connection</strong></p></td><td  ><p>Wi-Fi/ PoE versions (2.5GHz/5GHz)</p></td><td  ><p>Wi-Fi (2.4GHz)/4G cellular</p></td><td  ><p>Wi-Fi (2.4GHz/5GHz)</p></td></tr><tr><td class="firstcol " ><p><strong>Audio</strong></p></td><td  ><p>Two-way audio</p></td><td  ><p>Two-way audio</p></td><td  ><p>Two-way audio</p></td></tr><tr><td class="firstcol " ><p><strong>Video</strong></p></td><td  ><p>4K 8MP PTZ + 10MP panoramic resolution</p></td><td  ><p>3K (5MP) video resolution</p></td><td  ><p>2K (1440p) video resolution</p></td></tr><tr><td class="firstcol " ><p><strong>Power</strong></p></td><td  ><p>Mains power (with waterproof cable design)</p></td><td  ><p>Battery/Solar</p></td><td  ><p>Battery/Solar</p></td></tr><tr><td class="firstcol " ><p><strong>Hardware price</strong></p></td><td  ><p>£220-£250</p></td><td  ><p>£129 (with separate solar panel)</p></td><td  ><p>£85 (with built in solar panel)</p></td></tr></tbody></table></div><div class="product"><a data-dimension112="af8af444-b8ea-11f1-8f7f-99f73ae6a86c" data-action="Deal Block" data-label="Read our full Reolink Solar Floodlight Cam review" data-dimension48="Read our full Reolink Solar Floodlight Cam review" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1500px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="CeNGfwY5DcuSPr5SD86SLN" name="reolink solar floodlight" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/CeNGfwY5DcuSPr5SD86SLN-1920-80.jpg" mos="" align="middle" fullscreen="" width="1500" height="1500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong>Reolink Solar Floodlight Cam</strong></p><p>Looking for a decent security camera with powerful spotlights that you don’t have to keep recharging every few months? Then the Reolink Solar Floodlight Cam is a good option, especially given its competitive price tag.</p><p><strong>Read our full </strong><a href="https://www.techradar.com/home/home-security/reolink-solar-floodlight-camera-review" data-dimension112="af8af444-b8ea-11f1-8f7f-99f73ae6a86c" data-action="Deal Block" data-label="Read our full Reolink Solar Floodlight Cam review" data-dimension48="Read our full Reolink Solar Floodlight Cam review" data-dimension25=""><strong>Reolink Solar Floodlight Cam review</strong></a><strong> </strong></p></div><div class="product"><a data-dimension112="af8af4d0-b8ea-11f1-a3d6-833daaff66f7" data-action="Deal Block" data-label="Read our full IMOU AOV PT review" data-dimension48="Read our full IMOU AOV PT review" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:796px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="fhN4VwajBaGtdtMzhdiq5T" name="imou-aov" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/fhN4VwajBaGtdtMzhdiq5T-1920-80.jpg" mos="" align="middle" fullscreen="" width="796" height="796" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong>IMOU AOV PT</strong> </p><p>Thanks to 4G cellular connectivity, the IMOU AOV PT is a great choice for those living in a remote location where Wi-Fi is a little patchy or even non-existent. Also boasts a separate solar panel so you don’t need to recharge the battery quite so often.</p><p><strong>Read our full </strong><a href="https://www.techradar.com/home/smart-home/imou-aov-pt-review" data-dimension112="af8af4d0-b8ea-11f1-a3d6-833daaff66f7" data-action="Deal Block" data-label="Read our full IMOU AOV PT review" data-dimension48="Read our full IMOU AOV PT review" data-dimension25=""><strong>IMOU AOV PT review</strong></a><strong></strong></p></div><h3 class="article-body__section" id="section-how-i-tested-the-reolink-omvi-3i"><span>How I tested the Reolink OMVI 3i</span></h3><ul><li><strong>I used the camera outdoors for seven days</strong></li><li><strong>I set it up myself using the fittings provided by the manufacturer </strong></li><li><strong>The security camera was installed facing my back garden. </strong></li></ul><p>Usually when testing outdoor security cameras, I like to install them on my summer house which doubles as a home office and gym. This gives me a great view of the garden back towards the house. However, for the Reolink OMVI 3i I had to change things around for a couple of reasons. </p><p>Firstly, the size of the camera meant that I couldn’t be sure that the wooden-built summer house would hold the weight. Secondly, although I have power inside the summer house I would have needed to run power quite a long way to the outside of the building which wasn’t possible with the cable provided. </p><p>So, instead, I opted to drill the camera bracket into the wall outside my kitchen and face the camera the other way towards the end of the garden. This had the added advantage of the camera not being visible to the neighbors. I tested the camera for several days and nights, using the onboard AI to capture people and animals in the garden, though thankfully no intruders made it into my heavily fortified property.</p><p><em>First reviewed September 2026</em></p> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/home/home-security/reolink-omvi-3i-review</link>
                                                                            <description>
                            <![CDATA[ All too often, choosing an outdoor security involves some element of compromise — but not this time. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">uPm9y4QNsKbdeqQBQx46y5</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/Mz5nrWQGLGuvFQsd7fHUdY-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sun, 27 Sep 2026 07:00:00 +0000</pubDate>                                                                                                                                <updated>Mon, 28 Sep 2026 04:28:42 +0000</updated>
                                                                                                                                            <category><![CDATA[Home Security]]></category>
                                                    <category><![CDATA[Home]]></category>
                                                    <category><![CDATA[Smart Home]]></category>
                                                                                                                    <dc:creator><![CDATA[ Chris Price ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/DU2Lv5xHGaNHCjMhkrGY6R-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/Mz5nrWQGLGuvFQsd7fHUdY-1920-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Reolink Omvi 3i security camera installed on wall]]></media:description>                                                            <media:text><![CDATA[Reolink Omvi 3i security camera installed on wall]]></media:text>
                                <media:title type="plain"><![CDATA[Reolink Omvi 3i security camera installed on wall]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/Mz5nrWQGLGuvFQsd7fHUdY-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <h3 class="article-body__section" id="section-reolink-omvi-3i-two-minute-review"><span>Reolink OMVI 3i: two-minute review</span></h3><p>Shenzhen-based firm Reolink is a well-established brand in the home security market having gained a solid reputation for well-built, user-friendly cameras and video doorbells at an affordable price. I’ve reviewed quite a few models for TechRadar in my time and have generally been very impressed. One particular favourite is the recently launched <a href="https://www.techradar.com/home/home-security/reolink-solar-floodlight-camera-review">Reolink Solar Floodlight</a> Cam which combines a solar panel with two powerful spotlights either side of the main unit, as well as a loud onboard siren.</p><p>Like the Solar Floodlight Cam, the OMVI 3i also features powerful spotlights (there are eight in total) plus an ear-piercing 110dB siren. However, the key difference is that rather than relying on solar power combined with a built-in lithium-ion battery that can be recharged, the much bulkier Reolink OMVI 3i is mains-operated only and can’t be powered by battery or solar. This means it will have to be located near an AC power supply which isn’t always possible outdoors. </p><p>Two versions are available, a wired Power of Ethernet (PoE) version and the Wi-Fi model that we tested. Unlike some cheaper models, the OMVI 3i supports both 2.4GHz and 5GHz Wi-Fi — though the 5GHz frequencies are recommended for outdoor use. Practically identical to one another, both models are very bulky, requiring careful mounting on a wall using a drill in conjunction with brackets, screws and wall plugs provided. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="3R5uVEFr7FvemVfupBByRY" name="reolink-angle" alt="Reolink Omvi 3i security camera installed outside home" src="https://cdn.mos.cms.futurecdn.net/3R5uVEFr7FvemVfupBByRY-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Whereas most security cameras rely on cloud-based processing to identify objects, this latest Reolink features powerful integrated edge AI. This onboard intelligence allows the camera to easily distinguish between people, animals, and vehicles, letting you independently adjust sensitivity settings for each category to help dramatically reduce false alarms. Particularly clever is the smart tracking option alongside advanced package detection, which can alert you if a parcel is removed from a specific zone - making it a potentially useful tool in the fight against porch pirates.</p><p>When viewing footage via the easy-to-use app, two screens are displayed – one from the top panoramic camera producing a 180-degree image from two separate lenses and the other from a motorized pan-and-tilt camera that can rotate horizontally up to 355 degrees and vertically up to 50 degrees. Rather usefully, if you spot something untoward on the panoramic display such as an intruder, you can simply identify the area with your finger and it will then hone in on that area using the pan-and-tilt camera underneath. </p><p>Finally, where security camera manufacturers usually make their money is in selling you a monthly subscription to store your video footage in the cloud. Not only is this a potential cybersecurity risk, it can also get very expensive over time. With the Reolink OMVI 3i, there’s the choice between storing on a MicroSD card slot (not supplied) or subscribing to Reolink’s cloud service from just £2.71 (about $3.60 / AU$5.10) per month (yes it’s a strange amount). And because this OMVI 3i is mains-operated, the camera can record 24/7 if you want it to without having to worry about the battery losing its charge. This makes it ideal for business as well as consumer use. </p><h3 class="article-body__section" id="section-reolink-omvi-3i-subscription-options"><span>Reolink OMVI 3i: subscription options</span></h3><p><strong>Reolink Cloud, Single Device Plan: </strong>Up to 30-day cloud video history, one camera, unlimited cloud storage, unlimited rich notifications, AI Video Search. £2.71 (about $3.60 / AU$5.10) per month.</p><p><strong>Reolink Cloud,  Standard Plan:</strong> Up to 30-day cloud video history, up to five cameras supported, unlimited cloud storage, unlimited rich notifications. £2.87 (about $2.80 / AU$5.40) per month. </p><p>See <a href="https://cloud.reolink.com/cloud-plan">https://cloud.reolink.com/cloud-plan</a> for further details </p><h3 class="article-body__section" id="section-reolink-omvi-3i-price-and-availability"><span>Reolink OMVI 3i: price and availability</span></h3><ul><li><strong>How much does it cost?</strong> $329.99 / £259.99 / AU$439</li><li><strong>When is it available?</strong> Available since June / July 2026</li><li><strong>Where is it available?</strong> UK, US, Australia, and select global markets via Amazon and Reolink’s official store.</li></ul><p>When you consider everything that the Reolink OMVI 3i camera has to offer, including dual panoramic lenses, a 4K pan-and-tilt mechanism, integrated edge AI and powerful spotlights, this security camera simply is fantastic value for money — especially as it’s pretty well built too. A few years ago, a device like this would have set you back nearer to £400 in the UK  where I'm reviewing it, yet at the time of writing Amazon is offering it for just £220.</p><p>And while there are of course cheaper models on the market, none that I’ve seen offer anywhere near the same levels of performance. In fact, the Reolink OMVI 3i substantially undercuts commercial-grade monitoring systems, making it the ideal choice for small businesses/shops that want to use it for monitoring their premises. </p><p>Furthermore, even if you opt for cloud storage, the subscription fee isn't that bad coming in at under £3 a month. Better still, you can avoid ongoing costs completely by buying your own MicroSD card for local event logging, 24/7 continuous recording, or audio capture, making it a remarkably cost-effective long-term investment.</p><ul><li><strong>Value score: 5/5</strong></li></ul><h3 class="article-body__section" id="section-reolink-omvi-3i-design"><span>Reolink OMVI 3i: design</span></h3><ul><li><strong>Triple-lens configuration (10MP panoramic top lenses + 4K 8MP PTZ bottom lens)</strong></li><li><strong>Heavy-duty weatherproof (IP66) housing with drilling template included</strong></li><li><strong>Mains-powered only</strong></li></ul><p>Unlike many modern compact outdoor security cameras, the OMVI 3i is one heck of a big beast! Tipping up the scales at 2.4lbs / 1.1kg for the Wi-Fi variant and 2.9lbs / 1.3kg for the PoE version, it’s a really bulky unit. Installation isn't the easiest either. Because of its weight and the way it protrudes from the wall, it requires a very secure mount. It’s not a camera you can casually stick up with a couple of small screws. Instead, you’ll need a drill, screws, wall plugs and the mount to ensure it stays firmly anchored.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/L86ioBV44tzXw32mQ75zAZ-1920-80.jpg" alt="Close-up of Reolink Omvi 3i security camera sensor and lights" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/zVZZPZWziA9NJvSqCnCUAZ-1920-80.jpg" alt="Close-up of Reolink Omvi 3i security camera lens" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p>Using the template provided I drilled holes for the sturdy mounting bracket, placing the unit high up on my outside wall overlooking the garden. But there’s no getting away from the fact this is a big unit designed for high performance rather than looks. Another major problem is that it needs to be plugged into the mains. Thankfully I already have a mains socket outdoors, but if you don’t, you will run have to connect the cabling to a plug indoors. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="DzkUe5u74XpqKjHyLLh8YY" name="reolink-closeup" alt="Reolink Omvi 3i security camera socket" src="https://cdn.mos.cms.futurecdn.net/DzkUe5u74XpqKjHyLLh8YY-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Essentially the design comprises two main elements — the upper part with twin lenses for panorama mode and the single lens pan-and-tilt camera underneath. Round the back of the unit is a waterproof rubber flap housing a MicroSD card slot and reset button. The maximum supported MicroSD card size for the Reolink OMVI 3i (both WiFi and PoE versions) is 512 GB. Alternatively you can subscribe to store recorded footage in the cloud or buy a Reolink NVR (network video recorder). </p><ul><li><strong>Design score: 3.5/5</strong></li></ul><h3 class="article-body__section" id="section-reolink-omvi-3i-performance"><span>Reolink OMVI 3i: performance</span></h3><ul><li><strong>SyncTrack enables the Pan-Tilt camera to automatically lock on and follow subjects</strong></li><li><strong>Integrated edge AI for people, animals and vehicles</strong></li><li><strong>Removed item alerts and 24/7 continuous recording capability</strong></li></ul><p>When it comes to performance, the Reolink OMVI 3i Wi-Fi is certainly one of the best I’ve ever seen. Freed from battery limitations, it can focus completely on offering high-definition recordings from the triple-lens set up, rather than having to compromise on image quality to save battery power. </p><p>Indeed, visual performance is exceptionally strong. The 4K 8-megapixel pan-and-tilt camera delivers crisp, high-definition clarity that lets you easily zoom in on distant facial features or car number plates. Furthermore, the 10MP panoramic lenses on top provide an ultra-wide 180-degree overview, delivering the ultimate 'best of both worlds' setup where nothing escapes your field of vision. When an event occurs in the panoramic overview, you can simply tap or click on a specific area within the wide feed, and the 4K PTZ camera will instantly 'pinpoint' and swivel to that exact spot, zooming in to provide close-up detail without losing track of the broader context.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="r7tnLk2f7mxCpwpJWNopAZ" name="reolink-installation" alt="Reolink Omvi 3i security camera installation in app" src="https://cdn.mos.cms.futurecdn.net/r7tnLk2f7mxCpwpJWNopAZ-1920-80.png" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Even at night, picture quality remains exceptional. Infra-red night vision provides sharp monochrome clarity, while the multiple integrated spotlights proved amazingly powerful, bathing my garden in light late at night to ensure color recordings. Also on board is a powerful 110dB siren for startling unwanted trespassers, as well as two-way audio so you can tell intruders to get off your land!</p><p>But that’s not all. Particularly impressive is OMVI 3i’s built-in local AI processing. Rather than relying on sluggish or privacy-invasive cloud servers, the camera runs intelligence directly on the device. This allows it to distinguish between people, animals and vehicles with impressive accuracy. You can also independently fine-tune the motion sensitivity for each category, which dramatically cuts down on the nuisance false alarms that plague many security cameras. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Ns94dGaP3EXprQTh45fQpZ" name="reolink-panning" alt="Reolink Omvi 3i security camera panning using app" src="https://cdn.mos.cms.futurecdn.net/Ns94dGaP3EXprQTh45fQpZ-1920-80.png" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Although I didn’t test the feature, removed-item alerts enable you to get a notification if a parcel is lifted from a marked doorway zone (handy in the fight against porch pirates!) while if you want continuous coverage, you can set the camera to record 24/7 or configure it to record audio by default. </p><p>Yet despite these standout strengths, the camera’s performance is not entirely without flaws. One small issue I encountered during testing is that the software stitching between the two top cameras for the 180-degree panorama occasionally fails, disrupting the seamless wide-angle view (this can be corrected with software within the app). Additionally, while the automated tracking of people, vehicles and animals is generally smooth, fast-moving targets can cause the pan-and-tilt mechanism to stutter or momentarily lose tracking if they dart across the frame too quickly.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Nb5VhkkNdQzffyGQKVWnxZ" name="reolink-pet" alt="Reolink Omvi 3i security camera detecting a pet" src="https://cdn.mos.cms.futurecdn.net/Nb5VhkkNdQzffyGQKVWnxZ-1920-80.png" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Finally, because the camera captures such a massive, wide-angle view, it does demand careful positioning. If you have limited private space, its lenses can easily spill over into neighboring properties or public walkways, requiring you to use the detection exclusion zones software provided. </p><ul><li><strong>Performance score: 4.5/5</strong></li></ul><h3 class="article-body__section" id="section-should-you-buy-the-reolink-omvi-3i"><span>Should you buy the Reolink OMVI 3i?</span></h3><div ><table><thead><tr><th class="firstcol " ><p>Attribute</p></th><th  ><p>Notes</p></th><th  ><p>Score</p></th></tr></thead><tbody><tr><td class="firstcol " ><p>Value</p></td><td  ><p>The Reolink is excellent value for money considering its triple-lens hardware, local AI and flexible storage options.</p></td><td  ><p>5/5</p></td></tr><tr><td class="firstcol " ><p>Design</p></td><td  ><p>Heavy and bulky, requiring wall plugs and a drill for secure mounting. Also runs on mains power and is unsuited for tight private spaces due to large field of view.</p></td><td  ><p>3.5/5</p></td></tr><tr><td class="firstcol " ><p>Performance</p></td><td  ><p>Combines crisp 4K resolution, Pinpoint synchronized tracking, a 180-degree panoramic overview, 355-degree PTZ tracking, powerful spotlights, and a loud siren.</p></td><td  ><p>4.5/5</p></td></tr></tbody></table></div><h3 id="buy-it-if-2">Buy it if</h3><div class="product"><p><strong>You have a large estate or a small business with plenty of space</strong></p><p>If you need to monitor sprawling grounds, wide perimeters, or extensive outdoor areas, this is an ideal high-end security solution.</p></div><div class="product"><p><strong>You want total coverage without blind spots</strong> </p><p>The combination of dual panoramic lenses on top and a 355-degree pan-and-tilt camera underneath ensure a ‘best of both worlds’ solution.</p></div><h3 id="don-t-buy-it-if">Don’t buy it if</h3><div class="product"><p><strong>You want a discreet, easy-to-install solution</strong></p><p>The Reolink OMVI 3i is very bulky and heavy, requiring proper wall mounting with a drill and wall plugs, making it unsuited for casual setup.</p></div><div class="product"><p><strong>You have limited private space or no mains power</strong></p><p>Because it captures such a wide angle, it can easily spill over into neighboring areas, while its mains-power requirements means running cabling outdoors. </p></div><h3 class="article-body__section" id="section-reolink-omvi-3i-also-consider"><span>Reolink OMVI 3i: also consider</span></h3><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p><strong>Reolink OMVI 3i Wi-Fi</strong></p></th><th  ><p><strong>IMOU AOV PT</strong></p></th><th  ><p><strong>Reolink Solar Floodlight Cam</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Subscription price</strong></p></td><td  ><p>Optional cloud from £2.71 a month (or MicroSD storage)</p></td><td  ><p>Optional subscription from £3 a month</p></td><td  ><p>None. Optional subscription from £2.71 a month</p></td></tr><tr><td class="firstcol " ><p><strong>Viewing angle</strong></p></td><td  ><p>180-degree panoramic dual lens and 355-degree pan and tilt camera</p></td><td  ><p>360-degree pan and tilt lens</p></td><td  ><p>150-degree ultra-wide diagonal</p></td></tr><tr><td class="firstcol " ><p><strong>Network connection</strong></p></td><td  ><p>Wi-Fi/ PoE versions (2.5GHz/5GHz)</p></td><td  ><p>Wi-Fi (2.4GHz)/4G cellular</p></td><td  ><p>Wi-Fi (2.4GHz/5GHz)</p></td></tr><tr><td class="firstcol " ><p><strong>Audio</strong></p></td><td  ><p>Two-way audio</p></td><td  ><p>Two-way audio</p></td><td  ><p>Two-way audio</p></td></tr><tr><td class="firstcol " ><p><strong>Video</strong></p></td><td  ><p>4K 8MP PTZ + 10MP panoramic resolution</p></td><td  ><p>3K (5MP) video resolution</p></td><td  ><p>2K (1440p) video resolution</p></td></tr><tr><td class="firstcol " ><p><strong>Power</strong></p></td><td  ><p>Mains power (with waterproof cable design)</p></td><td  ><p>Battery/Solar</p></td><td  ><p>Battery/Solar</p></td></tr><tr><td class="firstcol " ><p><strong>Hardware price</strong></p></td><td  ><p>£220-£250</p></td><td  ><p>£129 (with separate solar panel)</p></td><td  ><p>£85 (with built in solar panel)</p></td></tr></tbody></table></div><div class="product"><a data-dimension112="af8af444-b8ea-11f1-8f7f-99f73ae6a86c" data-action="Deal Block" data-label="Read our full Reolink Solar Floodlight Cam review" data-dimension48="Read our full Reolink Solar Floodlight Cam review" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1500px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="CeNGfwY5DcuSPr5SD86SLN" name="reolink solar floodlight" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/CeNGfwY5DcuSPr5SD86SLN-1920-80.jpg" mos="" align="middle" fullscreen="" width="1500" height="1500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong>Reolink Solar Floodlight Cam</strong></p><p>Looking for a decent security camera with powerful spotlights that you don’t have to keep recharging every few months? Then the Reolink Solar Floodlight Cam is a good option, especially given its competitive price tag.</p><p><strong>Read our full </strong><a href="https://www.techradar.com/home/home-security/reolink-solar-floodlight-camera-review" data-dimension112="af8af444-b8ea-11f1-8f7f-99f73ae6a86c" data-action="Deal Block" data-label="Read our full Reolink Solar Floodlight Cam review" data-dimension48="Read our full Reolink Solar Floodlight Cam review" data-dimension25=""><strong>Reolink Solar Floodlight Cam review</strong></a><strong> </strong></p></div><div class="product"><a data-dimension112="af8af4d0-b8ea-11f1-a3d6-833daaff66f7" data-action="Deal Block" data-label="Read our full IMOU AOV PT review" data-dimension48="Read our full IMOU AOV PT review" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:796px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="fhN4VwajBaGtdtMzhdiq5T" name="imou-aov" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/fhN4VwajBaGtdtMzhdiq5T-1920-80.jpg" mos="" align="middle" fullscreen="" width="796" height="796" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong>IMOU AOV PT</strong> </p><p>Thanks to 4G cellular connectivity, the IMOU AOV PT is a great choice for those living in a remote location where Wi-Fi is a little patchy or even non-existent. Also boasts a separate solar panel so you don’t need to recharge the battery quite so often.</p><p><strong>Read our full </strong><a href="https://www.techradar.com/home/smart-home/imou-aov-pt-review" data-dimension112="af8af4d0-b8ea-11f1-a3d6-833daaff66f7" data-action="Deal Block" data-label="Read our full IMOU AOV PT review" data-dimension48="Read our full IMOU AOV PT review" data-dimension25=""><strong>IMOU AOV PT review</strong></a><strong></strong></p></div><h3 class="article-body__section" id="section-how-i-tested-the-reolink-omvi-3i"><span>How I tested the Reolink OMVI 3i</span></h3><ul><li><strong>I used the camera outdoors for seven days</strong></li><li><strong>I set it up myself using the fittings provided by the manufacturer </strong></li><li><strong>The security camera was installed facing my back garden. </strong></li></ul><p>Usually when testing outdoor security cameras, I like to install them on my summer house which doubles as a home office and gym. This gives me a great view of the garden back towards the house. However, for the Reolink OMVI 3i I had to change things around for a couple of reasons. </p><p>Firstly, the size of the camera meant that I couldn’t be sure that the wooden-built summer house would hold the weight. Secondly, although I have power inside the summer house I would have needed to run power quite a long way to the outside of the building which wasn’t possible with the cable provided. </p><p>So, instead, I opted to drill the camera bracket into the wall outside my kitchen and face the camera the other way towards the end of the garden. This had the added advantage of the camera not being visible to the neighbors. I tested the camera for several days and nights, using the onboard AI to capture people and animals in the garden, though thankfully no intruders made it into my heavily fortified property.</p><p><em>First reviewed September 2026</em></p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ The Aosu R1 Ultra is a great subscription-free video, albeit with some minor flaws ]]></title>
                                                                                                <dc:content><![CDATA[ <h2 id="aosu-video-doorbell-r1-ultra-two-minute-review">Aosu Video Doorbell R1 Ultra: two-minute review</h2><p>Doorbell brands usually sell you the hardware cheap and charge you monthly for the privilege of seeing the footage. Aosu has gone the other way, and for that alone the R1 Ultra is worth your attention. </p><p>Video clips go to the AosuBase Mini, a small plug-in box that lives inside your house and does three jobs at once — Wi-Fi bridge, indoor chime, and storage. It holds 8GB and keeps a rolling 60 days of footage.</p><p>There is an optional cloud subscription, AosuProtect+, but unlike <a href="https://www.techradar.com/home/home-security/ring-battery-video-doorbell-plus-2nd-gen-review">Ring's</a> arrangement, the doorbell isn't hobbled without it. You get alerts, live view, two-way talk, custom detection zones, and full playback for nothing other than the purchase price.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.29%;"><img id="SD3fXhBnrrLPcZr5uiJhhB" name="IMG_3205" alt="Aosu Video Doorbell R1 Ultra on stone surface" src="https://cdn.mos.cms.futurecdn.net/SD3fXhBnrrLPcZr5uiJhhB-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1441" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Detection is another strength. Rather than relying on a passive infrared sensor and hoping, Aosu layers radar and AI human recognition on top, which lets it judge distance and intent — approaching versus passing, lingering versus walking through.</p><p>There's also a Tone button hiding in the two-way talk screen. Tap it, and you can answer the door as either 'uncle' or 'clown', with Aosu's straight-faced explanation that this disguises your voice for privacy.</p><p>The uncle setting artificially deepens voices, transitioning women and children to something resembling a man to deter would-be intruders. Clown goes all high-pitched and distorted to mask your identity.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="nEX26Qtbeo5SVqiZgBNEwB" name="ios-portrait-single-mockup-blue-medium" alt="Aosu Video Doorbell R1 Ultra screengrab from app" src="https://cdn.mos.cms.futurecdn.net/nEX26Qtbeo5SVqiZgBNEwB-1920-80.png" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Fortunately, the latter falls on the right side of sinister, so you can forget scaring off trick-or-treaters with imitations of South Park’s Mickey Mouse.  </p><p>Where Aosu gets ahead of itself is resolution and framing. The sensor is 2560 x 1920, which is 4.9 megapixels in a 4:3 frame. That’s sharp, and a step up from 2K doorbells at this price, but not the claimed ‘UHD’, which would be 3,840 x 2,160.</p><p>The asserted 60% improvement over standard 2K only holds if the 2K you're comparing against is Aosu's own 3MP doorbell. An earlier version of the identical claim, on the identical camera, said 40%.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="qrdSJe7WYqtb5sutbLHsdC" name="ios-landscape-single-mockup-pink-medium" alt="Screengrab of footage in Aosu Video Doorbell R1 Ultra app" src="https://cdn.mos.cms.futurecdn.net/qrdSJe7WYqtb5sutbLHsdC-1920-80.png" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Field of view should be taken with a pinch of salt, too. Aosu says 166 degrees, but that's the corner-to-corner measurement. In reality, it's 133 horizontal by 103 vertical, shot in a shallow 4:3 aspect ratio and no head-to-toe image tricks.</p><p>With realistic use, the battery should last six months between charges. The kicker is the cell isn’t quick-release, and juicing it from flat to full takes six hours. So that means unclipping the entire doorbell and going without it for quite a while.</p><h3 class="article-body__section" id="section-aosu-video-doorbell-r1-ultra-price-availability"><span>Aosu Video Doorbell R1 Ultra: price & availability</span></h3><ul><li><strong>List price: </strong><a href="https://amzn.eu/d/0jjjTsvk"><strong>£139.99</strong></a><strong> / </strong><a href="https://www.aosulife.com/products/video-doorbell-r1-ultra"><strong>$135.99 </strong></a><strong>(about AU$190)</strong></li><li><strong>Launched July 2026 in the UK</strong></li><li><strong>Available in the UK, US, and across the EU</strong></li></ul><p>With a list price of $135.99 / £139.99 (about AU$190), but usually discounted, the R1 Ultra is filed under ‘affordable’ and veers towards bargain territory if you find one hovering around the £100 mark.  <br><br>At that price, the value case is strong, because the base station is in the box rather than a £50 upsell, and the 60 days of local recording would cost you a subscription almost anywhere else.<br><br>Over three years, that's the difference between a hundred pounds and several hundred more.</p><ul><li><strong>Value score: 4/5</strong></li></ul><h3 class="article-body__section" id="section-aosu-video-doorbell-r1-ultra-subscription-costs"><span> Aosu Video Doorbell R1 Ultra: subscription costs</span></h3><p>The R1 Ultra is fully functional without a subscription. Alerts, live view, two-way talk, detection zones, and 60 days of local playback are all included.</p><p>AosuProtect+ is the optional cloud add-on. In the UK, it's advertised at £9.99 (about $10 / AU$20) a month or £122.99 (about $160 / AU$230) a year, currently discounted to £3.49 (about $5 / AU$10) and £39.99 (about $50 / AU$80). Treat the higher figures with the same suspicion as the hardware list price. </p><p>The annual price is simply the monthly rate multiplied by twelve, so there's no built-in saving for paying up front, and £3.49 lands within pennies of what Aosu charges in dollars in the US. There’s a 30-day free trial if you wish to dip your toe.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="9TeZeDSsTapNVg4WDRYa5C" name="screengrab-2" alt="Aosu Video Doorbell R1 Ultra subscription details in app" src="https://cdn.mos.cms.futurecdn.net/9TeZeDSsTapNVg4WDRYa5C-1920-80.png" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>What it buys you is cloud backup rather than capability: 14 or 30 days of event recordings, playback from anywhere, faster scrubbing, and bulk downloads. AI facial recognition sits on the top tier and is offered for video doorbells only. </p><p>The argument for paying is that local storage is bound to the base station like Bilbo Baggins is bound to the ring in <em>The Lord of The Rings. </em>If it fails, someone takes it, or you inexplicably drop it in the fires of Mount Doom, your footage dies with it. </p><h3 class="article-body__section" id="section-aosu-video-doorbell-r1-ultra-specs"><span>Aosu Video Doorbell R1 Ultra: specs</span></h3><div ><table><tbody><tr><td class="firstcol " ><p><strong>Feature</strong></p></td><td  ><p><strong>Specification</strong></p></td></tr><tr><td class="firstcol " ><p>Type</p></td><td  ><p>Battery-powered or hardwired video doorbell; base station required</p></td></tr><tr><td class="firstcol " ><p>Resolution</p></td><td  ><p>5MP (2560 x 1920) with WDR</p></td></tr><tr><td class="firstcol " ><p>Zoom</p></td><td  ><p>6 x digital</p></td></tr><tr><td class="firstcol " ><p>View</p></td><td  ><p>4:3 aspect ratio</p></td></tr><tr><td class="firstcol " ><p>Field of view</p></td><td  ><p>166 degrees diagonal [133 x 103 degrees]</p></td></tr><tr><td class="firstcol " ><p>Night vision</p></td><td  ><p>Infrared up to 6 feet / 10m</p></td></tr><tr><td class="firstcol " ><p>Audio</p></td><td  ><p>Two-way talk with voice disguise features</p></td></tr><tr><td class="firstcol " ><p>Motion detection</p></td><td  ><p>Radar, PIR and AI human recognition; customizable zones</p></td></tr><tr><td class="firstcol " ><p>Power</p></td><td  ><p>Rechargeable battery 5,000mAh, non-removable; USB-C cable included; 6 hours from flat; hardwire (8–24VAC)</p></td></tr><tr><td class="firstcol " ><p>Connectivity</p></td><td  ><p>Doorbell 2.4GHz only; AosuBase Mini dual-band 2.4GHz / 5GHz</p></td></tr><tr><td class="firstcol " ><p>Smart detection</p></td><td  ><p>AI human recognition; facial recognition requires AosuProtect+</p></td></tr><tr><td class="firstcol " ><p>Storage</p></td><td  ><p>Local, 8GB on AosuBase Mini, 60-day loop, no subscription; optional cloud with AosuProtect+</p></td></tr><tr><td class="firstcol " ><p>Smart home</p></td><td  ><p>Amazon Alexa, Google Assistant</p></td></tr><tr><td class="firstcol " ><p>Tamper protection</p></td><td  ><p>Pry detection with chime alert; footage retained locally</p></td></tr><tr><td class="firstcol " ><p>Weather</p></td><td  ><p>IP65</p></td></tr><tr><td class="firstcol " ><p>Finish</p></td><td  ><p>Black/silver</p></td></tr><tr><td class="firstcol " ><p>Dimensions</p></td><td  ><p>5 x 2 x 3 inches / 12.7 x 5.1 x 7.6cm</p></td></tr></tbody></table></div><h3 class="article-body__section" id="section-aosu-video-doorbell-r1-ultra-design-and-installation"><span>Aosu Video Doorbell R1 Ultra: design and installation</span></h3><ul><li><strong>Plain but solid</strong></li><li><strong>Hub required indoors</strong></li><li><strong>Battery or existing wiring</strong></li></ul><p>The R1 Ultra is a black plastic slab with silver flourishes similar to a Ring, and very little design ambition beyond flattering imitation.</p><p>Installation is straightforward and takes about half an hour all in. Bracket on the wall, doorbell clipped on top, base station plugged in somewhere central. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="qF9zEu25mSxLpjDbG5rCdB" name="IMG_3204" alt="Aosu Video Doorbell R1 Ultra with accessories straight from box" src="https://cdn.mos.cms.futurecdn.net/qF9zEu25mSxLpjDbG5rCdB-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Aosu recommends mounting at 4 feet / 1.2 meters rather than eye-level, which is lower than instinct suggests but necessary if you want the frame to reach the doorstep. Worth getting right the first time rather than re-drilling. </p><p>A 15-degree wedge is included if you need to angle it towards a path or a gate, along with a screwdriver, extension wires and wire nuts for anyone hardwiring to existing 8–24V doorbell wiring.</p><p>The base station isn't optional, and it isn't outdoors-rated. It's the storage, the chime, and the Wi-Fi bridge in one. It needs a mains socket permanently, and it's rated only to 14°F / −10°C, so it lives in the hall or the cupboard under the stairs and stays there.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.29%;"><img id="afBCNs2fwX8tNHbfob3YYB" name="IMG_3219" alt="Aosu Video Doorbell R1 Ultra chime plugged in" src="https://cdn.mos.cms.futurecdn.net/afBCNs2fwX8tNHbfob3YYB-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1441" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Detaching the whole unit from the wall for a full six-hour recharge via USB-C is a weak point, but a cable is bundled in the box. </p><p>A neat addition is pry detection. Try to lever the unit off its bracket, and it sounds a chime and pushes an alert, with footage on the base station indoors rather than on what’s being stolen.</p><ul><li><strong>Design score: 3.5/5</strong></li></ul><h3 class="article-body__section" id="section-aosu-video-doorbell-r1-ultra-performance"><span>Aosu Video Doorbell R1 Ultra: performance</span></h3><ul><li><strong>Sharp in daylight</strong></li><li><strong>Strong multi-sensor detection</strong></li><li><strong>Infrared-only after dark</strong></li></ul><p>Daylight is this doorbell’s happy place, with 5MP more than most similarly-priced rivals offer. Faces, delivery uniforms and parcel labels are legible rather than merely present.</p><p>Radar handles distance and movement, PIR picks up body heat, and the AI layer decides whether what it's looking at is a person. During testing, alerts felt instantaneous once someone reached the door. </p><p>After dark, expectations need managing. There is no color night vision and no spotlight.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/cDtr5ou63Qxminh5gzzGCC-1920-80.png" alt="Footage from Aosu Video Doorbell R1 Ultra in app" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/JQdANpkFz6VQrj2uKgGtdC-1920-80.png" alt="Aosu Video Doorbell R1 Ultra footage in app" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/i87FhUTxs7MRrY9dACVTYC-1920-80.png" alt="Night time footage from Aosu Video Doorbell R1 Ultra in app" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p>Eight 850nm infrared LEDs offer monochrome up to 33 feet /  10 meters, and the manual warns mounting too close to a side wall will bounce IR back into the lens and fog the image. I’d pair the R1 Ultra with an outdoor light to make up for the shortfall.</p><p>Answering the door is well handled. Notifications arrive with a thumbnail of whatever triggered them, so you can tell a courier from a cat without opening the app, and tapping through starts a proper two-way video call rather than a one-way stream.</p><p>The 6x digital zoom lets you crop into a face or a label, though at 15fps and with a wide lens, it softens quickly.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/6z4RBS5hX2mR288xt4RRXC-1920-80.png" alt="Aosu Video Doorbell R1 Ultra footage in app" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/cDtr5ou63Qxminh5gzzGCC-1920-80.png" alt="Footage from Aosu Video Doorbell R1 Ultra in app" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p>Quick Reply issues an audible preset message when you can't talk. Somewhat boringly, they’re fixed, so you can’t edit the wording or add your own. </p><p>On connectivity, the doorbell itself is 2.4GHz only; the dual-band capability belongs to the AosuBase Mini, which talks to your router on 2.4 or 5GHz.</p><p>That's a sensible design for a battery device, but it means the camera-to-base link is on the crowded band and placement of the base matters more than usual. Plugged in 33 feet / 10 meters from my front door with the broadband router halfway, all was fine.</p><div class="looped-video"><video class="lazyload-in-view lazyloading" data-src="https://cdn.mos.cms.futurecdn.net/wrhU6FtX2KSkWUgLB6zRh3/aosu-doorbell-footage.mp4" autoplay loop muted playsinline src="https://cdn.mos.cms.futurecdn.net/wrhU6FtX2KSkWUgLB6zRh3/aosu-doorbell-footage.mp4"></video></div><p>Live view includes a UHD/SD toggle to drop the quality when the connection struggles, and you can save a clip or a still straight to your phone's camera roll if you ever need to hand something to a neighbor or the police.</p><p>The six-month battery figure assumes up to ten events a day at 20 seconds each — about three-and-a-half minutes of recording daily. On a busy porch with a path or pavement in frame, expect considerably less.</p><ul><li><strong>Performance score: 3/5</strong></li></ul><h3 class="article-body__section" id="section-should-you-buy-the-aosu-video-doorbell-r1-ultra"><span>Should you buy the Aosu Video Doorbell R1 Ultra?</span></h3><div ><table><thead><tr><th class="firstcol " ><p>Attribute</p></th><th  ><p>Notes</p></th><th  ><p>Score</p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Value</strong></p></td><td  ><p>Local storage, included base station, and no monthly fee at around £100 make the maths hard to argue with.</p></td><td  ><p>4/5</p></td></tr><tr><td class="firstcol " ><p><strong>Design</strong></p></td><td  ><p>Solid and easy to install, but the base station needs a permanent socket, and recharging equals doorbell removal.</p></td><td  ><p>3.5/5</p></td></tr><tr><td class="firstcol " ><p><strong>Performance</strong></p></td><td  ><p>Sharp daylight video and excellent multi-sensor detection, let down by infrared-only night vision and overstated specs.</p></td><td  ><p>3/5</p></td></tr></tbody></table></div><h2 id="buy-it-if-3">Buy it if</h2><div class="product"><p><strong>You're sick of subscriptions</strong></p><p>Sixty days of local recording on the included base, with nothing important behind a paywall, is undoubtedly attractive. </p></div><div class="product"><p><strong>You'd rather not be yourself</strong></p><p>Uncle and clown voice settings let anyone home alone answer the door sounding like someone else.</p></div><div class="product"><p><strong>You want fewer useless alerts</strong></p><p>The radar, PIR, and AI combination is a real step up from the single-sensor budget crowd, and it shows in your notification tray.</p></div><div class="product"><p><strong>You have existing doorbell wiring</strong></p><p>Hardwiring to 8–24V takes the recharging problem off the table entirely, and this is one of the cheaper doorbells that supports it.</p></div><h2 id="don-39-t-buy-it-if-2">Don't buy it if</h2><div class="product"><p><strong>You need to see faces after dark</strong></p><p>Infrared monochrome to 33 feet / 10 meters is all you get. There's no spotlight and no color low-light mode, so a night clip tells you someone was there, but not necessarily who.</p></div><div class="product"><p><strong>You don’t want to remove the doorbell</strong></p><p>No quick-release battery means every recharge is a six-hour outage with the unit off the wall and on your kitchen counter.</p></div><h3 class="article-body__section" id="section-aosu-video-doorbell-r1-ultra-also-consider"><span>Aosu Video Doorbell R1 Ultra: also consider</span></h3><div class="product"><a data-dimension112="1b340630-b8d8-11f1-9a31-2bb450aac340" data-action="Deal Block" data-label="Ring Battery Video Doorbell (2nd Gen)Cheaper, shoots Retinal 2K with a genuine head-to-toe 1:1 view and color night vision, and installs without a hub. The trade-off is Ring's subscription model and Amazon's data record." data-dimension48="Ring Battery Video Doorbell (2nd Gen)Cheaper, shoots Retinal 2K with a genuine head-to-toe 1:1 view and color night vision, and installs without a hub. The trade-off is Ring's subscription model and Amazon's data record." target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:345px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="oXhwEx4WA9EENXLo2Rbgzm" name="51EXJesihpL._SY741_" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/oXhwEx4WA9EENXLo2Rbgzm-1920-80.jpg" mos="" align="middle" fullscreen="" width="345" height="345" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong>Ring Battery Video Doorbell (2nd Gen)</strong></p><p>Cheaper, shoots Retinal 2K with a genuine head-to-toe 1:1 view and color night vision, and installs without a hub. The trade-off is Ring's subscription model and Amazon's data record.</p></div><div class="product"><a data-dimension112="1b340694-b8d8-11f1-8d2f-8b2b6c62bfde" data-action="Deal Block" data-label="Eufy Video Doorbell C31The closest like-for-like on the no-monthly-fee promise, with 2K video and a quick-release battery, though you'll want a HomeBase to get the most from it." data-dimension48="Eufy Video Doorbell C31The closest like-for-like on the no-monthly-fee promise, with 2K video and a quick-release battery, though you'll want a HomeBase to get the most from it." target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:300px;"><p class="vanilla-image-block" style="padding-top:92.67%;"><img id="pMiBNWNRhXZp4XV44hZCg5" name="511fePVWNqL._AC_SY300_SX300_QL70_ML2_" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/pMiBNWNRhXZp4XV44hZCg5-1920-80.jpg" mos="" align="middle" fullscreen="" width="300" height="278" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong>Eufy Video Doorbell C31</strong></p><p>The closest like-for-like on the no-monthly-fee promise, with 2K video and a quick-release battery, though you'll want a HomeBase to get the most from it.</p></div><h3 class="article-body__section" id="section-how-i-tested-the-aosu-video-doorbell-r1-ultra"><span>How I tested the Aosu Video Doorbell R1 Ultra</span></h3><ul><li><strong>Fitted to a domestic front door</strong></li><li><strong>Assessed daylight and infrared video, detection accuracy, and audio</strong></li><li><strong>Ran entirely without a subscription</strong></li></ul><p><br>I mounted the R1 Ultra on my own front door and used it as the household's main entry camera for a fortnight, deliberately running it on local storage alone so the no-subscription claim could be tested as most buyers will experience it.</p><p>I checked live-view responsiveness and alert latency, reviewed clips in daylight and after dark, and tracked battery drain against Aosu's 180-day claim.</p><p><em>First reviewed September 2026</em></p> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/home/home-security/aosu-video-doorbell-r1-ultra-review</link>
                                                                            <description>
                            <![CDATA[ This capable video doorbell delivers sharp footage and free local storage, even if the specs oversell it slightly ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">m6p2Qyj8NZDMWoSoh2BsmR</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/F2Z7NhbxdQ93VwXUTZUUHB-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sat, 26 Sep 2026 07:00:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Home Security]]></category>
                                                    <category><![CDATA[Home]]></category>
                                                    <category><![CDATA[Smart Home]]></category>
                                                                                                                    <dc:creator><![CDATA[ James Day ]]></dc:creator>                                                                                                        <dc:description><![CDATA[ &lt;p&gt;Former Metro tech editor, Stuff editor-in-chief and associate producer on The Gadget Show, James has been writing about consumer electronics and innovation for over 25 years. Experienced in both online and print journalism, he is currently tech correspondent for the Goodwood Festival of Speed Future Lab and editor of private jet magazine, Cloud. You’ll also find him contributing to titles including Enki, The Times, Shortlist, Spear’s, and U3A Matters, all while lamenting the untimely death of the MiniDisc.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/F2Z7NhbxdQ93VwXUTZUUHB-1920-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Aosu Video Doorbell R1 Ultra installed on door]]></media:description>                                                            <media:text><![CDATA[Aosu Video Doorbell R1 Ultra installed on door]]></media:text>
                                <media:title type="plain"><![CDATA[Aosu Video Doorbell R1 Ultra installed on door]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/F2Z7NhbxdQ93VwXUTZUUHB-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <h2 id="aosu-video-doorbell-r1-ultra-two-minute-review">Aosu Video Doorbell R1 Ultra: two-minute review</h2><p>Doorbell brands usually sell you the hardware cheap and charge you monthly for the privilege of seeing the footage. Aosu has gone the other way, and for that alone the R1 Ultra is worth your attention. </p><p>Video clips go to the AosuBase Mini, a small plug-in box that lives inside your house and does three jobs at once — Wi-Fi bridge, indoor chime, and storage. It holds 8GB and keeps a rolling 60 days of footage.</p><p>There is an optional cloud subscription, AosuProtect+, but unlike <a href="https://www.techradar.com/home/home-security/ring-battery-video-doorbell-plus-2nd-gen-review">Ring's</a> arrangement, the doorbell isn't hobbled without it. You get alerts, live view, two-way talk, custom detection zones, and full playback for nothing other than the purchase price.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.29%;"><img id="SD3fXhBnrrLPcZr5uiJhhB" name="IMG_3205" alt="Aosu Video Doorbell R1 Ultra on stone surface" src="https://cdn.mos.cms.futurecdn.net/SD3fXhBnrrLPcZr5uiJhhB-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1441" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Detection is another strength. Rather than relying on a passive infrared sensor and hoping, Aosu layers radar and AI human recognition on top, which lets it judge distance and intent — approaching versus passing, lingering versus walking through.</p><p>There's also a Tone button hiding in the two-way talk screen. Tap it, and you can answer the door as either 'uncle' or 'clown', with Aosu's straight-faced explanation that this disguises your voice for privacy.</p><p>The uncle setting artificially deepens voices, transitioning women and children to something resembling a man to deter would-be intruders. Clown goes all high-pitched and distorted to mask your identity.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="nEX26Qtbeo5SVqiZgBNEwB" name="ios-portrait-single-mockup-blue-medium" alt="Aosu Video Doorbell R1 Ultra screengrab from app" src="https://cdn.mos.cms.futurecdn.net/nEX26Qtbeo5SVqiZgBNEwB-1920-80.png" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Fortunately, the latter falls on the right side of sinister, so you can forget scaring off trick-or-treaters with imitations of South Park’s Mickey Mouse.  </p><p>Where Aosu gets ahead of itself is resolution and framing. The sensor is 2560 x 1920, which is 4.9 megapixels in a 4:3 frame. That’s sharp, and a step up from 2K doorbells at this price, but not the claimed ‘UHD’, which would be 3,840 x 2,160.</p><p>The asserted 60% improvement over standard 2K only holds if the 2K you're comparing against is Aosu's own 3MP doorbell. An earlier version of the identical claim, on the identical camera, said 40%.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="qrdSJe7WYqtb5sutbLHsdC" name="ios-landscape-single-mockup-pink-medium" alt="Screengrab of footage in Aosu Video Doorbell R1 Ultra app" src="https://cdn.mos.cms.futurecdn.net/qrdSJe7WYqtb5sutbLHsdC-1920-80.png" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Field of view should be taken with a pinch of salt, too. Aosu says 166 degrees, but that's the corner-to-corner measurement. In reality, it's 133 horizontal by 103 vertical, shot in a shallow 4:3 aspect ratio and no head-to-toe image tricks.</p><p>With realistic use, the battery should last six months between charges. The kicker is the cell isn’t quick-release, and juicing it from flat to full takes six hours. So that means unclipping the entire doorbell and going without it for quite a while.</p><h3 class="article-body__section" id="section-aosu-video-doorbell-r1-ultra-price-availability"><span>Aosu Video Doorbell R1 Ultra: price & availability</span></h3><ul><li><strong>List price: </strong><a href="https://amzn.eu/d/0jjjTsvk"><strong>£139.99</strong></a><strong> / </strong><a href="https://www.aosulife.com/products/video-doorbell-r1-ultra"><strong>$135.99 </strong></a><strong>(about AU$190)</strong></li><li><strong>Launched July 2026 in the UK</strong></li><li><strong>Available in the UK, US, and across the EU</strong></li></ul><p>With a list price of $135.99 / £139.99 (about AU$190), but usually discounted, the R1 Ultra is filed under ‘affordable’ and veers towards bargain territory if you find one hovering around the £100 mark.  <br><br>At that price, the value case is strong, because the base station is in the box rather than a £50 upsell, and the 60 days of local recording would cost you a subscription almost anywhere else.<br><br>Over three years, that's the difference between a hundred pounds and several hundred more.</p><ul><li><strong>Value score: 4/5</strong></li></ul><h3 class="article-body__section" id="section-aosu-video-doorbell-r1-ultra-subscription-costs"><span> Aosu Video Doorbell R1 Ultra: subscription costs</span></h3><p>The R1 Ultra is fully functional without a subscription. Alerts, live view, two-way talk, detection zones, and 60 days of local playback are all included.</p><p>AosuProtect+ is the optional cloud add-on. In the UK, it's advertised at £9.99 (about $10 / AU$20) a month or £122.99 (about $160 / AU$230) a year, currently discounted to £3.49 (about $5 / AU$10) and £39.99 (about $50 / AU$80). Treat the higher figures with the same suspicion as the hardware list price. </p><p>The annual price is simply the monthly rate multiplied by twelve, so there's no built-in saving for paying up front, and £3.49 lands within pennies of what Aosu charges in dollars in the US. There’s a 30-day free trial if you wish to dip your toe.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="9TeZeDSsTapNVg4WDRYa5C" name="screengrab-2" alt="Aosu Video Doorbell R1 Ultra subscription details in app" src="https://cdn.mos.cms.futurecdn.net/9TeZeDSsTapNVg4WDRYa5C-1920-80.png" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>What it buys you is cloud backup rather than capability: 14 or 30 days of event recordings, playback from anywhere, faster scrubbing, and bulk downloads. AI facial recognition sits on the top tier and is offered for video doorbells only. </p><p>The argument for paying is that local storage is bound to the base station like Bilbo Baggins is bound to the ring in <em>The Lord of The Rings. </em>If it fails, someone takes it, or you inexplicably drop it in the fires of Mount Doom, your footage dies with it. </p><h3 class="article-body__section" id="section-aosu-video-doorbell-r1-ultra-specs"><span>Aosu Video Doorbell R1 Ultra: specs</span></h3><div ><table><tbody><tr><td class="firstcol " ><p><strong>Feature</strong></p></td><td  ><p><strong>Specification</strong></p></td></tr><tr><td class="firstcol " ><p>Type</p></td><td  ><p>Battery-powered or hardwired video doorbell; base station required</p></td></tr><tr><td class="firstcol " ><p>Resolution</p></td><td  ><p>5MP (2560 x 1920) with WDR</p></td></tr><tr><td class="firstcol " ><p>Zoom</p></td><td  ><p>6 x digital</p></td></tr><tr><td class="firstcol " ><p>View</p></td><td  ><p>4:3 aspect ratio</p></td></tr><tr><td class="firstcol " ><p>Field of view</p></td><td  ><p>166 degrees diagonal [133 x 103 degrees]</p></td></tr><tr><td class="firstcol " ><p>Night vision</p></td><td  ><p>Infrared up to 6 feet / 10m</p></td></tr><tr><td class="firstcol " ><p>Audio</p></td><td  ><p>Two-way talk with voice disguise features</p></td></tr><tr><td class="firstcol " ><p>Motion detection</p></td><td  ><p>Radar, PIR and AI human recognition; customizable zones</p></td></tr><tr><td class="firstcol " ><p>Power</p></td><td  ><p>Rechargeable battery 5,000mAh, non-removable; USB-C cable included; 6 hours from flat; hardwire (8–24VAC)</p></td></tr><tr><td class="firstcol " ><p>Connectivity</p></td><td  ><p>Doorbell 2.4GHz only; AosuBase Mini dual-band 2.4GHz / 5GHz</p></td></tr><tr><td class="firstcol " ><p>Smart detection</p></td><td  ><p>AI human recognition; facial recognition requires AosuProtect+</p></td></tr><tr><td class="firstcol " ><p>Storage</p></td><td  ><p>Local, 8GB on AosuBase Mini, 60-day loop, no subscription; optional cloud with AosuProtect+</p></td></tr><tr><td class="firstcol " ><p>Smart home</p></td><td  ><p>Amazon Alexa, Google Assistant</p></td></tr><tr><td class="firstcol " ><p>Tamper protection</p></td><td  ><p>Pry detection with chime alert; footage retained locally</p></td></tr><tr><td class="firstcol " ><p>Weather</p></td><td  ><p>IP65</p></td></tr><tr><td class="firstcol " ><p>Finish</p></td><td  ><p>Black/silver</p></td></tr><tr><td class="firstcol " ><p>Dimensions</p></td><td  ><p>5 x 2 x 3 inches / 12.7 x 5.1 x 7.6cm</p></td></tr></tbody></table></div><h3 class="article-body__section" id="section-aosu-video-doorbell-r1-ultra-design-and-installation"><span>Aosu Video Doorbell R1 Ultra: design and installation</span></h3><ul><li><strong>Plain but solid</strong></li><li><strong>Hub required indoors</strong></li><li><strong>Battery or existing wiring</strong></li></ul><p>The R1 Ultra is a black plastic slab with silver flourishes similar to a Ring, and very little design ambition beyond flattering imitation.</p><p>Installation is straightforward and takes about half an hour all in. Bracket on the wall, doorbell clipped on top, base station plugged in somewhere central. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="qF9zEu25mSxLpjDbG5rCdB" name="IMG_3204" alt="Aosu Video Doorbell R1 Ultra with accessories straight from box" src="https://cdn.mos.cms.futurecdn.net/qF9zEu25mSxLpjDbG5rCdB-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Aosu recommends mounting at 4 feet / 1.2 meters rather than eye-level, which is lower than instinct suggests but necessary if you want the frame to reach the doorstep. Worth getting right the first time rather than re-drilling. </p><p>A 15-degree wedge is included if you need to angle it towards a path or a gate, along with a screwdriver, extension wires and wire nuts for anyone hardwiring to existing 8–24V doorbell wiring.</p><p>The base station isn't optional, and it isn't outdoors-rated. It's the storage, the chime, and the Wi-Fi bridge in one. It needs a mains socket permanently, and it's rated only to 14°F / −10°C, so it lives in the hall or the cupboard under the stairs and stays there.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.29%;"><img id="afBCNs2fwX8tNHbfob3YYB" name="IMG_3219" alt="Aosu Video Doorbell R1 Ultra chime plugged in" src="https://cdn.mos.cms.futurecdn.net/afBCNs2fwX8tNHbfob3YYB-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1441" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Detaching the whole unit from the wall for a full six-hour recharge via USB-C is a weak point, but a cable is bundled in the box. </p><p>A neat addition is pry detection. Try to lever the unit off its bracket, and it sounds a chime and pushes an alert, with footage on the base station indoors rather than on what’s being stolen.</p><ul><li><strong>Design score: 3.5/5</strong></li></ul><h3 class="article-body__section" id="section-aosu-video-doorbell-r1-ultra-performance"><span>Aosu Video Doorbell R1 Ultra: performance</span></h3><ul><li><strong>Sharp in daylight</strong></li><li><strong>Strong multi-sensor detection</strong></li><li><strong>Infrared-only after dark</strong></li></ul><p>Daylight is this doorbell’s happy place, with 5MP more than most similarly-priced rivals offer. Faces, delivery uniforms and parcel labels are legible rather than merely present.</p><p>Radar handles distance and movement, PIR picks up body heat, and the AI layer decides whether what it's looking at is a person. During testing, alerts felt instantaneous once someone reached the door. </p><p>After dark, expectations need managing. There is no color night vision and no spotlight.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/cDtr5ou63Qxminh5gzzGCC-1920-80.png" alt="Footage from Aosu Video Doorbell R1 Ultra in app" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/JQdANpkFz6VQrj2uKgGtdC-1920-80.png" alt="Aosu Video Doorbell R1 Ultra footage in app" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/i87FhUTxs7MRrY9dACVTYC-1920-80.png" alt="Night time footage from Aosu Video Doorbell R1 Ultra in app" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p>Eight 850nm infrared LEDs offer monochrome up to 33 feet /  10 meters, and the manual warns mounting too close to a side wall will bounce IR back into the lens and fog the image. I’d pair the R1 Ultra with an outdoor light to make up for the shortfall.</p><p>Answering the door is well handled. Notifications arrive with a thumbnail of whatever triggered them, so you can tell a courier from a cat without opening the app, and tapping through starts a proper two-way video call rather than a one-way stream.</p><p>The 6x digital zoom lets you crop into a face or a label, though at 15fps and with a wide lens, it softens quickly.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/6z4RBS5hX2mR288xt4RRXC-1920-80.png" alt="Aosu Video Doorbell R1 Ultra footage in app" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/cDtr5ou63Qxminh5gzzGCC-1920-80.png" alt="Footage from Aosu Video Doorbell R1 Ultra in app" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p>Quick Reply issues an audible preset message when you can't talk. Somewhat boringly, they’re fixed, so you can’t edit the wording or add your own. </p><p>On connectivity, the doorbell itself is 2.4GHz only; the dual-band capability belongs to the AosuBase Mini, which talks to your router on 2.4 or 5GHz.</p><p>That's a sensible design for a battery device, but it means the camera-to-base link is on the crowded band and placement of the base matters more than usual. Plugged in 33 feet / 10 meters from my front door with the broadband router halfway, all was fine.</p><div class="looped-video"><video class="lazyload-in-view lazyloading" data-src="https://cdn.mos.cms.futurecdn.net/wrhU6FtX2KSkWUgLB6zRh3/aosu-doorbell-footage.mp4" autoplay loop muted playsinline src="https://cdn.mos.cms.futurecdn.net/wrhU6FtX2KSkWUgLB6zRh3/aosu-doorbell-footage.mp4"></video></div><p>Live view includes a UHD/SD toggle to drop the quality when the connection struggles, and you can save a clip or a still straight to your phone's camera roll if you ever need to hand something to a neighbor or the police.</p><p>The six-month battery figure assumes up to ten events a day at 20 seconds each — about three-and-a-half minutes of recording daily. On a busy porch with a path or pavement in frame, expect considerably less.</p><ul><li><strong>Performance score: 3/5</strong></li></ul><h3 class="article-body__section" id="section-should-you-buy-the-aosu-video-doorbell-r1-ultra"><span>Should you buy the Aosu Video Doorbell R1 Ultra?</span></h3><div ><table><thead><tr><th class="firstcol " ><p>Attribute</p></th><th  ><p>Notes</p></th><th  ><p>Score</p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Value</strong></p></td><td  ><p>Local storage, included base station, and no monthly fee at around £100 make the maths hard to argue with.</p></td><td  ><p>4/5</p></td></tr><tr><td class="firstcol " ><p><strong>Design</strong></p></td><td  ><p>Solid and easy to install, but the base station needs a permanent socket, and recharging equals doorbell removal.</p></td><td  ><p>3.5/5</p></td></tr><tr><td class="firstcol " ><p><strong>Performance</strong></p></td><td  ><p>Sharp daylight video and excellent multi-sensor detection, let down by infrared-only night vision and overstated specs.</p></td><td  ><p>3/5</p></td></tr></tbody></table></div><h2 id="buy-it-if-3">Buy it if</h2><div class="product"><p><strong>You're sick of subscriptions</strong></p><p>Sixty days of local recording on the included base, with nothing important behind a paywall, is undoubtedly attractive. </p></div><div class="product"><p><strong>You'd rather not be yourself</strong></p><p>Uncle and clown voice settings let anyone home alone answer the door sounding like someone else.</p></div><div class="product"><p><strong>You want fewer useless alerts</strong></p><p>The radar, PIR, and AI combination is a real step up from the single-sensor budget crowd, and it shows in your notification tray.</p></div><div class="product"><p><strong>You have existing doorbell wiring</strong></p><p>Hardwiring to 8–24V takes the recharging problem off the table entirely, and this is one of the cheaper doorbells that supports it.</p></div><h2 id="don-39-t-buy-it-if-2">Don't buy it if</h2><div class="product"><p><strong>You need to see faces after dark</strong></p><p>Infrared monochrome to 33 feet / 10 meters is all you get. There's no spotlight and no color low-light mode, so a night clip tells you someone was there, but not necessarily who.</p></div><div class="product"><p><strong>You don’t want to remove the doorbell</strong></p><p>No quick-release battery means every recharge is a six-hour outage with the unit off the wall and on your kitchen counter.</p></div><h3 class="article-body__section" id="section-aosu-video-doorbell-r1-ultra-also-consider"><span>Aosu Video Doorbell R1 Ultra: also consider</span></h3><div class="product"><a data-dimension112="1b340630-b8d8-11f1-9a31-2bb450aac340" data-action="Deal Block" data-label="Ring Battery Video Doorbell (2nd Gen)Cheaper, shoots Retinal 2K with a genuine head-to-toe 1:1 view and color night vision, and installs without a hub. The trade-off is Ring's subscription model and Amazon's data record." data-dimension48="Ring Battery Video Doorbell (2nd Gen)Cheaper, shoots Retinal 2K with a genuine head-to-toe 1:1 view and color night vision, and installs without a hub. The trade-off is Ring's subscription model and Amazon's data record." target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:345px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="oXhwEx4WA9EENXLo2Rbgzm" name="51EXJesihpL._SY741_" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/oXhwEx4WA9EENXLo2Rbgzm-1920-80.jpg" mos="" align="middle" fullscreen="" width="345" height="345" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong>Ring Battery Video Doorbell (2nd Gen)</strong></p><p>Cheaper, shoots Retinal 2K with a genuine head-to-toe 1:1 view and color night vision, and installs without a hub. The trade-off is Ring's subscription model and Amazon's data record.</p></div><div class="product"><a data-dimension112="1b340694-b8d8-11f1-8d2f-8b2b6c62bfde" data-action="Deal Block" data-label="Eufy Video Doorbell C31The closest like-for-like on the no-monthly-fee promise, with 2K video and a quick-release battery, though you'll want a HomeBase to get the most from it." data-dimension48="Eufy Video Doorbell C31The closest like-for-like on the no-monthly-fee promise, with 2K video and a quick-release battery, though you'll want a HomeBase to get the most from it." target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:300px;"><p class="vanilla-image-block" style="padding-top:92.67%;"><img id="pMiBNWNRhXZp4XV44hZCg5" name="511fePVWNqL._AC_SY300_SX300_QL70_ML2_" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/pMiBNWNRhXZp4XV44hZCg5-1920-80.jpg" mos="" align="middle" fullscreen="" width="300" height="278" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong>Eufy Video Doorbell C31</strong></p><p>The closest like-for-like on the no-monthly-fee promise, with 2K video and a quick-release battery, though you'll want a HomeBase to get the most from it.</p></div><h3 class="article-body__section" id="section-how-i-tested-the-aosu-video-doorbell-r1-ultra"><span>How I tested the Aosu Video Doorbell R1 Ultra</span></h3><ul><li><strong>Fitted to a domestic front door</strong></li><li><strong>Assessed daylight and infrared video, detection accuracy, and audio</strong></li><li><strong>Ran entirely without a subscription</strong></li></ul><p><br>I mounted the R1 Ultra on my own front door and used it as the household's main entry camera for a fortnight, deliberately running it on local storage alone so the no-subscription claim could be tested as most buyers will experience it.</p><p>I checked live-view responsiveness and alert latency, reviewed clips in daylight and after dark, and tracked battery drain against Aosu's 180-day claim.</p><p><em>First reviewed September 2026</em></p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ These popular TP-Link home security cameras could be hacked to spy on you while you sleep, experts warn ]]></title>
                                                                                                <dc:content><![CDATA[ <ul><li><strong>Cybersecurity company OPSWAT found a login bypass and a crash bug in TP-Link's Tapo C200 cameras</strong></li><li><strong>TP-Link has extended that to include its C120 offering too</strong></li><li><strong>Anyone on the same network could get admin access, live video, and recordings without requiring the owner's credentials</strong></li></ul><p>Security researchers at <a href="https://www.opswat.com/blog/authentication-bypass-and-dos-vulnerabilities-opswat-discovers-cve-2026-15315-cve-2026-15316-in-tp-link-tapo-cameras" target="_blank">OPSWAT</a> have detailed two high-severity flaws in TP-Link's Tapo C200, a pan-and-tilt indoor camera <a href="https://www.amazon.com/TP-Link-Tapo-Wireless-Security-C200/dp/B0829KDY9X" target="_blank" rel="nofollow">listed on Amazon for $26.99</a> and sold as a baby monitor and pet camera.</p><p>The more serious issue is that someone on the same network can log in as the camera's administrator without the password, accessing the live feed and stored recordings.</p><p>At least one other bug, which OPSWAT rates as critical in the same disclosure but does not detail, has not been published.</p><h2 id="a-localized-login-that-requires-no-authentication">A localized login that requires no authentication</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="sXT4pLeU6CuMN5RuzCofpY" name="TP-Link Tapo C200" alt="The TP-Link Tapo C200 camera" src="https://cdn.mos.cms.futurecdn.net/sXT4pLeU6CuMN5RuzCofpY-1920-80.png" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: TP-Link)</span></figcaption></figure><p>The TP-Link Tapo C200, as we <a href="https://www.techradar.com/pro/security/watch-out-tp-link-tapo-camera-vulnerabilities-could-let-hackers-spy-inside-homes-so-patch-now" target="_blank">noted in previous coverage of the incident,</a> isn't just another security camera that happens to be vulnerable; it is one of the most popular models on the market, clocking in at over 3,000 sales on Amazon alone.</p><p>The Tapo C120, in its current iteration, sells over 5,000 units monthly, even <a href="https://www.tp-link.com/us/support/faq/5248/" target="_blank" rel="nofollow">as the advisory notes</a> that its V1 hardware version is currently compromised until users update the firmware on their devices.</p><p>Both SKUs have received firmware updates that patch the vulnerabilities (CVE-2026-15315 & CVE-2026-15316), which are assigned 'high' scores of 8.7 and 7.1, respectively. However, according to TP-Link, CVE-2026-15316 does not affect the C120 camera.</p><p>However, the former vulnerability is the more pressing of the two and, according to OPSWAT, is particularly problematic for users because of how the C120 and C200 cameras function.</p><p>Both run a local management interface over HTTPS and use a challenge-response login designed to prove a client knows the owner's password. Khoi Tran, a graduate fellow at OPSWAT, and his mentor, Thai Do of the company's Unit 515 team, found a second verification path in which, under certain conditions, a value the camera hands out during login can be sent back and accepted as a valid authentication response.</p><p>The result is an administrator session after a small number of requests, with no password, no existing session, and no requirements for the new 'owner'. As a result, access includes live video, stored footage, and configuration changes. </p><p>OPSWAT's researchers pointed out that a C200 used as a baby monitor would expose "live video, night vision, crying detection and two-way audio."</p><p>The second flaw, CVE-2026-15316, affects only the C200 and sits in its Wi-Fi onboarding code. Sending the camera an oversized chunk of encrypted Wi-Fi credential data can crash its HTTPS service or restart the device outright, cutting the owner off from management and monitoring until it recovers.</p><p>The attacks are somewhat limited in scope: users aiming to exploit such vulnerabilities would need to be on the same Wi-Fi network, or within a certain trusted ecosystem, to begin with.</p><p>For now, users upgrading to TP-Link's newest firmware, issued for both models, rectifies both issues, but there might already be another security patch in the works: OPSWAT also found "a critical vulnerability that could allow an attacker to fully compromise the camera," which could then serve as a foothold inside the network.</p><p>It is currently holding off on publishing any details about the vulnerability as it waits for TP-Link to issue a patch that rectifies the situation. Neither OPSWAT nor TP-Link, however, has provided a timeline for when the patch will be available to end users.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/pro/security/these-popular-tp-link-home-security-cameras-could-be-hacked-to-spy-on-you-while-you-sleep-experts-warn</link>
                                                                            <description>
                            <![CDATA[ A passwordless login bypass in TP-Link's Tapo C200 and C120 cameras can expose your live feed to anyone on the same network, and a fix is already available to download ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">prqGALPJ6aayLt97QQAesD</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/8AQ6mNEWbxZfbYjrKfsCkF-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 23 Sep 2026 18:05:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Security]]></category>
                                                    <category><![CDATA[Cyber Security]]></category>
                                                    <category><![CDATA[Smart Home]]></category>
                                                    <category><![CDATA[Home Security]]></category>
                                                    <category><![CDATA[Pro]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                    <category><![CDATA[Computing Security]]></category>
                                                    <category><![CDATA[Home]]></category>
                                                                                                <author><![CDATA[ Rahimnoorali11@gmail.com (Rahim Amir) ]]></author>                    <dc:creator><![CDATA[ Rahim Amir ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/9xKZFBamtEZKSChRvywbPB-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Rahim Amir is a UAE-based tech writer who enjoys building PCs as much as he enjoys writing about them. He has been professionally writing about PC hardware since 2023, focusing on buyer’s guides, hardware reviews, and sponsored content and features related to tech.&lt;br&gt;&lt;br&gt;Having built hundreds of gaming PCs and being an avid gamer in his spare time, Rahim tends to have stronger opinions about hardware than most. This is particularly on display when he gets his way with powerful, but minimalistic RGB builds even as Small Form Factor (SFF) PCs come a close second.&lt;br&gt;&lt;br&gt;In addition to his contributions to TechRadar, Rahim’s work has also been featured on Game Rant and financial news websites.&lt;br&gt;&lt;br&gt;When he’s not working, you can find him playing DotA with friends or schmoozing to take the world over in Civilization. Alternatively, you can find him binging through the entirety of the Lord of The Rings universe with extended editions in play where applicable.&lt;br&gt;&lt;br&gt;You can currently catch Rahim grinding Path of Exile 2, complaining about his (extremely low) unique loot drop rate, or actively participating in one of the numerous (and heated) debates centered around Tolkien&#039;s universe on multiple forums daily.&lt;br&gt;&lt;br&gt;If you have a PC build or a Satisfactory playthrough in progress, he is likely to have some advice to send your way, especially regarding verticality being key for the latter. For the former, Rahim enjoys all aspects of the process including researching the components he will eventually use, benchmarking the latest and greatest hardware he can get his hands on, and somewhat surprisingly, cable management once he gets his latest build to POST.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/8AQ6mNEWbxZfbYjrKfsCkF-1920-80.jpg">
                                                            <media:credit><![CDATA[Unsplash]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Privacy]]></media:description>                                                            <media:text><![CDATA[Privacy]]></media:text>
                                <media:title type="plain"><![CDATA[Privacy]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/8AQ6mNEWbxZfbYjrKfsCkF-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <ul><li><strong>Cybersecurity company OPSWAT found a login bypass and a crash bug in TP-Link's Tapo C200 cameras</strong></li><li><strong>TP-Link has extended that to include its C120 offering too</strong></li><li><strong>Anyone on the same network could get admin access, live video, and recordings without requiring the owner's credentials</strong></li></ul><p>Security researchers at <a href="https://www.opswat.com/blog/authentication-bypass-and-dos-vulnerabilities-opswat-discovers-cve-2026-15315-cve-2026-15316-in-tp-link-tapo-cameras" target="_blank">OPSWAT</a> have detailed two high-severity flaws in TP-Link's Tapo C200, a pan-and-tilt indoor camera <a href="https://www.amazon.com/TP-Link-Tapo-Wireless-Security-C200/dp/B0829KDY9X" target="_blank" rel="nofollow">listed on Amazon for $26.99</a> and sold as a baby monitor and pet camera.</p><p>The more serious issue is that someone on the same network can log in as the camera's administrator without the password, accessing the live feed and stored recordings.</p><p>At least one other bug, which OPSWAT rates as critical in the same disclosure but does not detail, has not been published.</p><h2 id="a-localized-login-that-requires-no-authentication">A localized login that requires no authentication</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="sXT4pLeU6CuMN5RuzCofpY" name="TP-Link Tapo C200" alt="The TP-Link Tapo C200 camera" src="https://cdn.mos.cms.futurecdn.net/sXT4pLeU6CuMN5RuzCofpY-1920-80.png" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: TP-Link)</span></figcaption></figure><p>The TP-Link Tapo C200, as we <a href="https://www.techradar.com/pro/security/watch-out-tp-link-tapo-camera-vulnerabilities-could-let-hackers-spy-inside-homes-so-patch-now" target="_blank">noted in previous coverage of the incident,</a> isn't just another security camera that happens to be vulnerable; it is one of the most popular models on the market, clocking in at over 3,000 sales on Amazon alone.</p><p>The Tapo C120, in its current iteration, sells over 5,000 units monthly, even <a href="https://www.tp-link.com/us/support/faq/5248/" target="_blank" rel="nofollow">as the advisory notes</a> that its V1 hardware version is currently compromised until users update the firmware on their devices.</p><p>Both SKUs have received firmware updates that patch the vulnerabilities (CVE-2026-15315 & CVE-2026-15316), which are assigned 'high' scores of 8.7 and 7.1, respectively. However, according to TP-Link, CVE-2026-15316 does not affect the C120 camera.</p><p>However, the former vulnerability is the more pressing of the two and, according to OPSWAT, is particularly problematic for users because of how the C120 and C200 cameras function.</p><p>Both run a local management interface over HTTPS and use a challenge-response login designed to prove a client knows the owner's password. Khoi Tran, a graduate fellow at OPSWAT, and his mentor, Thai Do of the company's Unit 515 team, found a second verification path in which, under certain conditions, a value the camera hands out during login can be sent back and accepted as a valid authentication response.</p><p>The result is an administrator session after a small number of requests, with no password, no existing session, and no requirements for the new 'owner'. As a result, access includes live video, stored footage, and configuration changes. </p><p>OPSWAT's researchers pointed out that a C200 used as a baby monitor would expose "live video, night vision, crying detection and two-way audio."</p><p>The second flaw, CVE-2026-15316, affects only the C200 and sits in its Wi-Fi onboarding code. Sending the camera an oversized chunk of encrypted Wi-Fi credential data can crash its HTTPS service or restart the device outright, cutting the owner off from management and monitoring until it recovers.</p><p>The attacks are somewhat limited in scope: users aiming to exploit such vulnerabilities would need to be on the same Wi-Fi network, or within a certain trusted ecosystem, to begin with.</p><p>For now, users upgrading to TP-Link's newest firmware, issued for both models, rectifies both issues, but there might already be another security patch in the works: OPSWAT also found "a critical vulnerability that could allow an attacker to fully compromise the camera," which could then serve as a foothold inside the network.</p><p>It is currently holding off on publishing any details about the vulnerability as it waits for TP-Link to issue a patch that rectifies the situation. Neither OPSWAT nor TP-Link, however, has provided a timeline for when the patch will be available to end users.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Samsung's AI fridges shut down and stop chilling food after a bad update ]]></title>
                                                                                                <dc:content><![CDATA[ <ul><li><strong>Samsung AI fridges are failing in South Korea ahead of a national holiday</strong></li><li><strong>It doesn't just shut down the smart display, it stops them from keeping things cold</strong></li><li><strong>A broken SmartThings update appears to be to blame, and engineers will visit affected customers to apply the necessary fix</strong></li></ul><p>There is a case to be made against stuffing AI and smart tech into every single gadget: case in point, units from Samsung's smart fridge series, which have started shutting down and leaving food uncooled in South Korea after a bad software update was pushed out.</p><p>As <a href="https://www.notebookcheck.net/The-refrigerator-is-dead-Samsung-s-AI-fridges-shut-down-after-update-sparking-outrage.1406447.0.html" target="_blank">Notebookcheck</a> reports, this has left users very angry — and right before the Chuseok national holiday too. A host of fridge owners are saying that after an update in SmartThings, their appliances almost immediately stopped working. No interior light, no touch pad functionality, and no refrigeration.</p><p>It looks as though the Bespoke AI 4-Door Refrigerator model is the one most affected by the serious glitch, and according to <a href="https://zdnet.co.kr/view/?no=20260923104525" target="_blank">ZDNET Korea</a>, an internal testing software version was rolled out by mistake. Samsung has acknowledged the error, paused the update, and is promising to send out engineers over the holiday break.</p><p>However, users are reporting they're only able to book engineers for after Chuseok ends, on Saturday, September 26. "Now it looks like I'll have to throw away all the holiday food I bought ahead of the break," said one disgruntled user (via Google Translate), as per <a href="https://news.sbs.co.kr/news/endPage.do?news_id=N1008767320&plink=TOPLINE&cooper=SBSNEWSMAIN#close" target="_blank">SBS News</a> in South Korea.</p><h2 id="turn-it-off-and-on-again">Turn it off and on again</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="XmBFLaspKvMdJWAZ5QpGFE" name="samsung-bespoke" alt="Samsung Bespoke AI Home Hub" src="https://cdn.mos.cms.futurecdn.net/XmBFLaspKvMdJWAZ5QpGFE-1920-80.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">There are benefits to smart fridges — like spotting out-of-date food… as long as an update doesn't cause the food to go off sooner than planned </span><span class="credit" itemprop="copyrightHolder">(Image credit: Samsung)</span></figcaption></figure><p>Samsung isn't sharing details of how many people have been affected by this, but considering the volume of complaints, it seems to be a significant number. As yet, there's been no mention of any compensation for the fridge contents that will be spoiled — and there doesn't seem to be a fix other than to wait for an engineer.</p><p>The unfortunate fridge owners who've been hit by the bug have been resorting to dry ice and ice boxes to try and keep their food and drink cool, but all efforts to roll back the update have proved unsuccessful. Turning the fridges off and on again doesn't work, and nor does removing and reinstating them on the SmartThings platform.</p><p>It does seem as though the update was halted before it reached any Samsung fridge customers outside of South Korea, which is good news — but not much consolation for those who are affected. Losing a few smart functions is one thing, but to have the units completely shut down is… well, it's enough to make you rethink the idea of a smart major appliance.</p><div data-widget-type="multimodelreview" data-widget-title="Today's best smart light deals" data-model-name="Philips Hue Essential Smart Bulb,Govee Wi-Fi LED Bulb,Nanoleaf Essentials Bulb"></div> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/home/smart-home/the-problem-with-smart-appliances-some-of-samsungs-ai-fridges-have-shut-down-and-lost-their-cool-after-a-bad-update-was-accidentally-pushed-to-them</link>
                                                                            <description>
                            <![CDATA[ A substantial number of Samsung fridge owners have been left without any way to chill their food. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">ES67Y9fpfbSdZDEEXZXyu5</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/7mwc33x5SsydMvMnLJ2EBW-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 23 Sep 2026 13:21:22 +0000</pubDate>                                                                                                                                <updated>Wed, 23 Sep 2026 14:23:00 +0000</updated>
                                                                                                                                            <category><![CDATA[Smart Home]]></category>
                                                    <category><![CDATA[Home]]></category>
                                                                                                                    <dc:creator><![CDATA[ David Nield ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/mbi9b6isV6ML9Tr4bSPhyR-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Dave is a freelance tech journalist who has been writing about gadgets, apps and the web for more than two decades. Based out of Stockport, England, on TechRadar you&#039;ll find him covering news, features and reviews, particularly for phones, tablets and wearables. Working to ensure our breaking news coverage is the best in the business over weekends, David also has bylines at Gizmodo, T3, PopSci and a few other places besides, as well as being many years editing the likes of PC Explorer and The Hardware Handbook.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/7mwc33x5SsydMvMnLJ2EBW-1920-80.jpg">
                                                            <media:credit><![CDATA[Samsung]]></media:credit>
                                                                                                                                                                        <media:description><![CDATA[Users in South Korea have been having fridge issues]]></media:description>                                                            <media:text><![CDATA[Samsung Bespoke AI Home Hub]]></media:text>
                                <media:title type="plain"><![CDATA[Samsung Bespoke AI Home Hub]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/7mwc33x5SsydMvMnLJ2EBW-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <ul><li><strong>Samsung AI fridges are failing in South Korea ahead of a national holiday</strong></li><li><strong>It doesn't just shut down the smart display, it stops them from keeping things cold</strong></li><li><strong>A broken SmartThings update appears to be to blame, and engineers will visit affected customers to apply the necessary fix</strong></li></ul><p>There is a case to be made against stuffing AI and smart tech into every single gadget: case in point, units from Samsung's smart fridge series, which have started shutting down and leaving food uncooled in South Korea after a bad software update was pushed out.</p><p>As <a href="https://www.notebookcheck.net/The-refrigerator-is-dead-Samsung-s-AI-fridges-shut-down-after-update-sparking-outrage.1406447.0.html" target="_blank">Notebookcheck</a> reports, this has left users very angry — and right before the Chuseok national holiday too. A host of fridge owners are saying that after an update in SmartThings, their appliances almost immediately stopped working. No interior light, no touch pad functionality, and no refrigeration.</p><p>It looks as though the Bespoke AI 4-Door Refrigerator model is the one most affected by the serious glitch, and according to <a href="https://zdnet.co.kr/view/?no=20260923104525" target="_blank">ZDNET Korea</a>, an internal testing software version was rolled out by mistake. Samsung has acknowledged the error, paused the update, and is promising to send out engineers over the holiday break.</p><p>However, users are reporting they're only able to book engineers for after Chuseok ends, on Saturday, September 26. "Now it looks like I'll have to throw away all the holiday food I bought ahead of the break," said one disgruntled user (via Google Translate), as per <a href="https://news.sbs.co.kr/news/endPage.do?news_id=N1008767320&plink=TOPLINE&cooper=SBSNEWSMAIN#close" target="_blank">SBS News</a> in South Korea.</p><h2 id="turn-it-off-and-on-again">Turn it off and on again</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="XmBFLaspKvMdJWAZ5QpGFE" name="samsung-bespoke" alt="Samsung Bespoke AI Home Hub" src="https://cdn.mos.cms.futurecdn.net/XmBFLaspKvMdJWAZ5QpGFE-1920-80.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">There are benefits to smart fridges — like spotting out-of-date food… as long as an update doesn't cause the food to go off sooner than planned </span><span class="credit" itemprop="copyrightHolder">(Image credit: Samsung)</span></figcaption></figure><p>Samsung isn't sharing details of how many people have been affected by this, but considering the volume of complaints, it seems to be a significant number. As yet, there's been no mention of any compensation for the fridge contents that will be spoiled — and there doesn't seem to be a fix other than to wait for an engineer.</p><p>The unfortunate fridge owners who've been hit by the bug have been resorting to dry ice and ice boxes to try and keep their food and drink cool, but all efforts to roll back the update have proved unsuccessful. Turning the fridges off and on again doesn't work, and nor does removing and reinstating them on the SmartThings platform.</p><p>It does seem as though the update was halted before it reached any Samsung fridge customers outside of South Korea, which is good news — but not much consolation for those who are affected. Losing a few smart functions is one thing, but to have the units completely shut down is… well, it's enough to make you rethink the idea of a smart major appliance.</p><div data-widget-type="multimodelreview" data-widget-title="Today's best smart light deals" data-model-name="Philips Hue Essential Smart Bulb,Govee Wi-Fi LED Bulb,Nanoleaf Essentials Bulb"></div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ ​​​​The Eufy Omni E35 boasts huge suction power, good mopping performance, and self-cleaning ]]></title>
                                                                                                <dc:content><![CDATA[ <h3 class="article-body__section" id="section-eufy-omni-e35-two-minute-review"><span>Eufy Omni E35: two-minute review</span></h3><p>The Eufy Omni E35 is a near-perfect <a href="https://www.techradar.com/home/robot-vacuums/best-robot-vacuum">robot vacuum cleaner</a> and mop. It fits into the Eufy range below its flagship S series, but above the cheaper C and older X series. The headline figure of 35,000 Pa suction is seriously impressive, and so too is the E35’s ability to keep itself clean by cleverly preventing fine dust from blocking the filter.</p><p>The charge dock empties the dust bin, replenishes the mopping water tank, then washes and dries the mop with hot water and warm air, for truly hands-off cleaning. Navigation is also strong, the Eufy app works very well, and the E35’s overall cleaning performance fully justifies the four-figure price tag.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="TEAURV664q92cNjJK9BeSD" name="Eufy Omni E35-18" alt="Eufy Omni E35 robot vacuum" src="https://cdn.mos.cms.futurecdn.net/TEAURV664q92cNjJK9BeSD-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The E35 lacks the fragrance diffuser, water ozonator and more advanced, AI-powered navigation tech of the pricier Omni S2, but by cutting those Eufy has created a robovac that focuses on what really matters — cleaning your floors and, crucially, keeping itself clean too.</p><p>It’s the self-cleaning that impresses most here, with the mop still looking brand-new after weeks of use, the roller free from tangled hair, and the dust bin filter not caked in dust. Add that to the E35’s strong suction and pivoting mop that stretches into the edges of every room while pushing down to scrub stains and scraping itself clean as it goes, and this is truly a set-it-and-forget-it robovac.</p><h3 class="article-body__section" id="section-eufy-omni-e35-price-and-availability"><span>Eufy Omni E35: price and availability</span></h3><ul><li><strong>List price: $1,299.99 / £999 (about AU$1,830)</strong></li><li><strong>Launched: September 2026</strong></li></ul><p>The Omni E35 is the new flagship of Eufy’s E series of robotic vacuum cleaners. It sits above the E25 and E38, but below the company’s top-end S tier and overall flagship, the Omni S2.</p><p>At £999 (or $1,299.99 in the US; Australian price to be confirmed), the E35 is £100 more than the E28, but sits comfortably below the older £1,299 S1 and £1,599 S2.</p><p>Interestingly, the E35 has slightly more suction power than the range-topping S2, and features much of the same self-cleaning and anti-tangle tech. But it misses out on the S2’s fragrance system, water electrolysis function, and more advanced vision system — all of which helps explain the price difference, and also why the newer model’s base station is more compact.</p><p>Announced at the IFA technology trade show in September 2026, the Eufy Omni E35 is available now.</p><ul><li><strong>Value for money score: 4 out of 5</strong></li></ul><h3 class="article-body__section" id="section-eufy-omni-e35-specifications"><span>Eufy Omni E35: specifications</span></h3><div ><table><tbody><tr><td class="firstcol " ><p>Feature</p></td><td  ><p>Specification</p></td></tr><tr><td class="firstcol " ><p>Max suction</p></td><td  ><p>35,000 Pa</p></td></tr><tr><td class="firstcol " ><p>Robot diameter</p></td><td  ><p>14.2 in (360 mm)</p></td></tr><tr><td class="firstcol " ><p>Robot height</p></td><td  ><p>4.6 in (116 mm)</p></td></tr><tr><td class="firstcol " ><p>Dock dimensions</p></td><td  ><p>14.6 x 17.6 x 16.2 in / 270 x 447 x 411 mm</p></td></tr><tr><td class="firstcol " ><p>Dust bin volume (base)</p></td><td  ><p>2.5 liters</p></td></tr><tr><td class="firstcol " ><p>Water tank volume (base)</p></td><td  ><p>2.5 liters clean / 2.4 liters dirty</p></td></tr><tr><td class="firstcol " ><p>Base type</p></td><td  ><p>Charging self-emptying, refilling, hot-water mop washing, hot-water drying</p></td></tr><tr><td class="firstcol " ><p>Max threshold clearance</p></td><td  ><p>1.2 in (30 mm)</p></td></tr><tr><td class="firstcol " ><p>Mop type</p></td><td  ><p>Self-cleaning roller</p></td></tr><tr><td class="firstcol " ><p>Mop pad lifting</p></td><td  ><p>Automatic on carpet</p></td></tr><tr><td class="firstcol " ><p>Max runtime</p></td><td  ><p>180 minutes</p></td></tr></tbody></table></div><h3 class="article-body__section" id="section-eufy-omni-e35-design"><span>Eufy Omni E35: design</span></h3><ul><li><strong>Charge station with dusty bag, water tanks, mop cleaning and drying function</strong></li><li><strong>Self-cleaning roller mop with edge-cleaning design</strong></li><li><strong>Dual detangling brushes </strong></li></ul><p>The Omni E35 continues Eufy’s trend of making its robotic vacuums more compact, while increasing performance. The robot itself is broadly similar to most other members of the Omni family — more on that in a moment — but the docking station is where a reduction in bulk is most obvious. It makes the X10 Pro, my go-to recommendation from just a couple of years ago, look ancient.</p><p>The E35 dock is shorter and sleeker, with a glossy plastic front, a neat bit of silver trim above the robot’s parking space, and a couple of discreet integrated handles for lifting out the clean and dirty water tanks. At about 16 inches (around 40cm) tall, and about the same depth front to back, including the robot when parked, the whole system is pleasingly compact. So much so, you’d be forgiven for wrongly thinking this is an entry-level robovac with limited performance.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/jeKh93A7LWfgVXA2q9HjQD-1920-80.jpg" alt="Eufy Omni E35 robot vacuum" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/LoZKLBrQBWsx4QcpZuGgPD-1920-80.jpg" alt="Eufy Omni E35 robot vacuum" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/CV7ZhnsPo6FBbTNXW2jyWD-1920-80.jpg" alt="Eufy Omni E35 robot vacuum" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/tEN4LEWAP54WEC7Y7NWLGD-1920-80.jpg" alt="Eufy Omni E35 robot vacuum" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/P3qoCWSJHNKK2R7iaXpkFD-1920-80.jpg" alt="Eufy Omni E35 robot vacuum" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p>Inside that compact dock there’s a charger and dust bag, two tanks for clean and dirty water, and a system that washes the mop with 60C (140F) hot water then dries it with 55C (131F) hot air. There’s also a compartment for installing Eufy’s own floor detergent (one bottle is included in the box), and Eufy says the system can operate entirely hands-free for up to 60 days. This will depend on the size of your home and how frequently you clean, of course, but it’s an impressive claim nonetheless.</p><p>The robot itself measures 4.6 in (116mm) tall and 14.2 in (360mm) in diameter, making it slightly larger in both directions than the Eufy S2, and fractionally taller than the Dyson Spot+Scrub AI. It’s also slightly taller than my trusty Eufy X10 Pro, and while the E35 managed to clean beneath all of my furniture, you’ll want to check it against yours to be sure it’ll fit.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/jVYjJ8gqdLMsi4XtwjGJQD-1920-80.jpg" alt="Eufy Omni E35 robot vacuum" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/CZakRWNfEEcHiPTHQAF5FD-1920-80.jpg" alt="Eufy Omni E35 robot vacuum" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/uX49xWjRrUPFfvBVgVyKFD-1920-80.jpg" alt="Eufy Omni E35 robot vacuum" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/ERHcKTCiewr5do4cxDQkED-1920-80.jpg" alt="Eufy Omni E35 robot vacuum" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p>Eufy claims a maximum threshold clearance of 1.2 inches (30.5mm), which isn’t as impressive as the Omni S2, but I’ve had no issues with it driving up from wooden floors onto carpeting.</p><p>A clever piece of design sees fine dust separated and ushered into the robot’s onboard bin before it reaches the filter. Eufy claims this ensures the E35 retains its headline 35,000 Pa suction power for longer, since the filter doesn’t get clogged up quite so quickly. After testing I found dust had started to settle in the filter, but this was easily cleaned and didn’t appear to affect performance. There’s also an anti-tangle comb to stop hair wrapping around the roller brush.</p><ul><li><strong>Design score: 4.5 out of 5</strong></li></ul><h3 class="article-body__section" id="section-eufy-omni-e35-performance"><span>Eufy Omni E35: performance</span></h3><ul><li><strong>Excellent vacuuming</strong></li><li><strong>Very good mopping</strong></li><li><strong>Fully cleans and dries itself reliably</strong></li></ul><p>Eufy’s E series of robotic vacuums has impressed for a few years now, so my expectations were high when the E35 arrived. Thankfully, the E35 delivered. The setup process will be familiar to anyone who has used a Eufy Omni, or really any robotic vacuum cleaner, before.</p><p>Assembly takes just a couple of minutes, then it’s just a case of filling the clean water tank, installing the included detergent bottle, switching it on and following the instructions of the Eufy app. The E35 then completed a mapping expedition, driving into every room and quickly using its vision system to map the walls, floors and doorways.</p><p>Furniture isn’t automatically added to the map, as it is with the pricier Omni S2, but I’ve never cared much for that feature and would rather see the floor plan unobscured.</p><div class="vizualizer-embed"><style>@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap');#fv-chart-1789662423095-ng0fonoi0 *, #fv-chart-1789662423095-ng0fonoi0 *:before, #fv-chart-1789662423095-ng0fonoi0 *:after, #fv-chart-1789662423095-ng0fonoi0-slideshow *, #fv-chart-1789662423095-ng0fonoi0-slideshow *:before, #fv-chart-1789662423095-ng0fonoi0-slideshow *:after {box-sizing: border-box !important; margin: 0; padding: 0; border: 0;font-size: 100%; font: inherit; vertical-align: baseline;}#fv-chart-1789662423095-ng0fonoi0, #fv-chart-1789662423095-ng0fonoi0-slideshow { font-family: 'Open Sans', sans-serif !important; }#fv-chart-1789662423095-ng0fonoi0 {position: relative !important; overflow: visible !important;--riv-primary: #2E6E93;}#fv-chart-1789662423095-ng0fonoi0 .fv-inner-wrapper {color: #1F2937 !important; background-color: #ffffff !important;padding: 1.5rem 1.5rem 2rem !important; border-radius: 0.5rem !important;box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important;margin: 1rem 0 !important; display: flex !important; flex-direction: column !important;overflow: hidden !important;}#fv-chart-1789662423095-ng0fonoi0 .fv-inner-wrapper.fv-no-header.fv-is-image-compare {padding-top: 0 !important;}#fv-chart-1789662423095-ng0fonoi0.fv-full-bleed {width: 100vw !important;margin-left: calc(50% - 50vw) !important;}body {overflow-x: clip !important;}#fv-chart-1789662423095-ng0fonoi0.fv-full-bleed .fv-inner-wrapper {padding: 0 !important;border-radius: 0 !important;box-shadow: none !important;margin: 0 !important;background-color: transparent !important;}#fv-chart-1789662423095-ng0fonoi0 .fv-inner-wrapper.fv-is-shop-the-look {padding: 0 !important;border-radius: 0 !important;box-shadow: none !important;margin: 0 !important;background-color: transparent !important;}#fv-chart-1789662423095-ng0fonoi0-slideshow {position: relative !important;width: 100% !important;margin: 1rem 0 !important;--riv-primary: #2E6E93;}#fv-chart-1789662423095-ng0fonoi0-slideshow .fv-slides-wrapper {position: relative !important;width: 100% !important;}#fv-chart-1789662423095-ng0fonoi0-slideshow .fv-slide {width: 100% !important;animation: fv-fade-in 0.3s ease-in-out;}@keyframes fv-fade-in {from { opacity: 0; }to { opacity: 1; }}#fv-chart-1789662423095-ng0fonoi0-slideshow .fv-slideshow-nav-row {position: relative !important;display: flex !important;justify-content: space-between !important;align-items: center !important;padding: 0 0 16px 0 !important;width: 100% !important;z-index: 20 !important;}#fv-chart-1789662423095-ng0fonoi0-slideshow .fv-nav-btn {background-color: var(--riv-primary) !important;color: #ffffff !important;border: none !important;border-radius: 4px !important;padding: 8px 16px !important;font-size: 14px !important;font-weight: 700 !important;cursor: pointer !important;display: flex !important;align-items: center !important;justify-content: center !important;gap: 6px !important;transition: opacity 0.2s, background-color 0.2s !important;height: 36px !important;text-transform: none !important;box-shadow: 0 1px 2px rgba(0,0,0,0.1) !important;}#fv-chart-1789662423095-ng0fonoi0-slideshow .fv-nav-btn svg {width: 18px !important;height: 18px !important;stroke-width: 3px !important;filter: none !important;}#fv-chart-1789662423095-ng0fonoi0-slideshow .fv-nav-btn:hover {opacity: 0.9 !important;transform: translateY(-1px) !important;}#fv-chart-1789662423095-ng0fonoi0-slideshow .fv-nav-btn.disabled {background-color: #E5E7EB !important;color: #9CA3AF !important;cursor: default !important;pointer-events: none !important;box-shadow: none !important;}#fv-chart-1789662423095-ng0fonoi0-slideshow .fv-slide-counter {font-family: 'Poppins', sans-serif !important;font-size: 14px !important;font-weight: 600 !important;color: #374151 !important;text-align: center !important;min-width: 40px !important;background-color: rgba(255,255,255,0.8) !important;padding: 2px 8px !important;border-radius: 10px !important;}#fv-chart-1789662423095-ng0fonoi0-slideshow .fv-slideshow-select {position: absolute !important;top: 10px !important;right: 10px !important;z-index: 20 !important;appearance: none !important;-webkit-appearance: none !important;-moz-appearance: none !important;background-color: white !important;border: 1px solid #d1d5db !important;color: #1F2937 !important;font-family: 'Open Sans', sans-serif !important;font-size: 14px !important;font-weight: 600 !important;padding: 6px 32px 6px 12px !important;border-radius: 4px !important;cursor: pointer !important;box-shadow: 0 1px 2px rgba(0,0,0,0.05) !important;background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e") !important;background-position: right 0.5rem center !important;background-repeat: no-repeat !important;background-size: 1.5em 1.5em !important;}#fv-chart-1789662423095-ng0fonoi0-slideshow .fv-slideshow-select:focus {outline: 2px solid #2E6E93 !important;border-color: #2E6E93 !important;}#fv-chart-1789662423095-ng0fonoi0 .fv-chart-title {font-weight: bold !important;text-align: center !important;margin-bottom: 0.5rem !important;color: var(--riv-primary) !important;font-size: 20px !important;line-height: 1.2 !important;font-family: 'Open Sans', sans-serif !important;text-transform: none !important;white-space: normal !important;overflow-wrap: break-word !important;padding: 0 20px !important;}#fv-chart-1789662423095-ng0fonoi0 .fv-chart-subhead {font-size: 18px !important;font-weight: 500 !important;text-align: center !important;margin-bottom: 2rem !important;color: #374151 !important;line-height: 1.7 !important;font-family: 'Open Sans', sans-serif !important;display: block !important;text-transform: none !important;padding: 0 20px !important;}#fv-chart-1789662423095-ng0fonoi0 .rv-chart-caption { font-size: 15px !important; color: #374151 !important; text-align: center !important; font-style: normal !important; font-weight: normal !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-versus-chart { display: flex; flex-direction: column; width: 100%; margin-top: 1rem; }#fv-chart-1789662423095-ng0fonoi0 .fv-versus-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding: 0 1rem; }#fv-chart-1789662423095-ng0fonoi0 .fv-versus-select-wrapper { flex: 1; min-width: 0; }#fv-chart-1789662423095-ng0fonoi0 .fv-versus-select-wrapper.fv-left { text-align: center; padding-right: 1rem; }#fv-chart-1789662423095-ng0fonoi0 .fv-versus-select-wrapper.fv-right { text-align: center; padding-left: 1rem; }#fv-chart-1789662423095-ng0fonoi0 .fv-versus-select-container { position: relative; display: inline-block; max-width: 100%; width: 100%; }#fv-chart-1789662423095-ng0fonoi0 .fv-versus-chevron { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; width: 16px; height: 16px; flex-shrink: 0; }#fv-chart-1789662423095-ng0fonoi0 .fv-versus-select-wrapper.fv-left .fv-versus-chevron { right: 0; }#fv-chart-1789662423095-ng0fonoi0 .fv-versus-select-wrapper.fv-right .fv-versus-chevron { right: 0; }#fv-chart-1789662423095-ng0fonoi0 .fv-versus-select { background: transparent; border: none; border-bottom: 2px solid; font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; padding: 0.25rem 0; cursor: pointer; outline: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; max-width: 100%; width: 100%; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; }#fv-chart-1789662423095-ng0fonoi0 .fv-versus-select.fv-select-left { text-align: center; direction: ltr; padding-right: 1.25rem; }#fv-chart-1789662423095-ng0fonoi0 .fv-versus-select.fv-select-right { text-align: center; padding-right: 1.25rem; }#fv-chart-1789662423095-ng0fonoi0 .fv-versus-select option { font-family: 'Open Sans', sans-serif; font-weight: 400; font-size: 14px; color: #374151; direction: ltr; text-align: left; }#fv-chart-1789662423095-ng0fonoi0 .fv-versus-vs { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; color: #374151; letter-spacing: 0.1em; padding: 0 1rem; }#fv-chart-1789662423095-ng0fonoi0 .fv-versus-body { display: flex; flex-direction: column; gap: 1.5rem; }#fv-chart-1789662423095-ng0fonoi0 .fv-versus-row { position: relative; height: auto; padding-top: 20px; margin-bottom: 0.25rem; display: block; }#fv-chart-1789662423095-ng0fonoi0 .fv-versus-bar-container { position: relative; height: 32px; display: flex; align-items: center; }#fv-chart-1789662423095-ng0fonoi0 .fv-versus-bar-left-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-end; align-items: center; }#fv-chart-1789662423095-ng0fonoi0 .fv-versus-bar-right-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-start; align-items: center; }#fv-chart-1789662423095-ng0fonoi0 .fv-versus-bar { height: 32px; width: var(--target-width); transition: width 0.8s ease-out; animation: fv-grow-max-width 0.8s ease-out forwards; display: flex; align-items: center; overflow: hidden; color: #ffffff; }#fv-chart-1789662423095-ng0fonoi0 .fv-versus-bar-left { border-radius: 4px 0 0 4px; justify-content: flex-end; padding: 0 8px; }#fv-chart-1789662423095-ng0fonoi0 .fv-versus-bar-right { border-radius: 0 4px 4px 0; justify-content: flex-start; padding: 0 8px; }@keyframes fv-grow-max-width {from { max-width: 0; }to { max-width: 100%; }}#fv-chart-1789662423095-ng0fonoi0 .fv-versus-center-line { position: absolute; left: 50%; top: 0; bottom: 0; width: 4px; background-color: #ffffff; transform: translateX(-50%); z-index: 1; }#fv-chart-1789662423095-ng0fonoi0 .fv-inside-left { white-space: nowrap; flex-shrink: 0; }#fv-chart-1789662423095-ng0fonoi0 .fv-inside-right { white-space: nowrap; flex-shrink: 0; }#fv-chart-1789662423095-ng0fonoi0 .fv-versus-val-text { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; }#fv-chart-1789662423095-ng0fonoi0 .fv-versus-pct-diff { font-size: 12px; font-weight: 600; }#fv-chart-1789662423095-ng0fonoi0 .fv-versus-label { position: absolute; left: 50%; transform: translateX(-50%); top: 0; background-color: transparent; border: none; box-shadow: none; padding: 0; font-family: 'Open Sans', sans-serif; font-weight: 700; font-size: 14px; color: #374151; white-space: nowrap; }#fv-chart-1789662423095-ng0fonoi0 .sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-image-compare-container { width: auto !important; margin-left: -1.5rem !important; margin-right: -1.5rem !important; margin-bottom: 2rem !important; }#fv-chart-1789662423095-ng0fonoi0.fv-full-bleed .fv-image-compare-container { width: 100% !important; max-width: none !important; margin: 0 auto !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-image-compare-wrapper { position: relative !important; width: 100% !important; overflow: hidden !important; border-radius: 0 !important; background-color: #000 !important; touch-action: pan-y !important; user-select: none !important; -webkit-user-select: none !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-image-compare-inner { position: relative !important; width: 100% !important; height: 100% !important; display: block !important; transform-origin: center center !important; transition: transform 0.1s ease-out !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-image-compare-bg { display: block !important; width: 100% !important; height: auto !important; pointer-events: none !important; user-select: none !important; -webkit-user-select: none !important; -webkit-user-drag: none !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-image-compare-fg { position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; object-fit: cover !important; clip-path: polygon(0 0, 50% 0, 50% 100%, 0 100%) !important; pointer-events: none !important; user-select: none !important; -webkit-user-select: none !important; -webkit-user-drag: none !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-image-compare-slider { position: absolute !important; top: 0 !important; bottom: 0 !important; left: 50% !important; width: 32px !important; transform: translateX(-50%) !important; cursor: ew-resize !important; z-index: 10 !important; user-select: none !important; -webkit-user-select: none !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-image-compare-slider-line { position: absolute !important; top: 0 !important; bottom: 0 !important; left: 50% !important; width: 4px !important; background-color: white !important; transform: translateX(-50%) !important; box-shadow: 0 0 10px rgba(0,0,0,0.5) !important; pointer-events: none !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-image-compare-handle { position: absolute !important; top: 50% !important; left: 50% !important; transform: translate(-50%, -50%) !important; width: 32px !important; height: 32px !important; background-color: white !important; border-radius: 50% !important; box-shadow: 0 2px 6px rgba(0,0,0,0.3) !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 4px !important; pointer-events: none !important; z-index: 11 !important; overflow: hidden !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-image-compare-handle.fv-image-compare-handle-square { border-radius: 6px !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-image-compare-arrow-left { width: 0 !important; height: 0 !important; border-top: 4px solid transparent !important; border-bottom: 4px solid transparent !important; border-right: 4px solid #4b5563 !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-image-compare-arrow-right { width: 0 !important; height: 0 !important; border-top: 4px solid transparent !important; border-bottom: 4px solid transparent !important; border-left: 4px solid #4b5563 !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-image-compare-label { position: absolute !important; top: 1rem !important; background-color: rgba(0, 0, 0, 0.5) !important; color: white !important; padding: 0.25rem 0.75rem !important; border-radius: 0.25rem !important; font-size: 0.875rem !important; font-weight: 500 !important; pointer-events: none !important; backdrop-filter: blur(4px) !important; z-index: 5 !important; transition: right 0.3s ease, opacity 0.2s ease !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-image-compare-label-left { left: 1rem !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-image-compare-label-right { right: 1rem !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-image-compare-expand-btn, #fv-chart-1789662423095-ng0fonoi0 .fv-image-compare-close-btn { position: absolute !important; bottom: 1rem !important; right: 1rem !important; background-color: rgba(0, 0, 0, 0.5) !important; color: white !important; border: none !important; border-radius: 0.25rem !important; padding: 0.5rem !important; cursor: pointer !important; z-index: 20 !important; display: flex !important; align-items: center !important; justify-content: center !important; backdrop-filter: blur(4px) !important; transition: background-color 0.2s !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-image-compare-expand-btn:hover, #fv-chart-1789662423095-ng0fonoi0 .fv-image-compare-close-btn:hover { background-color: rgba(0, 0, 0, 0.7) !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-image-compare-close-btn { display: none !important; top: 1rem !important; bottom: auto !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-image-compare-wrapper.fv-image-compare-fullscreen { position: fixed !important; top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important; width: 100% !important; height: 100% !important; z-index: 999999 !important; display: flex !important; align-items: center !important; justify-content: center !important; background-color: rgba(0, 0, 0, 0.9) !important; margin: 0 !important; touch-action: none !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-inner { width: 100% !important; height: 100% !important; display: flex !important; align-items: center !important; justify-content: center !important; cursor: grab !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-inner:active { cursor: grabbing !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-bg { position: absolute !important; top: 0 !important; left: 0 !important; max-width: 100% !important; max-height: 100% !important; width: 100% !important; height: 100% !important; object-fit: contain !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-fg { max-width: 100% !important; max-height: 100% !important; width: 100% !important; height: 100% !important; object-fit: contain !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-expand-btn { display: none !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-close-btn { display: flex !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-label-right { right: 4rem !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-footer-content { text-align: center !important; width: 100% !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-logo {display: block !important;margin: 0 auto !important;width: 120px !important;min-width: 120px !important;max-width: 120px !important;height: auto !important;object-fit: contain !important;flex-shrink: 0 !important;}#fv-chart-1789662423095-ng0fonoi0 .fv-dropdown-wrapper { text-align: center !important; margin-bottom: 16px !important; margin-top: 0 !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-dropdown-title-container { position: relative !important; display: inline-block !important; max-width: 100% !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-dropdown-title {appearance: none !important;-webkit-appearance: none !important;-moz-appearance: none !important;background: transparent !important;border: none !important;font-size: 18px !important;font-weight: 600 !important;color: var(--riv-primary) !important;padding-right: 28px !important;padding-left: 10px !important;cursor: pointer !important;text-align: center !important;text-align-last: center !important;width: auto !important;max-width: 100% !important;font-family: 'Open Sans', sans-serif !important;line-height: 1.3 !important;margin: 0 !important;text-overflow: ellipsis !important;overflow: hidden !important;white-space: nowrap !important;}#fv-chart-1789662423095-ng0fonoi0 .fv-dropdown-title:focus { outline: none !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-dropdown-title::-ms-expand { display: none !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-dropdown-chevron {position: absolute !important;right: 0 !important;top: 50% !important;transform: translateY(-50%) !important;pointer-events: none !important;color: var(--riv-primary) !important;display: flex !important;align-items: center !important;}#fv-chart-1789662423095-ng0fonoi0 .fv-carousel-title-controls { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 16px !important; width: 100% !important; gap: 12px !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-carousel-nav-btn {background: transparent !important; border: 1px solid #d1d5db !important; border-radius: 6px !important; padding: 6px 10px !important;cursor: pointer !important; font-size: 14px !important; color: #374151 !important; display: flex !important; align-items: center !important; gap: 4px !important; font-family: 'Open Sans', sans-serif !important;}#fv-chart-1789662423095-ng0fonoi0 .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-carousel-counter { font-size: 14px !important; color: #374151 !important; text-align: center !important; margin-top: 1rem !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 8px 16px !important; margin: 0 !important; padding: 0 !important; margin-top: 1rem !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #374151 !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-multi-value-legend {display: flex !important;justify-content: center !important;flex-wrap: wrap !important;gap: 12px 24px !important;margin-bottom: 1.5rem !important;padding: 0 !important;}#fv-chart-1789662423095-ng0fonoi0 .fv-multi-legend-item { display: flex !important; align-items: center !important; gap: 8px !important; font-size: 14px !important; color: #374151 !important; font-weight: 500 !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-multi-legend-swatch { width: 16px !important; height: 16px !important; border-radius: 3px !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-benchmark-group { margin-bottom: 1rem !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-benchmark-title {font-size: 18px !important; font-weight: 600 !important; margin-bottom: 16px !important; margin-top: 0 !important; padding: 0 !important;text-align: center !important; color: var(--riv-primary) !important; flex: 1 !important; min-width: 0 !important;font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important;text-transform: none !important;white-space: normal !important;overflow-wrap: break-word !important;word-wrap: break-word !important;max-width: 100% !important;}#fv-chart-1789662423095-ng0fonoi0 .fv-bar-row, #fv-chart-1789662423095-ng0fonoi0 .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; position: relative !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-bar-label { width: 150px !important; flex-shrink: 0 !important; font-size: 14px !important; color: #374151 !important; padding-right: 10px !important; text-align: right !important; font-weight: 500 !important; display: block !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-bar-container { flex-grow: 1 !important; background-color: #E5E7EB !important; border-radius: 4px !important; min-height: 25px !important; border: 1px solid #D1D5DB !important; position: relative !important; display: flex !important; align-items: center !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-bar-commentary-inline { display: none !important; position: absolute !important; left: 150px !important; top: 0 !important; bottom: 0 !important; right: 0 !important; width: calc(100% - 150px) !important; margin: 0 !important; padding: 0 8px !important; font-size: 13px !important; color: #fff !important; background: rgba(0,0,0,0.8) !important; border-radius: 4px !important; line-height: 1.4 !important; font-weight: normal !important; text-transform: none !important; word-wrap: break-word !important; z-index: 10 !important; align-items: center !important; overflow-y: auto !important; }#fv-chart-1789662423095-ng0fonoi0.preview-wrapper .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1789662423095-ng0fonoi0.preview-wrapper .fv-bar-commentary-inline:focus, #fv-chart-1789662423095-ng0fonoi0.preview-wrapper .fv-bar-commentary-inline:focus-within, #fv-chart-1789662423095-ng0fonoi0.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1789662423095-ng0fonoi0.mobile-view .fv-bar-commentary-inline:focus, #fv-chart-1789662423095-ng0fonoi0.mobile-view .fv-bar-commentary-inline:focus-within { display: flex !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-bar { height: 100% !important; border-radius: 3px !important; display: flex !important; align-items: center !important; transition: opacity 0.2s ease, width 0.8s ease-out !important; min-height: 23px !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-bar:hover { opacity: 0.8 !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-bar-inner-content { display: flex !important; justify-content: space-between !important; align-items: center !important; width: 100% !important; height: 100% !important; padding: 0 8px !important; font-size: 14px !important; font-weight: bold !important; overflow: hidden !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-bar-inner-value { flex-shrink: 0 !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-bar-value-outside { padding-left: 8px !important; font-size: 14px !important; font-weight: bold !important; color: #374151 !important; white-space: nowrap !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-multi-bar-container { flex-direction: column !important; padding: 4px !important; align-items: stretch !important; gap: 4px !important; height: auto !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-multi-bar-item { display: flex !important; align-items: center !important; height: 25px !important; width: 100% !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-stacked-bar { display: flex !important; overflow: hidden !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-stacked-segment { height: 100% !important; display: flex !important; align-items: center !important; justify-content: flex-end !important; padding-right: 8px !important; border-right: 1px solid rgba(255,255,255,0.3) !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-stacked-segment:last-child { border-right: none !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-segment-value { font-size: 14px !important; font-weight: bold !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-grouped-product-title-wrapper { padding-left: 150px !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.5rem !important; font-weight: 700 !important; font-size: 14px !important; color: #374151 !important; text-transform: none !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-bar-cluster .fv-bar-container { height: 20px !important; }#fv-chart-1789662423095-ng0fonoi0 .riv-grid line {stroke: #D1D5DB !important;stroke-dasharray: 3 3 !important;}#fv-chart-1789662423095-ng0fonoi0 .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-x-axis-ticks { display: flex !important; justify-content: space-between !important; padding-top: 4px !important; font-size: 13px !important; color: #374151 !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-x-axis-ticks span { position: relative !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-x-axis-ticks span::before { content: '' !important; position: absolute !important; top: -6px !important; left: 50% !important; transform: translateX(-50%) !important; width: 2px !important; height: 4px !important; background-color: #D1D5DB !important; border-radius: 1px !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #374151 !important; margin-top: 8px !important; display: block !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-x-axis-title { text-align: center !important; font-size: 15px !important; color: #374151 !important; margin-top: 8px !important; margin-bottom: 16px !important; line-height: 1.5 !important; padding: 0 1rem !important; display: block !important; font-weight: bold !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-y-axis-title {font-size: 15px !important;color: #374151 !important;line-height: 1.5 !important;text-align: left !important;padding-left: 5.83% !important;margin-bottom: 4px !important;display: block !important;font-weight: bold !important;}#fv-chart-1789662423095-ng0fonoi0.mobile-view .fv-pie-container,#fv-chart-1789662423095-ng0fonoi0.labels-on-top .fv-pie-container {flex-direction: column !important; gap: 1rem !important;}#fv-chart-1789662423095-ng0fonoi0.mobile-view .fv-grouped-product-title-wrapper,#fv-chart-1789662423095-ng0fonoi0.labels-on-top .fv-grouped-product-title-wrapper {padding-left: 0 !important;}#fv-chart-1789662423095-ng0fonoi0.mobile-view .fv-bar-row,#fv-chart-1789662423095-ng0fonoi0.mobile-view .fv-stacked-product,#fv-chart-1789662423095-ng0fonoi0.mobile-view .fv-grouped-bar-product,#fv-chart-1789662423095-ng0fonoi0.labels-on-top .fv-bar-row,#fv-chart-1789662423095-ng0fonoi0.labels-on-top .fv-stacked-product,#fv-chart-1789662423095-ng0fonoi0.labels-on-top .fv-grouped-bar-product {flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important;}#fv-chart-1789662423095-ng0fonoi0.mobile-view .fv-bar-label:not(.fv-grouped-product-title),#fv-chart-1789662423095-ng0fonoi0.labels-on-top .fv-bar-label:not(.fv-grouped-product-title) {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1789662423095-ng0fonoi0.mobile-view .fv-bar-label,#fv-chart-1789662423095-ng0fonoi0.mobile-view .fv-grouped-product-title,#fv-chart-1789662423095-ng0fonoi0.labels-on-top .fv-bar-label,#fv-chart-1789662423095-ng0fonoi0.labels-on-top .fv-grouped-product-title {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1789662423095-ng0fonoi0.mobile-view .fv-bar-container,#fv-chart-1789662423095-ng0fonoi0.mobile-view .fv-bar-cluster,#fv-chart-1789662423095-ng0fonoi0.labels-on-top .fv-bar-container,#fv-chart-1789662423095-ng0fonoi0.labels-on-top .fv-bar-cluster {width: 100% !important;}#fv-chart-1789662423095-ng0fonoi0.mobile-view .fv-bar-row .fv-bar-commentary-inline,#fv-chart-1789662423095-ng0fonoi0.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline,#fv-chart-1789662423095-ng0fonoi0.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus,#fv-chart-1789662423095-ng0fonoi0.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus-within,#fv-chart-1789662423095-ng0fonoi0.labels-on-top .fv-bar-row .fv-bar-commentary-inline,#fv-chart-1789662423095-ng0fonoi0.labels-on-top .fv-bar-row:hover .fv-bar-commentary-inline,#fv-chart-1789662423095-ng0fonoi0.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus,#fv-chart-1789662423095-ng0fonoi0.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus-within {position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important;}#fv-chart-1789662423095-ng0fonoi0.mobile-view .fv-x-axis-wrapper,#fv-chart-1789662423095-ng0fonoi0.labels-on-top .fv-x-axis-wrapper {margin-left: 0 !important;}#fv-chart-1789662423095-ng0fonoi0.mobile-view .fv-x-axis-label-space,#fv-chart-1789662423095-ng0fonoi0.labels-on-top .fv-x-axis-label-space {display: none !important;}#fv-chart-1789662423095-ng0fonoi0.mobile-view .fv-x-axis-chart-space,#fv-chart-1789662423095-ng0fonoi0.labels-on-top .fv-x-axis-chart-space {padding-right: 0 !important;}#fv-chart-1789662423095-ng0fonoi0.mobile-view .fv-benchmark-title,#fv-chart-1789662423095-ng0fonoi0.labels-on-top .fv-benchmark-title {font-size: 16px !important;}#fv-chart-1789662423095-ng0fonoi0.mobile-view .fv-dropdown-title,#fv-chart-1789662423095-ng0fonoi0.labels-on-top .fv-dropdown-title {font-size: 16px !important;}#fv-chart-1789662423095-ng0fonoi0.mobile-view .fv-carousel-nav-btn,#fv-chart-1789662423095-ng0fonoi0.labels-on-top .fv-carousel-nav-btn {padding: 8px 12px !important; font-size: 14px !important;}#fv-chart-1789662423095-ng0fonoi0.mobile-view .fv-chart-title,#fv-chart-1789662423095-ng0fonoi0.labels-on-top .fv-chart-title {padding: 0 8px !important;}#fv-chart-1789662423095-ng0fonoi0.mobile-view .fv-chart-subhead,#fv-chart-1789662423095-ng0fonoi0.labels-on-top .fv-chart-subhead {padding: 0 8px !important;}#fv-chart-1789662423095-ng0fonoi0.mobile-view .fv-versus-header,#fv-chart-1789662423095-ng0fonoi0.labels-on-top .fv-versus-header {flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important;}#fv-chart-1789662423095-ng0fonoi0.mobile-view .fv-versus-select-wrapper,#fv-chart-1789662423095-ng0fonoi0.labels-on-top .fv-versus-select-wrapper {flex: 1 !important; min-width: 0 !important; width: 100% !important;}#fv-chart-1789662423095-ng0fonoi0.mobile-view .fv-versus-select-wrapper.fv-left,#fv-chart-1789662423095-ng0fonoi0.labels-on-top .fv-versus-select-wrapper.fv-left {text-align: center !important; padding-right: 0 !important;}#fv-chart-1789662423095-ng0fonoi0.mobile-view .fv-versus-select-wrapper.fv-right,#fv-chart-1789662423095-ng0fonoi0.labels-on-top .fv-versus-select-wrapper.fv-right {text-align: center !important; padding-left: 0 !important;}#fv-chart-1789662423095-ng0fonoi0.mobile-view .fv-versus-select.fv-select-left,#fv-chart-1789662423095-ng0fonoi0.labels-on-top .fv-versus-select.fv-select-left {text-align: center !important;}#fv-chart-1789662423095-ng0fonoi0.mobile-view .fv-versus-select.fv-select-right,#fv-chart-1789662423095-ng0fonoi0.labels-on-top .fv-versus-select.fv-select-right {text-align: center !important;}#fv-chart-1789662423095-ng0fonoi0.mobile-view .fv-versus-vs,#fv-chart-1789662423095-ng0fonoi0.labels-on-top .fv-versus-vs {text-align: center !important; padding: 0.25rem 0 !important;}#fv-chart-1789662423095-ng0fonoi0.mobile-view .fv-versus-select-container,#fv-chart-1789662423095-ng0fonoi0.labels-on-top .fv-versus-select-container {max-width: 100% !important; width: 100% !important;}#fv-chart-1789662423095-ng0fonoi0.mobile-view .fv-versus-select,#fv-chart-1789662423095-ng0fonoi0.labels-on-top .fv-versus-select {font-size: 14px !important; width: 100% !important;}#fv-chart-1789662423095-ng0fonoi0.mobile-view .fv-stl-shop-all-btn,#fv-chart-1789662423095-ng0fonoi0.labels-on-top .fv-stl-shop-all-btn {bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important;}#fv-chart-1789662423095-ng0fonoi0.mobile-view .fv-stl-shop-all-logo,#fv-chart-1789662423095-ng0fonoi0.mobile-view .fv-stl-shop-all-icon,#fv-chart-1789662423095-ng0fonoi0.labels-on-top .fv-stl-shop-all-logo,#fv-chart-1789662423095-ng0fonoi0.labels-on-top .fv-stl-shop-all-icon {width: 2rem !important; height: 2rem !important;}#fv-chart-1789662423095-ng0fonoi0.mobile-view .fv-stl-shop-all-icon svg,#fv-chart-1789662423095-ng0fonoi0.labels-on-top .fv-stl-shop-all-icon svg {width: 14px !important; height: 14px !important;}#fv-chart-1789662423095-ng0fonoi0.mobile-view .fv-bar-commentary-inline,#fv-chart-1789662423095-ng0fonoi0.labels-on-top .fv-bar-commentary-inline {display: block !important; margin-left: 0 !important; width: 100% !important;}#fv-chart-1789662423095-ng0fonoi0.mobile-view .fv-y-axis-title { padding-left: 5% !important;  }#fv-chart-1789662423095-ng0fonoi0.mobile-view.fv-contains-line-chart .fv-footer-content {margin-left: -1rem !important;margin-right: -1rem !important;}@media (max-width: 599px) {#fv-chart-1789662423095-ng0fonoi0 .fv-pie-container {flex-direction: column !important; gap: 1rem !important;}#fv-chart-1789662423095-ng0fonoi0 .fv-grouped-product-title-wrapper {padding-left: 0 !important;}#fv-chart-1789662423095-ng0fonoi0 .fv-bar-row,#fv-chart-1789662423095-ng0fonoi0 .fv-stacked-product,#fv-chart-1789662423095-ng0fonoi0 .fv-grouped-bar-product {flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important;}#fv-chart-1789662423095-ng0fonoi0 .fv-bar-label:not(.fv-grouped-product-title) {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1789662423095-ng0fonoi0 .fv-bar-label,#fv-chart-1789662423095-ng0fonoi0 .fv-grouped-product-title {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1789662423095-ng0fonoi0 .fv-bar-container,#fv-chart-1789662423095-ng0fonoi0 .fv-bar-cluster {width: 100% !important;}#fv-chart-1789662423095-ng0fonoi0 .fv-bar-row .fv-bar-commentary-inline,#fv-chart-1789662423095-ng0fonoi0 .fv-bar-row:hover .fv-bar-commentary-inline,#fv-chart-1789662423095-ng0fonoi0 .fv-bar-row .fv-bar-commentary-inline:focus,#fv-chart-1789662423095-ng0fonoi0 .fv-bar-row .fv-bar-commentary-inline:focus-within {position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important;}#fv-chart-1789662423095-ng0fonoi0 .fv-x-axis-wrapper {margin-left: 0 !important;}#fv-chart-1789662423095-ng0fonoi0 .fv-x-axis-label-space {display: none !important;}#fv-chart-1789662423095-ng0fonoi0 .fv-x-axis-chart-space {padding-right: 0 !important;}#fv-chart-1789662423095-ng0fonoi0 .fv-benchmark-title {font-size: 16px !important;}#fv-chart-1789662423095-ng0fonoi0 .fv-dropdown-title {font-size: 16px !important;}#fv-chart-1789662423095-ng0fonoi0 .fv-carousel-nav-btn {padding: 8px 12px !important; font-size: 14px !important;}#fv-chart-1789662423095-ng0fonoi0 .fv-chart-title {padding: 0 8px !important;}#fv-chart-1789662423095-ng0fonoi0 .fv-chart-subhead {padding: 0 8px !important;}#fv-chart-1789662423095-ng0fonoi0 .fv-versus-header {flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important;}#fv-chart-1789662423095-ng0fonoi0 .fv-versus-select-wrapper {flex: 1 !important; min-width: 0 !important; width: 100% !important;}#fv-chart-1789662423095-ng0fonoi0 .fv-versus-select-wrapper.fv-left {text-align: center !important; padding-right: 0 !important;}#fv-chart-1789662423095-ng0fonoi0 .fv-versus-select-wrapper.fv-right {text-align: center !important; padding-left: 0 !important;}#fv-chart-1789662423095-ng0fonoi0 .fv-versus-select.fv-select-left {text-align: center !important;}#fv-chart-1789662423095-ng0fonoi0 .fv-versus-select.fv-select-right {text-align: center !important;}#fv-chart-1789662423095-ng0fonoi0 .fv-versus-vs {text-align: center !important; padding: 0.25rem 0 !important;}#fv-chart-1789662423095-ng0fonoi0 .fv-versus-select-container {max-width: 100% !important; width: 100% !important;}#fv-chart-1789662423095-ng0fonoi0 .fv-versus-select {font-size: 14px !important; width: 100% !important;}#fv-chart-1789662423095-ng0fonoi0 .fv-stl-shop-all-btn {bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important;}#fv-chart-1789662423095-ng0fonoi0 .fv-stl-shop-all-logo,#fv-chart-1789662423095-ng0fonoi0 .fv-stl-shop-all-icon {width: 2rem !important; height: 2rem !important;}#fv-chart-1789662423095-ng0fonoi0 .fv-stl-shop-all-icon svg {width: 14px !important; height: 14px !important;}#fv-chart-1789662423095-ng0fonoi0 .fv-bar-commentary-inline {display: block !important; margin-left: 0 !important; width: 100% !important;}#fv-chart-1789662423095-ng0fonoi0 .fv-y-axis-title { padding-left: 5% !important;  }#fv-chart-1789662423095-ng0fonoi0.fv-contains-line-chart .fv-footer-content {margin-left: -1rem !important;margin-right: -1rem !important;}}</style><script type="application/ld+json">{"@context": "https://schema.org","@type": "Dataset","name": "Carpet cleaning test 1","description": "Vacuuming crumbs from carpeted floor using Eufy Omni E35","creator": {"@type": "Organization","name": "TechRadar","logo": "https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png"},"isAccessibleForFree": true,"dateCreated": "2026-09-17T16:27:03.095Z","citation": "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized","keywords": ["Image Comparison","benchmark","comparison","performance","review","TechRadar"],"measurementTechnique": "Performance Benchmarking","variableMeasured": []}</script><div id="fv-chart-1789662423095-ng0fonoi0" class="fv-chart-wrapper   " data-bar-labels-on-top="false" data-iframe-height="true" data-vizualizer-embed="true"><div class="fv-inner-wrapper fv-no-header fv-is-image-compare  "><div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1789662423095-ng0fonoi0-image-compare-1" data-chart-type="Image Comparison" data-title="Image Comparison" data-subhead="Vacuuming crumbs from carpeted floor using Eufy Omni E35" data-caption="" style=""><div class="fv-benchmark-group"><div class="fv-image-compare-container"><div class="fv-image-compare-wrapper" data-image-compare="true"><div class="fv-image-compare-inner"><img src="https://cdn.mos.cms.futurecdn.net/ab2fBmoNVTzG9pZCQ8aMjG.jpg" data-highres-src="https://cdn.mos.cms.futurecdn.net/ab2fBmoNVTzG9pZCQ8aMjG.jpg" alt="Carpet after vacuuming" class="fv-image-compare-bg" loading="lazy" referrerpolicy="no-referrer" draggable="false" /><img src="https://cdn.mos.cms.futurecdn.net/QeS87en4RyWorRdqpmTmnG.jpg" data-highres-src="https://cdn.mos.cms.futurecdn.net/QeS87en4RyWorRdqpmTmnG.jpg" alt="Carpet with crumbs" class="fv-image-compare-fg" loading="lazy" referrerpolicy="no-referrer" draggable="false" /><div class="fv-image-compare-slider"><div class="fv-image-compare-slider-line"></div><div class="fv-image-compare-handle "><img src="https://proof.vanilla.tools/media/images/brandLogos/techradar.png" alt="Brand Logo" style="width: 100%; height: 100%; object-fit: cover;" /></div></div></div><div class="fv-image-compare-label fv-image-compare-label-left">Before</div><div class="fv-image-compare-label fv-image-compare-label-right">After</div><button class="fv-image-compare-expand-btn" aria-label="Expand Image"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 8V4h4"/><path d="M20 8V4h-4"/><path d="M4 16v4h4"/><path d="M20 16v4h-4"/><circle cx="11.5" cy="11.5" r="3.5"/><path d="m14 14 3 3"/></svg></button><button class="fv-image-compare-close-btn" aria-label="Close Fullscreen"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg></button></div></div></div></div></div><div class="fv-bottom-bar"><div class="fv-footer-content" style="display: none;"><div class="rv-chart-caption" style="display: block;"><span class="fv-original-caption" style="display: block;"></span><span class="fv-ia-dynamic-caption" style="display: none;"></span></div></div><div class="fv-logo-explore-bar"><img class="fv-logo" src="https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png" alt="TechRadar Logo"></div></div></div></div><script>window.iFrameResizer = {heightCalculationMethod: 'taggedElement'};</script><script src="https://cdnjs.cloudflare.com/ajax/libs/iframe-resizer/4.2.11/iframeResizer.contentWindow.min.js" async></script><script>(function() {window.fvAnimateCharts = function(chartWrapper) {if (!chartWrapper) return;function animateBars(chartElement) {if (!chartElement) return;var bars = chartElement.querySelectorAll('.fv-bar, .fv-stacked-segment');bars.forEach(function(bar, index) {bar.style.setProperty('width', '0%', 'important');bar.style.setProperty('transition', 'none', 'important');var targetWidth = bar.dataset.targetWidth;if (targetWidth === undefined) return;void bar.offsetWidth;var targetMargin = bar.dataset.targetMargin;var baseMargin = bar.dataset.baseMargin;if (baseMargin !== undefined) {bar.style.setProperty('margin-left', baseMargin + '%', 'important');}setTimeout(function() {var marginTransition = baseMargin !== undefined ? ', margin-left 0.8s ease-out' : '';bar.style.setProperty('transition', 'opacity 0.2s ease, width 0.8s ease-out' + marginTransition, 'important');bar.style.setProperty('width', targetWidth + '%', 'important');if (targetMargin !== undefined && baseMargin !== undefined) {bar.style.setProperty('margin-left', targetMargin + '%', 'important');}}, index * 50 + 50);});}function animateLineChart(chartElement) {if (!chartElement) return;var lineSvg = chartElement.querySelector('svg');if (!lineSvg) return;var paths = lineSvg.querySelectorAll('.riv-line-path');paths.forEach(function(p, i) {if (typeof p.getTotalLength === 'function') {var len = p.getTotalLength();p.style.transition = 'none';p.style.strokeDasharray = len;p.style.strokeDashoffset = len;p.getBoundingClientRect();setTimeout(function() {p.style.transition = 'stroke-dashoffset 1s ease-out ' + (i * 0.1) + 's, stroke-width 0.2s, opacity 0.2s';p.style.strokeDashoffset = '0';}, 100);}});var dots = lineSvg.querySelectorAll('.riv-dot');dots.forEach(function(dot, i) {dot.style.opacity = '0';setTimeout(function() {dot.style.transition = 'opacity 0.3s ease';dot.style.opacity = '1';}, 500 + i * 10);});}var charts = chartWrapper.querySelectorAll('.fv-chart-item');charts.forEach(function(chart) {if (window.getComputedStyle(chart).display === 'none') return;var chartType = chart.dataset.chartType;if (chartType === 'Line') {animateLineChart(chart);} else if (chartType !== 'Pie') {animateBars(chart);}});};function initialize(uniqueId, isSlideshow) {var root = document.getElementById(uniqueId);if (!root && !isSlideshow) return;function setupWrapper(chartWrapper) {if (!chartWrapper) return;function checkMobileView() {var width = chartWrapper.getBoundingClientRect().width;var isMobileDevice = window.screen && Math.min(window.screen.width, window.screen.height) <= 599;var isMobile;if (width === 0) {isMobile = isMobileDevice || window.matchMedia('(max-width: 599px)').matches;} else {isMobile = isMobileDevice || width < 600;}if (isMobile) {chartWrapper.classList.add('mobile-view');} else {chartWrapper.classList.remove('mobile-view');}}checkMobileView();if (typeof ResizeObserver !== 'undefined') {var ro = new ResizeObserver(function() {checkMobileView();});ro.observe(chartWrapper);}window.addEventListener('resize', checkMobileView);var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';if (labelsOnTop) {var charts = chartWrapper.querySelectorAll('.fv-chart-item');var hasVisibleBarChart = false;charts.forEach(function(c) {if (window.getComputedStyle(c).display !== 'none') {var cType = c.dataset.chartType;if (cType === 'Bar' || cType === 'Stacked Bar' || cType === 'Versus') {hasVisibleBarChart = true;}}});if (hasVisibleBarChart) {chartWrapper.classList.add('labels-on-top');} else {chartWrapper.classList.remove('labels-on-top');}} else {chartWrapper.classList.remove('labels-on-top');}chartWrapper.querySelectorAll('.riv-line-legend').forEach(function(legend) {var chartId = legend.dataset.chart;var chart = chartWrapper.querySelector('[id="' + chartId + '"]');if (!chart) return;var lines = chart.querySelectorAll('.riv-line-path');var dots = chart.querySelectorAll('.riv-dot');var legendItems = legend.querySelectorAll('.riv-legend-item');legendItems.forEach(function(item) {var productName = item.dataset.product;var safeProductName = productName.replace(/"/g, '\"');var line = chart.querySelector('.riv-line-path[data-product="' + safeProductName + '"]');var productDots = chart.querySelectorAll('.riv-dot[data-product="' + safeProductName + '"]');if (line && !line.dataset.origStroke) {line.dataset.origStroke = line.getAttribute('stroke-width') || '2';}var highlight = function() {if (legend.querySelector('.isolated')) return;lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '0.2'; });legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });if (line) {line.style.opacity = '1';line.setAttribute('stroke-width', '4');}productDots.forEach(function(d) { d.style.opacity = '1'; });item.style.opacity = '1';};var clearHighlight = function() {if (legend.querySelector('.isolated')) return;lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '1'; });legendItems.forEach(function(i) { i.style.opacity = '1'; });};var toggleIsolate = function() {var isIsolated = item.classList.contains('isolated');legendItems.forEach(function(i) { i.classList.remove('isolated'); });if (isIsolated) {lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '1'; });legendItems.forEach(function(i) { i.style.opacity = '1'; });} else {item.classList.add('isolated');lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '0.2'; });legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });if (line) {line.style.opacity = '1';line.setAttribute('stroke-width', '4');}productDots.forEach(function(d) { d.style.opacity = '1'; });item.style.opacity = '1';}};item.addEventListener('mouseenter', highlight);item.addEventListener('focus', highlight);item.addEventListener('mouseleave', clearHighlight);item.addEventListener('blur', clearHighlight);item.addEventListener('click', toggleIsolate);if (line) {line.style.cursor = 'pointer';line.addEventListener('mouseenter', highlight);line.addEventListener('mouseleave', clearHighlight);line.addEventListener('click', toggleIsolate);}});});var versusCharts = chartWrapper.querySelectorAll('.fv-versus-chart');versusCharts.forEach(function(vc) {var dataJson = vc.getAttribute('data-versus-data');var leftColor = vc.getAttribute('data-left-color') || '#E53935';var rightColor = vc.getAttribute('data-right-color') || '#FFB300';if (!dataJson) return;var versusData = JSON.parse(dataJson);var leftSelect = vc.querySelector('.fv-select-left');var rightSelect = vc.querySelector('.fv-select-right');var rows = vc.querySelectorAll('.fv-versus-row');function updateVersusChart() {var leftProduct = leftSelect.value;var rightProduct = rightSelect.value;leftSelect.style.color = leftColor;leftSelect.style.borderColor = leftColor;rightSelect.style.color = rightColor;rightSelect.style.borderColor = rightColor;rows.forEach(function(row) {var index = parseInt(row.getAttribute('data-index'));var data = versusData[index];if (!data) return;var leftVal = data.productData[leftProduct] ? data.productData[leftProduct].value : undefined;var rightVal = data.productData[rightProduct] ? data.productData[rightProduct].value : undefined;var leftIsNum = typeof leftVal === 'number';var rightIsNum = typeof rightVal === 'number';var leftNum = leftIsNum ? leftVal : 0;var rightNum = rightIsNum ? rightVal : 0;var maxVal = Math.max(leftNum, rightNum, 0.0001);var leftWidth = leftIsNum ? (leftNum / maxVal) * 95 : 0;var rightWidth = rightIsNum ? (rightNum / maxVal) * 85 : 0;var winner = null;var pctDiffStr = null;if (leftIsNum && rightIsNum) {if (leftNum > rightNum) {winner = 'left';if (rightNum > 0) {var diff = Math.round(((leftNum - rightNum) / rightNum) * 100);pctDiffStr = '+' + diff.toLocaleString() + '%';}} else if (rightNum > leftNum) {winner = 'right';if (leftNum > 0) {var diff = Math.round(((rightNum - leftNum) / leftNum) * 100);pctDiffStr = '+' + diff.toLocaleString() + '%';}}}var leftDisplay = data.productData[leftProduct] && data.productData[leftProduct].displayValue !== undefined ? data.productData[leftProduct].displayValue : (leftIsNum ? leftNum.toLocaleString() : (leftVal !== undefined ? leftVal : '-'));var rightDisplay = data.productData[rightProduct] && data.productData[rightProduct].displayValue !== undefined ? data.productData[rightProduct].displayValue : (rightIsNum ? rightNum.toLocaleString() : (rightVal !== undefined ? rightVal : '-'));var unit = (data.productData[leftProduct] && data.productData[leftProduct].unit) ||(data.productData[rightProduct] && data.productData[rightProduct].unit) || '';var leftTextStr = leftDisplay;var rightTextStr = rightDisplay;var leftBar = row.querySelector('.fv-versus-bar-left');var rightBar = row.querySelector('.fv-versus-bar-right');var leftText = row.querySelector('.fv-inside-left');var rightText = row.querySelector('.fv-inside-right');var labelText = row.querySelector('.fv-versus-label span');var leftWrapper = row.querySelector('.fv-versus-bar-left-wrapper');var rightWrapper = row.querySelector('.fv-versus-bar-right-wrapper');var existingPctDiffs = row.querySelectorAll('.fv-versus-pct-diff');existingPctDiffs.forEach(function(el) { el.remove(); });if (winner === 'left' && pctDiffStr) {var pctSpan = document.createElement('span');pctSpan.className = 'fv-versus-pct-diff';pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';pctSpan.textContent = pctDiffStr;if (leftBar) leftBar.insertBefore(pctSpan, leftBar.firstChild);} else if (winner === 'right' && pctDiffStr) {var pctSpan = document.createElement('span');pctSpan.className = 'fv-versus-pct-diff';pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';pctSpan.textContent = pctDiffStr;if (rightBar) rightBar.appendChild(pctSpan);}if (leftBar) {leftBar.style.backgroundColor = leftColor;leftBar.dataset.targetWidth = leftWidth;leftBar.style.setProperty('--target-width', leftWidth + '%');leftBar.style.width = leftWidth + '%';}if (rightBar) {rightBar.style.backgroundColor = rightColor;rightBar.dataset.targetWidth = rightWidth;rightBar.style.setProperty('--target-width', rightWidth + '%');rightBar.style.width = rightWidth + '%';}if (leftText) {leftText.innerHTML = leftTextStr;}if (rightText) {rightText.innerHTML = rightTextStr;}if (labelText) {labelText.textContent = data.attribute + (unit ? ' (' + unit + ')' : '');}});}if (leftSelect) leftSelect.addEventListener('change', updateVersusChart);if (rightSelect) rightSelect.addEventListener('change', updateVersusChart);});var barRows = chartWrapper.querySelectorAll('.fv-bar-row');var globalCaptionEl = chartWrapper.querySelector('.rv-chart-caption');var fallbackCaptionHtml = globalCaptionEl ? globalCaptionEl.innerHTML : '';barRows.forEach(function(row) {var commentaryEl = row.querySelector('[data-commentary-key]');if (commentaryEl) {var commentaryText = commentaryEl.textContent;if (commentaryText && commentaryText.trim().length > 0) {row.addEventListener('mouseenter', function() {if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {globalCaptionEl.innerHTML = commentaryText;globalCaptionEl.classList.add('fv-bar-active-caption');}});row.addEventListener('mouseleave', function() {if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {globalCaptionEl.innerHTML = fallbackCaptionHtml;globalCaptionEl.classList.remove('fv-bar-active-caption');}});}}});var charts = chartWrapper.querySelectorAll('.fv-chart-item');var dropdown = chartWrapper.querySelector('.fv-dropdown-title');var prevBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.prev');var nextBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.next');var carouselTitle = chartWrapper.querySelector('.fv-carousel-title-controls .fv-benchmark-title');var counter = chartWrapper.querySelector('.fv-carousel-counter');var subheadEl = chartWrapper.querySelector('.fv-chart-subhead');var captionEl = chartWrapper.querySelector('.rv-chart-caption');var footerContentEl = chartWrapper.querySelector('.fv-footer-content');var bottomBarEl = chartWrapper.querySelector('.fv-bottom-bar');var logoEl = chartWrapper.querySelector('.fv-logo');if (charts.length > 1 && (dropdown || prevBtn)) {var currentChartIndex = 0;var titles = [];if (dropdown) {titles = Array.from(dropdown.options).map(function(o) { return o.text; });} else {charts.forEach(function(c) {titles.push(c.getAttribute('data-title') || '');});}function showInternalChart(index) {if (index < 0) index = charts.length - 1;if (index >= charts.length) index = 0;currentChartIndex = index;charts.forEach(function(c, i) {c.style.display = i === index ? 'block' : 'none';if (i === index) {var cType = c.dataset.chartType;if (cType === 'Line') {} else if (cType !== 'Pie') {window.fvAnimateCharts(chartWrapper);}var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';if (labelsOnTop && (cType === 'Bar' || cType === 'Stacked Bar' || cType === 'Versus')) {chartWrapper.classList.add('labels-on-top');} else {chartWrapper.classList.remove('labels-on-top');}}});if (dropdown) dropdown.value = index;if (carouselTitle && titles[index]) carouselTitle.textContent = titles[index];if (counter) counter.textContent = (index + 1) + ' of ' + charts.length;var activeChart = charts[index];if (activeChart) {var newSubhead = activeChart.getAttribute('data-subhead');var newCaption = activeChart.getAttribute('data-caption');var currentChartType = activeChart.getAttribute('data-chart-type');var hideGlobalCaption = currentChartType === 'Countdown' || currentChartType === 'Image Comparison' || currentChartType === 'Shop the Collection';if (subheadEl) subheadEl.textContent = newSubhead || '';if (captionEl) {captionEl.textContent = newCaption || '';fallbackCaptionHtml = newCaption || '';}if (footerContentEl) {if (newCaption && newCaption.trim().length > 0 && !hideGlobalCaption) {footerContentEl.style.display = 'block';if (bottomBarEl) bottomBarEl.style.display = 'flex';} else {footerContentEl.style.display = 'none';if (bottomBarEl && !logoEl) {bottomBarEl.style.display = 'none';}}}}}if (dropdown) dropdown.addEventListener('change', function(e) { showInternalChart(parseInt(e.target.value)); });if (prevBtn) prevBtn.addEventListener('click', function() { showInternalChart(currentChartIndex - 1); });if (nextBtn) nextBtn.addEventListener('click', function() { showInternalChart(currentChartIndex + 1); });}var imageCompareWrappers = chartWrapper.querySelectorAll('.fv-image-compare-wrapper');imageCompareWrappers.forEach(function(wrapper) {var inner = wrapper.querySelector('.fv-image-compare-inner') || wrapper;var slider = wrapper.querySelector('.fv-image-compare-slider');var fgImage = wrapper.querySelector('.fv-image-compare-fg');var bgImage = wrapper.querySelector('.fv-image-compare-bg');var labelLeft = wrapper.querySelector('.fv-image-compare-label-left');var labelRight = wrapper.querySelector('.fv-image-compare-label-right');var isDragging = false;var scale = 1;var panX = 0;var panY = 0;var isPanning = false;var hasPanned = false;var lastClientX = 0;var lastClientY = 0;var initialDistance = null;var lastCenterX = null;var lastCenterY = null;function updateTransform() {if (wrapper.classList.contains('fv-image-compare-fullscreen')) {inner.style.setProperty('transform', 'translate(' + panX + 'px, ' + panY + 'px) scale(' + scale + ')', 'important');} else {inner.style.removeProperty('transform');scale = 1;panX = 0;panY = 0;}}function constrainPan() {var rect = wrapper.getBoundingClientRect();var maxPanX = Math.max(0, (rect.width * scale - rect.width) / 2);var maxPanY = Math.max(0, (rect.height * scale - rect.height) / 2);panX = Math.max(-maxPanX, Math.min(panX, maxPanX));panY = Math.max(-maxPanY, Math.min(panY, maxPanY));}wrapper.addEventListener('wheel', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;e.preventDefault();var zoomSensitivity = 0.005;var zoomFactor = Math.exp(-e.deltaY * zoomSensitivity);var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));if (newScale === scale) return;var rect = wrapper.getBoundingClientRect();var mouseX = e.clientX - rect.left - rect.width / 2;var mouseY = e.clientY - rect.top - rect.height / 2;var ratio = newScale / scale;panX = mouseX - (mouseX - panX) * ratio;panY = mouseY - (mouseY - panY) * ratio;scale = newScale;constrainPan();updateTransform();}, { passive: false });wrapper.addEventListener('mousedown', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen') || scale <= 1) return;if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;isPanning = true;hasPanned = false;lastClientX = e.clientX;lastClientY = e.clientY;});window.addEventListener('mousemove', function(e) {if (!isPanning) return;var dx = e.clientX - lastClientX;var dy = e.clientY - lastClientY;if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {hasPanned = true;}lastClientX = e.clientX;lastClientY = e.clientY;panX += dx;panY += dy;constrainPan();updateTransform();});window.addEventListener('mouseup', function() {isPanning = false;});wrapper.addEventListener('touchstart', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;if (e.touches.length === 2) {e.preventDefault();var dx = e.touches[0].clientX - e.touches[1].clientX;var dy = e.touches[0].clientY - e.touches[1].clientY;initialDistance = Math.sqrt(dx * dx + dy * dy);var rect = wrapper.getBoundingClientRect();lastCenterX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;lastCenterY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;hasPanned = true;} else if (e.touches.length === 1 && scale > 1) {if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;isPanning = true;hasPanned = false;lastClientX = e.touches[0].clientX;lastClientY = e.touches[0].clientY;}}, { passive: false });wrapper.addEventListener('touchmove', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;if (e.touches.length === 2 && initialDistance !== null) {e.preventDefault();var dx = e.touches[0].clientX - e.touches[1].clientX;var dy = e.touches[0].clientY - e.touches[1].clientY;var distance = Math.sqrt(dx * dx + dy * dy);if (initialDistance > 0) {var zoomFactor = distance / initialDistance;var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));var rect = wrapper.getBoundingClientRect();var centerX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;var centerY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;var ratio = newScale / scale;panX = centerX - (centerX - panX) * ratio;panY = centerY - (centerY - panY) * ratio;if (lastCenterX !== null && lastCenterY !== null) {panX += (centerX - lastCenterX);panY += (centerY - lastCenterY);}scale = newScale;lastCenterX = centerX;lastCenterY = centerY;constrainPan();updateTransform();}initialDistance = distance;} else if (e.touches.length === 1 && isPanning) {e.preventDefault();var dx = e.touches[0].clientX - lastClientX;var dy = e.touches[0].clientY - lastClientY;if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {hasPanned = true;}lastClientX = e.touches[0].clientX;lastClientY = e.touches[0].clientY;panX += dx;panY += dy;constrainPan();updateTransform();}}, { passive: false });wrapper.addEventListener('touchend', function(e) {if (e.touches.length < 2) {initialDistance = null;}if (e.touches.length === 0) {isPanning = false;}});function handleMove(clientX) {var rect = inner.getBoundingClientRect();var x = Math.max(0, Math.min(clientX - rect.left, rect.width));var percent = Math.max(0, Math.min((x / rect.width) * 100, 100));if (slider) slider.style.setProperty('left', percent + '%', 'important');if (fgImage) fgImage.style.setProperty('clip-path', 'polygon(0 0, ' + percent + '% 0, ' + percent + '% 100%, 0 100%)', 'important');if (labelLeft) {if (percent < 10) {labelLeft.style.setProperty('opacity', '0', 'important');} else {labelLeft.style.setProperty('opacity', '1', 'important');}}if (labelRight) {if (percent > 90) {labelRight.style.setProperty('opacity', '0', 'important');} else {labelRight.style.setProperty('opacity', '1', 'important');}}}function onMouseMove(e) {if (!isDragging) return;handleMove(e.clientX);}function onTouchMove(e) {if (!isDragging) return;e.preventDefault();handleMove(e.touches[0].clientX);}function stopDragging() {isDragging = false;window.removeEventListener('mousemove', onMouseMove);window.removeEventListener('mouseup', stopDragging);window.removeEventListener('touchmove', onTouchMove);window.removeEventListener('touchend', stopDragging);}if (slider) {var startDrag = function(clientX) {isDragging = true;handleMove(clientX);window.addEventListener('mousemove', onMouseMove);window.addEventListener('mouseup', stopDragging);};var startTouchDrag = function(clientX) {isDragging = true;handleMove(clientX);window.addEventListener('touchmove', onTouchMove, { passive: false });window.addEventListener('touchend', stopDragging);};slider.addEventListener('mousedown', function(e) {e.preventDefault();startDrag(e.clientX);});slider.addEventListener('touchstart', function(e) {e.preventDefault();startTouchDrag(e.touches[0].clientX);}, { passive: false });}var expandBtn = wrapper.querySelector('.fv-image-compare-expand-btn');var closeBtn = wrapper.querySelector('.fv-image-compare-close-btn');if (expandBtn) {if (window !== window.parent) {expandBtn.style.display = 'none';} else {expandBtn.addEventListener('click', function(e) {e.stopPropagation();wrapper.classList.add('fv-image-compare-fullscreen');document.body.style.overflow = 'hidden';if (fgImage && fgImage.dataset.highresSrc) {fgImage.src = fgImage.dataset.highresSrc;fgImage.removeAttribute('srcset');fgImage.removeAttribute('sizes');}if (bgImage && bgImage.dataset.highresSrc) {bgImage.src = bgImage.dataset.highresSrc;bgImage.removeAttribute('srcset');bgImage.removeAttribute('sizes');}});}}if (closeBtn) {closeBtn.addEventListener('click', function(e) {e.stopPropagation();wrapper.classList.remove('fv-image-compare-fullscreen');document.body.style.overflow = '';updateTransform();});}document.addEventListener('keydown', function(e) {if (e.key === 'Escape' && wrapper.classList.contains('fv-image-compare-fullscreen')) {wrapper.classList.remove('fv-image-compare-fullscreen');document.body.style.overflow = '';updateTransform();}});});var hotspots = chartWrapper.querySelectorAll('.fv-stl-hotspot-btn');var allProductsModal = chartWrapper.querySelector('.fv-stl-all-products-modal');var shopAllBtn = chartWrapper.querySelector('.fv-stl-shop-all-btn');var allProductsList = chartWrapper.querySelector('.fv-stl-all-products-list');var stlContainer = chartWrapper.querySelector('.fv-stl-container');function closeAllModals() {if (allProductsModal) {allProductsModal.classList.remove('is-active');var items = allProductsModal.querySelectorAll('.fv-stl-all-products-item');items.forEach(function(item) {item.classList.remove('is-highlighted');});if (stlContainer) {setTimeout(function() {if (!allProductsModal.classList.contains('is-active')) {stlContainer.style.minHeight = '';if ('parentIFrame' in window) {window.parentIFrame.size();}}}, 300);}}hotspots.forEach(function(btn) { btn.setAttribute('aria-expanded', 'false'); });if ('parentIFrame' in window) {window.parentIFrame.size();}}hotspots.forEach(function(btn) {btn.addEventListener('click', function(e) {e.stopPropagation();var hotspotId = btn.getAttribute('data-hotspot-id');var isExpanded = btn.getAttribute('aria-expanded') === 'true';closeAllModals();if (!isExpanded && allProductsModal) {btn.setAttribute('aria-expanded', 'true');allProductsModal.classList.add('is-active');var container = btn.closest('.fv-stl-container');if (container && container.offsetHeight < 450) {container.style.minHeight = '450px';}var targetItem = allProductsModal.querySelector('.fv-stl-all-products-item[data-product-id="' + hotspotId + '"]');if (targetItem) {targetItem.classList.add('is-highlighted');setTimeout(function() {targetItem.scrollIntoView({ behavior: 'smooth', block: 'center' });}, 100);}if ('parentIFrame' in window) {window.parentIFrame.size();}}});});if (shopAllBtn && allProductsModal) {shopAllBtn.addEventListener('click', function(e) {e.stopPropagation();closeAllModals();allProductsModal.classList.add('is-active');var container = shopAllBtn.closest('.fv-stl-container');if (container && container.offsetHeight < 450) {container.style.minHeight = '450px';}if ('parentIFrame' in window) {window.parentIFrame.size();}});}if (allProductsModal) {var closeAllBtn = allProductsModal.querySelector('.fv-stl-all-products-close');if (closeAllBtn) {closeAllBtn.addEventListener('click', function(e) {e.stopPropagation();closeAllModals();});}}chartWrapper.addEventListener('click', function(e) {if (!e.target.closest('.fv-stl-all-products-content')) {closeAllModals();}});if (allProductsModal) {allProductsModal.addEventListener('click', function(e) {if (!e.target.closest('.fv-stl-all-products-content')) {closeAllModals();}});}var iaNodes = chartWrapper.querySelectorAll('.fv-ia-node-button');var iaWrapper = chartWrapper.querySelector('.fv-ia-wrapper');var originalCaption = chartWrapper.querySelector('.fv-original-caption') || captionEl;var dynamicCaption = chartWrapper.querySelector('.fv-ia-dynamic-caption');var exploreBtn = chartWrapper.querySelector('.fv-ia-explore-btn');var currentIaIndex = -1;function closeAllIANodes() {iaNodes.forEach(function(btn) { btn.classList.remove('is-active'); });if (originalCaption) originalCaption.style.display = 'block';if (dynamicCaption) dynamicCaption.style.display = 'none';}function resetExploreBtn() {currentIaIndex = -1;if (exploreBtn) {var exploreSpan = exploreBtn.querySelector('span');if (exploreSpan) exploreSpan.textContent = 'Explore';}}iaNodes.forEach(function(btn, index) {btn.addEventListener('click', function(e) {e.stopPropagation();var isActive = btn.classList.contains('is-active');closeAllIANodes();if (!isActive) {currentIaIndex = index;if (exploreBtn) {var exploreSpan = exploreBtn.querySelector('span');if (exploreSpan) exploreSpan.textContent = 'Next';}btn.classList.add('is-active');if (dynamicCaption) {var title = btn.getAttribute('data-title') || '';var desc = btn.getAttribute('data-desc') || '';dynamicCaption.innerHTML = '';var strongTag = document.createElement('strong');strongTag.textContent = title;dynamicCaption.appendChild(strongTag);if (desc) {dynamicCaption.appendChild(document.createTextNode(' - ' + desc));}if (originalCaption) originalCaption.style.display = 'none';dynamicCaption.style.display = 'block';if (footerContentEl) footerContentEl.style.display = 'block';}} else {resetExploreBtn();}});});if (exploreBtn) {exploreBtn.addEventListener('click', function(e) {e.stopPropagation();if (iaNodes.length === 0) return;var nextIndex = currentIaIndex + 1;if (nextIndex >= iaNodes.length) {closeAllIANodes();resetExploreBtn();} else {currentIaIndex = nextIndex;var targetBtn = iaNodes[currentIaIndex];if (targetBtn) {if(targetBtn.classList.contains('is-active')) {targetBtn.click();}targetBtn.click();}}});}if (iaWrapper) {iaWrapper.addEventListener('click', function(e) {if (!e.target.closest('.fv-ia-node-button') && !e.target.closest('.fv-ia-explore-btn')) {closeAllIANodes();resetExploreBtn();}});}window.fvAnimateCharts(chartWrapper);var countdownContainer = chartWrapper.querySelector('.fv-countdown-container');if (countdownContainer) {var targetDateAttr = countdownContainer.getAttribute('data-target-date');if (targetDateAttr) {var targetDate = new Date(targetDateAttr);var primaryColor = countdownContainer.getAttribute('data-primary-color') || '#f97316';var subheadColor = countdownContainer.getAttribute('data-subhead-color') || '#ffffff';var pad = function(n) { return (n < 10 ? '0' : '') + n; };var updateCountdown = function() {var difference = +targetDate - +new Date();var d = 0, h = 0, m = 0, s = 0;if (difference > 0) {d = Math.floor(difference / (1000 * 60 * 60 * 24));h = Math.floor((difference / (1000 * 60 * 60)) % 24);m = Math.floor((difference / 1000 / 60) % 60);s = Math.floor((difference / 1000) % 60);}var daysEl = countdownContainer.querySelector('[data-time="days"]');var hoursEl = countdownContainer.querySelector('[data-time="hours"]');var minsEl = countdownContainer.querySelector('[data-time="minutes"]');var secsEl = countdownContainer.querySelector('[data-time="seconds"]');if (daysEl) daysEl.textContent = d;if (hoursEl) hoursEl.textContent = pad(h);if (minsEl) minsEl.textContent = pad(m);if (secsEl) secsEl.textContent = pad(s);};updateCountdown();setInterval(updateCountdown, 1000);}}}if (false) {var slideshowContainer = document.getElementById(uniqueId + '-slideshow');if (slideshowContainer) {var slides = slideshowContainer.querySelectorAll('.fv-slide');slides.forEach(function(slide) {setupWrapper(slide.querySelector('.fv-chart-wrapper'));});}} else {setupWrapper(root);}}if (document.readyState === 'loading') {document.addEventListener('DOMContentLoaded', function() { initialize('fv-chart-1789662423095-ng0fonoi0', false); });} else {initialize('fv-chart-1789662423095-ng0fonoi0', false);}})();</script></div><p>As with all robotic vacuums, I had to manually adjust the E35’s map slightly, repositioning some walls and naming each of the rooms. It’s not really a failing of the vision system, just a part of the setup process. That said, the robot mistakenly added an enormous room to the sides of my kitchen and living room that doesn’t really exist. I imagine it saw through to the garden and decided that was part of the floor plan, but frustratingly phantom rooms can’t be deleted, so I binned the entire map and started again. The second map was created accurately, and remained so throughout the rest of my month-long test.</p><p>The headline figure for this robot is its 35,000 Pa of maximum suction power. This is actually 5,000 Pa more than the flagship Omni S2, and provides fantastic results on carpet and hard floors alike. Going back to my X10 Pro again – a vacuum that I awarded four stars just two years ago, and launched at £800 / $800 – and that manages just 8,000 Pa, a quarter of the new E35.</p><p>The result of all that power is deeply impressive cleaning performance. The vacuuming is especially good, with carpets visibly cleaner after using Max mode. It’s probably overkill for a little-and-often cleaning schedule, but if the battery can survive a full carpet vacuum in Max mode, why wouldn’t you use it?</p><div class="vizualizer-embed"><style>@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap');#fv-chart-1789662435817-p844seqfk *, #fv-chart-1789662435817-p844seqfk *:before, #fv-chart-1789662435817-p844seqfk *:after, #fv-chart-1789662435817-p844seqfk-slideshow *, #fv-chart-1789662435817-p844seqfk-slideshow *:before, #fv-chart-1789662435817-p844seqfk-slideshow *:after {box-sizing: border-box !important; margin: 0; padding: 0; border: 0;font-size: 100%; font: inherit; vertical-align: baseline;}#fv-chart-1789662435817-p844seqfk, #fv-chart-1789662435817-p844seqfk-slideshow { font-family: 'Open Sans', sans-serif !important; }#fv-chart-1789662435817-p844seqfk {position: relative !important; overflow: visible !important;--riv-primary: #2E6E93;}#fv-chart-1789662435817-p844seqfk .fv-inner-wrapper {color: #1F2937 !important; background-color: #ffffff !important;padding: 1.5rem 1.5rem 2rem !important; border-radius: 0.5rem !important;box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important;margin: 1rem 0 !important; display: flex !important; flex-direction: column !important;overflow: hidden !important;}#fv-chart-1789662435817-p844seqfk .fv-inner-wrapper.fv-no-header.fv-is-image-compare {padding-top: 0 !important;}#fv-chart-1789662435817-p844seqfk.fv-full-bleed {width: 100vw !important;margin-left: calc(50% - 50vw) !important;}body {overflow-x: clip !important;}#fv-chart-1789662435817-p844seqfk.fv-full-bleed .fv-inner-wrapper {padding: 0 !important;border-radius: 0 !important;box-shadow: none !important;margin: 0 !important;background-color: transparent !important;}#fv-chart-1789662435817-p844seqfk .fv-inner-wrapper.fv-is-shop-the-look {padding: 0 !important;border-radius: 0 !important;box-shadow: none !important;margin: 0 !important;background-color: transparent !important;}#fv-chart-1789662435817-p844seqfk-slideshow {position: relative !important;width: 100% !important;margin: 1rem 0 !important;--riv-primary: #2E6E93;}#fv-chart-1789662435817-p844seqfk-slideshow .fv-slides-wrapper {position: relative !important;width: 100% !important;}#fv-chart-1789662435817-p844seqfk-slideshow .fv-slide {width: 100% !important;animation: fv-fade-in 0.3s ease-in-out;}@keyframes fv-fade-in {from { opacity: 0; }to { opacity: 1; }}#fv-chart-1789662435817-p844seqfk-slideshow .fv-slideshow-nav-row {position: relative !important;display: flex !important;justify-content: space-between !important;align-items: center !important;padding: 0 0 16px 0 !important;width: 100% !important;z-index: 20 !important;}#fv-chart-1789662435817-p844seqfk-slideshow .fv-nav-btn {background-color: var(--riv-primary) !important;color: #ffffff !important;border: none !important;border-radius: 4px !important;padding: 8px 16px !important;font-size: 14px !important;font-weight: 700 !important;cursor: pointer !important;display: flex !important;align-items: center !important;justify-content: center !important;gap: 6px !important;transition: opacity 0.2s, background-color 0.2s !important;height: 36px !important;text-transform: none !important;box-shadow: 0 1px 2px rgba(0,0,0,0.1) !important;}#fv-chart-1789662435817-p844seqfk-slideshow .fv-nav-btn svg {width: 18px !important;height: 18px !important;stroke-width: 3px !important;filter: none !important;}#fv-chart-1789662435817-p844seqfk-slideshow .fv-nav-btn:hover {opacity: 0.9 !important;transform: translateY(-1px) !important;}#fv-chart-1789662435817-p844seqfk-slideshow .fv-nav-btn.disabled {background-color: #E5E7EB !important;color: #9CA3AF !important;cursor: default !important;pointer-events: none !important;box-shadow: none !important;}#fv-chart-1789662435817-p844seqfk-slideshow .fv-slide-counter {font-family: 'Poppins', sans-serif !important;font-size: 14px !important;font-weight: 600 !important;color: #374151 !important;text-align: center !important;min-width: 40px !important;background-color: rgba(255,255,255,0.8) !important;padding: 2px 8px !important;border-radius: 10px !important;}#fv-chart-1789662435817-p844seqfk-slideshow .fv-slideshow-select {position: absolute !important;top: 10px !important;right: 10px !important;z-index: 20 !important;appearance: none !important;-webkit-appearance: none !important;-moz-appearance: none !important;background-color: white !important;border: 1px solid #d1d5db !important;color: #1F2937 !important;font-family: 'Open Sans', sans-serif !important;font-size: 14px !important;font-weight: 600 !important;padding: 6px 32px 6px 12px !important;border-radius: 4px !important;cursor: pointer !important;box-shadow: 0 1px 2px rgba(0,0,0,0.05) !important;background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e") !important;background-position: right 0.5rem center !important;background-repeat: no-repeat !important;background-size: 1.5em 1.5em !important;}#fv-chart-1789662435817-p844seqfk-slideshow .fv-slideshow-select:focus {outline: 2px solid #2E6E93 !important;border-color: #2E6E93 !important;}#fv-chart-1789662435817-p844seqfk .fv-chart-title {font-weight: bold !important;text-align: center !important;margin-bottom: 0.5rem !important;color: var(--riv-primary) !important;font-size: 20px !important;line-height: 1.2 !important;font-family: 'Open Sans', sans-serif !important;text-transform: none !important;white-space: normal !important;overflow-wrap: break-word !important;padding: 0 20px !important;}#fv-chart-1789662435817-p844seqfk .fv-chart-subhead {font-size: 18px !important;font-weight: 500 !important;text-align: center !important;margin-bottom: 2rem !important;color: #374151 !important;line-height: 1.7 !important;font-family: 'Open Sans', sans-serif !important;display: block !important;text-transform: none !important;padding: 0 20px !important;}#fv-chart-1789662435817-p844seqfk .rv-chart-caption { font-size: 15px !important; color: #374151 !important; text-align: center !important; font-style: normal !important; font-weight: normal !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; }#fv-chart-1789662435817-p844seqfk .fv-versus-chart { display: flex; flex-direction: column; width: 100%; margin-top: 1rem; }#fv-chart-1789662435817-p844seqfk .fv-versus-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding: 0 1rem; }#fv-chart-1789662435817-p844seqfk .fv-versus-select-wrapper { flex: 1; min-width: 0; }#fv-chart-1789662435817-p844seqfk .fv-versus-select-wrapper.fv-left { text-align: center; padding-right: 1rem; }#fv-chart-1789662435817-p844seqfk .fv-versus-select-wrapper.fv-right { text-align: center; padding-left: 1rem; }#fv-chart-1789662435817-p844seqfk .fv-versus-select-container { position: relative; display: inline-block; max-width: 100%; width: 100%; }#fv-chart-1789662435817-p844seqfk .fv-versus-chevron { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; width: 16px; height: 16px; flex-shrink: 0; }#fv-chart-1789662435817-p844seqfk .fv-versus-select-wrapper.fv-left .fv-versus-chevron { right: 0; }#fv-chart-1789662435817-p844seqfk .fv-versus-select-wrapper.fv-right .fv-versus-chevron { right: 0; }#fv-chart-1789662435817-p844seqfk .fv-versus-select { background: transparent; border: none; border-bottom: 2px solid; font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; padding: 0.25rem 0; cursor: pointer; outline: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; max-width: 100%; width: 100%; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; }#fv-chart-1789662435817-p844seqfk .fv-versus-select.fv-select-left { text-align: center; direction: ltr; padding-right: 1.25rem; }#fv-chart-1789662435817-p844seqfk .fv-versus-select.fv-select-right { text-align: center; padding-right: 1.25rem; }#fv-chart-1789662435817-p844seqfk .fv-versus-select option { font-family: 'Open Sans', sans-serif; font-weight: 400; font-size: 14px; color: #374151; direction: ltr; text-align: left; }#fv-chart-1789662435817-p844seqfk .fv-versus-vs { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; color: #374151; letter-spacing: 0.1em; padding: 0 1rem; }#fv-chart-1789662435817-p844seqfk .fv-versus-body { display: flex; flex-direction: column; gap: 1.5rem; }#fv-chart-1789662435817-p844seqfk .fv-versus-row { position: relative; height: auto; padding-top: 20px; margin-bottom: 0.25rem; display: block; }#fv-chart-1789662435817-p844seqfk .fv-versus-bar-container { position: relative; height: 32px; display: flex; align-items: center; }#fv-chart-1789662435817-p844seqfk .fv-versus-bar-left-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-end; align-items: center; }#fv-chart-1789662435817-p844seqfk .fv-versus-bar-right-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-start; align-items: center; }#fv-chart-1789662435817-p844seqfk .fv-versus-bar { height: 32px; width: var(--target-width); transition: width 0.8s ease-out; animation: fv-grow-max-width 0.8s ease-out forwards; display: flex; align-items: center; overflow: hidden; color: #ffffff; }#fv-chart-1789662435817-p844seqfk .fv-versus-bar-left { border-radius: 4px 0 0 4px; justify-content: flex-end; padding: 0 8px; }#fv-chart-1789662435817-p844seqfk .fv-versus-bar-right { border-radius: 0 4px 4px 0; justify-content: flex-start; padding: 0 8px; }@keyframes fv-grow-max-width {from { max-width: 0; }to { max-width: 100%; }}#fv-chart-1789662435817-p844seqfk .fv-versus-center-line { position: absolute; left: 50%; top: 0; bottom: 0; width: 4px; background-color: #ffffff; transform: translateX(-50%); z-index: 1; }#fv-chart-1789662435817-p844seqfk .fv-inside-left { white-space: nowrap; flex-shrink: 0; }#fv-chart-1789662435817-p844seqfk .fv-inside-right { white-space: nowrap; flex-shrink: 0; }#fv-chart-1789662435817-p844seqfk .fv-versus-val-text { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; }#fv-chart-1789662435817-p844seqfk .fv-versus-pct-diff { font-size: 12px; font-weight: 600; }#fv-chart-1789662435817-p844seqfk .fv-versus-label { position: absolute; left: 50%; transform: translateX(-50%); top: 0; background-color: transparent; border: none; box-shadow: none; padding: 0; font-family: 'Open Sans', sans-serif; font-weight: 700; font-size: 14px; color: #374151; white-space: nowrap; }#fv-chart-1789662435817-p844seqfk .sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }#fv-chart-1789662435817-p844seqfk .fv-image-compare-container { width: auto !important; margin-left: -1.5rem !important; margin-right: -1.5rem !important; margin-bottom: 2rem !important; }#fv-chart-1789662435817-p844seqfk.fv-full-bleed .fv-image-compare-container { width: 100% !important; max-width: none !important; margin: 0 auto !important; }#fv-chart-1789662435817-p844seqfk .fv-image-compare-wrapper { position: relative !important; width: 100% !important; overflow: hidden !important; border-radius: 0 !important; background-color: #000 !important; touch-action: pan-y !important; user-select: none !important; -webkit-user-select: none !important; }#fv-chart-1789662435817-p844seqfk .fv-image-compare-inner { position: relative !important; width: 100% !important; height: 100% !important; display: block !important; transform-origin: center center !important; transition: transform 0.1s ease-out !important; }#fv-chart-1789662435817-p844seqfk .fv-image-compare-bg { display: block !important; width: 100% !important; height: auto !important; pointer-events: none !important; user-select: none !important; -webkit-user-select: none !important; -webkit-user-drag: none !important; }#fv-chart-1789662435817-p844seqfk .fv-image-compare-fg { position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; object-fit: cover !important; clip-path: polygon(0 0, 50% 0, 50% 100%, 0 100%) !important; pointer-events: none !important; user-select: none !important; -webkit-user-select: none !important; -webkit-user-drag: none !important; }#fv-chart-1789662435817-p844seqfk .fv-image-compare-slider { position: absolute !important; top: 0 !important; bottom: 0 !important; left: 50% !important; width: 32px !important; transform: translateX(-50%) !important; cursor: ew-resize !important; z-index: 10 !important; user-select: none !important; -webkit-user-select: none !important; }#fv-chart-1789662435817-p844seqfk .fv-image-compare-slider-line { position: absolute !important; top: 0 !important; bottom: 0 !important; left: 50% !important; width: 4px !important; background-color: white !important; transform: translateX(-50%) !important; box-shadow: 0 0 10px rgba(0,0,0,0.5) !important; pointer-events: none !important; }#fv-chart-1789662435817-p844seqfk .fv-image-compare-handle { position: absolute !important; top: 50% !important; left: 50% !important; transform: translate(-50%, -50%) !important; width: 32px !important; height: 32px !important; background-color: white !important; border-radius: 50% !important; box-shadow: 0 2px 6px rgba(0,0,0,0.3) !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 4px !important; pointer-events: none !important; z-index: 11 !important; overflow: hidden !important; }#fv-chart-1789662435817-p844seqfk .fv-image-compare-handle.fv-image-compare-handle-square { border-radius: 6px !important; }#fv-chart-1789662435817-p844seqfk .fv-image-compare-arrow-left { width: 0 !important; height: 0 !important; border-top: 4px solid transparent !important; border-bottom: 4px solid transparent !important; border-right: 4px solid #4b5563 !important; }#fv-chart-1789662435817-p844seqfk .fv-image-compare-arrow-right { width: 0 !important; height: 0 !important; border-top: 4px solid transparent !important; border-bottom: 4px solid transparent !important; border-left: 4px solid #4b5563 !important; }#fv-chart-1789662435817-p844seqfk .fv-image-compare-label { position: absolute !important; top: 1rem !important; background-color: rgba(0, 0, 0, 0.5) !important; color: white !important; padding: 0.25rem 0.75rem !important; border-radius: 0.25rem !important; font-size: 0.875rem !important; font-weight: 500 !important; pointer-events: none !important; backdrop-filter: blur(4px) !important; z-index: 5 !important; transition: right 0.3s ease, opacity 0.2s ease !important; }#fv-chart-1789662435817-p844seqfk .fv-image-compare-label-left { left: 1rem !important; }#fv-chart-1789662435817-p844seqfk .fv-image-compare-label-right { right: 1rem !important; }#fv-chart-1789662435817-p844seqfk .fv-image-compare-expand-btn, #fv-chart-1789662435817-p844seqfk .fv-image-compare-close-btn { position: absolute !important; bottom: 1rem !important; right: 1rem !important; background-color: rgba(0, 0, 0, 0.5) !important; color: white !important; border: none !important; border-radius: 0.25rem !important; padding: 0.5rem !important; cursor: pointer !important; z-index: 20 !important; display: flex !important; align-items: center !important; justify-content: center !important; backdrop-filter: blur(4px) !important; transition: background-color 0.2s !important; }#fv-chart-1789662435817-p844seqfk .fv-image-compare-expand-btn:hover, #fv-chart-1789662435817-p844seqfk .fv-image-compare-close-btn:hover { background-color: rgba(0, 0, 0, 0.7) !important; }#fv-chart-1789662435817-p844seqfk .fv-image-compare-close-btn { display: none !important; top: 1rem !important; bottom: auto !important; }#fv-chart-1789662435817-p844seqfk .fv-image-compare-wrapper.fv-image-compare-fullscreen { position: fixed !important; top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important; width: 100% !important; height: 100% !important; z-index: 999999 !important; display: flex !important; align-items: center !important; justify-content: center !important; background-color: rgba(0, 0, 0, 0.9) !important; margin: 0 !important; touch-action: none !important; }#fv-chart-1789662435817-p844seqfk .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-inner { width: 100% !important; height: 100% !important; display: flex !important; align-items: center !important; justify-content: center !important; cursor: grab !important; }#fv-chart-1789662435817-p844seqfk .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-inner:active { cursor: grabbing !important; }#fv-chart-1789662435817-p844seqfk .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-bg { position: absolute !important; top: 0 !important; left: 0 !important; max-width: 100% !important; max-height: 100% !important; width: 100% !important; height: 100% !important; object-fit: contain !important; }#fv-chart-1789662435817-p844seqfk .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-fg { max-width: 100% !important; max-height: 100% !important; width: 100% !important; height: 100% !important; object-fit: contain !important; }#fv-chart-1789662435817-p844seqfk .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-expand-btn { display: none !important; }#fv-chart-1789662435817-p844seqfk .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-close-btn { display: flex !important; }#fv-chart-1789662435817-p844seqfk .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-label-right { right: 4rem !important; }#fv-chart-1789662435817-p844seqfk .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; }#fv-chart-1789662435817-p844seqfk .fv-footer-content { text-align: center !important; width: 100% !important; }#fv-chart-1789662435817-p844seqfk .fv-logo {display: block !important;margin: 0 auto !important;width: 120px !important;min-width: 120px !important;max-width: 120px !important;height: auto !important;object-fit: contain !important;flex-shrink: 0 !important;}#fv-chart-1789662435817-p844seqfk .fv-dropdown-wrapper { text-align: center !important; margin-bottom: 16px !important; margin-top: 0 !important; }#fv-chart-1789662435817-p844seqfk .fv-dropdown-title-container { position: relative !important; display: inline-block !important; max-width: 100% !important; }#fv-chart-1789662435817-p844seqfk .fv-dropdown-title {appearance: none !important;-webkit-appearance: none !important;-moz-appearance: none !important;background: transparent !important;border: none !important;font-size: 18px !important;font-weight: 600 !important;color: var(--riv-primary) !important;padding-right: 28px !important;padding-left: 10px !important;cursor: pointer !important;text-align: center !important;text-align-last: center !important;width: auto !important;max-width: 100% !important;font-family: 'Open Sans', sans-serif !important;line-height: 1.3 !important;margin: 0 !important;text-overflow: ellipsis !important;overflow: hidden !important;white-space: nowrap !important;}#fv-chart-1789662435817-p844seqfk .fv-dropdown-title:focus { outline: none !important; }#fv-chart-1789662435817-p844seqfk .fv-dropdown-title::-ms-expand { display: none !important; }#fv-chart-1789662435817-p844seqfk .fv-dropdown-chevron {position: absolute !important;right: 0 !important;top: 50% !important;transform: translateY(-50%) !important;pointer-events: none !important;color: var(--riv-primary) !important;display: flex !important;align-items: center !important;}#fv-chart-1789662435817-p844seqfk .fv-carousel-title-controls { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 16px !important; width: 100% !important; gap: 12px !important; }#fv-chart-1789662435817-p844seqfk .fv-carousel-nav-btn {background: transparent !important; border: 1px solid #d1d5db !important; border-radius: 6px !important; padding: 6px 10px !important;cursor: pointer !important; font-size: 14px !important; color: #374151 !important; display: flex !important; align-items: center !important; gap: 4px !important; font-family: 'Open Sans', sans-serif !important;}#fv-chart-1789662435817-p844seqfk .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; }#fv-chart-1789662435817-p844seqfk .fv-carousel-counter { font-size: 14px !important; color: #374151 !important; text-align: center !important; margin-top: 1rem !important; }#fv-chart-1789662435817-p844seqfk .fv-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 8px 16px !important; margin: 0 !important; padding: 0 !important; margin-top: 1rem !important; }#fv-chart-1789662435817-p844seqfk .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #374151 !important; }#fv-chart-1789662435817-p844seqfk .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; }#fv-chart-1789662435817-p844seqfk .fv-multi-value-legend {display: flex !important;justify-content: center !important;flex-wrap: wrap !important;gap: 12px 24px !important;margin-bottom: 1.5rem !important;padding: 0 !important;}#fv-chart-1789662435817-p844seqfk .fv-multi-legend-item { display: flex !important; align-items: center !important; gap: 8px !important; font-size: 14px !important; color: #374151 !important; font-weight: 500 !important; }#fv-chart-1789662435817-p844seqfk .fv-multi-legend-swatch { width: 16px !important; height: 16px !important; border-radius: 3px !important; }#fv-chart-1789662435817-p844seqfk .fv-benchmark-group { margin-bottom: 1rem !important; }#fv-chart-1789662435817-p844seqfk .fv-benchmark-title {font-size: 18px !important; font-weight: 600 !important; margin-bottom: 16px !important; margin-top: 0 !important; padding: 0 !important;text-align: center !important; color: var(--riv-primary) !important; flex: 1 !important; min-width: 0 !important;font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important;text-transform: none !important;white-space: normal !important;overflow-wrap: break-word !important;word-wrap: break-word !important;max-width: 100% !important;}#fv-chart-1789662435817-p844seqfk .fv-bar-row, #fv-chart-1789662435817-p844seqfk .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; position: relative !important; }#fv-chart-1789662435817-p844seqfk .fv-bar-label { width: 150px !important; flex-shrink: 0 !important; font-size: 14px !important; color: #374151 !important; padding-right: 10px !important; text-align: right !important; font-weight: 500 !important; display: block !important; }#fv-chart-1789662435817-p844seqfk .fv-bar-container { flex-grow: 1 !important; background-color: #E5E7EB !important; border-radius: 4px !important; min-height: 25px !important; border: 1px solid #D1D5DB !important; position: relative !important; display: flex !important; align-items: center !important; }#fv-chart-1789662435817-p844seqfk .fv-bar-commentary-inline { display: none !important; position: absolute !important; left: 150px !important; top: 0 !important; bottom: 0 !important; right: 0 !important; width: calc(100% - 150px) !important; margin: 0 !important; padding: 0 8px !important; font-size: 13px !important; color: #fff !important; background: rgba(0,0,0,0.8) !important; border-radius: 4px !important; line-height: 1.4 !important; font-weight: normal !important; text-transform: none !important; word-wrap: break-word !important; z-index: 10 !important; align-items: center !important; overflow-y: auto !important; }#fv-chart-1789662435817-p844seqfk.preview-wrapper .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1789662435817-p844seqfk.preview-wrapper .fv-bar-commentary-inline:focus, #fv-chart-1789662435817-p844seqfk.preview-wrapper .fv-bar-commentary-inline:focus-within, #fv-chart-1789662435817-p844seqfk.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1789662435817-p844seqfk.mobile-view .fv-bar-commentary-inline:focus, #fv-chart-1789662435817-p844seqfk.mobile-view .fv-bar-commentary-inline:focus-within { display: flex !important; }#fv-chart-1789662435817-p844seqfk .fv-bar { height: 100% !important; border-radius: 3px !important; display: flex !important; align-items: center !important; transition: opacity 0.2s ease, width 0.8s ease-out !important; min-height: 23px !important; }#fv-chart-1789662435817-p844seqfk .fv-bar:hover { opacity: 0.8 !important; }#fv-chart-1789662435817-p844seqfk .fv-bar-inner-content { display: flex !important; justify-content: space-between !important; align-items: center !important; width: 100% !important; height: 100% !important; padding: 0 8px !important; font-size: 14px !important; font-weight: bold !important; overflow: hidden !important; }#fv-chart-1789662435817-p844seqfk .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; }#fv-chart-1789662435817-p844seqfk .fv-bar-inner-value { flex-shrink: 0 !important; }#fv-chart-1789662435817-p844seqfk .fv-bar-value-outside { padding-left: 8px !important; font-size: 14px !important; font-weight: bold !important; color: #374151 !important; white-space: nowrap !important; }#fv-chart-1789662435817-p844seqfk .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; }#fv-chart-1789662435817-p844seqfk .fv-multi-bar-container { flex-direction: column !important; padding: 4px !important; align-items: stretch !important; gap: 4px !important; height: auto !important; }#fv-chart-1789662435817-p844seqfk .fv-multi-bar-item { display: flex !important; align-items: center !important; height: 25px !important; width: 100% !important; }#fv-chart-1789662435817-p844seqfk .fv-stacked-bar { display: flex !important; overflow: hidden !important; }#fv-chart-1789662435817-p844seqfk .fv-stacked-segment { height: 100% !important; display: flex !important; align-items: center !important; justify-content: flex-end !important; padding-right: 8px !important; border-right: 1px solid rgba(255,255,255,0.3) !important; }#fv-chart-1789662435817-p844seqfk .fv-stacked-segment:last-child { border-right: none !important; }#fv-chart-1789662435817-p844seqfk .fv-segment-value { font-size: 14px !important; font-weight: bold !important; }#fv-chart-1789662435817-p844seqfk .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; }#fv-chart-1789662435817-p844seqfk .fv-grouped-product-title-wrapper { padding-left: 150px !important; }#fv-chart-1789662435817-p844seqfk .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.5rem !important; font-weight: 700 !important; font-size: 14px !important; color: #374151 !important; text-transform: none !important; }#fv-chart-1789662435817-p844seqfk .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; }#fv-chart-1789662435817-p844seqfk .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; }#fv-chart-1789662435817-p844seqfk .fv-bar-cluster .fv-bar-container { height: 20px !important; }#fv-chart-1789662435817-p844seqfk .riv-grid line {stroke: #D1D5DB !important;stroke-dasharray: 3 3 !important;}#fv-chart-1789662435817-p844seqfk .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; }#fv-chart-1789662435817-p844seqfk .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; }#fv-chart-1789662435817-p844seqfk .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; }#fv-chart-1789662435817-p844seqfk .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; }#fv-chart-1789662435817-p844seqfk .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; }#fv-chart-1789662435817-p844seqfk .fv-x-axis-ticks { display: flex !important; justify-content: space-between !important; padding-top: 4px !important; font-size: 13px !important; color: #374151 !important; }#fv-chart-1789662435817-p844seqfk .fv-x-axis-ticks span { position: relative !important; }#fv-chart-1789662435817-p844seqfk .fv-x-axis-ticks span::before { content: '' !important; position: absolute !important; top: -6px !important; left: 50% !important; transform: translateX(-50%) !important; width: 2px !important; height: 4px !important; background-color: #D1D5DB !important; border-radius: 1px !important; }#fv-chart-1789662435817-p844seqfk .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #374151 !important; margin-top: 8px !important; display: block !important; }#fv-chart-1789662435817-p844seqfk .fv-x-axis-title { text-align: center !important; font-size: 15px !important; color: #374151 !important; margin-top: 8px !important; margin-bottom: 16px !important; line-height: 1.5 !important; padding: 0 1rem !important; display: block !important; font-weight: bold !important; }#fv-chart-1789662435817-p844seqfk .fv-y-axis-title {font-size: 15px !important;color: #374151 !important;line-height: 1.5 !important;text-align: left !important;padding-left: 5.83% !important;margin-bottom: 4px !important;display: block !important;font-weight: bold !important;}#fv-chart-1789662435817-p844seqfk.mobile-view .fv-pie-container,#fv-chart-1789662435817-p844seqfk.labels-on-top .fv-pie-container {flex-direction: column !important; gap: 1rem !important;}#fv-chart-1789662435817-p844seqfk.mobile-view .fv-grouped-product-title-wrapper,#fv-chart-1789662435817-p844seqfk.labels-on-top .fv-grouped-product-title-wrapper {padding-left: 0 !important;}#fv-chart-1789662435817-p844seqfk.mobile-view .fv-bar-row,#fv-chart-1789662435817-p844seqfk.mobile-view .fv-stacked-product,#fv-chart-1789662435817-p844seqfk.mobile-view .fv-grouped-bar-product,#fv-chart-1789662435817-p844seqfk.labels-on-top .fv-bar-row,#fv-chart-1789662435817-p844seqfk.labels-on-top .fv-stacked-product,#fv-chart-1789662435817-p844seqfk.labels-on-top .fv-grouped-bar-product {flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important;}#fv-chart-1789662435817-p844seqfk.mobile-view .fv-bar-label:not(.fv-grouped-product-title),#fv-chart-1789662435817-p844seqfk.labels-on-top .fv-bar-label:not(.fv-grouped-product-title) {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1789662435817-p844seqfk.mobile-view .fv-bar-label,#fv-chart-1789662435817-p844seqfk.mobile-view .fv-grouped-product-title,#fv-chart-1789662435817-p844seqfk.labels-on-top .fv-bar-label,#fv-chart-1789662435817-p844seqfk.labels-on-top .fv-grouped-product-title {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1789662435817-p844seqfk.mobile-view .fv-bar-container,#fv-chart-1789662435817-p844seqfk.mobile-view .fv-bar-cluster,#fv-chart-1789662435817-p844seqfk.labels-on-top .fv-bar-container,#fv-chart-1789662435817-p844seqfk.labels-on-top .fv-bar-cluster {width: 100% !important;}#fv-chart-1789662435817-p844seqfk.mobile-view .fv-bar-row .fv-bar-commentary-inline,#fv-chart-1789662435817-p844seqfk.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline,#fv-chart-1789662435817-p844seqfk.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus,#fv-chart-1789662435817-p844seqfk.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus-within,#fv-chart-1789662435817-p844seqfk.labels-on-top .fv-bar-row .fv-bar-commentary-inline,#fv-chart-1789662435817-p844seqfk.labels-on-top .fv-bar-row:hover .fv-bar-commentary-inline,#fv-chart-1789662435817-p844seqfk.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus,#fv-chart-1789662435817-p844seqfk.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus-within {position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important;}#fv-chart-1789662435817-p844seqfk.mobile-view .fv-x-axis-wrapper,#fv-chart-1789662435817-p844seqfk.labels-on-top .fv-x-axis-wrapper {margin-left: 0 !important;}#fv-chart-1789662435817-p844seqfk.mobile-view .fv-x-axis-label-space,#fv-chart-1789662435817-p844seqfk.labels-on-top .fv-x-axis-label-space {display: none !important;}#fv-chart-1789662435817-p844seqfk.mobile-view .fv-x-axis-chart-space,#fv-chart-1789662435817-p844seqfk.labels-on-top .fv-x-axis-chart-space {padding-right: 0 !important;}#fv-chart-1789662435817-p844seqfk.mobile-view .fv-benchmark-title,#fv-chart-1789662435817-p844seqfk.labels-on-top .fv-benchmark-title {font-size: 16px !important;}#fv-chart-1789662435817-p844seqfk.mobile-view .fv-dropdown-title,#fv-chart-1789662435817-p844seqfk.labels-on-top .fv-dropdown-title {font-size: 16px !important;}#fv-chart-1789662435817-p844seqfk.mobile-view .fv-carousel-nav-btn,#fv-chart-1789662435817-p844seqfk.labels-on-top .fv-carousel-nav-btn {padding: 8px 12px !important; font-size: 14px !important;}#fv-chart-1789662435817-p844seqfk.mobile-view .fv-chart-title,#fv-chart-1789662435817-p844seqfk.labels-on-top .fv-chart-title {padding: 0 8px !important;}#fv-chart-1789662435817-p844seqfk.mobile-view .fv-chart-subhead,#fv-chart-1789662435817-p844seqfk.labels-on-top .fv-chart-subhead {padding: 0 8px !important;}#fv-chart-1789662435817-p844seqfk.mobile-view .fv-versus-header,#fv-chart-1789662435817-p844seqfk.labels-on-top .fv-versus-header {flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important;}#fv-chart-1789662435817-p844seqfk.mobile-view .fv-versus-select-wrapper,#fv-chart-1789662435817-p844seqfk.labels-on-top .fv-versus-select-wrapper {flex: 1 !important; min-width: 0 !important; width: 100% !important;}#fv-chart-1789662435817-p844seqfk.mobile-view .fv-versus-select-wrapper.fv-left,#fv-chart-1789662435817-p844seqfk.labels-on-top .fv-versus-select-wrapper.fv-left {text-align: center !important; padding-right: 0 !important;}#fv-chart-1789662435817-p844seqfk.mobile-view .fv-versus-select-wrapper.fv-right,#fv-chart-1789662435817-p844seqfk.labels-on-top .fv-versus-select-wrapper.fv-right {text-align: center !important; padding-left: 0 !important;}#fv-chart-1789662435817-p844seqfk.mobile-view .fv-versus-select.fv-select-left,#fv-chart-1789662435817-p844seqfk.labels-on-top .fv-versus-select.fv-select-left {text-align: center !important;}#fv-chart-1789662435817-p844seqfk.mobile-view .fv-versus-select.fv-select-right,#fv-chart-1789662435817-p844seqfk.labels-on-top .fv-versus-select.fv-select-right {text-align: center !important;}#fv-chart-1789662435817-p844seqfk.mobile-view .fv-versus-vs,#fv-chart-1789662435817-p844seqfk.labels-on-top .fv-versus-vs {text-align: center !important; padding: 0.25rem 0 !important;}#fv-chart-1789662435817-p844seqfk.mobile-view .fv-versus-select-container,#fv-chart-1789662435817-p844seqfk.labels-on-top .fv-versus-select-container {max-width: 100% !important; width: 100% !important;}#fv-chart-1789662435817-p844seqfk.mobile-view .fv-versus-select,#fv-chart-1789662435817-p844seqfk.labels-on-top .fv-versus-select {font-size: 14px !important; width: 100% !important;}#fv-chart-1789662435817-p844seqfk.mobile-view .fv-stl-shop-all-btn,#fv-chart-1789662435817-p844seqfk.labels-on-top .fv-stl-shop-all-btn {bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important;}#fv-chart-1789662435817-p844seqfk.mobile-view .fv-stl-shop-all-logo,#fv-chart-1789662435817-p844seqfk.mobile-view .fv-stl-shop-all-icon,#fv-chart-1789662435817-p844seqfk.labels-on-top .fv-stl-shop-all-logo,#fv-chart-1789662435817-p844seqfk.labels-on-top .fv-stl-shop-all-icon {width: 2rem !important; height: 2rem !important;}#fv-chart-1789662435817-p844seqfk.mobile-view .fv-stl-shop-all-icon svg,#fv-chart-1789662435817-p844seqfk.labels-on-top .fv-stl-shop-all-icon svg {width: 14px !important; height: 14px !important;}#fv-chart-1789662435817-p844seqfk.mobile-view .fv-bar-commentary-inline,#fv-chart-1789662435817-p844seqfk.labels-on-top .fv-bar-commentary-inline {display: block !important; margin-left: 0 !important; width: 100% !important;}#fv-chart-1789662435817-p844seqfk.mobile-view .fv-y-axis-title { padding-left: 5% !important;  }#fv-chart-1789662435817-p844seqfk.mobile-view.fv-contains-line-chart .fv-footer-content {margin-left: -1rem !important;margin-right: -1rem !important;}@media (max-width: 599px) {#fv-chart-1789662435817-p844seqfk .fv-pie-container {flex-direction: column !important; gap: 1rem !important;}#fv-chart-1789662435817-p844seqfk .fv-grouped-product-title-wrapper {padding-left: 0 !important;}#fv-chart-1789662435817-p844seqfk .fv-bar-row,#fv-chart-1789662435817-p844seqfk .fv-stacked-product,#fv-chart-1789662435817-p844seqfk .fv-grouped-bar-product {flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important;}#fv-chart-1789662435817-p844seqfk .fv-bar-label:not(.fv-grouped-product-title) {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1789662435817-p844seqfk .fv-bar-label,#fv-chart-1789662435817-p844seqfk .fv-grouped-product-title {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1789662435817-p844seqfk .fv-bar-container,#fv-chart-1789662435817-p844seqfk .fv-bar-cluster {width: 100% !important;}#fv-chart-1789662435817-p844seqfk .fv-bar-row .fv-bar-commentary-inline,#fv-chart-1789662435817-p844seqfk .fv-bar-row:hover .fv-bar-commentary-inline,#fv-chart-1789662435817-p844seqfk .fv-bar-row .fv-bar-commentary-inline:focus,#fv-chart-1789662435817-p844seqfk .fv-bar-row .fv-bar-commentary-inline:focus-within {position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important;}#fv-chart-1789662435817-p844seqfk .fv-x-axis-wrapper {margin-left: 0 !important;}#fv-chart-1789662435817-p844seqfk .fv-x-axis-label-space {display: none !important;}#fv-chart-1789662435817-p844seqfk .fv-x-axis-chart-space {padding-right: 0 !important;}#fv-chart-1789662435817-p844seqfk .fv-benchmark-title {font-size: 16px !important;}#fv-chart-1789662435817-p844seqfk .fv-dropdown-title {font-size: 16px !important;}#fv-chart-1789662435817-p844seqfk .fv-carousel-nav-btn {padding: 8px 12px !important; font-size: 14px !important;}#fv-chart-1789662435817-p844seqfk .fv-chart-title {padding: 0 8px !important;}#fv-chart-1789662435817-p844seqfk .fv-chart-subhead {padding: 0 8px !important;}#fv-chart-1789662435817-p844seqfk .fv-versus-header {flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important;}#fv-chart-1789662435817-p844seqfk .fv-versus-select-wrapper {flex: 1 !important; min-width: 0 !important; width: 100% !important;}#fv-chart-1789662435817-p844seqfk .fv-versus-select-wrapper.fv-left {text-align: center !important; padding-right: 0 !important;}#fv-chart-1789662435817-p844seqfk .fv-versus-select-wrapper.fv-right {text-align: center !important; padding-left: 0 !important;}#fv-chart-1789662435817-p844seqfk .fv-versus-select.fv-select-left {text-align: center !important;}#fv-chart-1789662435817-p844seqfk .fv-versus-select.fv-select-right {text-align: center !important;}#fv-chart-1789662435817-p844seqfk .fv-versus-vs {text-align: center !important; padding: 0.25rem 0 !important;}#fv-chart-1789662435817-p844seqfk .fv-versus-select-container {max-width: 100% !important; width: 100% !important;}#fv-chart-1789662435817-p844seqfk .fv-versus-select {font-size: 14px !important; width: 100% !important;}#fv-chart-1789662435817-p844seqfk .fv-stl-shop-all-btn {bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important;}#fv-chart-1789662435817-p844seqfk .fv-stl-shop-all-logo,#fv-chart-1789662435817-p844seqfk .fv-stl-shop-all-icon {width: 2rem !important; height: 2rem !important;}#fv-chart-1789662435817-p844seqfk .fv-stl-shop-all-icon svg {width: 14px !important; height: 14px !important;}#fv-chart-1789662435817-p844seqfk .fv-bar-commentary-inline {display: block !important; margin-left: 0 !important; width: 100% !important;}#fv-chart-1789662435817-p844seqfk .fv-y-axis-title { padding-left: 5% !important;  }#fv-chart-1789662435817-p844seqfk.fv-contains-line-chart .fv-footer-content {margin-left: -1rem !important;margin-right: -1rem !important;}}</style><script type="application/ld+json">{"@context": "https://schema.org","@type": "Dataset","name": "Carpet cleaning test 2","description": "Vacuuming oats from carpeted floor using Eufy Omni E35","creator": {"@type": "Organization","name": "TechRadar","logo": "https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png"},"isAccessibleForFree": true,"dateCreated": "2026-09-17T16:27:15.817Z","citation": "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized","keywords": ["Image Comparison","benchmark","comparison","performance","review","TechRadar"],"measurementTechnique": "Performance Benchmarking","variableMeasured": []}</script><div id="fv-chart-1789662435817-p844seqfk" class="fv-chart-wrapper   " data-bar-labels-on-top="false" data-iframe-height="true" data-vizualizer-embed="true"><div class="fv-inner-wrapper fv-no-header fv-is-image-compare  "><div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1789662435817-p844seqfk-image-compare-1" data-chart-type="Image Comparison" data-title="Image Comparison" data-subhead="Vacuuming oats from carpeted floor using Eufy Omni E35" data-caption="" style=""><div class="fv-benchmark-group"><div class="fv-image-compare-container"><div class="fv-image-compare-wrapper" data-image-compare="true"><div class="fv-image-compare-inner"><img src="https://cdn.mos.cms.futurecdn.net/ToeZntqV3hV2Q7HvUjwiLG.jpg" data-highres-src="https://cdn.mos.cms.futurecdn.net/ToeZntqV3hV2Q7HvUjwiLG.jpg" alt="Oats vacuumed from carpet" class="fv-image-compare-bg" loading="lazy" referrerpolicy="no-referrer" draggable="false" /><img src="https://cdn.mos.cms.futurecdn.net/3P3U9DpNjAojxsipX2PYQG.jpg" data-highres-src="https://cdn.mos.cms.futurecdn.net/3P3U9DpNjAojxsipX2PYQG.jpg" alt="Oats on carpet" class="fv-image-compare-fg" loading="lazy" referrerpolicy="no-referrer" draggable="false" /><div class="fv-image-compare-slider"><div class="fv-image-compare-slider-line"></div><div class="fv-image-compare-handle "><img src="https://proof.vanilla.tools/media/images/brandLogos/techradar.png" alt="Brand Logo" style="width: 100%; height: 100%; object-fit: cover;" /></div></div></div><div class="fv-image-compare-label fv-image-compare-label-left">Before</div><div class="fv-image-compare-label fv-image-compare-label-right">After</div><button class="fv-image-compare-expand-btn" aria-label="Expand Image"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 8V4h4"/><path d="M20 8V4h-4"/><path d="M4 16v4h4"/><path d="M20 16v4h-4"/><circle cx="11.5" cy="11.5" r="3.5"/><path d="m14 14 3 3"/></svg></button><button class="fv-image-compare-close-btn" aria-label="Close Fullscreen"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg></button></div></div></div></div></div><div class="fv-bottom-bar"><div class="fv-footer-content" style="display: none;"><div class="rv-chart-caption" style="display: block;"><span class="fv-original-caption" style="display: block;"></span><span class="fv-ia-dynamic-caption" style="display: none;"></span></div></div><div class="fv-logo-explore-bar"><img class="fv-logo" src="https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png" alt="TechRadar Logo"></div></div></div></div><script>window.iFrameResizer = {heightCalculationMethod: 'taggedElement'};</script><script src="https://cdnjs.cloudflare.com/ajax/libs/iframe-resizer/4.2.11/iframeResizer.contentWindow.min.js" async></script><script>(function() {window.fvAnimateCharts = function(chartWrapper) {if (!chartWrapper) return;function animateBars(chartElement) {if (!chartElement) return;var bars = chartElement.querySelectorAll('.fv-bar, .fv-stacked-segment');bars.forEach(function(bar, index) {bar.style.setProperty('width', '0%', 'important');bar.style.setProperty('transition', 'none', 'important');var targetWidth = bar.dataset.targetWidth;if (targetWidth === undefined) return;void bar.offsetWidth;var targetMargin = bar.dataset.targetMargin;var baseMargin = bar.dataset.baseMargin;if (baseMargin !== undefined) {bar.style.setProperty('margin-left', baseMargin + '%', 'important');}setTimeout(function() {var marginTransition = baseMargin !== undefined ? ', margin-left 0.8s ease-out' : '';bar.style.setProperty('transition', 'opacity 0.2s ease, width 0.8s ease-out' + marginTransition, 'important');bar.style.setProperty('width', targetWidth + '%', 'important');if (targetMargin !== undefined && baseMargin !== undefined) {bar.style.setProperty('margin-left', targetMargin + '%', 'important');}}, index * 50 + 50);});}function animateLineChart(chartElement) {if (!chartElement) return;var lineSvg = chartElement.querySelector('svg');if (!lineSvg) return;var paths = lineSvg.querySelectorAll('.riv-line-path');paths.forEach(function(p, i) {if (typeof p.getTotalLength === 'function') {var len = p.getTotalLength();p.style.transition = 'none';p.style.strokeDasharray = len;p.style.strokeDashoffset = len;p.getBoundingClientRect();setTimeout(function() {p.style.transition = 'stroke-dashoffset 1s ease-out ' + (i * 0.1) + 's, stroke-width 0.2s, opacity 0.2s';p.style.strokeDashoffset = '0';}, 100);}});var dots = lineSvg.querySelectorAll('.riv-dot');dots.forEach(function(dot, i) {dot.style.opacity = '0';setTimeout(function() {dot.style.transition = 'opacity 0.3s ease';dot.style.opacity = '1';}, 500 + i * 10);});}var charts = chartWrapper.querySelectorAll('.fv-chart-item');charts.forEach(function(chart) {if (window.getComputedStyle(chart).display === 'none') return;var chartType = chart.dataset.chartType;if (chartType === 'Line') {animateLineChart(chart);} else if (chartType !== 'Pie') {animateBars(chart);}});};function initialize(uniqueId, isSlideshow) {var root = document.getElementById(uniqueId);if (!root && !isSlideshow) return;function setupWrapper(chartWrapper) {if (!chartWrapper) return;function checkMobileView() {var width = chartWrapper.getBoundingClientRect().width;var isMobileDevice = window.screen && Math.min(window.screen.width, window.screen.height) <= 599;var isMobile;if (width === 0) {isMobile = isMobileDevice || window.matchMedia('(max-width: 599px)').matches;} else {isMobile = isMobileDevice || width < 600;}if (isMobile) {chartWrapper.classList.add('mobile-view');} else {chartWrapper.classList.remove('mobile-view');}}checkMobileView();if (typeof ResizeObserver !== 'undefined') {var ro = new ResizeObserver(function() {checkMobileView();});ro.observe(chartWrapper);}window.addEventListener('resize', checkMobileView);var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';if (labelsOnTop) {var charts = chartWrapper.querySelectorAll('.fv-chart-item');var hasVisibleBarChart = false;charts.forEach(function(c) {if (window.getComputedStyle(c).display !== 'none') {var cType = c.dataset.chartType;if (cType === 'Bar' || cType === 'Stacked Bar' || cType === 'Versus') {hasVisibleBarChart = true;}}});if (hasVisibleBarChart) {chartWrapper.classList.add('labels-on-top');} else {chartWrapper.classList.remove('labels-on-top');}} else {chartWrapper.classList.remove('labels-on-top');}chartWrapper.querySelectorAll('.riv-line-legend').forEach(function(legend) {var chartId = legend.dataset.chart;var chart = chartWrapper.querySelector('[id="' + chartId + '"]');if (!chart) return;var lines = chart.querySelectorAll('.riv-line-path');var dots = chart.querySelectorAll('.riv-dot');var legendItems = legend.querySelectorAll('.riv-legend-item');legendItems.forEach(function(item) {var productName = item.dataset.product;var safeProductName = productName.replace(/"/g, '\"');var line = chart.querySelector('.riv-line-path[data-product="' + safeProductName + '"]');var productDots = chart.querySelectorAll('.riv-dot[data-product="' + safeProductName + '"]');if (line && !line.dataset.origStroke) {line.dataset.origStroke = line.getAttribute('stroke-width') || '2';}var highlight = function() {if (legend.querySelector('.isolated')) return;lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '0.2'; });legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });if (line) {line.style.opacity = '1';line.setAttribute('stroke-width', '4');}productDots.forEach(function(d) { d.style.opacity = '1'; });item.style.opacity = '1';};var clearHighlight = function() {if (legend.querySelector('.isolated')) return;lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '1'; });legendItems.forEach(function(i) { i.style.opacity = '1'; });};var toggleIsolate = function() {var isIsolated = item.classList.contains('isolated');legendItems.forEach(function(i) { i.classList.remove('isolated'); });if (isIsolated) {lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '1'; });legendItems.forEach(function(i) { i.style.opacity = '1'; });} else {item.classList.add('isolated');lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '0.2'; });legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });if (line) {line.style.opacity = '1';line.setAttribute('stroke-width', '4');}productDots.forEach(function(d) { d.style.opacity = '1'; });item.style.opacity = '1';}};item.addEventListener('mouseenter', highlight);item.addEventListener('focus', highlight);item.addEventListener('mouseleave', clearHighlight);item.addEventListener('blur', clearHighlight);item.addEventListener('click', toggleIsolate);if (line) {line.style.cursor = 'pointer';line.addEventListener('mouseenter', highlight);line.addEventListener('mouseleave', clearHighlight);line.addEventListener('click', toggleIsolate);}});});var versusCharts = chartWrapper.querySelectorAll('.fv-versus-chart');versusCharts.forEach(function(vc) {var dataJson = vc.getAttribute('data-versus-data');var leftColor = vc.getAttribute('data-left-color') || '#E53935';var rightColor = vc.getAttribute('data-right-color') || '#FFB300';if (!dataJson) return;var versusData = JSON.parse(dataJson);var leftSelect = vc.querySelector('.fv-select-left');var rightSelect = vc.querySelector('.fv-select-right');var rows = vc.querySelectorAll('.fv-versus-row');function updateVersusChart() {var leftProduct = leftSelect.value;var rightProduct = rightSelect.value;leftSelect.style.color = leftColor;leftSelect.style.borderColor = leftColor;rightSelect.style.color = rightColor;rightSelect.style.borderColor = rightColor;rows.forEach(function(row) {var index = parseInt(row.getAttribute('data-index'));var data = versusData[index];if (!data) return;var leftVal = data.productData[leftProduct] ? data.productData[leftProduct].value : undefined;var rightVal = data.productData[rightProduct] ? data.productData[rightProduct].value : undefined;var leftIsNum = typeof leftVal === 'number';var rightIsNum = typeof rightVal === 'number';var leftNum = leftIsNum ? leftVal : 0;var rightNum = rightIsNum ? rightVal : 0;var maxVal = Math.max(leftNum, rightNum, 0.0001);var leftWidth = leftIsNum ? (leftNum / maxVal) * 95 : 0;var rightWidth = rightIsNum ? (rightNum / maxVal) * 85 : 0;var winner = null;var pctDiffStr = null;if (leftIsNum && rightIsNum) {if (leftNum > rightNum) {winner = 'left';if (rightNum > 0) {var diff = Math.round(((leftNum - rightNum) / rightNum) * 100);pctDiffStr = '+' + diff.toLocaleString() + '%';}} else if (rightNum > leftNum) {winner = 'right';if (leftNum > 0) {var diff = Math.round(((rightNum - leftNum) / leftNum) * 100);pctDiffStr = '+' + diff.toLocaleString() + '%';}}}var leftDisplay = data.productData[leftProduct] && data.productData[leftProduct].displayValue !== undefined ? data.productData[leftProduct].displayValue : (leftIsNum ? leftNum.toLocaleString() : (leftVal !== undefined ? leftVal : '-'));var rightDisplay = data.productData[rightProduct] && data.productData[rightProduct].displayValue !== undefined ? data.productData[rightProduct].displayValue : (rightIsNum ? rightNum.toLocaleString() : (rightVal !== undefined ? rightVal : '-'));var unit = (data.productData[leftProduct] && data.productData[leftProduct].unit) ||(data.productData[rightProduct] && data.productData[rightProduct].unit) || '';var leftTextStr = leftDisplay;var rightTextStr = rightDisplay;var leftBar = row.querySelector('.fv-versus-bar-left');var rightBar = row.querySelector('.fv-versus-bar-right');var leftText = row.querySelector('.fv-inside-left');var rightText = row.querySelector('.fv-inside-right');var labelText = row.querySelector('.fv-versus-label span');var leftWrapper = row.querySelector('.fv-versus-bar-left-wrapper');var rightWrapper = row.querySelector('.fv-versus-bar-right-wrapper');var existingPctDiffs = row.querySelectorAll('.fv-versus-pct-diff');existingPctDiffs.forEach(function(el) { el.remove(); });if (winner === 'left' && pctDiffStr) {var pctSpan = document.createElement('span');pctSpan.className = 'fv-versus-pct-diff';pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';pctSpan.textContent = pctDiffStr;if (leftBar) leftBar.insertBefore(pctSpan, leftBar.firstChild);} else if (winner === 'right' && pctDiffStr) {var pctSpan = document.createElement('span');pctSpan.className = 'fv-versus-pct-diff';pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';pctSpan.textContent = pctDiffStr;if (rightBar) rightBar.appendChild(pctSpan);}if (leftBar) {leftBar.style.backgroundColor = leftColor;leftBar.dataset.targetWidth = leftWidth;leftBar.style.setProperty('--target-width', leftWidth + '%');leftBar.style.width = leftWidth + '%';}if (rightBar) {rightBar.style.backgroundColor = rightColor;rightBar.dataset.targetWidth = rightWidth;rightBar.style.setProperty('--target-width', rightWidth + '%');rightBar.style.width = rightWidth + '%';}if (leftText) {leftText.innerHTML = leftTextStr;}if (rightText) {rightText.innerHTML = rightTextStr;}if (labelText) {labelText.textContent = data.attribute + (unit ? ' (' + unit + ')' : '');}});}if (leftSelect) leftSelect.addEventListener('change', updateVersusChart);if (rightSelect) rightSelect.addEventListener('change', updateVersusChart);});var barRows = chartWrapper.querySelectorAll('.fv-bar-row');var globalCaptionEl = chartWrapper.querySelector('.rv-chart-caption');var fallbackCaptionHtml = globalCaptionEl ? globalCaptionEl.innerHTML : '';barRows.forEach(function(row) {var commentaryEl = row.querySelector('[data-commentary-key]');if (commentaryEl) {var commentaryText = commentaryEl.textContent;if (commentaryText && commentaryText.trim().length > 0) {row.addEventListener('mouseenter', function() {if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {globalCaptionEl.innerHTML = commentaryText;globalCaptionEl.classList.add('fv-bar-active-caption');}});row.addEventListener('mouseleave', function() {if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {globalCaptionEl.innerHTML = fallbackCaptionHtml;globalCaptionEl.classList.remove('fv-bar-active-caption');}});}}});var charts = chartWrapper.querySelectorAll('.fv-chart-item');var dropdown = chartWrapper.querySelector('.fv-dropdown-title');var prevBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.prev');var nextBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.next');var carouselTitle = chartWrapper.querySelector('.fv-carousel-title-controls .fv-benchmark-title');var counter = chartWrapper.querySelector('.fv-carousel-counter');var subheadEl = chartWrapper.querySelector('.fv-chart-subhead');var captionEl = chartWrapper.querySelector('.rv-chart-caption');var footerContentEl = chartWrapper.querySelector('.fv-footer-content');var bottomBarEl = chartWrapper.querySelector('.fv-bottom-bar');var logoEl = chartWrapper.querySelector('.fv-logo');if (charts.length > 1 && (dropdown || prevBtn)) {var currentChartIndex = 0;var titles = [];if (dropdown) {titles = Array.from(dropdown.options).map(function(o) { return o.text; });} else {charts.forEach(function(c) {titles.push(c.getAttribute('data-title') || '');});}function showInternalChart(index) {if (index < 0) index = charts.length - 1;if (index >= charts.length) index = 0;currentChartIndex = index;charts.forEach(function(c, i) {c.style.display = i === index ? 'block' : 'none';if (i === index) {var cType = c.dataset.chartType;if (cType === 'Line') {} else if (cType !== 'Pie') {window.fvAnimateCharts(chartWrapper);}var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';if (labelsOnTop && (cType === 'Bar' || cType === 'Stacked Bar' || cType === 'Versus')) {chartWrapper.classList.add('labels-on-top');} else {chartWrapper.classList.remove('labels-on-top');}}});if (dropdown) dropdown.value = index;if (carouselTitle && titles[index]) carouselTitle.textContent = titles[index];if (counter) counter.textContent = (index + 1) + ' of ' + charts.length;var activeChart = charts[index];if (activeChart) {var newSubhead = activeChart.getAttribute('data-subhead');var newCaption = activeChart.getAttribute('data-caption');var currentChartType = activeChart.getAttribute('data-chart-type');var hideGlobalCaption = currentChartType === 'Countdown' || currentChartType === 'Image Comparison' || currentChartType === 'Shop the Collection';if (subheadEl) subheadEl.textContent = newSubhead || '';if (captionEl) {captionEl.textContent = newCaption || '';fallbackCaptionHtml = newCaption || '';}if (footerContentEl) {if (newCaption && newCaption.trim().length > 0 && !hideGlobalCaption) {footerContentEl.style.display = 'block';if (bottomBarEl) bottomBarEl.style.display = 'flex';} else {footerContentEl.style.display = 'none';if (bottomBarEl && !logoEl) {bottomBarEl.style.display = 'none';}}}}}if (dropdown) dropdown.addEventListener('change', function(e) { showInternalChart(parseInt(e.target.value)); });if (prevBtn) prevBtn.addEventListener('click', function() { showInternalChart(currentChartIndex - 1); });if (nextBtn) nextBtn.addEventListener('click', function() { showInternalChart(currentChartIndex + 1); });}var imageCompareWrappers = chartWrapper.querySelectorAll('.fv-image-compare-wrapper');imageCompareWrappers.forEach(function(wrapper) {var inner = wrapper.querySelector('.fv-image-compare-inner') || wrapper;var slider = wrapper.querySelector('.fv-image-compare-slider');var fgImage = wrapper.querySelector('.fv-image-compare-fg');var bgImage = wrapper.querySelector('.fv-image-compare-bg');var labelLeft = wrapper.querySelector('.fv-image-compare-label-left');var labelRight = wrapper.querySelector('.fv-image-compare-label-right');var isDragging = false;var scale = 1;var panX = 0;var panY = 0;var isPanning = false;var hasPanned = false;var lastClientX = 0;var lastClientY = 0;var initialDistance = null;var lastCenterX = null;var lastCenterY = null;function updateTransform() {if (wrapper.classList.contains('fv-image-compare-fullscreen')) {inner.style.setProperty('transform', 'translate(' + panX + 'px, ' + panY + 'px) scale(' + scale + ')', 'important');} else {inner.style.removeProperty('transform');scale = 1;panX = 0;panY = 0;}}function constrainPan() {var rect = wrapper.getBoundingClientRect();var maxPanX = Math.max(0, (rect.width * scale - rect.width) / 2);var maxPanY = Math.max(0, (rect.height * scale - rect.height) / 2);panX = Math.max(-maxPanX, Math.min(panX, maxPanX));panY = Math.max(-maxPanY, Math.min(panY, maxPanY));}wrapper.addEventListener('wheel', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;e.preventDefault();var zoomSensitivity = 0.005;var zoomFactor = Math.exp(-e.deltaY * zoomSensitivity);var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));if (newScale === scale) return;var rect = wrapper.getBoundingClientRect();var mouseX = e.clientX - rect.left - rect.width / 2;var mouseY = e.clientY - rect.top - rect.height / 2;var ratio = newScale / scale;panX = mouseX - (mouseX - panX) * ratio;panY = mouseY - (mouseY - panY) * ratio;scale = newScale;constrainPan();updateTransform();}, { passive: false });wrapper.addEventListener('mousedown', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen') || scale <= 1) return;if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;isPanning = true;hasPanned = false;lastClientX = e.clientX;lastClientY = e.clientY;});window.addEventListener('mousemove', function(e) {if (!isPanning) return;var dx = e.clientX - lastClientX;var dy = e.clientY - lastClientY;if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {hasPanned = true;}lastClientX = e.clientX;lastClientY = e.clientY;panX += dx;panY += dy;constrainPan();updateTransform();});window.addEventListener('mouseup', function() {isPanning = false;});wrapper.addEventListener('touchstart', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;if (e.touches.length === 2) {e.preventDefault();var dx = e.touches[0].clientX - e.touches[1].clientX;var dy = e.touches[0].clientY - e.touches[1].clientY;initialDistance = Math.sqrt(dx * dx + dy * dy);var rect = wrapper.getBoundingClientRect();lastCenterX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;lastCenterY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;hasPanned = true;} else if (e.touches.length === 1 && scale > 1) {if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;isPanning = true;hasPanned = false;lastClientX = e.touches[0].clientX;lastClientY = e.touches[0].clientY;}}, { passive: false });wrapper.addEventListener('touchmove', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;if (e.touches.length === 2 && initialDistance !== null) {e.preventDefault();var dx = e.touches[0].clientX - e.touches[1].clientX;var dy = e.touches[0].clientY - e.touches[1].clientY;var distance = Math.sqrt(dx * dx + dy * dy);if (initialDistance > 0) {var zoomFactor = distance / initialDistance;var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));var rect = wrapper.getBoundingClientRect();var centerX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;var centerY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;var ratio = newScale / scale;panX = centerX - (centerX - panX) * ratio;panY = centerY - (centerY - panY) * ratio;if (lastCenterX !== null && lastCenterY !== null) {panX += (centerX - lastCenterX);panY += (centerY - lastCenterY);}scale = newScale;lastCenterX = centerX;lastCenterY = centerY;constrainPan();updateTransform();}initialDistance = distance;} else if (e.touches.length === 1 && isPanning) {e.preventDefault();var dx = e.touches[0].clientX - lastClientX;var dy = e.touches[0].clientY - lastClientY;if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {hasPanned = true;}lastClientX = e.touches[0].clientX;lastClientY = e.touches[0].clientY;panX += dx;panY += dy;constrainPan();updateTransform();}}, { passive: false });wrapper.addEventListener('touchend', function(e) {if (e.touches.length < 2) {initialDistance = null;}if (e.touches.length === 0) {isPanning = false;}});function handleMove(clientX) {var rect = inner.getBoundingClientRect();var x = Math.max(0, Math.min(clientX - rect.left, rect.width));var percent = Math.max(0, Math.min((x / rect.width) * 100, 100));if (slider) slider.style.setProperty('left', percent + '%', 'important');if (fgImage) fgImage.style.setProperty('clip-path', 'polygon(0 0, ' + percent + '% 0, ' + percent + '% 100%, 0 100%)', 'important');if (labelLeft) {if (percent < 10) {labelLeft.style.setProperty('opacity', '0', 'important');} else {labelLeft.style.setProperty('opacity', '1', 'important');}}if (labelRight) {if (percent > 90) {labelRight.style.setProperty('opacity', '0', 'important');} else {labelRight.style.setProperty('opacity', '1', 'important');}}}function onMouseMove(e) {if (!isDragging) return;handleMove(e.clientX);}function onTouchMove(e) {if (!isDragging) return;e.preventDefault();handleMove(e.touches[0].clientX);}function stopDragging() {isDragging = false;window.removeEventListener('mousemove', onMouseMove);window.removeEventListener('mouseup', stopDragging);window.removeEventListener('touchmove', onTouchMove);window.removeEventListener('touchend', stopDragging);}if (slider) {var startDrag = function(clientX) {isDragging = true;handleMove(clientX);window.addEventListener('mousemove', onMouseMove);window.addEventListener('mouseup', stopDragging);};var startTouchDrag = function(clientX) {isDragging = true;handleMove(clientX);window.addEventListener('touchmove', onTouchMove, { passive: false });window.addEventListener('touchend', stopDragging);};slider.addEventListener('mousedown', function(e) {e.preventDefault();startDrag(e.clientX);});slider.addEventListener('touchstart', function(e) {e.preventDefault();startTouchDrag(e.touches[0].clientX);}, { passive: false });}var expandBtn = wrapper.querySelector('.fv-image-compare-expand-btn');var closeBtn = wrapper.querySelector('.fv-image-compare-close-btn');if (expandBtn) {if (window !== window.parent) {expandBtn.style.display = 'none';} else {expandBtn.addEventListener('click', function(e) {e.stopPropagation();wrapper.classList.add('fv-image-compare-fullscreen');document.body.style.overflow = 'hidden';if (fgImage && fgImage.dataset.highresSrc) {fgImage.src = fgImage.dataset.highresSrc;fgImage.removeAttribute('srcset');fgImage.removeAttribute('sizes');}if (bgImage && bgImage.dataset.highresSrc) {bgImage.src = bgImage.dataset.highresSrc;bgImage.removeAttribute('srcset');bgImage.removeAttribute('sizes');}});}}if (closeBtn) {closeBtn.addEventListener('click', function(e) {e.stopPropagation();wrapper.classList.remove('fv-image-compare-fullscreen');document.body.style.overflow = '';updateTransform();});}document.addEventListener('keydown', function(e) {if (e.key === 'Escape' && wrapper.classList.contains('fv-image-compare-fullscreen')) {wrapper.classList.remove('fv-image-compare-fullscreen');document.body.style.overflow = '';updateTransform();}});});var hotspots = chartWrapper.querySelectorAll('.fv-stl-hotspot-btn');var allProductsModal = chartWrapper.querySelector('.fv-stl-all-products-modal');var shopAllBtn = chartWrapper.querySelector('.fv-stl-shop-all-btn');var allProductsList = chartWrapper.querySelector('.fv-stl-all-products-list');var stlContainer = chartWrapper.querySelector('.fv-stl-container');function closeAllModals() {if (allProductsModal) {allProductsModal.classList.remove('is-active');var items = allProductsModal.querySelectorAll('.fv-stl-all-products-item');items.forEach(function(item) {item.classList.remove('is-highlighted');});if (stlContainer) {setTimeout(function() {if (!allProductsModal.classList.contains('is-active')) {stlContainer.style.minHeight = '';if ('parentIFrame' in window) {window.parentIFrame.size();}}}, 300);}}hotspots.forEach(function(btn) { btn.setAttribute('aria-expanded', 'false'); });if ('parentIFrame' in window) {window.parentIFrame.size();}}hotspots.forEach(function(btn) {btn.addEventListener('click', function(e) {e.stopPropagation();var hotspotId = btn.getAttribute('data-hotspot-id');var isExpanded = btn.getAttribute('aria-expanded') === 'true';closeAllModals();if (!isExpanded && allProductsModal) {btn.setAttribute('aria-expanded', 'true');allProductsModal.classList.add('is-active');var container = btn.closest('.fv-stl-container');if (container && container.offsetHeight < 450) {container.style.minHeight = '450px';}var targetItem = allProductsModal.querySelector('.fv-stl-all-products-item[data-product-id="' + hotspotId + '"]');if (targetItem) {targetItem.classList.add('is-highlighted');setTimeout(function() {targetItem.scrollIntoView({ behavior: 'smooth', block: 'center' });}, 100);}if ('parentIFrame' in window) {window.parentIFrame.size();}}});});if (shopAllBtn && allProductsModal) {shopAllBtn.addEventListener('click', function(e) {e.stopPropagation();closeAllModals();allProductsModal.classList.add('is-active');var container = shopAllBtn.closest('.fv-stl-container');if (container && container.offsetHeight < 450) {container.style.minHeight = '450px';}if ('parentIFrame' in window) {window.parentIFrame.size();}});}if (allProductsModal) {var closeAllBtn = allProductsModal.querySelector('.fv-stl-all-products-close');if (closeAllBtn) {closeAllBtn.addEventListener('click', function(e) {e.stopPropagation();closeAllModals();});}}chartWrapper.addEventListener('click', function(e) {if (!e.target.closest('.fv-stl-all-products-content')) {closeAllModals();}});if (allProductsModal) {allProductsModal.addEventListener('click', function(e) {if (!e.target.closest('.fv-stl-all-products-content')) {closeAllModals();}});}var iaNodes = chartWrapper.querySelectorAll('.fv-ia-node-button');var iaWrapper = chartWrapper.querySelector('.fv-ia-wrapper');var originalCaption = chartWrapper.querySelector('.fv-original-caption') || captionEl;var dynamicCaption = chartWrapper.querySelector('.fv-ia-dynamic-caption');var exploreBtn = chartWrapper.querySelector('.fv-ia-explore-btn');var currentIaIndex = -1;function closeAllIANodes() {iaNodes.forEach(function(btn) { btn.classList.remove('is-active'); });if (originalCaption) originalCaption.style.display = 'block';if (dynamicCaption) dynamicCaption.style.display = 'none';}function resetExploreBtn() {currentIaIndex = -1;if (exploreBtn) {var exploreSpan = exploreBtn.querySelector('span');if (exploreSpan) exploreSpan.textContent = 'Explore';}}iaNodes.forEach(function(btn, index) {btn.addEventListener('click', function(e) {e.stopPropagation();var isActive = btn.classList.contains('is-active');closeAllIANodes();if (!isActive) {currentIaIndex = index;if (exploreBtn) {var exploreSpan = exploreBtn.querySelector('span');if (exploreSpan) exploreSpan.textContent = 'Next';}btn.classList.add('is-active');if (dynamicCaption) {var title = btn.getAttribute('data-title') || '';var desc = btn.getAttribute('data-desc') || '';dynamicCaption.innerHTML = '';var strongTag = document.createElement('strong');strongTag.textContent = title;dynamicCaption.appendChild(strongTag);if (desc) {dynamicCaption.appendChild(document.createTextNode(' - ' + desc));}if (originalCaption) originalCaption.style.display = 'none';dynamicCaption.style.display = 'block';if (footerContentEl) footerContentEl.style.display = 'block';}} else {resetExploreBtn();}});});if (exploreBtn) {exploreBtn.addEventListener('click', function(e) {e.stopPropagation();if (iaNodes.length === 0) return;var nextIndex = currentIaIndex + 1;if (nextIndex >= iaNodes.length) {closeAllIANodes();resetExploreBtn();} else {currentIaIndex = nextIndex;var targetBtn = iaNodes[currentIaIndex];if (targetBtn) {if(targetBtn.classList.contains('is-active')) {targetBtn.click();}targetBtn.click();}}});}if (iaWrapper) {iaWrapper.addEventListener('click', function(e) {if (!e.target.closest('.fv-ia-node-button') && !e.target.closest('.fv-ia-explore-btn')) {closeAllIANodes();resetExploreBtn();}});}window.fvAnimateCharts(chartWrapper);var countdownContainer = chartWrapper.querySelector('.fv-countdown-container');if (countdownContainer) {var targetDateAttr = countdownContainer.getAttribute('data-target-date');if (targetDateAttr) {var targetDate = new Date(targetDateAttr);var primaryColor = countdownContainer.getAttribute('data-primary-color') || '#f97316';var subheadColor = countdownContainer.getAttribute('data-subhead-color') || '#ffffff';var pad = function(n) { return (n < 10 ? '0' : '') + n; };var updateCountdown = function() {var difference = +targetDate - +new Date();var d = 0, h = 0, m = 0, s = 0;if (difference > 0) {d = Math.floor(difference / (1000 * 60 * 60 * 24));h = Math.floor((difference / (1000 * 60 * 60)) % 24);m = Math.floor((difference / 1000 / 60) % 60);s = Math.floor((difference / 1000) % 60);}var daysEl = countdownContainer.querySelector('[data-time="days"]');var hoursEl = countdownContainer.querySelector('[data-time="hours"]');var minsEl = countdownContainer.querySelector('[data-time="minutes"]');var secsEl = countdownContainer.querySelector('[data-time="seconds"]');if (daysEl) daysEl.textContent = d;if (hoursEl) hoursEl.textContent = pad(h);if (minsEl) minsEl.textContent = pad(m);if (secsEl) secsEl.textContent = pad(s);};updateCountdown();setInterval(updateCountdown, 1000);}}}if (false) {var slideshowContainer = document.getElementById(uniqueId + '-slideshow');if (slideshowContainer) {var slides = slideshowContainer.querySelectorAll('.fv-slide');slides.forEach(function(slide) {setupWrapper(slide.querySelector('.fv-chart-wrapper'));});}} else {setupWrapper(root);}}if (document.readyState === 'loading') {document.addEventListener('DOMContentLoaded', function() { initialize('fv-chart-1789662435817-p844seqfk', false); });} else {initialize('fv-chart-1789662435817-p844seqfk', false);}})();</script></div><p>I often left it in Max for the kitchen and living room, or switched down to the middling Turbo mode for bigger cleans in a bid to avoid charging mid-task. It’s also worth noting how the robot automatically increases suction when carpet or rugs are detected.</p><p>After a fortnight of regular use — and being impressed by the E35’s performance – I began TechRadar’s specific robovac tests. Vacuuming is first tested with a crumb mix made of flour and crushed biscuit spread across both carpet and hard floors, then oats are scattered across the same areas to test its ability to pick up larger debris.</p><div class="vizualizer-embed"><style>@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap');#fv-chart-1789662446064-xfo8dug44 *, #fv-chart-1789662446064-xfo8dug44 *:before, #fv-chart-1789662446064-xfo8dug44 *:after, #fv-chart-1789662446064-xfo8dug44-slideshow *, #fv-chart-1789662446064-xfo8dug44-slideshow *:before, #fv-chart-1789662446064-xfo8dug44-slideshow *:after {box-sizing: border-box !important; margin: 0; padding: 0; border: 0;font-size: 100%; font: inherit; vertical-align: baseline;}#fv-chart-1789662446064-xfo8dug44, #fv-chart-1789662446064-xfo8dug44-slideshow { font-family: 'Open Sans', sans-serif !important; }#fv-chart-1789662446064-xfo8dug44 {position: relative !important; overflow: visible !important;--riv-primary: #2E6E93;}#fv-chart-1789662446064-xfo8dug44 .fv-inner-wrapper {color: #1F2937 !important; background-color: #ffffff !important;padding: 1.5rem 1.5rem 2rem !important; border-radius: 0.5rem !important;box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important;margin: 1rem 0 !important; display: flex !important; flex-direction: column !important;overflow: hidden !important;}#fv-chart-1789662446064-xfo8dug44 .fv-inner-wrapper.fv-no-header.fv-is-image-compare {padding-top: 0 !important;}#fv-chart-1789662446064-xfo8dug44.fv-full-bleed {width: 100vw !important;margin-left: calc(50% - 50vw) !important;}body {overflow-x: clip !important;}#fv-chart-1789662446064-xfo8dug44.fv-full-bleed .fv-inner-wrapper {padding: 0 !important;border-radius: 0 !important;box-shadow: none !important;margin: 0 !important;background-color: transparent !important;}#fv-chart-1789662446064-xfo8dug44 .fv-inner-wrapper.fv-is-shop-the-look {padding: 0 !important;border-radius: 0 !important;box-shadow: none !important;margin: 0 !important;background-color: transparent !important;}#fv-chart-1789662446064-xfo8dug44-slideshow {position: relative !important;width: 100% !important;margin: 1rem 0 !important;--riv-primary: #2E6E93;}#fv-chart-1789662446064-xfo8dug44-slideshow .fv-slides-wrapper {position: relative !important;width: 100% !important;}#fv-chart-1789662446064-xfo8dug44-slideshow .fv-slide {width: 100% !important;animation: fv-fade-in 0.3s ease-in-out;}@keyframes fv-fade-in {from { opacity: 0; }to { opacity: 1; }}#fv-chart-1789662446064-xfo8dug44-slideshow .fv-slideshow-nav-row {position: relative !important;display: flex !important;justify-content: space-between !important;align-items: center !important;padding: 0 0 16px 0 !important;width: 100% !important;z-index: 20 !important;}#fv-chart-1789662446064-xfo8dug44-slideshow .fv-nav-btn {background-color: var(--riv-primary) !important;color: #ffffff !important;border: none !important;border-radius: 4px !important;padding: 8px 16px !important;font-size: 14px !important;font-weight: 700 !important;cursor: pointer !important;display: flex !important;align-items: center !important;justify-content: center !important;gap: 6px !important;transition: opacity 0.2s, background-color 0.2s !important;height: 36px !important;text-transform: none !important;box-shadow: 0 1px 2px rgba(0,0,0,0.1) !important;}#fv-chart-1789662446064-xfo8dug44-slideshow .fv-nav-btn svg {width: 18px !important;height: 18px !important;stroke-width: 3px !important;filter: none !important;}#fv-chart-1789662446064-xfo8dug44-slideshow .fv-nav-btn:hover {opacity: 0.9 !important;transform: translateY(-1px) !important;}#fv-chart-1789662446064-xfo8dug44-slideshow .fv-nav-btn.disabled {background-color: #E5E7EB !important;color: #9CA3AF !important;cursor: default !important;pointer-events: none !important;box-shadow: none !important;}#fv-chart-1789662446064-xfo8dug44-slideshow .fv-slide-counter {font-family: 'Poppins', sans-serif !important;font-size: 14px !important;font-weight: 600 !important;color: #374151 !important;text-align: center !important;min-width: 40px !important;background-color: rgba(255,255,255,0.8) !important;padding: 2px 8px !important;border-radius: 10px !important;}#fv-chart-1789662446064-xfo8dug44-slideshow .fv-slideshow-select {position: absolute !important;top: 10px !important;right: 10px !important;z-index: 20 !important;appearance: none !important;-webkit-appearance: none !important;-moz-appearance: none !important;background-color: white !important;border: 1px solid #d1d5db !important;color: #1F2937 !important;font-family: 'Open Sans', sans-serif !important;font-size: 14px !important;font-weight: 600 !important;padding: 6px 32px 6px 12px !important;border-radius: 4px !important;cursor: pointer !important;box-shadow: 0 1px 2px rgba(0,0,0,0.05) !important;background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e") !important;background-position: right 0.5rem center !important;background-repeat: no-repeat !important;background-size: 1.5em 1.5em !important;}#fv-chart-1789662446064-xfo8dug44-slideshow .fv-slideshow-select:focus {outline: 2px solid #2E6E93 !important;border-color: #2E6E93 !important;}#fv-chart-1789662446064-xfo8dug44 .fv-chart-title {font-weight: bold !important;text-align: center !important;margin-bottom: 0.5rem !important;color: var(--riv-primary) !important;font-size: 20px !important;line-height: 1.2 !important;font-family: 'Open Sans', sans-serif !important;text-transform: none !important;white-space: normal !important;overflow-wrap: break-word !important;padding: 0 20px !important;}#fv-chart-1789662446064-xfo8dug44 .fv-chart-subhead {font-size: 18px !important;font-weight: 500 !important;text-align: center !important;margin-bottom: 2rem !important;color: #374151 !important;line-height: 1.7 !important;font-family: 'Open Sans', sans-serif !important;display: block !important;text-transform: none !important;padding: 0 20px !important;}#fv-chart-1789662446064-xfo8dug44 .rv-chart-caption { font-size: 15px !important; color: #374151 !important; text-align: center !important; font-style: normal !important; font-weight: normal !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; }#fv-chart-1789662446064-xfo8dug44 .fv-versus-chart { display: flex; flex-direction: column; width: 100%; margin-top: 1rem; }#fv-chart-1789662446064-xfo8dug44 .fv-versus-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding: 0 1rem; }#fv-chart-1789662446064-xfo8dug44 .fv-versus-select-wrapper { flex: 1; min-width: 0; }#fv-chart-1789662446064-xfo8dug44 .fv-versus-select-wrapper.fv-left { text-align: center; padding-right: 1rem; }#fv-chart-1789662446064-xfo8dug44 .fv-versus-select-wrapper.fv-right { text-align: center; padding-left: 1rem; }#fv-chart-1789662446064-xfo8dug44 .fv-versus-select-container { position: relative; display: inline-block; max-width: 100%; width: 100%; }#fv-chart-1789662446064-xfo8dug44 .fv-versus-chevron { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; width: 16px; height: 16px; flex-shrink: 0; }#fv-chart-1789662446064-xfo8dug44 .fv-versus-select-wrapper.fv-left .fv-versus-chevron { right: 0; }#fv-chart-1789662446064-xfo8dug44 .fv-versus-select-wrapper.fv-right .fv-versus-chevron { right: 0; }#fv-chart-1789662446064-xfo8dug44 .fv-versus-select { background: transparent; border: none; border-bottom: 2px solid; font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; padding: 0.25rem 0; cursor: pointer; outline: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; max-width: 100%; width: 100%; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; }#fv-chart-1789662446064-xfo8dug44 .fv-versus-select.fv-select-left { text-align: center; direction: ltr; padding-right: 1.25rem; }#fv-chart-1789662446064-xfo8dug44 .fv-versus-select.fv-select-right { text-align: center; padding-right: 1.25rem; }#fv-chart-1789662446064-xfo8dug44 .fv-versus-select option { font-family: 'Open Sans', sans-serif; font-weight: 400; font-size: 14px; color: #374151; direction: ltr; text-align: left; }#fv-chart-1789662446064-xfo8dug44 .fv-versus-vs { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; color: #374151; letter-spacing: 0.1em; padding: 0 1rem; }#fv-chart-1789662446064-xfo8dug44 .fv-versus-body { display: flex; flex-direction: column; gap: 1.5rem; }#fv-chart-1789662446064-xfo8dug44 .fv-versus-row { position: relative; height: auto; padding-top: 20px; margin-bottom: 0.25rem; display: block; }#fv-chart-1789662446064-xfo8dug44 .fv-versus-bar-container { position: relative; height: 32px; display: flex; align-items: center; }#fv-chart-1789662446064-xfo8dug44 .fv-versus-bar-left-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-end; align-items: center; }#fv-chart-1789662446064-xfo8dug44 .fv-versus-bar-right-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-start; align-items: center; }#fv-chart-1789662446064-xfo8dug44 .fv-versus-bar { height: 32px; width: var(--target-width); transition: width 0.8s ease-out; animation: fv-grow-max-width 0.8s ease-out forwards; display: flex; align-items: center; overflow: hidden; color: #ffffff; }#fv-chart-1789662446064-xfo8dug44 .fv-versus-bar-left { border-radius: 4px 0 0 4px; justify-content: flex-end; padding: 0 8px; }#fv-chart-1789662446064-xfo8dug44 .fv-versus-bar-right { border-radius: 0 4px 4px 0; justify-content: flex-start; padding: 0 8px; }@keyframes fv-grow-max-width {from { max-width: 0; }to { max-width: 100%; }}#fv-chart-1789662446064-xfo8dug44 .fv-versus-center-line { position: absolute; left: 50%; top: 0; bottom: 0; width: 4px; background-color: #ffffff; transform: translateX(-50%); z-index: 1; }#fv-chart-1789662446064-xfo8dug44 .fv-inside-left { white-space: nowrap; flex-shrink: 0; }#fv-chart-1789662446064-xfo8dug44 .fv-inside-right { white-space: nowrap; flex-shrink: 0; }#fv-chart-1789662446064-xfo8dug44 .fv-versus-val-text { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; }#fv-chart-1789662446064-xfo8dug44 .fv-versus-pct-diff { font-size: 12px; font-weight: 600; }#fv-chart-1789662446064-xfo8dug44 .fv-versus-label { position: absolute; left: 50%; transform: translateX(-50%); top: 0; background-color: transparent; border: none; box-shadow: none; padding: 0; font-family: 'Open Sans', sans-serif; font-weight: 700; font-size: 14px; color: #374151; white-space: nowrap; }#fv-chart-1789662446064-xfo8dug44 .sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }#fv-chart-1789662446064-xfo8dug44 .fv-image-compare-container { width: auto !important; margin-left: -1.5rem !important; margin-right: -1.5rem !important; margin-bottom: 2rem !important; }#fv-chart-1789662446064-xfo8dug44.fv-full-bleed .fv-image-compare-container { width: 100% !important; max-width: none !important; margin: 0 auto !important; }#fv-chart-1789662446064-xfo8dug44 .fv-image-compare-wrapper { position: relative !important; width: 100% !important; overflow: hidden !important; border-radius: 0 !important; background-color: #000 !important; touch-action: pan-y !important; user-select: none !important; -webkit-user-select: none !important; }#fv-chart-1789662446064-xfo8dug44 .fv-image-compare-inner { position: relative !important; width: 100% !important; height: 100% !important; display: block !important; transform-origin: center center !important; transition: transform 0.1s ease-out !important; }#fv-chart-1789662446064-xfo8dug44 .fv-image-compare-bg { display: block !important; width: 100% !important; height: auto !important; pointer-events: none !important; user-select: none !important; -webkit-user-select: none !important; -webkit-user-drag: none !important; }#fv-chart-1789662446064-xfo8dug44 .fv-image-compare-fg { position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; object-fit: cover !important; clip-path: polygon(0 0, 50% 0, 50% 100%, 0 100%) !important; pointer-events: none !important; user-select: none !important; -webkit-user-select: none !important; -webkit-user-drag: none !important; }#fv-chart-1789662446064-xfo8dug44 .fv-image-compare-slider { position: absolute !important; top: 0 !important; bottom: 0 !important; left: 50% !important; width: 32px !important; transform: translateX(-50%) !important; cursor: ew-resize !important; z-index: 10 !important; user-select: none !important; -webkit-user-select: none !important; }#fv-chart-1789662446064-xfo8dug44 .fv-image-compare-slider-line { position: absolute !important; top: 0 !important; bottom: 0 !important; left: 50% !important; width: 4px !important; background-color: white !important; transform: translateX(-50%) !important; box-shadow: 0 0 10px rgba(0,0,0,0.5) !important; pointer-events: none !important; }#fv-chart-1789662446064-xfo8dug44 .fv-image-compare-handle { position: absolute !important; top: 50% !important; left: 50% !important; transform: translate(-50%, -50%) !important; width: 32px !important; height: 32px !important; background-color: white !important; border-radius: 50% !important; box-shadow: 0 2px 6px rgba(0,0,0,0.3) !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 4px !important; pointer-events: none !important; z-index: 11 !important; overflow: hidden !important; }#fv-chart-1789662446064-xfo8dug44 .fv-image-compare-handle.fv-image-compare-handle-square { border-radius: 6px !important; }#fv-chart-1789662446064-xfo8dug44 .fv-image-compare-arrow-left { width: 0 !important; height: 0 !important; border-top: 4px solid transparent !important; border-bottom: 4px solid transparent !important; border-right: 4px solid #4b5563 !important; }#fv-chart-1789662446064-xfo8dug44 .fv-image-compare-arrow-right { width: 0 !important; height: 0 !important; border-top: 4px solid transparent !important; border-bottom: 4px solid transparent !important; border-left: 4px solid #4b5563 !important; }#fv-chart-1789662446064-xfo8dug44 .fv-image-compare-label { position: absolute !important; top: 1rem !important; background-color: rgba(0, 0, 0, 0.5) !important; color: white !important; padding: 0.25rem 0.75rem !important; border-radius: 0.25rem !important; font-size: 0.875rem !important; font-weight: 500 !important; pointer-events: none !important; backdrop-filter: blur(4px) !important; z-index: 5 !important; transition: right 0.3s ease, opacity 0.2s ease !important; }#fv-chart-1789662446064-xfo8dug44 .fv-image-compare-label-left { left: 1rem !important; }#fv-chart-1789662446064-xfo8dug44 .fv-image-compare-label-right { right: 1rem !important; }#fv-chart-1789662446064-xfo8dug44 .fv-image-compare-expand-btn, #fv-chart-1789662446064-xfo8dug44 .fv-image-compare-close-btn { position: absolute !important; bottom: 1rem !important; right: 1rem !important; background-color: rgba(0, 0, 0, 0.5) !important; color: white !important; border: none !important; border-radius: 0.25rem !important; padding: 0.5rem !important; cursor: pointer !important; z-index: 20 !important; display: flex !important; align-items: center !important; justify-content: center !important; backdrop-filter: blur(4px) !important; transition: background-color 0.2s !important; }#fv-chart-1789662446064-xfo8dug44 .fv-image-compare-expand-btn:hover, #fv-chart-1789662446064-xfo8dug44 .fv-image-compare-close-btn:hover { background-color: rgba(0, 0, 0, 0.7) !important; }#fv-chart-1789662446064-xfo8dug44 .fv-image-compare-close-btn { display: none !important; top: 1rem !important; bottom: auto !important; }#fv-chart-1789662446064-xfo8dug44 .fv-image-compare-wrapper.fv-image-compare-fullscreen { position: fixed !important; top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important; width: 100% !important; height: 100% !important; z-index: 999999 !important; display: flex !important; align-items: center !important; justify-content: center !important; background-color: rgba(0, 0, 0, 0.9) !important; margin: 0 !important; touch-action: none !important; }#fv-chart-1789662446064-xfo8dug44 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-inner { width: 100% !important; height: 100% !important; display: flex !important; align-items: center !important; justify-content: center !important; cursor: grab !important; }#fv-chart-1789662446064-xfo8dug44 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-inner:active { cursor: grabbing !important; }#fv-chart-1789662446064-xfo8dug44 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-bg { position: absolute !important; top: 0 !important; left: 0 !important; max-width: 100% !important; max-height: 100% !important; width: 100% !important; height: 100% !important; object-fit: contain !important; }#fv-chart-1789662446064-xfo8dug44 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-fg { max-width: 100% !important; max-height: 100% !important; width: 100% !important; height: 100% !important; object-fit: contain !important; }#fv-chart-1789662446064-xfo8dug44 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-expand-btn { display: none !important; }#fv-chart-1789662446064-xfo8dug44 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-close-btn { display: flex !important; }#fv-chart-1789662446064-xfo8dug44 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-label-right { right: 4rem !important; }#fv-chart-1789662446064-xfo8dug44 .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; }#fv-chart-1789662446064-xfo8dug44 .fv-footer-content { text-align: center !important; width: 100% !important; }#fv-chart-1789662446064-xfo8dug44 .fv-logo {display: block !important;margin: 0 auto !important;width: 120px !important;min-width: 120px !important;max-width: 120px !important;height: auto !important;object-fit: contain !important;flex-shrink: 0 !important;}#fv-chart-1789662446064-xfo8dug44 .fv-dropdown-wrapper { text-align: center !important; margin-bottom: 16px !important; margin-top: 0 !important; }#fv-chart-1789662446064-xfo8dug44 .fv-dropdown-title-container { position: relative !important; display: inline-block !important; max-width: 100% !important; }#fv-chart-1789662446064-xfo8dug44 .fv-dropdown-title {appearance: none !important;-webkit-appearance: none !important;-moz-appearance: none !important;background: transparent !important;border: none !important;font-size: 18px !important;font-weight: 600 !important;color: var(--riv-primary) !important;padding-right: 28px !important;padding-left: 10px !important;cursor: pointer !important;text-align: center !important;text-align-last: center !important;width: auto !important;max-width: 100% !important;font-family: 'Open Sans', sans-serif !important;line-height: 1.3 !important;margin: 0 !important;text-overflow: ellipsis !important;overflow: hidden !important;white-space: nowrap !important;}#fv-chart-1789662446064-xfo8dug44 .fv-dropdown-title:focus { outline: none !important; }#fv-chart-1789662446064-xfo8dug44 .fv-dropdown-title::-ms-expand { display: none !important; }#fv-chart-1789662446064-xfo8dug44 .fv-dropdown-chevron {position: absolute !important;right: 0 !important;top: 50% !important;transform: translateY(-50%) !important;pointer-events: none !important;color: var(--riv-primary) !important;display: flex !important;align-items: center !important;}#fv-chart-1789662446064-xfo8dug44 .fv-carousel-title-controls { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 16px !important; width: 100% !important; gap: 12px !important; }#fv-chart-1789662446064-xfo8dug44 .fv-carousel-nav-btn {background: transparent !important; border: 1px solid #d1d5db !important; border-radius: 6px !important; padding: 6px 10px !important;cursor: pointer !important; font-size: 14px !important; color: #374151 !important; display: flex !important; align-items: center !important; gap: 4px !important; font-family: 'Open Sans', sans-serif !important;}#fv-chart-1789662446064-xfo8dug44 .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; }#fv-chart-1789662446064-xfo8dug44 .fv-carousel-counter { font-size: 14px !important; color: #374151 !important; text-align: center !important; margin-top: 1rem !important; }#fv-chart-1789662446064-xfo8dug44 .fv-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 8px 16px !important; margin: 0 !important; padding: 0 !important; margin-top: 1rem !important; }#fv-chart-1789662446064-xfo8dug44 .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #374151 !important; }#fv-chart-1789662446064-xfo8dug44 .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; }#fv-chart-1789662446064-xfo8dug44 .fv-multi-value-legend {display: flex !important;justify-content: center !important;flex-wrap: wrap !important;gap: 12px 24px !important;margin-bottom: 1.5rem !important;padding: 0 !important;}#fv-chart-1789662446064-xfo8dug44 .fv-multi-legend-item { display: flex !important; align-items: center !important; gap: 8px !important; font-size: 14px !important; color: #374151 !important; font-weight: 500 !important; }#fv-chart-1789662446064-xfo8dug44 .fv-multi-legend-swatch { width: 16px !important; height: 16px !important; border-radius: 3px !important; }#fv-chart-1789662446064-xfo8dug44 .fv-benchmark-group { margin-bottom: 1rem !important; }#fv-chart-1789662446064-xfo8dug44 .fv-benchmark-title {font-size: 18px !important; font-weight: 600 !important; margin-bottom: 16px !important; margin-top: 0 !important; padding: 0 !important;text-align: center !important; color: var(--riv-primary) !important; flex: 1 !important; min-width: 0 !important;font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important;text-transform: none !important;white-space: normal !important;overflow-wrap: break-word !important;word-wrap: break-word !important;max-width: 100% !important;}#fv-chart-1789662446064-xfo8dug44 .fv-bar-row, #fv-chart-1789662446064-xfo8dug44 .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; position: relative !important; }#fv-chart-1789662446064-xfo8dug44 .fv-bar-label { width: 150px !important; flex-shrink: 0 !important; font-size: 14px !important; color: #374151 !important; padding-right: 10px !important; text-align: right !important; font-weight: 500 !important; display: block !important; }#fv-chart-1789662446064-xfo8dug44 .fv-bar-container { flex-grow: 1 !important; background-color: #E5E7EB !important; border-radius: 4px !important; min-height: 25px !important; border: 1px solid #D1D5DB !important; position: relative !important; display: flex !important; align-items: center !important; }#fv-chart-1789662446064-xfo8dug44 .fv-bar-commentary-inline { display: none !important; position: absolute !important; left: 150px !important; top: 0 !important; bottom: 0 !important; right: 0 !important; width: calc(100% - 150px) !important; margin: 0 !important; padding: 0 8px !important; font-size: 13px !important; color: #fff !important; background: rgba(0,0,0,0.8) !important; border-radius: 4px !important; line-height: 1.4 !important; font-weight: normal !important; text-transform: none !important; word-wrap: break-word !important; z-index: 10 !important; align-items: center !important; overflow-y: auto !important; }#fv-chart-1789662446064-xfo8dug44.preview-wrapper .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1789662446064-xfo8dug44.preview-wrapper .fv-bar-commentary-inline:focus, #fv-chart-1789662446064-xfo8dug44.preview-wrapper .fv-bar-commentary-inline:focus-within, #fv-chart-1789662446064-xfo8dug44.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1789662446064-xfo8dug44.mobile-view .fv-bar-commentary-inline:focus, #fv-chart-1789662446064-xfo8dug44.mobile-view .fv-bar-commentary-inline:focus-within { display: flex !important; }#fv-chart-1789662446064-xfo8dug44 .fv-bar { height: 100% !important; border-radius: 3px !important; display: flex !important; align-items: center !important; transition: opacity 0.2s ease, width 0.8s ease-out !important; min-height: 23px !important; }#fv-chart-1789662446064-xfo8dug44 .fv-bar:hover { opacity: 0.8 !important; }#fv-chart-1789662446064-xfo8dug44 .fv-bar-inner-content { display: flex !important; justify-content: space-between !important; align-items: center !important; width: 100% !important; height: 100% !important; padding: 0 8px !important; font-size: 14px !important; font-weight: bold !important; overflow: hidden !important; }#fv-chart-1789662446064-xfo8dug44 .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; }#fv-chart-1789662446064-xfo8dug44 .fv-bar-inner-value { flex-shrink: 0 !important; }#fv-chart-1789662446064-xfo8dug44 .fv-bar-value-outside { padding-left: 8px !important; font-size: 14px !important; font-weight: bold !important; color: #374151 !important; white-space: nowrap !important; }#fv-chart-1789662446064-xfo8dug44 .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; }#fv-chart-1789662446064-xfo8dug44 .fv-multi-bar-container { flex-direction: column !important; padding: 4px !important; align-items: stretch !important; gap: 4px !important; height: auto !important; }#fv-chart-1789662446064-xfo8dug44 .fv-multi-bar-item { display: flex !important; align-items: center !important; height: 25px !important; width: 100% !important; }#fv-chart-1789662446064-xfo8dug44 .fv-stacked-bar { display: flex !important; overflow: hidden !important; }#fv-chart-1789662446064-xfo8dug44 .fv-stacked-segment { height: 100% !important; display: flex !important; align-items: center !important; justify-content: flex-end !important; padding-right: 8px !important; border-right: 1px solid rgba(255,255,255,0.3) !important; }#fv-chart-1789662446064-xfo8dug44 .fv-stacked-segment:last-child { border-right: none !important; }#fv-chart-1789662446064-xfo8dug44 .fv-segment-value { font-size: 14px !important; font-weight: bold !important; }#fv-chart-1789662446064-xfo8dug44 .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; }#fv-chart-1789662446064-xfo8dug44 .fv-grouped-product-title-wrapper { padding-left: 150px !important; }#fv-chart-1789662446064-xfo8dug44 .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.5rem !important; font-weight: 700 !important; font-size: 14px !important; color: #374151 !important; text-transform: none !important; }#fv-chart-1789662446064-xfo8dug44 .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; }#fv-chart-1789662446064-xfo8dug44 .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; }#fv-chart-1789662446064-xfo8dug44 .fv-bar-cluster .fv-bar-container { height: 20px !important; }#fv-chart-1789662446064-xfo8dug44 .riv-grid line {stroke: #D1D5DB !important;stroke-dasharray: 3 3 !important;}#fv-chart-1789662446064-xfo8dug44 .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; }#fv-chart-1789662446064-xfo8dug44 .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; }#fv-chart-1789662446064-xfo8dug44 .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; }#fv-chart-1789662446064-xfo8dug44 .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; }#fv-chart-1789662446064-xfo8dug44 .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; }#fv-chart-1789662446064-xfo8dug44 .fv-x-axis-ticks { display: flex !important; justify-content: space-between !important; padding-top: 4px !important; font-size: 13px !important; color: #374151 !important; }#fv-chart-1789662446064-xfo8dug44 .fv-x-axis-ticks span { position: relative !important; }#fv-chart-1789662446064-xfo8dug44 .fv-x-axis-ticks span::before { content: '' !important; position: absolute !important; top: -6px !important; left: 50% !important; transform: translateX(-50%) !important; width: 2px !important; height: 4px !important; background-color: #D1D5DB !important; border-radius: 1px !important; }#fv-chart-1789662446064-xfo8dug44 .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #374151 !important; margin-top: 8px !important; display: block !important; }#fv-chart-1789662446064-xfo8dug44 .fv-x-axis-title { text-align: center !important; font-size: 15px !important; color: #374151 !important; margin-top: 8px !important; margin-bottom: 16px !important; line-height: 1.5 !important; padding: 0 1rem !important; display: block !important; font-weight: bold !important; }#fv-chart-1789662446064-xfo8dug44 .fv-y-axis-title {font-size: 15px !important;color: #374151 !important;line-height: 1.5 !important;text-align: left !important;padding-left: 5.83% !important;margin-bottom: 4px !important;display: block !important;font-weight: bold !important;}#fv-chart-1789662446064-xfo8dug44.mobile-view .fv-pie-container,#fv-chart-1789662446064-xfo8dug44.labels-on-top .fv-pie-container {flex-direction: column !important; gap: 1rem !important;}#fv-chart-1789662446064-xfo8dug44.mobile-view .fv-grouped-product-title-wrapper,#fv-chart-1789662446064-xfo8dug44.labels-on-top .fv-grouped-product-title-wrapper {padding-left: 0 !important;}#fv-chart-1789662446064-xfo8dug44.mobile-view .fv-bar-row,#fv-chart-1789662446064-xfo8dug44.mobile-view .fv-stacked-product,#fv-chart-1789662446064-xfo8dug44.mobile-view .fv-grouped-bar-product,#fv-chart-1789662446064-xfo8dug44.labels-on-top .fv-bar-row,#fv-chart-1789662446064-xfo8dug44.labels-on-top .fv-stacked-product,#fv-chart-1789662446064-xfo8dug44.labels-on-top .fv-grouped-bar-product {flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important;}#fv-chart-1789662446064-xfo8dug44.mobile-view .fv-bar-label:not(.fv-grouped-product-title),#fv-chart-1789662446064-xfo8dug44.labels-on-top .fv-bar-label:not(.fv-grouped-product-title) {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1789662446064-xfo8dug44.mobile-view .fv-bar-label,#fv-chart-1789662446064-xfo8dug44.mobile-view .fv-grouped-product-title,#fv-chart-1789662446064-xfo8dug44.labels-on-top .fv-bar-label,#fv-chart-1789662446064-xfo8dug44.labels-on-top .fv-grouped-product-title {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1789662446064-xfo8dug44.mobile-view .fv-bar-container,#fv-chart-1789662446064-xfo8dug44.mobile-view .fv-bar-cluster,#fv-chart-1789662446064-xfo8dug44.labels-on-top .fv-bar-container,#fv-chart-1789662446064-xfo8dug44.labels-on-top .fv-bar-cluster {width: 100% !important;}#fv-chart-1789662446064-xfo8dug44.mobile-view .fv-bar-row .fv-bar-commentary-inline,#fv-chart-1789662446064-xfo8dug44.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline,#fv-chart-1789662446064-xfo8dug44.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus,#fv-chart-1789662446064-xfo8dug44.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus-within,#fv-chart-1789662446064-xfo8dug44.labels-on-top .fv-bar-row .fv-bar-commentary-inline,#fv-chart-1789662446064-xfo8dug44.labels-on-top .fv-bar-row:hover .fv-bar-commentary-inline,#fv-chart-1789662446064-xfo8dug44.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus,#fv-chart-1789662446064-xfo8dug44.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus-within {position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important;}#fv-chart-1789662446064-xfo8dug44.mobile-view .fv-x-axis-wrapper,#fv-chart-1789662446064-xfo8dug44.labels-on-top .fv-x-axis-wrapper {margin-left: 0 !important;}#fv-chart-1789662446064-xfo8dug44.mobile-view .fv-x-axis-label-space,#fv-chart-1789662446064-xfo8dug44.labels-on-top .fv-x-axis-label-space {display: none !important;}#fv-chart-1789662446064-xfo8dug44.mobile-view .fv-x-axis-chart-space,#fv-chart-1789662446064-xfo8dug44.labels-on-top .fv-x-axis-chart-space {padding-right: 0 !important;}#fv-chart-1789662446064-xfo8dug44.mobile-view .fv-benchmark-title,#fv-chart-1789662446064-xfo8dug44.labels-on-top .fv-benchmark-title {font-size: 16px !important;}#fv-chart-1789662446064-xfo8dug44.mobile-view .fv-dropdown-title,#fv-chart-1789662446064-xfo8dug44.labels-on-top .fv-dropdown-title {font-size: 16px !important;}#fv-chart-1789662446064-xfo8dug44.mobile-view .fv-carousel-nav-btn,#fv-chart-1789662446064-xfo8dug44.labels-on-top .fv-carousel-nav-btn {padding: 8px 12px !important; font-size: 14px !important;}#fv-chart-1789662446064-xfo8dug44.mobile-view .fv-chart-title,#fv-chart-1789662446064-xfo8dug44.labels-on-top .fv-chart-title {padding: 0 8px !important;}#fv-chart-1789662446064-xfo8dug44.mobile-view .fv-chart-subhead,#fv-chart-1789662446064-xfo8dug44.labels-on-top .fv-chart-subhead {padding: 0 8px !important;}#fv-chart-1789662446064-xfo8dug44.mobile-view .fv-versus-header,#fv-chart-1789662446064-xfo8dug44.labels-on-top .fv-versus-header {flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important;}#fv-chart-1789662446064-xfo8dug44.mobile-view .fv-versus-select-wrapper,#fv-chart-1789662446064-xfo8dug44.labels-on-top .fv-versus-select-wrapper {flex: 1 !important; min-width: 0 !important; width: 100% !important;}#fv-chart-1789662446064-xfo8dug44.mobile-view .fv-versus-select-wrapper.fv-left,#fv-chart-1789662446064-xfo8dug44.labels-on-top .fv-versus-select-wrapper.fv-left {text-align: center !important; padding-right: 0 !important;}#fv-chart-1789662446064-xfo8dug44.mobile-view .fv-versus-select-wrapper.fv-right,#fv-chart-1789662446064-xfo8dug44.labels-on-top .fv-versus-select-wrapper.fv-right {text-align: center !important; padding-left: 0 !important;}#fv-chart-1789662446064-xfo8dug44.mobile-view .fv-versus-select.fv-select-left,#fv-chart-1789662446064-xfo8dug44.labels-on-top .fv-versus-select.fv-select-left {text-align: center !important;}#fv-chart-1789662446064-xfo8dug44.mobile-view .fv-versus-select.fv-select-right,#fv-chart-1789662446064-xfo8dug44.labels-on-top .fv-versus-select.fv-select-right {text-align: center !important;}#fv-chart-1789662446064-xfo8dug44.mobile-view .fv-versus-vs,#fv-chart-1789662446064-xfo8dug44.labels-on-top .fv-versus-vs {text-align: center !important; padding: 0.25rem 0 !important;}#fv-chart-1789662446064-xfo8dug44.mobile-view .fv-versus-select-container,#fv-chart-1789662446064-xfo8dug44.labels-on-top .fv-versus-select-container {max-width: 100% !important; width: 100% !important;}#fv-chart-1789662446064-xfo8dug44.mobile-view .fv-versus-select,#fv-chart-1789662446064-xfo8dug44.labels-on-top .fv-versus-select {font-size: 14px !important; width: 100% !important;}#fv-chart-1789662446064-xfo8dug44.mobile-view .fv-stl-shop-all-btn,#fv-chart-1789662446064-xfo8dug44.labels-on-top .fv-stl-shop-all-btn {bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important;}#fv-chart-1789662446064-xfo8dug44.mobile-view .fv-stl-shop-all-logo,#fv-chart-1789662446064-xfo8dug44.mobile-view .fv-stl-shop-all-icon,#fv-chart-1789662446064-xfo8dug44.labels-on-top .fv-stl-shop-all-logo,#fv-chart-1789662446064-xfo8dug44.labels-on-top .fv-stl-shop-all-icon {width: 2rem !important; height: 2rem !important;}#fv-chart-1789662446064-xfo8dug44.mobile-view .fv-stl-shop-all-icon svg,#fv-chart-1789662446064-xfo8dug44.labels-on-top .fv-stl-shop-all-icon svg {width: 14px !important; height: 14px !important;}#fv-chart-1789662446064-xfo8dug44.mobile-view .fv-bar-commentary-inline,#fv-chart-1789662446064-xfo8dug44.labels-on-top .fv-bar-commentary-inline {display: block !important; margin-left: 0 !important; width: 100% !important;}#fv-chart-1789662446064-xfo8dug44.mobile-view .fv-y-axis-title { padding-left: 5% !important;  }#fv-chart-1789662446064-xfo8dug44.mobile-view.fv-contains-line-chart .fv-footer-content {margin-left: -1rem !important;margin-right: -1rem !important;}@media (max-width: 599px) {#fv-chart-1789662446064-xfo8dug44 .fv-pie-container {flex-direction: column !important; gap: 1rem !important;}#fv-chart-1789662446064-xfo8dug44 .fv-grouped-product-title-wrapper {padding-left: 0 !important;}#fv-chart-1789662446064-xfo8dug44 .fv-bar-row,#fv-chart-1789662446064-xfo8dug44 .fv-stacked-product,#fv-chart-1789662446064-xfo8dug44 .fv-grouped-bar-product {flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important;}#fv-chart-1789662446064-xfo8dug44 .fv-bar-label:not(.fv-grouped-product-title) {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1789662446064-xfo8dug44 .fv-bar-label,#fv-chart-1789662446064-xfo8dug44 .fv-grouped-product-title {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1789662446064-xfo8dug44 .fv-bar-container,#fv-chart-1789662446064-xfo8dug44 .fv-bar-cluster {width: 100% !important;}#fv-chart-1789662446064-xfo8dug44 .fv-bar-row .fv-bar-commentary-inline,#fv-chart-1789662446064-xfo8dug44 .fv-bar-row:hover .fv-bar-commentary-inline,#fv-chart-1789662446064-xfo8dug44 .fv-bar-row .fv-bar-commentary-inline:focus,#fv-chart-1789662446064-xfo8dug44 .fv-bar-row .fv-bar-commentary-inline:focus-within {position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important;}#fv-chart-1789662446064-xfo8dug44 .fv-x-axis-wrapper {margin-left: 0 !important;}#fv-chart-1789662446064-xfo8dug44 .fv-x-axis-label-space {display: none !important;}#fv-chart-1789662446064-xfo8dug44 .fv-x-axis-chart-space {padding-right: 0 !important;}#fv-chart-1789662446064-xfo8dug44 .fv-benchmark-title {font-size: 16px !important;}#fv-chart-1789662446064-xfo8dug44 .fv-dropdown-title {font-size: 16px !important;}#fv-chart-1789662446064-xfo8dug44 .fv-carousel-nav-btn {padding: 8px 12px !important; font-size: 14px !important;}#fv-chart-1789662446064-xfo8dug44 .fv-chart-title {padding: 0 8px !important;}#fv-chart-1789662446064-xfo8dug44 .fv-chart-subhead {padding: 0 8px !important;}#fv-chart-1789662446064-xfo8dug44 .fv-versus-header {flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important;}#fv-chart-1789662446064-xfo8dug44 .fv-versus-select-wrapper {flex: 1 !important; min-width: 0 !important; width: 100% !important;}#fv-chart-1789662446064-xfo8dug44 .fv-versus-select-wrapper.fv-left {text-align: center !important; padding-right: 0 !important;}#fv-chart-1789662446064-xfo8dug44 .fv-versus-select-wrapper.fv-right {text-align: center !important; padding-left: 0 !important;}#fv-chart-1789662446064-xfo8dug44 .fv-versus-select.fv-select-left {text-align: center !important;}#fv-chart-1789662446064-xfo8dug44 .fv-versus-select.fv-select-right {text-align: center !important;}#fv-chart-1789662446064-xfo8dug44 .fv-versus-vs {text-align: center !important; padding: 0.25rem 0 !important;}#fv-chart-1789662446064-xfo8dug44 .fv-versus-select-container {max-width: 100% !important; width: 100% !important;}#fv-chart-1789662446064-xfo8dug44 .fv-versus-select {font-size: 14px !important; width: 100% !important;}#fv-chart-1789662446064-xfo8dug44 .fv-stl-shop-all-btn {bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important;}#fv-chart-1789662446064-xfo8dug44 .fv-stl-shop-all-logo,#fv-chart-1789662446064-xfo8dug44 .fv-stl-shop-all-icon {width: 2rem !important; height: 2rem !important;}#fv-chart-1789662446064-xfo8dug44 .fv-stl-shop-all-icon svg {width: 14px !important; height: 14px !important;}#fv-chart-1789662446064-xfo8dug44 .fv-bar-commentary-inline {display: block !important; margin-left: 0 !important; width: 100% !important;}#fv-chart-1789662446064-xfo8dug44 .fv-y-axis-title { padding-left: 5% !important;  }#fv-chart-1789662446064-xfo8dug44.fv-contains-line-chart .fv-footer-content {margin-left: -1rem !important;margin-right: -1rem !important;}}</style><script type="application/ld+json">{"@context": "https://schema.org","@type": "Dataset","name": "Hard floor cleaning test 1","description": "Vacuuming crumbs from hard floor using Eufy Omni E35","creator": {"@type": "Organization","name": "TechRadar","logo": "https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png"},"isAccessibleForFree": true,"dateCreated": "2026-09-17T16:27:26.064Z","citation": "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized","keywords": ["Image Comparison","benchmark","comparison","performance","review","TechRadar"],"measurementTechnique": "Performance Benchmarking","variableMeasured": []}</script><div id="fv-chart-1789662446064-xfo8dug44" class="fv-chart-wrapper   " data-bar-labels-on-top="false" data-iframe-height="true" data-vizualizer-embed="true"><div class="fv-inner-wrapper fv-no-header fv-is-image-compare  "><div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1789662446064-xfo8dug44-image-compare-1" data-chart-type="Image Comparison" data-title="Image Comparison" data-subhead="Vacuuming crumbs from hard floor using Eufy Omni E35" data-caption="" style=""><div class="fv-benchmark-group"><div class="fv-image-compare-container"><div class="fv-image-compare-wrapper" data-image-compare="true"><div class="fv-image-compare-inner"><img src="https://cdn.mos.cms.futurecdn.net/HKqcgwBNo6BdQZw5hg7CWe.jpg" data-highres-src="https://cdn.mos.cms.futurecdn.net/HKqcgwBNo6BdQZw5hg7CWe.jpg" alt="After" class="fv-image-compare-bg" loading="lazy" referrerpolicy="no-referrer" draggable="false" /><img src="https://cdn.mos.cms.futurecdn.net/ExaAxwKBXgFzbAJP7sSSSe.jpg" data-highres-src="https://cdn.mos.cms.futurecdn.net/ExaAxwKBXgFzbAJP7sSSSe.jpg" alt="Before" class="fv-image-compare-fg" loading="lazy" referrerpolicy="no-referrer" draggable="false" /><div class="fv-image-compare-slider"><div class="fv-image-compare-slider-line"></div><div class="fv-image-compare-handle "><img src="https://proof.vanilla.tools/media/images/brandLogos/techradar.png" alt="Brand Logo" style="width: 100%; height: 100%; object-fit: cover;" /></div></div></div><div class="fv-image-compare-label fv-image-compare-label-left">Before</div><div class="fv-image-compare-label fv-image-compare-label-right">After</div><button class="fv-image-compare-expand-btn" aria-label="Expand Image"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 8V4h4"/><path d="M20 8V4h-4"/><path d="M4 16v4h4"/><path d="M20 16v4h-4"/><circle cx="11.5" cy="11.5" r="3.5"/><path d="m14 14 3 3"/></svg></button><button class="fv-image-compare-close-btn" aria-label="Close Fullscreen"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg></button></div></div></div></div></div><div class="fv-bottom-bar"><div class="fv-footer-content" style="display: none;"><div class="rv-chart-caption" style="display: block;"><span class="fv-original-caption" style="display: block;"></span><span class="fv-ia-dynamic-caption" style="display: none;"></span></div></div><div class="fv-logo-explore-bar"><img class="fv-logo" src="https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png" alt="TechRadar Logo"></div></div></div></div><script>window.iFrameResizer = {heightCalculationMethod: 'taggedElement'};</script><script src="https://cdnjs.cloudflare.com/ajax/libs/iframe-resizer/4.2.11/iframeResizer.contentWindow.min.js" async></script><script>(function() {window.fvAnimateCharts = function(chartWrapper) {if (!chartWrapper) return;function animateBars(chartElement) {if (!chartElement) return;var bars = chartElement.querySelectorAll('.fv-bar, .fv-stacked-segment');bars.forEach(function(bar, index) {bar.style.setProperty('width', '0%', 'important');bar.style.setProperty('transition', 'none', 'important');var targetWidth = bar.dataset.targetWidth;if (targetWidth === undefined) return;void bar.offsetWidth;var targetMargin = bar.dataset.targetMargin;var baseMargin = bar.dataset.baseMargin;if (baseMargin !== undefined) {bar.style.setProperty('margin-left', baseMargin + '%', 'important');}setTimeout(function() {var marginTransition = baseMargin !== undefined ? ', margin-left 0.8s ease-out' : '';bar.style.setProperty('transition', 'opacity 0.2s ease, width 0.8s ease-out' + marginTransition, 'important');bar.style.setProperty('width', targetWidth + '%', 'important');if (targetMargin !== undefined && baseMargin !== undefined) {bar.style.setProperty('margin-left', targetMargin + '%', 'important');}}, index * 50 + 50);});}function animateLineChart(chartElement) {if (!chartElement) return;var lineSvg = chartElement.querySelector('svg');if (!lineSvg) return;var paths = lineSvg.querySelectorAll('.riv-line-path');paths.forEach(function(p, i) {if (typeof p.getTotalLength === 'function') {var len = p.getTotalLength();p.style.transition = 'none';p.style.strokeDasharray = len;p.style.strokeDashoffset = len;p.getBoundingClientRect();setTimeout(function() {p.style.transition = 'stroke-dashoffset 1s ease-out ' + (i * 0.1) + 's, stroke-width 0.2s, opacity 0.2s';p.style.strokeDashoffset = '0';}, 100);}});var dots = lineSvg.querySelectorAll('.riv-dot');dots.forEach(function(dot, i) {dot.style.opacity = '0';setTimeout(function() {dot.style.transition = 'opacity 0.3s ease';dot.style.opacity = '1';}, 500 + i * 10);});}var charts = chartWrapper.querySelectorAll('.fv-chart-item');charts.forEach(function(chart) {if (window.getComputedStyle(chart).display === 'none') return;var chartType = chart.dataset.chartType;if (chartType === 'Line') {animateLineChart(chart);} else if (chartType !== 'Pie') {animateBars(chart);}});};function initialize(uniqueId, isSlideshow) {var root = document.getElementById(uniqueId);if (!root && !isSlideshow) return;function setupWrapper(chartWrapper) {if (!chartWrapper) return;function checkMobileView() {var width = chartWrapper.getBoundingClientRect().width;var isMobileDevice = window.screen && Math.min(window.screen.width, window.screen.height) <= 599;var isMobile;if (width === 0) {isMobile = isMobileDevice || window.matchMedia('(max-width: 599px)').matches;} else {isMobile = isMobileDevice || width < 600;}if (isMobile) {chartWrapper.classList.add('mobile-view');} else {chartWrapper.classList.remove('mobile-view');}}checkMobileView();if (typeof ResizeObserver !== 'undefined') {var ro = new ResizeObserver(function() {checkMobileView();});ro.observe(chartWrapper);}window.addEventListener('resize', checkMobileView);var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';if (labelsOnTop) {var charts = chartWrapper.querySelectorAll('.fv-chart-item');var hasVisibleBarChart = false;charts.forEach(function(c) {if (window.getComputedStyle(c).display !== 'none') {var cType = c.dataset.chartType;if (cType === 'Bar' || cType === 'Stacked Bar' || cType === 'Versus') {hasVisibleBarChart = true;}}});if (hasVisibleBarChart) {chartWrapper.classList.add('labels-on-top');} else {chartWrapper.classList.remove('labels-on-top');}} else {chartWrapper.classList.remove('labels-on-top');}chartWrapper.querySelectorAll('.riv-line-legend').forEach(function(legend) {var chartId = legend.dataset.chart;var chart = chartWrapper.querySelector('[id="' + chartId + '"]');if (!chart) return;var lines = chart.querySelectorAll('.riv-line-path');var dots = chart.querySelectorAll('.riv-dot');var legendItems = legend.querySelectorAll('.riv-legend-item');legendItems.forEach(function(item) {var productName = item.dataset.product;var safeProductName = productName.replace(/"/g, '\"');var line = chart.querySelector('.riv-line-path[data-product="' + safeProductName + '"]');var productDots = chart.querySelectorAll('.riv-dot[data-product="' + safeProductName + '"]');if (line && !line.dataset.origStroke) {line.dataset.origStroke = line.getAttribute('stroke-width') || '2';}var highlight = function() {if (legend.querySelector('.isolated')) return;lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '0.2'; });legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });if (line) {line.style.opacity = '1';line.setAttribute('stroke-width', '4');}productDots.forEach(function(d) { d.style.opacity = '1'; });item.style.opacity = '1';};var clearHighlight = function() {if (legend.querySelector('.isolated')) return;lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '1'; });legendItems.forEach(function(i) { i.style.opacity = '1'; });};var toggleIsolate = function() {var isIsolated = item.classList.contains('isolated');legendItems.forEach(function(i) { i.classList.remove('isolated'); });if (isIsolated) {lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '1'; });legendItems.forEach(function(i) { i.style.opacity = '1'; });} else {item.classList.add('isolated');lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '0.2'; });legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });if (line) {line.style.opacity = '1';line.setAttribute('stroke-width', '4');}productDots.forEach(function(d) { d.style.opacity = '1'; });item.style.opacity = '1';}};item.addEventListener('mouseenter', highlight);item.addEventListener('focus', highlight);item.addEventListener('mouseleave', clearHighlight);item.addEventListener('blur', clearHighlight);item.addEventListener('click', toggleIsolate);if (line) {line.style.cursor = 'pointer';line.addEventListener('mouseenter', highlight);line.addEventListener('mouseleave', clearHighlight);line.addEventListener('click', toggleIsolate);}});});var versusCharts = chartWrapper.querySelectorAll('.fv-versus-chart');versusCharts.forEach(function(vc) {var dataJson = vc.getAttribute('data-versus-data');var leftColor = vc.getAttribute('data-left-color') || '#E53935';var rightColor = vc.getAttribute('data-right-color') || '#FFB300';if (!dataJson) return;var versusData = JSON.parse(dataJson);var leftSelect = vc.querySelector('.fv-select-left');var rightSelect = vc.querySelector('.fv-select-right');var rows = vc.querySelectorAll('.fv-versus-row');function updateVersusChart() {var leftProduct = leftSelect.value;var rightProduct = rightSelect.value;leftSelect.style.color = leftColor;leftSelect.style.borderColor = leftColor;rightSelect.style.color = rightColor;rightSelect.style.borderColor = rightColor;rows.forEach(function(row) {var index = parseInt(row.getAttribute('data-index'));var data = versusData[index];if (!data) return;var leftVal = data.productData[leftProduct] ? data.productData[leftProduct].value : undefined;var rightVal = data.productData[rightProduct] ? data.productData[rightProduct].value : undefined;var leftIsNum = typeof leftVal === 'number';var rightIsNum = typeof rightVal === 'number';var leftNum = leftIsNum ? leftVal : 0;var rightNum = rightIsNum ? rightVal : 0;var maxVal = Math.max(leftNum, rightNum, 0.0001);var leftWidth = leftIsNum ? (leftNum / maxVal) * 95 : 0;var rightWidth = rightIsNum ? (rightNum / maxVal) * 85 : 0;var winner = null;var pctDiffStr = null;if (leftIsNum && rightIsNum) {if (leftNum > rightNum) {winner = 'left';if (rightNum > 0) {var diff = Math.round(((leftNum - rightNum) / rightNum) * 100);pctDiffStr = '+' + diff.toLocaleString() + '%';}} else if (rightNum > leftNum) {winner = 'right';if (leftNum > 0) {var diff = Math.round(((rightNum - leftNum) / leftNum) * 100);pctDiffStr = '+' + diff.toLocaleString() + '%';}}}var leftDisplay = data.productData[leftProduct] && data.productData[leftProduct].displayValue !== undefined ? data.productData[leftProduct].displayValue : (leftIsNum ? leftNum.toLocaleString() : (leftVal !== undefined ? leftVal : '-'));var rightDisplay = data.productData[rightProduct] && data.productData[rightProduct].displayValue !== undefined ? data.productData[rightProduct].displayValue : (rightIsNum ? rightNum.toLocaleString() : (rightVal !== undefined ? rightVal : '-'));var unit = (data.productData[leftProduct] && data.productData[leftProduct].unit) ||(data.productData[rightProduct] && data.productData[rightProduct].unit) || '';var leftTextStr = leftDisplay;var rightTextStr = rightDisplay;var leftBar = row.querySelector('.fv-versus-bar-left');var rightBar = row.querySelector('.fv-versus-bar-right');var leftText = row.querySelector('.fv-inside-left');var rightText = row.querySelector('.fv-inside-right');var labelText = row.querySelector('.fv-versus-label span');var leftWrapper = row.querySelector('.fv-versus-bar-left-wrapper');var rightWrapper = row.querySelector('.fv-versus-bar-right-wrapper');var existingPctDiffs = row.querySelectorAll('.fv-versus-pct-diff');existingPctDiffs.forEach(function(el) { el.remove(); });if (winner === 'left' && pctDiffStr) {var pctSpan = document.createElement('span');pctSpan.className = 'fv-versus-pct-diff';pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';pctSpan.textContent = pctDiffStr;if (leftBar) leftBar.insertBefore(pctSpan, leftBar.firstChild);} else if (winner === 'right' && pctDiffStr) {var pctSpan = document.createElement('span');pctSpan.className = 'fv-versus-pct-diff';pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';pctSpan.textContent = pctDiffStr;if (rightBar) rightBar.appendChild(pctSpan);}if (leftBar) {leftBar.style.backgroundColor = leftColor;leftBar.dataset.targetWidth = leftWidth;leftBar.style.setProperty('--target-width', leftWidth + '%');leftBar.style.width = leftWidth + '%';}if (rightBar) {rightBar.style.backgroundColor = rightColor;rightBar.dataset.targetWidth = rightWidth;rightBar.style.setProperty('--target-width', rightWidth + '%');rightBar.style.width = rightWidth + '%';}if (leftText) {leftText.innerHTML = leftTextStr;}if (rightText) {rightText.innerHTML = rightTextStr;}if (labelText) {labelText.textContent = data.attribute + (unit ? ' (' + unit + ')' : '');}});}if (leftSelect) leftSelect.addEventListener('change', updateVersusChart);if (rightSelect) rightSelect.addEventListener('change', updateVersusChart);});var barRows = chartWrapper.querySelectorAll('.fv-bar-row');var globalCaptionEl = chartWrapper.querySelector('.rv-chart-caption');var fallbackCaptionHtml = globalCaptionEl ? globalCaptionEl.innerHTML : '';barRows.forEach(function(row) {var commentaryEl = row.querySelector('[data-commentary-key]');if (commentaryEl) {var commentaryText = commentaryEl.textContent;if (commentaryText && commentaryText.trim().length > 0) {row.addEventListener('mouseenter', function() {if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {globalCaptionEl.innerHTML = commentaryText;globalCaptionEl.classList.add('fv-bar-active-caption');}});row.addEventListener('mouseleave', function() {if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {globalCaptionEl.innerHTML = fallbackCaptionHtml;globalCaptionEl.classList.remove('fv-bar-active-caption');}});}}});var charts = chartWrapper.querySelectorAll('.fv-chart-item');var dropdown = chartWrapper.querySelector('.fv-dropdown-title');var prevBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.prev');var nextBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.next');var carouselTitle = chartWrapper.querySelector('.fv-carousel-title-controls .fv-benchmark-title');var counter = chartWrapper.querySelector('.fv-carousel-counter');var subheadEl = chartWrapper.querySelector('.fv-chart-subhead');var captionEl = chartWrapper.querySelector('.rv-chart-caption');var footerContentEl = chartWrapper.querySelector('.fv-footer-content');var bottomBarEl = chartWrapper.querySelector('.fv-bottom-bar');var logoEl = chartWrapper.querySelector('.fv-logo');if (charts.length > 1 && (dropdown || prevBtn)) {var currentChartIndex = 0;var titles = [];if (dropdown) {titles = Array.from(dropdown.options).map(function(o) { return o.text; });} else {charts.forEach(function(c) {titles.push(c.getAttribute('data-title') || '');});}function showInternalChart(index) {if (index < 0) index = charts.length - 1;if (index >= charts.length) index = 0;currentChartIndex = index;charts.forEach(function(c, i) {c.style.display = i === index ? 'block' : 'none';if (i === index) {var cType = c.dataset.chartType;if (cType === 'Line') {} else if (cType !== 'Pie') {window.fvAnimateCharts(chartWrapper);}var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';if (labelsOnTop && (cType === 'Bar' || cType === 'Stacked Bar' || cType === 'Versus')) {chartWrapper.classList.add('labels-on-top');} else {chartWrapper.classList.remove('labels-on-top');}}});if (dropdown) dropdown.value = index;if (carouselTitle && titles[index]) carouselTitle.textContent = titles[index];if (counter) counter.textContent = (index + 1) + ' of ' + charts.length;var activeChart = charts[index];if (activeChart) {var newSubhead = activeChart.getAttribute('data-subhead');var newCaption = activeChart.getAttribute('data-caption');var currentChartType = activeChart.getAttribute('data-chart-type');var hideGlobalCaption = currentChartType === 'Countdown' || currentChartType === 'Image Comparison' || currentChartType === 'Shop the Collection';if (subheadEl) subheadEl.textContent = newSubhead || '';if (captionEl) {captionEl.textContent = newCaption || '';fallbackCaptionHtml = newCaption || '';}if (footerContentEl) {if (newCaption && newCaption.trim().length > 0 && !hideGlobalCaption) {footerContentEl.style.display = 'block';if (bottomBarEl) bottomBarEl.style.display = 'flex';} else {footerContentEl.style.display = 'none';if (bottomBarEl && !logoEl) {bottomBarEl.style.display = 'none';}}}}}if (dropdown) dropdown.addEventListener('change', function(e) { showInternalChart(parseInt(e.target.value)); });if (prevBtn) prevBtn.addEventListener('click', function() { showInternalChart(currentChartIndex - 1); });if (nextBtn) nextBtn.addEventListener('click', function() { showInternalChart(currentChartIndex + 1); });}var imageCompareWrappers = chartWrapper.querySelectorAll('.fv-image-compare-wrapper');imageCompareWrappers.forEach(function(wrapper) {var inner = wrapper.querySelector('.fv-image-compare-inner') || wrapper;var slider = wrapper.querySelector('.fv-image-compare-slider');var fgImage = wrapper.querySelector('.fv-image-compare-fg');var bgImage = wrapper.querySelector('.fv-image-compare-bg');var labelLeft = wrapper.querySelector('.fv-image-compare-label-left');var labelRight = wrapper.querySelector('.fv-image-compare-label-right');var isDragging = false;var scale = 1;var panX = 0;var panY = 0;var isPanning = false;var hasPanned = false;var lastClientX = 0;var lastClientY = 0;var initialDistance = null;var lastCenterX = null;var lastCenterY = null;function updateTransform() {if (wrapper.classList.contains('fv-image-compare-fullscreen')) {inner.style.setProperty('transform', 'translate(' + panX + 'px, ' + panY + 'px) scale(' + scale + ')', 'important');} else {inner.style.removeProperty('transform');scale = 1;panX = 0;panY = 0;}}function constrainPan() {var rect = wrapper.getBoundingClientRect();var maxPanX = Math.max(0, (rect.width * scale - rect.width) / 2);var maxPanY = Math.max(0, (rect.height * scale - rect.height) / 2);panX = Math.max(-maxPanX, Math.min(panX, maxPanX));panY = Math.max(-maxPanY, Math.min(panY, maxPanY));}wrapper.addEventListener('wheel', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;e.preventDefault();var zoomSensitivity = 0.005;var zoomFactor = Math.exp(-e.deltaY * zoomSensitivity);var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));if (newScale === scale) return;var rect = wrapper.getBoundingClientRect();var mouseX = e.clientX - rect.left - rect.width / 2;var mouseY = e.clientY - rect.top - rect.height / 2;var ratio = newScale / scale;panX = mouseX - (mouseX - panX) * ratio;panY = mouseY - (mouseY - panY) * ratio;scale = newScale;constrainPan();updateTransform();}, { passive: false });wrapper.addEventListener('mousedown', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen') || scale <= 1) return;if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;isPanning = true;hasPanned = false;lastClientX = e.clientX;lastClientY = e.clientY;});window.addEventListener('mousemove', function(e) {if (!isPanning) return;var dx = e.clientX - lastClientX;var dy = e.clientY - lastClientY;if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {hasPanned = true;}lastClientX = e.clientX;lastClientY = e.clientY;panX += dx;panY += dy;constrainPan();updateTransform();});window.addEventListener('mouseup', function() {isPanning = false;});wrapper.addEventListener('touchstart', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;if (e.touches.length === 2) {e.preventDefault();var dx = e.touches[0].clientX - e.touches[1].clientX;var dy = e.touches[0].clientY - e.touches[1].clientY;initialDistance = Math.sqrt(dx * dx + dy * dy);var rect = wrapper.getBoundingClientRect();lastCenterX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;lastCenterY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;hasPanned = true;} else if (e.touches.length === 1 && scale > 1) {if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;isPanning = true;hasPanned = false;lastClientX = e.touches[0].clientX;lastClientY = e.touches[0].clientY;}}, { passive: false });wrapper.addEventListener('touchmove', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;if (e.touches.length === 2 && initialDistance !== null) {e.preventDefault();var dx = e.touches[0].clientX - e.touches[1].clientX;var dy = e.touches[0].clientY - e.touches[1].clientY;var distance = Math.sqrt(dx * dx + dy * dy);if (initialDistance > 0) {var zoomFactor = distance / initialDistance;var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));var rect = wrapper.getBoundingClientRect();var centerX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;var centerY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;var ratio = newScale / scale;panX = centerX - (centerX - panX) * ratio;panY = centerY - (centerY - panY) * ratio;if (lastCenterX !== null && lastCenterY !== null) {panX += (centerX - lastCenterX);panY += (centerY - lastCenterY);}scale = newScale;lastCenterX = centerX;lastCenterY = centerY;constrainPan();updateTransform();}initialDistance = distance;} else if (e.touches.length === 1 && isPanning) {e.preventDefault();var dx = e.touches[0].clientX - lastClientX;var dy = e.touches[0].clientY - lastClientY;if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {hasPanned = true;}lastClientX = e.touches[0].clientX;lastClientY = e.touches[0].clientY;panX += dx;panY += dy;constrainPan();updateTransform();}}, { passive: false });wrapper.addEventListener('touchend', function(e) {if (e.touches.length < 2) {initialDistance = null;}if (e.touches.length === 0) {isPanning = false;}});function handleMove(clientX) {var rect = inner.getBoundingClientRect();var x = Math.max(0, Math.min(clientX - rect.left, rect.width));var percent = Math.max(0, Math.min((x / rect.width) * 100, 100));if (slider) slider.style.setProperty('left', percent + '%', 'important');if (fgImage) fgImage.style.setProperty('clip-path', 'polygon(0 0, ' + percent + '% 0, ' + percent + '% 100%, 0 100%)', 'important');if (labelLeft) {if (percent < 10) {labelLeft.style.setProperty('opacity', '0', 'important');} else {labelLeft.style.setProperty('opacity', '1', 'important');}}if (labelRight) {if (percent > 90) {labelRight.style.setProperty('opacity', '0', 'important');} else {labelRight.style.setProperty('opacity', '1', 'important');}}}function onMouseMove(e) {if (!isDragging) return;handleMove(e.clientX);}function onTouchMove(e) {if (!isDragging) return;e.preventDefault();handleMove(e.touches[0].clientX);}function stopDragging() {isDragging = false;window.removeEventListener('mousemove', onMouseMove);window.removeEventListener('mouseup', stopDragging);window.removeEventListener('touchmove', onTouchMove);window.removeEventListener('touchend', stopDragging);}if (slider) {var startDrag = function(clientX) {isDragging = true;handleMove(clientX);window.addEventListener('mousemove', onMouseMove);window.addEventListener('mouseup', stopDragging);};var startTouchDrag = function(clientX) {isDragging = true;handleMove(clientX);window.addEventListener('touchmove', onTouchMove, { passive: false });window.addEventListener('touchend', stopDragging);};slider.addEventListener('mousedown', function(e) {e.preventDefault();startDrag(e.clientX);});slider.addEventListener('touchstart', function(e) {e.preventDefault();startTouchDrag(e.touches[0].clientX);}, { passive: false });}var expandBtn = wrapper.querySelector('.fv-image-compare-expand-btn');var closeBtn = wrapper.querySelector('.fv-image-compare-close-btn');if (expandBtn) {if (window !== window.parent) {expandBtn.style.display = 'none';} else {expandBtn.addEventListener('click', function(e) {e.stopPropagation();wrapper.classList.add('fv-image-compare-fullscreen');document.body.style.overflow = 'hidden';if (fgImage && fgImage.dataset.highresSrc) {fgImage.src = fgImage.dataset.highresSrc;fgImage.removeAttribute('srcset');fgImage.removeAttribute('sizes');}if (bgImage && bgImage.dataset.highresSrc) {bgImage.src = bgImage.dataset.highresSrc;bgImage.removeAttribute('srcset');bgImage.removeAttribute('sizes');}});}}if (closeBtn) {closeBtn.addEventListener('click', function(e) {e.stopPropagation();wrapper.classList.remove('fv-image-compare-fullscreen');document.body.style.overflow = '';updateTransform();});}document.addEventListener('keydown', function(e) {if (e.key === 'Escape' && wrapper.classList.contains('fv-image-compare-fullscreen')) {wrapper.classList.remove('fv-image-compare-fullscreen');document.body.style.overflow = '';updateTransform();}});});var hotspots = chartWrapper.querySelectorAll('.fv-stl-hotspot-btn');var allProductsModal = chartWrapper.querySelector('.fv-stl-all-products-modal');var shopAllBtn = chartWrapper.querySelector('.fv-stl-shop-all-btn');var allProductsList = chartWrapper.querySelector('.fv-stl-all-products-list');var stlContainer = chartWrapper.querySelector('.fv-stl-container');function closeAllModals() {if (allProductsModal) {allProductsModal.classList.remove('is-active');var items = allProductsModal.querySelectorAll('.fv-stl-all-products-item');items.forEach(function(item) {item.classList.remove('is-highlighted');});if (stlContainer) {setTimeout(function() {if (!allProductsModal.classList.contains('is-active')) {stlContainer.style.minHeight = '';if ('parentIFrame' in window) {window.parentIFrame.size();}}}, 300);}}hotspots.forEach(function(btn) { btn.setAttribute('aria-expanded', 'false'); });if ('parentIFrame' in window) {window.parentIFrame.size();}}hotspots.forEach(function(btn) {btn.addEventListener('click', function(e) {e.stopPropagation();var hotspotId = btn.getAttribute('data-hotspot-id');var isExpanded = btn.getAttribute('aria-expanded') === 'true';closeAllModals();if (!isExpanded && allProductsModal) {btn.setAttribute('aria-expanded', 'true');allProductsModal.classList.add('is-active');var container = btn.closest('.fv-stl-container');if (container && container.offsetHeight < 450) {container.style.minHeight = '450px';}var targetItem = allProductsModal.querySelector('.fv-stl-all-products-item[data-product-id="' + hotspotId + '"]');if (targetItem) {targetItem.classList.add('is-highlighted');setTimeout(function() {targetItem.scrollIntoView({ behavior: 'smooth', block: 'center' });}, 100);}if ('parentIFrame' in window) {window.parentIFrame.size();}}});});if (shopAllBtn && allProductsModal) {shopAllBtn.addEventListener('click', function(e) {e.stopPropagation();closeAllModals();allProductsModal.classList.add('is-active');var container = shopAllBtn.closest('.fv-stl-container');if (container && container.offsetHeight < 450) {container.style.minHeight = '450px';}if ('parentIFrame' in window) {window.parentIFrame.size();}});}if (allProductsModal) {var closeAllBtn = allProductsModal.querySelector('.fv-stl-all-products-close');if (closeAllBtn) {closeAllBtn.addEventListener('click', function(e) {e.stopPropagation();closeAllModals();});}}chartWrapper.addEventListener('click', function(e) {if (!e.target.closest('.fv-stl-all-products-content')) {closeAllModals();}});if (allProductsModal) {allProductsModal.addEventListener('click', function(e) {if (!e.target.closest('.fv-stl-all-products-content')) {closeAllModals();}});}var iaNodes = chartWrapper.querySelectorAll('.fv-ia-node-button');var iaWrapper = chartWrapper.querySelector('.fv-ia-wrapper');var originalCaption = chartWrapper.querySelector('.fv-original-caption') || captionEl;var dynamicCaption = chartWrapper.querySelector('.fv-ia-dynamic-caption');var exploreBtn = chartWrapper.querySelector('.fv-ia-explore-btn');var currentIaIndex = -1;function closeAllIANodes() {iaNodes.forEach(function(btn) { btn.classList.remove('is-active'); });if (originalCaption) originalCaption.style.display = 'block';if (dynamicCaption) dynamicCaption.style.display = 'none';}function resetExploreBtn() {currentIaIndex = -1;if (exploreBtn) {var exploreSpan = exploreBtn.querySelector('span');if (exploreSpan) exploreSpan.textContent = 'Explore';}}iaNodes.forEach(function(btn, index) {btn.addEventListener('click', function(e) {e.stopPropagation();var isActive = btn.classList.contains('is-active');closeAllIANodes();if (!isActive) {currentIaIndex = index;if (exploreBtn) {var exploreSpan = exploreBtn.querySelector('span');if (exploreSpan) exploreSpan.textContent = 'Next';}btn.classList.add('is-active');if (dynamicCaption) {var title = btn.getAttribute('data-title') || '';var desc = btn.getAttribute('data-desc') || '';dynamicCaption.innerHTML = '';var strongTag = document.createElement('strong');strongTag.textContent = title;dynamicCaption.appendChild(strongTag);if (desc) {dynamicCaption.appendChild(document.createTextNode(' - ' + desc));}if (originalCaption) originalCaption.style.display = 'none';dynamicCaption.style.display = 'block';if (footerContentEl) footerContentEl.style.display = 'block';}} else {resetExploreBtn();}});});if (exploreBtn) {exploreBtn.addEventListener('click', function(e) {e.stopPropagation();if (iaNodes.length === 0) return;var nextIndex = currentIaIndex + 1;if (nextIndex >= iaNodes.length) {closeAllIANodes();resetExploreBtn();} else {currentIaIndex = nextIndex;var targetBtn = iaNodes[currentIaIndex];if (targetBtn) {if(targetBtn.classList.contains('is-active')) {targetBtn.click();}targetBtn.click();}}});}if (iaWrapper) {iaWrapper.addEventListener('click', function(e) {if (!e.target.closest('.fv-ia-node-button') && !e.target.closest('.fv-ia-explore-btn')) {closeAllIANodes();resetExploreBtn();}});}window.fvAnimateCharts(chartWrapper);var countdownContainer = chartWrapper.querySelector('.fv-countdown-container');if (countdownContainer) {var targetDateAttr = countdownContainer.getAttribute('data-target-date');if (targetDateAttr) {var targetDate = new Date(targetDateAttr);var primaryColor = countdownContainer.getAttribute('data-primary-color') || '#f97316';var subheadColor = countdownContainer.getAttribute('data-subhead-color') || '#ffffff';var pad = function(n) { return (n < 10 ? '0' : '') + n; };var updateCountdown = function() {var difference = +targetDate - +new Date();var d = 0, h = 0, m = 0, s = 0;if (difference > 0) {d = Math.floor(difference / (1000 * 60 * 60 * 24));h = Math.floor((difference / (1000 * 60 * 60)) % 24);m = Math.floor((difference / 1000 / 60) % 60);s = Math.floor((difference / 1000) % 60);}var daysEl = countdownContainer.querySelector('[data-time="days"]');var hoursEl = countdownContainer.querySelector('[data-time="hours"]');var minsEl = countdownContainer.querySelector('[data-time="minutes"]');var secsEl = countdownContainer.querySelector('[data-time="seconds"]');if (daysEl) daysEl.textContent = d;if (hoursEl) hoursEl.textContent = pad(h);if (minsEl) minsEl.textContent = pad(m);if (secsEl) secsEl.textContent = pad(s);};updateCountdown();setInterval(updateCountdown, 1000);}}}if (false) {var slideshowContainer = document.getElementById(uniqueId + '-slideshow');if (slideshowContainer) {var slides = slideshowContainer.querySelectorAll('.fv-slide');slides.forEach(function(slide) {setupWrapper(slide.querySelector('.fv-chart-wrapper'));});}} else {setupWrapper(root);}}if (document.readyState === 'loading') {document.addEventListener('DOMContentLoaded', function() { initialize('fv-chart-1789662446064-xfo8dug44', false); });} else {initialize('fv-chart-1789662446064-xfo8dug44', false);}})();</script></div><p>The Omni E35’s quietest mode — which I recorded at just 60 decibels – was very fast, but left noticeable tracks of the crumb mix behind. The same happened when ramping up to Turbo mode (64 decibels) and switching to a more thorough clean. But, thankfully, the carpet was left absolutely flawless by using the ultra-powerful Max mode (67 decibels), along with the Deep intensity option and with two passes of the target area. This took longer, but the results absolutely justified the extra time and energy.</p><p>(While talking about noise levels, I recorded the dust bin emptying process at 85 dB from about two feet away.)</p><div class="vizualizer-embed"><style>@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap');#fv-chart-1789662456772-bndieyrs9 *, #fv-chart-1789662456772-bndieyrs9 *:before, #fv-chart-1789662456772-bndieyrs9 *:after, #fv-chart-1789662456772-bndieyrs9-slideshow *, #fv-chart-1789662456772-bndieyrs9-slideshow *:before, #fv-chart-1789662456772-bndieyrs9-slideshow *:after {box-sizing: border-box !important; margin: 0; padding: 0; border: 0;font-size: 100%; font: inherit; vertical-align: baseline;}#fv-chart-1789662456772-bndieyrs9, #fv-chart-1789662456772-bndieyrs9-slideshow { font-family: 'Open Sans', sans-serif !important; }#fv-chart-1789662456772-bndieyrs9 {position: relative !important; overflow: visible !important;--riv-primary: #2E6E93;}#fv-chart-1789662456772-bndieyrs9 .fv-inner-wrapper {color: #1F2937 !important; background-color: #ffffff !important;padding: 1.5rem 1.5rem 2rem !important; border-radius: 0.5rem !important;box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important;margin: 1rem 0 !important; display: flex !important; flex-direction: column !important;overflow: hidden !important;}#fv-chart-1789662456772-bndieyrs9 .fv-inner-wrapper.fv-no-header.fv-is-image-compare {padding-top: 0 !important;}#fv-chart-1789662456772-bndieyrs9.fv-full-bleed {width: 100vw !important;margin-left: calc(50% - 50vw) !important;}body {overflow-x: clip !important;}#fv-chart-1789662456772-bndieyrs9.fv-full-bleed .fv-inner-wrapper {padding: 0 !important;border-radius: 0 !important;box-shadow: none !important;margin: 0 !important;background-color: transparent !important;}#fv-chart-1789662456772-bndieyrs9 .fv-inner-wrapper.fv-is-shop-the-look {padding: 0 !important;border-radius: 0 !important;box-shadow: none !important;margin: 0 !important;background-color: transparent !important;}#fv-chart-1789662456772-bndieyrs9-slideshow {position: relative !important;width: 100% !important;margin: 1rem 0 !important;--riv-primary: #2E6E93;}#fv-chart-1789662456772-bndieyrs9-slideshow .fv-slides-wrapper {position: relative !important;width: 100% !important;}#fv-chart-1789662456772-bndieyrs9-slideshow .fv-slide {width: 100% !important;animation: fv-fade-in 0.3s ease-in-out;}@keyframes fv-fade-in {from { opacity: 0; }to { opacity: 1; }}#fv-chart-1789662456772-bndieyrs9-slideshow .fv-slideshow-nav-row {position: relative !important;display: flex !important;justify-content: space-between !important;align-items: center !important;padding: 0 0 16px 0 !important;width: 100% !important;z-index: 20 !important;}#fv-chart-1789662456772-bndieyrs9-slideshow .fv-nav-btn {background-color: var(--riv-primary) !important;color: #ffffff !important;border: none !important;border-radius: 4px !important;padding: 8px 16px !important;font-size: 14px !important;font-weight: 700 !important;cursor: pointer !important;display: flex !important;align-items: center !important;justify-content: center !important;gap: 6px !important;transition: opacity 0.2s, background-color 0.2s !important;height: 36px !important;text-transform: none !important;box-shadow: 0 1px 2px rgba(0,0,0,0.1) !important;}#fv-chart-1789662456772-bndieyrs9-slideshow .fv-nav-btn svg {width: 18px !important;height: 18px !important;stroke-width: 3px !important;filter: none !important;}#fv-chart-1789662456772-bndieyrs9-slideshow .fv-nav-btn:hover {opacity: 0.9 !important;transform: translateY(-1px) !important;}#fv-chart-1789662456772-bndieyrs9-slideshow .fv-nav-btn.disabled {background-color: #E5E7EB !important;color: #9CA3AF !important;cursor: default !important;pointer-events: none !important;box-shadow: none !important;}#fv-chart-1789662456772-bndieyrs9-slideshow .fv-slide-counter {font-family: 'Poppins', sans-serif !important;font-size: 14px !important;font-weight: 600 !important;color: #374151 !important;text-align: center !important;min-width: 40px !important;background-color: rgba(255,255,255,0.8) !important;padding: 2px 8px !important;border-radius: 10px !important;}#fv-chart-1789662456772-bndieyrs9-slideshow .fv-slideshow-select {position: absolute !important;top: 10px !important;right: 10px !important;z-index: 20 !important;appearance: none !important;-webkit-appearance: none !important;-moz-appearance: none !important;background-color: white !important;border: 1px solid #d1d5db !important;color: #1F2937 !important;font-family: 'Open Sans', sans-serif !important;font-size: 14px !important;font-weight: 600 !important;padding: 6px 32px 6px 12px !important;border-radius: 4px !important;cursor: pointer !important;box-shadow: 0 1px 2px rgba(0,0,0,0.05) !important;background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e") !important;background-position: right 0.5rem center !important;background-repeat: no-repeat !important;background-size: 1.5em 1.5em !important;}#fv-chart-1789662456772-bndieyrs9-slideshow .fv-slideshow-select:focus {outline: 2px solid #2E6E93 !important;border-color: #2E6E93 !important;}#fv-chart-1789662456772-bndieyrs9 .fv-chart-title {font-weight: bold !important;text-align: center !important;margin-bottom: 0.5rem !important;color: var(--riv-primary) !important;font-size: 20px !important;line-height: 1.2 !important;font-family: 'Open Sans', sans-serif !important;text-transform: none !important;white-space: normal !important;overflow-wrap: break-word !important;padding: 0 20px !important;}#fv-chart-1789662456772-bndieyrs9 .fv-chart-subhead {font-size: 18px !important;font-weight: 500 !important;text-align: center !important;margin-bottom: 2rem !important;color: #374151 !important;line-height: 1.7 !important;font-family: 'Open Sans', sans-serif !important;display: block !important;text-transform: none !important;padding: 0 20px !important;}#fv-chart-1789662456772-bndieyrs9 .rv-chart-caption { font-size: 15px !important; color: #374151 !important; text-align: center !important; font-style: normal !important; font-weight: normal !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; }#fv-chart-1789662456772-bndieyrs9 .fv-versus-chart { display: flex; flex-direction: column; width: 100%; margin-top: 1rem; }#fv-chart-1789662456772-bndieyrs9 .fv-versus-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding: 0 1rem; }#fv-chart-1789662456772-bndieyrs9 .fv-versus-select-wrapper { flex: 1; min-width: 0; }#fv-chart-1789662456772-bndieyrs9 .fv-versus-select-wrapper.fv-left { text-align: center; padding-right: 1rem; }#fv-chart-1789662456772-bndieyrs9 .fv-versus-select-wrapper.fv-right { text-align: center; padding-left: 1rem; }#fv-chart-1789662456772-bndieyrs9 .fv-versus-select-container { position: relative; display: inline-block; max-width: 100%; width: 100%; }#fv-chart-1789662456772-bndieyrs9 .fv-versus-chevron { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; width: 16px; height: 16px; flex-shrink: 0; }#fv-chart-1789662456772-bndieyrs9 .fv-versus-select-wrapper.fv-left .fv-versus-chevron { right: 0; }#fv-chart-1789662456772-bndieyrs9 .fv-versus-select-wrapper.fv-right .fv-versus-chevron { right: 0; }#fv-chart-1789662456772-bndieyrs9 .fv-versus-select { background: transparent; border: none; border-bottom: 2px solid; font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; padding: 0.25rem 0; cursor: pointer; outline: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; max-width: 100%; width: 100%; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; }#fv-chart-1789662456772-bndieyrs9 .fv-versus-select.fv-select-left { text-align: center; direction: ltr; padding-right: 1.25rem; }#fv-chart-1789662456772-bndieyrs9 .fv-versus-select.fv-select-right { text-align: center; padding-right: 1.25rem; }#fv-chart-1789662456772-bndieyrs9 .fv-versus-select option { font-family: 'Open Sans', sans-serif; font-weight: 400; font-size: 14px; color: #374151; direction: ltr; text-align: left; }#fv-chart-1789662456772-bndieyrs9 .fv-versus-vs { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; color: #374151; letter-spacing: 0.1em; padding: 0 1rem; }#fv-chart-1789662456772-bndieyrs9 .fv-versus-body { display: flex; flex-direction: column; gap: 1.5rem; }#fv-chart-1789662456772-bndieyrs9 .fv-versus-row { position: relative; height: auto; padding-top: 20px; margin-bottom: 0.25rem; display: block; }#fv-chart-1789662456772-bndieyrs9 .fv-versus-bar-container { position: relative; height: 32px; display: flex; align-items: center; }#fv-chart-1789662456772-bndieyrs9 .fv-versus-bar-left-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-end; align-items: center; }#fv-chart-1789662456772-bndieyrs9 .fv-versus-bar-right-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-start; align-items: center; }#fv-chart-1789662456772-bndieyrs9 .fv-versus-bar { height: 32px; width: var(--target-width); transition: width 0.8s ease-out; animation: fv-grow-max-width 0.8s ease-out forwards; display: flex; align-items: center; overflow: hidden; color: #ffffff; }#fv-chart-1789662456772-bndieyrs9 .fv-versus-bar-left { border-radius: 4px 0 0 4px; justify-content: flex-end; padding: 0 8px; }#fv-chart-1789662456772-bndieyrs9 .fv-versus-bar-right { border-radius: 0 4px 4px 0; justify-content: flex-start; padding: 0 8px; }@keyframes fv-grow-max-width {from { max-width: 0; }to { max-width: 100%; }}#fv-chart-1789662456772-bndieyrs9 .fv-versus-center-line { position: absolute; left: 50%; top: 0; bottom: 0; width: 4px; background-color: #ffffff; transform: translateX(-50%); z-index: 1; }#fv-chart-1789662456772-bndieyrs9 .fv-inside-left { white-space: nowrap; flex-shrink: 0; }#fv-chart-1789662456772-bndieyrs9 .fv-inside-right { white-space: nowrap; flex-shrink: 0; }#fv-chart-1789662456772-bndieyrs9 .fv-versus-val-text { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; }#fv-chart-1789662456772-bndieyrs9 .fv-versus-pct-diff { font-size: 12px; font-weight: 600; }#fv-chart-1789662456772-bndieyrs9 .fv-versus-label { position: absolute; left: 50%; transform: translateX(-50%); top: 0; background-color: transparent; border: none; box-shadow: none; padding: 0; font-family: 'Open Sans', sans-serif; font-weight: 700; font-size: 14px; color: #374151; white-space: nowrap; }#fv-chart-1789662456772-bndieyrs9 .sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }#fv-chart-1789662456772-bndieyrs9 .fv-image-compare-container { width: auto !important; margin-left: -1.5rem !important; margin-right: -1.5rem !important; margin-bottom: 2rem !important; }#fv-chart-1789662456772-bndieyrs9.fv-full-bleed .fv-image-compare-container { width: 100% !important; max-width: none !important; margin: 0 auto !important; }#fv-chart-1789662456772-bndieyrs9 .fv-image-compare-wrapper { position: relative !important; width: 100% !important; overflow: hidden !important; border-radius: 0 !important; background-color: #000 !important; touch-action: pan-y !important; user-select: none !important; -webkit-user-select: none !important; }#fv-chart-1789662456772-bndieyrs9 .fv-image-compare-inner { position: relative !important; width: 100% !important; height: 100% !important; display: block !important; transform-origin: center center !important; transition: transform 0.1s ease-out !important; }#fv-chart-1789662456772-bndieyrs9 .fv-image-compare-bg { display: block !important; width: 100% !important; height: auto !important; pointer-events: none !important; user-select: none !important; -webkit-user-select: none !important; -webkit-user-drag: none !important; }#fv-chart-1789662456772-bndieyrs9 .fv-image-compare-fg { position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; object-fit: cover !important; clip-path: polygon(0 0, 50% 0, 50% 100%, 0 100%) !important; pointer-events: none !important; user-select: none !important; -webkit-user-select: none !important; -webkit-user-drag: none !important; }#fv-chart-1789662456772-bndieyrs9 .fv-image-compare-slider { position: absolute !important; top: 0 !important; bottom: 0 !important; left: 50% !important; width: 32px !important; transform: translateX(-50%) !important; cursor: ew-resize !important; z-index: 10 !important; user-select: none !important; -webkit-user-select: none !important; }#fv-chart-1789662456772-bndieyrs9 .fv-image-compare-slider-line { position: absolute !important; top: 0 !important; bottom: 0 !important; left: 50% !important; width: 4px !important; background-color: white !important; transform: translateX(-50%) !important; box-shadow: 0 0 10px rgba(0,0,0,0.5) !important; pointer-events: none !important; }#fv-chart-1789662456772-bndieyrs9 .fv-image-compare-handle { position: absolute !important; top: 50% !important; left: 50% !important; transform: translate(-50%, -50%) !important; width: 32px !important; height: 32px !important; background-color: white !important; border-radius: 50% !important; box-shadow: 0 2px 6px rgba(0,0,0,0.3) !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 4px !important; pointer-events: none !important; z-index: 11 !important; overflow: hidden !important; }#fv-chart-1789662456772-bndieyrs9 .fv-image-compare-handle.fv-image-compare-handle-square { border-radius: 6px !important; }#fv-chart-1789662456772-bndieyrs9 .fv-image-compare-arrow-left { width: 0 !important; height: 0 !important; border-top: 4px solid transparent !important; border-bottom: 4px solid transparent !important; border-right: 4px solid #4b5563 !important; }#fv-chart-1789662456772-bndieyrs9 .fv-image-compare-arrow-right { width: 0 !important; height: 0 !important; border-top: 4px solid transparent !important; border-bottom: 4px solid transparent !important; border-left: 4px solid #4b5563 !important; }#fv-chart-1789662456772-bndieyrs9 .fv-image-compare-label { position: absolute !important; top: 1rem !important; background-color: rgba(0, 0, 0, 0.5) !important; color: white !important; padding: 0.25rem 0.75rem !important; border-radius: 0.25rem !important; font-size: 0.875rem !important; font-weight: 500 !important; pointer-events: none !important; backdrop-filter: blur(4px) !important; z-index: 5 !important; transition: right 0.3s ease, opacity 0.2s ease !important; }#fv-chart-1789662456772-bndieyrs9 .fv-image-compare-label-left { left: 1rem !important; }#fv-chart-1789662456772-bndieyrs9 .fv-image-compare-label-right { right: 1rem !important; }#fv-chart-1789662456772-bndieyrs9 .fv-image-compare-expand-btn, #fv-chart-1789662456772-bndieyrs9 .fv-image-compare-close-btn { position: absolute !important; bottom: 1rem !important; right: 1rem !important; background-color: rgba(0, 0, 0, 0.5) !important; color: white !important; border: none !important; border-radius: 0.25rem !important; padding: 0.5rem !important; cursor: pointer !important; z-index: 20 !important; display: flex !important; align-items: center !important; justify-content: center !important; backdrop-filter: blur(4px) !important; transition: background-color 0.2s !important; }#fv-chart-1789662456772-bndieyrs9 .fv-image-compare-expand-btn:hover, #fv-chart-1789662456772-bndieyrs9 .fv-image-compare-close-btn:hover { background-color: rgba(0, 0, 0, 0.7) !important; }#fv-chart-1789662456772-bndieyrs9 .fv-image-compare-close-btn { display: none !important; top: 1rem !important; bottom: auto !important; }#fv-chart-1789662456772-bndieyrs9 .fv-image-compare-wrapper.fv-image-compare-fullscreen { position: fixed !important; top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important; width: 100% !important; height: 100% !important; z-index: 999999 !important; display: flex !important; align-items: center !important; justify-content: center !important; background-color: rgba(0, 0, 0, 0.9) !important; margin: 0 !important; touch-action: none !important; }#fv-chart-1789662456772-bndieyrs9 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-inner { width: 100% !important; height: 100% !important; display: flex !important; align-items: center !important; justify-content: center !important; cursor: grab !important; }#fv-chart-1789662456772-bndieyrs9 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-inner:active { cursor: grabbing !important; }#fv-chart-1789662456772-bndieyrs9 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-bg { position: absolute !important; top: 0 !important; left: 0 !important; max-width: 100% !important; max-height: 100% !important; width: 100% !important; height: 100% !important; object-fit: contain !important; }#fv-chart-1789662456772-bndieyrs9 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-fg { max-width: 100% !important; max-height: 100% !important; width: 100% !important; height: 100% !important; object-fit: contain !important; }#fv-chart-1789662456772-bndieyrs9 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-expand-btn { display: none !important; }#fv-chart-1789662456772-bndieyrs9 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-close-btn { display: flex !important; }#fv-chart-1789662456772-bndieyrs9 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-label-right { right: 4rem !important; }#fv-chart-1789662456772-bndieyrs9 .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; }#fv-chart-1789662456772-bndieyrs9 .fv-footer-content { text-align: center !important; width: 100% !important; }#fv-chart-1789662456772-bndieyrs9 .fv-logo {display: block !important;margin: 0 auto !important;width: 120px !important;min-width: 120px !important;max-width: 120px !important;height: auto !important;object-fit: contain !important;flex-shrink: 0 !important;}#fv-chart-1789662456772-bndieyrs9 .fv-dropdown-wrapper { text-align: center !important; margin-bottom: 16px !important; margin-top: 0 !important; }#fv-chart-1789662456772-bndieyrs9 .fv-dropdown-title-container { position: relative !important; display: inline-block !important; max-width: 100% !important; }#fv-chart-1789662456772-bndieyrs9 .fv-dropdown-title {appearance: none !important;-webkit-appearance: none !important;-moz-appearance: none !important;background: transparent !important;border: none !important;font-size: 18px !important;font-weight: 600 !important;color: var(--riv-primary) !important;padding-right: 28px !important;padding-left: 10px !important;cursor: pointer !important;text-align: center !important;text-align-last: center !important;width: auto !important;max-width: 100% !important;font-family: 'Open Sans', sans-serif !important;line-height: 1.3 !important;margin: 0 !important;text-overflow: ellipsis !important;overflow: hidden !important;white-space: nowrap !important;}#fv-chart-1789662456772-bndieyrs9 .fv-dropdown-title:focus { outline: none !important; }#fv-chart-1789662456772-bndieyrs9 .fv-dropdown-title::-ms-expand { display: none !important; }#fv-chart-1789662456772-bndieyrs9 .fv-dropdown-chevron {position: absolute !important;right: 0 !important;top: 50% !important;transform: translateY(-50%) !important;pointer-events: none !important;color: var(--riv-primary) !important;display: flex !important;align-items: center !important;}#fv-chart-1789662456772-bndieyrs9 .fv-carousel-title-controls { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 16px !important; width: 100% !important; gap: 12px !important; }#fv-chart-1789662456772-bndieyrs9 .fv-carousel-nav-btn {background: transparent !important; border: 1px solid #d1d5db !important; border-radius: 6px !important; padding: 6px 10px !important;cursor: pointer !important; font-size: 14px !important; color: #374151 !important; display: flex !important; align-items: center !important; gap: 4px !important; font-family: 'Open Sans', sans-serif !important;}#fv-chart-1789662456772-bndieyrs9 .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; }#fv-chart-1789662456772-bndieyrs9 .fv-carousel-counter { font-size: 14px !important; color: #374151 !important; text-align: center !important; margin-top: 1rem !important; }#fv-chart-1789662456772-bndieyrs9 .fv-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 8px 16px !important; margin: 0 !important; padding: 0 !important; margin-top: 1rem !important; }#fv-chart-1789662456772-bndieyrs9 .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #374151 !important; }#fv-chart-1789662456772-bndieyrs9 .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; }#fv-chart-1789662456772-bndieyrs9 .fv-multi-value-legend {display: flex !important;justify-content: center !important;flex-wrap: wrap !important;gap: 12px 24px !important;margin-bottom: 1.5rem !important;padding: 0 !important;}#fv-chart-1789662456772-bndieyrs9 .fv-multi-legend-item { display: flex !important; align-items: center !important; gap: 8px !important; font-size: 14px !important; color: #374151 !important; font-weight: 500 !important; }#fv-chart-1789662456772-bndieyrs9 .fv-multi-legend-swatch { width: 16px !important; height: 16px !important; border-radius: 3px !important; }#fv-chart-1789662456772-bndieyrs9 .fv-benchmark-group { margin-bottom: 1rem !important; }#fv-chart-1789662456772-bndieyrs9 .fv-benchmark-title {font-size: 18px !important; font-weight: 600 !important; margin-bottom: 16px !important; margin-top: 0 !important; padding: 0 !important;text-align: center !important; color: var(--riv-primary) !important; flex: 1 !important; min-width: 0 !important;font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important;text-transform: none !important;white-space: normal !important;overflow-wrap: break-word !important;word-wrap: break-word !important;max-width: 100% !important;}#fv-chart-1789662456772-bndieyrs9 .fv-bar-row, #fv-chart-1789662456772-bndieyrs9 .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; position: relative !important; }#fv-chart-1789662456772-bndieyrs9 .fv-bar-label { width: 150px !important; flex-shrink: 0 !important; font-size: 14px !important; color: #374151 !important; padding-right: 10px !important; text-align: right !important; font-weight: 500 !important; display: block !important; }#fv-chart-1789662456772-bndieyrs9 .fv-bar-container { flex-grow: 1 !important; background-color: #E5E7EB !important; border-radius: 4px !important; min-height: 25px !important; border: 1px solid #D1D5DB !important; position: relative !important; display: flex !important; align-items: center !important; }#fv-chart-1789662456772-bndieyrs9 .fv-bar-commentary-inline { display: none !important; position: absolute !important; left: 150px !important; top: 0 !important; bottom: 0 !important; right: 0 !important; width: calc(100% - 150px) !important; margin: 0 !important; padding: 0 8px !important; font-size: 13px !important; color: #fff !important; background: rgba(0,0,0,0.8) !important; border-radius: 4px !important; line-height: 1.4 !important; font-weight: normal !important; text-transform: none !important; word-wrap: break-word !important; z-index: 10 !important; align-items: center !important; overflow-y: auto !important; }#fv-chart-1789662456772-bndieyrs9.preview-wrapper .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1789662456772-bndieyrs9.preview-wrapper .fv-bar-commentary-inline:focus, #fv-chart-1789662456772-bndieyrs9.preview-wrapper .fv-bar-commentary-inline:focus-within, #fv-chart-1789662456772-bndieyrs9.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1789662456772-bndieyrs9.mobile-view .fv-bar-commentary-inline:focus, #fv-chart-1789662456772-bndieyrs9.mobile-view .fv-bar-commentary-inline:focus-within { display: flex !important; }#fv-chart-1789662456772-bndieyrs9 .fv-bar { height: 100% !important; border-radius: 3px !important; display: flex !important; align-items: center !important; transition: opacity 0.2s ease, width 0.8s ease-out !important; min-height: 23px !important; }#fv-chart-1789662456772-bndieyrs9 .fv-bar:hover { opacity: 0.8 !important; }#fv-chart-1789662456772-bndieyrs9 .fv-bar-inner-content { display: flex !important; justify-content: space-between !important; align-items: center !important; width: 100% !important; height: 100% !important; padding: 0 8px !important; font-size: 14px !important; font-weight: bold !important; overflow: hidden !important; }#fv-chart-1789662456772-bndieyrs9 .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; }#fv-chart-1789662456772-bndieyrs9 .fv-bar-inner-value { flex-shrink: 0 !important; }#fv-chart-1789662456772-bndieyrs9 .fv-bar-value-outside { padding-left: 8px !important; font-size: 14px !important; font-weight: bold !important; color: #374151 !important; white-space: nowrap !important; }#fv-chart-1789662456772-bndieyrs9 .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; }#fv-chart-1789662456772-bndieyrs9 .fv-multi-bar-container { flex-direction: column !important; padding: 4px !important; align-items: stretch !important; gap: 4px !important; height: auto !important; }#fv-chart-1789662456772-bndieyrs9 .fv-multi-bar-item { display: flex !important; align-items: center !important; height: 25px !important; width: 100% !important; }#fv-chart-1789662456772-bndieyrs9 .fv-stacked-bar { display: flex !important; overflow: hidden !important; }#fv-chart-1789662456772-bndieyrs9 .fv-stacked-segment { height: 100% !important; display: flex !important; align-items: center !important; justify-content: flex-end !important; padding-right: 8px !important; border-right: 1px solid rgba(255,255,255,0.3) !important; }#fv-chart-1789662456772-bndieyrs9 .fv-stacked-segment:last-child { border-right: none !important; }#fv-chart-1789662456772-bndieyrs9 .fv-segment-value { font-size: 14px !important; font-weight: bold !important; }#fv-chart-1789662456772-bndieyrs9 .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; }#fv-chart-1789662456772-bndieyrs9 .fv-grouped-product-title-wrapper { padding-left: 150px !important; }#fv-chart-1789662456772-bndieyrs9 .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.5rem !important; font-weight: 700 !important; font-size: 14px !important; color: #374151 !important; text-transform: none !important; }#fv-chart-1789662456772-bndieyrs9 .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; }#fv-chart-1789662456772-bndieyrs9 .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; }#fv-chart-1789662456772-bndieyrs9 .fv-bar-cluster .fv-bar-container { height: 20px !important; }#fv-chart-1789662456772-bndieyrs9 .riv-grid line {stroke: #D1D5DB !important;stroke-dasharray: 3 3 !important;}#fv-chart-1789662456772-bndieyrs9 .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; }#fv-chart-1789662456772-bndieyrs9 .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; }#fv-chart-1789662456772-bndieyrs9 .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; }#fv-chart-1789662456772-bndieyrs9 .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; }#fv-chart-1789662456772-bndieyrs9 .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; }#fv-chart-1789662456772-bndieyrs9 .fv-x-axis-ticks { display: flex !important; justify-content: space-between !important; padding-top: 4px !important; font-size: 13px !important; color: #374151 !important; }#fv-chart-1789662456772-bndieyrs9 .fv-x-axis-ticks span { position: relative !important; }#fv-chart-1789662456772-bndieyrs9 .fv-x-axis-ticks span::before { content: '' !important; position: absolute !important; top: -6px !important; left: 50% !important; transform: translateX(-50%) !important; width: 2px !important; height: 4px !important; background-color: #D1D5DB !important; border-radius: 1px !important; }#fv-chart-1789662456772-bndieyrs9 .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #374151 !important; margin-top: 8px !important; display: block !important; }#fv-chart-1789662456772-bndieyrs9 .fv-x-axis-title { text-align: center !important; font-size: 15px !important; color: #374151 !important; margin-top: 8px !important; margin-bottom: 16px !important; line-height: 1.5 !important; padding: 0 1rem !important; display: block !important; font-weight: bold !important; }#fv-chart-1789662456772-bndieyrs9 .fv-y-axis-title {font-size: 15px !important;color: #374151 !important;line-height: 1.5 !important;text-align: left !important;padding-left: 5.83% !important;margin-bottom: 4px !important;display: block !important;font-weight: bold !important;}#fv-chart-1789662456772-bndieyrs9.mobile-view .fv-pie-container,#fv-chart-1789662456772-bndieyrs9.labels-on-top .fv-pie-container {flex-direction: column !important; gap: 1rem !important;}#fv-chart-1789662456772-bndieyrs9.mobile-view .fv-grouped-product-title-wrapper,#fv-chart-1789662456772-bndieyrs9.labels-on-top .fv-grouped-product-title-wrapper {padding-left: 0 !important;}#fv-chart-1789662456772-bndieyrs9.mobile-view .fv-bar-row,#fv-chart-1789662456772-bndieyrs9.mobile-view .fv-stacked-product,#fv-chart-1789662456772-bndieyrs9.mobile-view .fv-grouped-bar-product,#fv-chart-1789662456772-bndieyrs9.labels-on-top .fv-bar-row,#fv-chart-1789662456772-bndieyrs9.labels-on-top .fv-stacked-product,#fv-chart-1789662456772-bndieyrs9.labels-on-top .fv-grouped-bar-product {flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important;}#fv-chart-1789662456772-bndieyrs9.mobile-view .fv-bar-label:not(.fv-grouped-product-title),#fv-chart-1789662456772-bndieyrs9.labels-on-top .fv-bar-label:not(.fv-grouped-product-title) {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1789662456772-bndieyrs9.mobile-view .fv-bar-label,#fv-chart-1789662456772-bndieyrs9.mobile-view .fv-grouped-product-title,#fv-chart-1789662456772-bndieyrs9.labels-on-top .fv-bar-label,#fv-chart-1789662456772-bndieyrs9.labels-on-top .fv-grouped-product-title {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1789662456772-bndieyrs9.mobile-view .fv-bar-container,#fv-chart-1789662456772-bndieyrs9.mobile-view .fv-bar-cluster,#fv-chart-1789662456772-bndieyrs9.labels-on-top .fv-bar-container,#fv-chart-1789662456772-bndieyrs9.labels-on-top .fv-bar-cluster {width: 100% !important;}#fv-chart-1789662456772-bndieyrs9.mobile-view .fv-bar-row .fv-bar-commentary-inline,#fv-chart-1789662456772-bndieyrs9.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline,#fv-chart-1789662456772-bndieyrs9.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus,#fv-chart-1789662456772-bndieyrs9.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus-within,#fv-chart-1789662456772-bndieyrs9.labels-on-top .fv-bar-row .fv-bar-commentary-inline,#fv-chart-1789662456772-bndieyrs9.labels-on-top .fv-bar-row:hover .fv-bar-commentary-inline,#fv-chart-1789662456772-bndieyrs9.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus,#fv-chart-1789662456772-bndieyrs9.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus-within {position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important;}#fv-chart-1789662456772-bndieyrs9.mobile-view .fv-x-axis-wrapper,#fv-chart-1789662456772-bndieyrs9.labels-on-top .fv-x-axis-wrapper {margin-left: 0 !important;}#fv-chart-1789662456772-bndieyrs9.mobile-view .fv-x-axis-label-space,#fv-chart-1789662456772-bndieyrs9.labels-on-top .fv-x-axis-label-space {display: none !important;}#fv-chart-1789662456772-bndieyrs9.mobile-view .fv-x-axis-chart-space,#fv-chart-1789662456772-bndieyrs9.labels-on-top .fv-x-axis-chart-space {padding-right: 0 !important;}#fv-chart-1789662456772-bndieyrs9.mobile-view .fv-benchmark-title,#fv-chart-1789662456772-bndieyrs9.labels-on-top .fv-benchmark-title {font-size: 16px !important;}#fv-chart-1789662456772-bndieyrs9.mobile-view .fv-dropdown-title,#fv-chart-1789662456772-bndieyrs9.labels-on-top .fv-dropdown-title {font-size: 16px !important;}#fv-chart-1789662456772-bndieyrs9.mobile-view .fv-carousel-nav-btn,#fv-chart-1789662456772-bndieyrs9.labels-on-top .fv-carousel-nav-btn {padding: 8px 12px !important; font-size: 14px !important;}#fv-chart-1789662456772-bndieyrs9.mobile-view .fv-chart-title,#fv-chart-1789662456772-bndieyrs9.labels-on-top .fv-chart-title {padding: 0 8px !important;}#fv-chart-1789662456772-bndieyrs9.mobile-view .fv-chart-subhead,#fv-chart-1789662456772-bndieyrs9.labels-on-top .fv-chart-subhead {padding: 0 8px !important;}#fv-chart-1789662456772-bndieyrs9.mobile-view .fv-versus-header,#fv-chart-1789662456772-bndieyrs9.labels-on-top .fv-versus-header {flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important;}#fv-chart-1789662456772-bndieyrs9.mobile-view .fv-versus-select-wrapper,#fv-chart-1789662456772-bndieyrs9.labels-on-top .fv-versus-select-wrapper {flex: 1 !important; min-width: 0 !important; width: 100% !important;}#fv-chart-1789662456772-bndieyrs9.mobile-view .fv-versus-select-wrapper.fv-left,#fv-chart-1789662456772-bndieyrs9.labels-on-top .fv-versus-select-wrapper.fv-left {text-align: center !important; padding-right: 0 !important;}#fv-chart-1789662456772-bndieyrs9.mobile-view .fv-versus-select-wrapper.fv-right,#fv-chart-1789662456772-bndieyrs9.labels-on-top .fv-versus-select-wrapper.fv-right {text-align: center !important; padding-left: 0 !important;}#fv-chart-1789662456772-bndieyrs9.mobile-view .fv-versus-select.fv-select-left,#fv-chart-1789662456772-bndieyrs9.labels-on-top .fv-versus-select.fv-select-left {text-align: center !important;}#fv-chart-1789662456772-bndieyrs9.mobile-view .fv-versus-select.fv-select-right,#fv-chart-1789662456772-bndieyrs9.labels-on-top .fv-versus-select.fv-select-right {text-align: center !important;}#fv-chart-1789662456772-bndieyrs9.mobile-view .fv-versus-vs,#fv-chart-1789662456772-bndieyrs9.labels-on-top .fv-versus-vs {text-align: center !important; padding: 0.25rem 0 !important;}#fv-chart-1789662456772-bndieyrs9.mobile-view .fv-versus-select-container,#fv-chart-1789662456772-bndieyrs9.labels-on-top .fv-versus-select-container {max-width: 100% !important; width: 100% !important;}#fv-chart-1789662456772-bndieyrs9.mobile-view .fv-versus-select,#fv-chart-1789662456772-bndieyrs9.labels-on-top .fv-versus-select {font-size: 14px !important; width: 100% !important;}#fv-chart-1789662456772-bndieyrs9.mobile-view .fv-stl-shop-all-btn,#fv-chart-1789662456772-bndieyrs9.labels-on-top .fv-stl-shop-all-btn {bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important;}#fv-chart-1789662456772-bndieyrs9.mobile-view .fv-stl-shop-all-logo,#fv-chart-1789662456772-bndieyrs9.mobile-view .fv-stl-shop-all-icon,#fv-chart-1789662456772-bndieyrs9.labels-on-top .fv-stl-shop-all-logo,#fv-chart-1789662456772-bndieyrs9.labels-on-top .fv-stl-shop-all-icon {width: 2rem !important; height: 2rem !important;}#fv-chart-1789662456772-bndieyrs9.mobile-view .fv-stl-shop-all-icon svg,#fv-chart-1789662456772-bndieyrs9.labels-on-top .fv-stl-shop-all-icon svg {width: 14px !important; height: 14px !important;}#fv-chart-1789662456772-bndieyrs9.mobile-view .fv-bar-commentary-inline,#fv-chart-1789662456772-bndieyrs9.labels-on-top .fv-bar-commentary-inline {display: block !important; margin-left: 0 !important; width: 100% !important;}#fv-chart-1789662456772-bndieyrs9.mobile-view .fv-y-axis-title { padding-left: 5% !important;  }#fv-chart-1789662456772-bndieyrs9.mobile-view.fv-contains-line-chart .fv-footer-content {margin-left: -1rem !important;margin-right: -1rem !important;}@media (max-width: 599px) {#fv-chart-1789662456772-bndieyrs9 .fv-pie-container {flex-direction: column !important; gap: 1rem !important;}#fv-chart-1789662456772-bndieyrs9 .fv-grouped-product-title-wrapper {padding-left: 0 !important;}#fv-chart-1789662456772-bndieyrs9 .fv-bar-row,#fv-chart-1789662456772-bndieyrs9 .fv-stacked-product,#fv-chart-1789662456772-bndieyrs9 .fv-grouped-bar-product {flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important;}#fv-chart-1789662456772-bndieyrs9 .fv-bar-label:not(.fv-grouped-product-title) {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1789662456772-bndieyrs9 .fv-bar-label,#fv-chart-1789662456772-bndieyrs9 .fv-grouped-product-title {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1789662456772-bndieyrs9 .fv-bar-container,#fv-chart-1789662456772-bndieyrs9 .fv-bar-cluster {width: 100% !important;}#fv-chart-1789662456772-bndieyrs9 .fv-bar-row .fv-bar-commentary-inline,#fv-chart-1789662456772-bndieyrs9 .fv-bar-row:hover .fv-bar-commentary-inline,#fv-chart-1789662456772-bndieyrs9 .fv-bar-row .fv-bar-commentary-inline:focus,#fv-chart-1789662456772-bndieyrs9 .fv-bar-row .fv-bar-commentary-inline:focus-within {position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important;}#fv-chart-1789662456772-bndieyrs9 .fv-x-axis-wrapper {margin-left: 0 !important;}#fv-chart-1789662456772-bndieyrs9 .fv-x-axis-label-space {display: none !important;}#fv-chart-1789662456772-bndieyrs9 .fv-x-axis-chart-space {padding-right: 0 !important;}#fv-chart-1789662456772-bndieyrs9 .fv-benchmark-title {font-size: 16px !important;}#fv-chart-1789662456772-bndieyrs9 .fv-dropdown-title {font-size: 16px !important;}#fv-chart-1789662456772-bndieyrs9 .fv-carousel-nav-btn {padding: 8px 12px !important; font-size: 14px !important;}#fv-chart-1789662456772-bndieyrs9 .fv-chart-title {padding: 0 8px !important;}#fv-chart-1789662456772-bndieyrs9 .fv-chart-subhead {padding: 0 8px !important;}#fv-chart-1789662456772-bndieyrs9 .fv-versus-header {flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important;}#fv-chart-1789662456772-bndieyrs9 .fv-versus-select-wrapper {flex: 1 !important; min-width: 0 !important; width: 100% !important;}#fv-chart-1789662456772-bndieyrs9 .fv-versus-select-wrapper.fv-left {text-align: center !important; padding-right: 0 !important;}#fv-chart-1789662456772-bndieyrs9 .fv-versus-select-wrapper.fv-right {text-align: center !important; padding-left: 0 !important;}#fv-chart-1789662456772-bndieyrs9 .fv-versus-select.fv-select-left {text-align: center !important;}#fv-chart-1789662456772-bndieyrs9 .fv-versus-select.fv-select-right {text-align: center !important;}#fv-chart-1789662456772-bndieyrs9 .fv-versus-vs {text-align: center !important; padding: 0.25rem 0 !important;}#fv-chart-1789662456772-bndieyrs9 .fv-versus-select-container {max-width: 100% !important; width: 100% !important;}#fv-chart-1789662456772-bndieyrs9 .fv-versus-select {font-size: 14px !important; width: 100% !important;}#fv-chart-1789662456772-bndieyrs9 .fv-stl-shop-all-btn {bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important;}#fv-chart-1789662456772-bndieyrs9 .fv-stl-shop-all-logo,#fv-chart-1789662456772-bndieyrs9 .fv-stl-shop-all-icon {width: 2rem !important; height: 2rem !important;}#fv-chart-1789662456772-bndieyrs9 .fv-stl-shop-all-icon svg {width: 14px !important; height: 14px !important;}#fv-chart-1789662456772-bndieyrs9 .fv-bar-commentary-inline {display: block !important; margin-left: 0 !important; width: 100% !important;}#fv-chart-1789662456772-bndieyrs9 .fv-y-axis-title { padding-left: 5% !important;  }#fv-chart-1789662456772-bndieyrs9.fv-contains-line-chart .fv-footer-content {margin-left: -1rem !important;margin-right: -1rem !important;}}</style><script type="application/ld+json">{"@context": "https://schema.org","@type": "Dataset","name": "Hard floor cleaning test 2","description": "Vacuuming oats from hard floor using Eufy Omni E35","creator": {"@type": "Organization","name": "TechRadar","logo": "https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png"},"isAccessibleForFree": true,"dateCreated": "2026-09-17T16:27:36.773Z","citation": "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized","keywords": ["Image Comparison","benchmark","comparison","performance","review","TechRadar"],"measurementTechnique": "Performance Benchmarking","variableMeasured": []}</script><div id="fv-chart-1789662456772-bndieyrs9" class="fv-chart-wrapper   " data-bar-labels-on-top="false" data-iframe-height="true" data-vizualizer-embed="true"><div class="fv-inner-wrapper fv-no-header fv-is-image-compare  "><div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1789662456772-bndieyrs9-image-compare-1" data-chart-type="Image Comparison" data-title="Image Comparison" data-subhead="Vacuuming oats from hard floor using Eufy Omni E35" data-caption="" style=""><div class="fv-benchmark-group"><div class="fv-image-compare-container"><div class="fv-image-compare-wrapper" data-image-compare="true"><div class="fv-image-compare-inner"><img src="https://cdn.mos.cms.futurecdn.net/C4BRHaU4Hv9XqEbDu6gCie.jpg" data-highres-src="https://cdn.mos.cms.futurecdn.net/C4BRHaU4Hv9XqEbDu6gCie.jpg" alt="Oats cleaned from hard floor" class="fv-image-compare-bg" loading="lazy" referrerpolicy="no-referrer" draggable="false" /><img src="https://cdn.mos.cms.futurecdn.net/ELLq7VJRgyR9k9uxfx49ke.jpg" data-highres-src="https://cdn.mos.cms.futurecdn.net/ELLq7VJRgyR9k9uxfx49ke.jpg" alt="Oats on hard floor" class="fv-image-compare-fg" loading="lazy" referrerpolicy="no-referrer" draggable="false" /><div class="fv-image-compare-slider"><div class="fv-image-compare-slider-line"></div><div class="fv-image-compare-handle "><img src="https://proof.vanilla.tools/media/images/brandLogos/techradar.png" alt="Brand Logo" style="width: 100%; height: 100%; object-fit: cover;" /></div></div></div><div class="fv-image-compare-label fv-image-compare-label-left">Before</div><div class="fv-image-compare-label fv-image-compare-label-right">After</div><button class="fv-image-compare-expand-btn" aria-label="Expand Image"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 8V4h4"/><path d="M20 8V4h-4"/><path d="M4 16v4h4"/><path d="M20 16v4h-4"/><circle cx="11.5" cy="11.5" r="3.5"/><path d="m14 14 3 3"/></svg></button><button class="fv-image-compare-close-btn" aria-label="Close Fullscreen"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg></button></div></div></div></div></div><div class="fv-bottom-bar"><div class="fv-footer-content" style="display: none;"><div class="rv-chart-caption" style="display: block;"><span class="fv-original-caption" style="display: block;"></span><span class="fv-ia-dynamic-caption" style="display: none;"></span></div></div><div class="fv-logo-explore-bar"><img class="fv-logo" src="https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png" alt="TechRadar Logo"></div></div></div></div><script>window.iFrameResizer = {heightCalculationMethod: 'taggedElement'};</script><script src="https://cdnjs.cloudflare.com/ajax/libs/iframe-resizer/4.2.11/iframeResizer.contentWindow.min.js" async></script><script>(function() {window.fvAnimateCharts = function(chartWrapper) {if (!chartWrapper) return;function animateBars(chartElement) {if (!chartElement) return;var bars = chartElement.querySelectorAll('.fv-bar, .fv-stacked-segment');bars.forEach(function(bar, index) {bar.style.setProperty('width', '0%', 'important');bar.style.setProperty('transition', 'none', 'important');var targetWidth = bar.dataset.targetWidth;if (targetWidth === undefined) return;void bar.offsetWidth;var targetMargin = bar.dataset.targetMargin;var baseMargin = bar.dataset.baseMargin;if (baseMargin !== undefined) {bar.style.setProperty('margin-left', baseMargin + '%', 'important');}setTimeout(function() {var marginTransition = baseMargin !== undefined ? ', margin-left 0.8s ease-out' : '';bar.style.setProperty('transition', 'opacity 0.2s ease, width 0.8s ease-out' + marginTransition, 'important');bar.style.setProperty('width', targetWidth + '%', 'important');if (targetMargin !== undefined && baseMargin !== undefined) {bar.style.setProperty('margin-left', targetMargin + '%', 'important');}}, index * 50 + 50);});}function animateLineChart(chartElement) {if (!chartElement) return;var lineSvg = chartElement.querySelector('svg');if (!lineSvg) return;var paths = lineSvg.querySelectorAll('.riv-line-path');paths.forEach(function(p, i) {if (typeof p.getTotalLength === 'function') {var len = p.getTotalLength();p.style.transition = 'none';p.style.strokeDasharray = len;p.style.strokeDashoffset = len;p.getBoundingClientRect();setTimeout(function() {p.style.transition = 'stroke-dashoffset 1s ease-out ' + (i * 0.1) + 's, stroke-width 0.2s, opacity 0.2s';p.style.strokeDashoffset = '0';}, 100);}});var dots = lineSvg.querySelectorAll('.riv-dot');dots.forEach(function(dot, i) {dot.style.opacity = '0';setTimeout(function() {dot.style.transition = 'opacity 0.3s ease';dot.style.opacity = '1';}, 500 + i * 10);});}var charts = chartWrapper.querySelectorAll('.fv-chart-item');charts.forEach(function(chart) {if (window.getComputedStyle(chart).display === 'none') return;var chartType = chart.dataset.chartType;if (chartType === 'Line') {animateLineChart(chart);} else if (chartType !== 'Pie') {animateBars(chart);}});};function initialize(uniqueId, isSlideshow) {var root = document.getElementById(uniqueId);if (!root && !isSlideshow) return;function setupWrapper(chartWrapper) {if (!chartWrapper) return;function checkMobileView() {var width = chartWrapper.getBoundingClientRect().width;var isMobileDevice = window.screen && Math.min(window.screen.width, window.screen.height) <= 599;var isMobile;if (width === 0) {isMobile = isMobileDevice || window.matchMedia('(max-width: 599px)').matches;} else {isMobile = isMobileDevice || width < 600;}if (isMobile) {chartWrapper.classList.add('mobile-view');} else {chartWrapper.classList.remove('mobile-view');}}checkMobileView();if (typeof ResizeObserver !== 'undefined') {var ro = new ResizeObserver(function() {checkMobileView();});ro.observe(chartWrapper);}window.addEventListener('resize', checkMobileView);var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';if (labelsOnTop) {var charts = chartWrapper.querySelectorAll('.fv-chart-item');var hasVisibleBarChart = false;charts.forEach(function(c) {if (window.getComputedStyle(c).display !== 'none') {var cType = c.dataset.chartType;if (cType === 'Bar' || cType === 'Stacked Bar' || cType === 'Versus') {hasVisibleBarChart = true;}}});if (hasVisibleBarChart) {chartWrapper.classList.add('labels-on-top');} else {chartWrapper.classList.remove('labels-on-top');}} else {chartWrapper.classList.remove('labels-on-top');}chartWrapper.querySelectorAll('.riv-line-legend').forEach(function(legend) {var chartId = legend.dataset.chart;var chart = chartWrapper.querySelector('[id="' + chartId + '"]');if (!chart) return;var lines = chart.querySelectorAll('.riv-line-path');var dots = chart.querySelectorAll('.riv-dot');var legendItems = legend.querySelectorAll('.riv-legend-item');legendItems.forEach(function(item) {var productName = item.dataset.product;var safeProductName = productName.replace(/"/g, '\"');var line = chart.querySelector('.riv-line-path[data-product="' + safeProductName + '"]');var productDots = chart.querySelectorAll('.riv-dot[data-product="' + safeProductName + '"]');if (line && !line.dataset.origStroke) {line.dataset.origStroke = line.getAttribute('stroke-width') || '2';}var highlight = function() {if (legend.querySelector('.isolated')) return;lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '0.2'; });legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });if (line) {line.style.opacity = '1';line.setAttribute('stroke-width', '4');}productDots.forEach(function(d) { d.style.opacity = '1'; });item.style.opacity = '1';};var clearHighlight = function() {if (legend.querySelector('.isolated')) return;lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '1'; });legendItems.forEach(function(i) { i.style.opacity = '1'; });};var toggleIsolate = function() {var isIsolated = item.classList.contains('isolated');legendItems.forEach(function(i) { i.classList.remove('isolated'); });if (isIsolated) {lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '1'; });legendItems.forEach(function(i) { i.style.opacity = '1'; });} else {item.classList.add('isolated');lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '0.2'; });legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });if (line) {line.style.opacity = '1';line.setAttribute('stroke-width', '4');}productDots.forEach(function(d) { d.style.opacity = '1'; });item.style.opacity = '1';}};item.addEventListener('mouseenter', highlight);item.addEventListener('focus', highlight);item.addEventListener('mouseleave', clearHighlight);item.addEventListener('blur', clearHighlight);item.addEventListener('click', toggleIsolate);if (line) {line.style.cursor = 'pointer';line.addEventListener('mouseenter', highlight);line.addEventListener('mouseleave', clearHighlight);line.addEventListener('click', toggleIsolate);}});});var versusCharts = chartWrapper.querySelectorAll('.fv-versus-chart');versusCharts.forEach(function(vc) {var dataJson = vc.getAttribute('data-versus-data');var leftColor = vc.getAttribute('data-left-color') || '#E53935';var rightColor = vc.getAttribute('data-right-color') || '#FFB300';if (!dataJson) return;var versusData = JSON.parse(dataJson);var leftSelect = vc.querySelector('.fv-select-left');var rightSelect = vc.querySelector('.fv-select-right');var rows = vc.querySelectorAll('.fv-versus-row');function updateVersusChart() {var leftProduct = leftSelect.value;var rightProduct = rightSelect.value;leftSelect.style.color = leftColor;leftSelect.style.borderColor = leftColor;rightSelect.style.color = rightColor;rightSelect.style.borderColor = rightColor;rows.forEach(function(row) {var index = parseInt(row.getAttribute('data-index'));var data = versusData[index];if (!data) return;var leftVal = data.productData[leftProduct] ? data.productData[leftProduct].value : undefined;var rightVal = data.productData[rightProduct] ? data.productData[rightProduct].value : undefined;var leftIsNum = typeof leftVal === 'number';var rightIsNum = typeof rightVal === 'number';var leftNum = leftIsNum ? leftVal : 0;var rightNum = rightIsNum ? rightVal : 0;var maxVal = Math.max(leftNum, rightNum, 0.0001);var leftWidth = leftIsNum ? (leftNum / maxVal) * 95 : 0;var rightWidth = rightIsNum ? (rightNum / maxVal) * 85 : 0;var winner = null;var pctDiffStr = null;if (leftIsNum && rightIsNum) {if (leftNum > rightNum) {winner = 'left';if (rightNum > 0) {var diff = Math.round(((leftNum - rightNum) / rightNum) * 100);pctDiffStr = '+' + diff.toLocaleString() + '%';}} else if (rightNum > leftNum) {winner = 'right';if (leftNum > 0) {var diff = Math.round(((rightNum - leftNum) / leftNum) * 100);pctDiffStr = '+' + diff.toLocaleString() + '%';}}}var leftDisplay = data.productData[leftProduct] && data.productData[leftProduct].displayValue !== undefined ? data.productData[leftProduct].displayValue : (leftIsNum ? leftNum.toLocaleString() : (leftVal !== undefined ? leftVal : '-'));var rightDisplay = data.productData[rightProduct] && data.productData[rightProduct].displayValue !== undefined ? data.productData[rightProduct].displayValue : (rightIsNum ? rightNum.toLocaleString() : (rightVal !== undefined ? rightVal : '-'));var unit = (data.productData[leftProduct] && data.productData[leftProduct].unit) ||(data.productData[rightProduct] && data.productData[rightProduct].unit) || '';var leftTextStr = leftDisplay;var rightTextStr = rightDisplay;var leftBar = row.querySelector('.fv-versus-bar-left');var rightBar = row.querySelector('.fv-versus-bar-right');var leftText = row.querySelector('.fv-inside-left');var rightText = row.querySelector('.fv-inside-right');var labelText = row.querySelector('.fv-versus-label span');var leftWrapper = row.querySelector('.fv-versus-bar-left-wrapper');var rightWrapper = row.querySelector('.fv-versus-bar-right-wrapper');var existingPctDiffs = row.querySelectorAll('.fv-versus-pct-diff');existingPctDiffs.forEach(function(el) { el.remove(); });if (winner === 'left' && pctDiffStr) {var pctSpan = document.createElement('span');pctSpan.className = 'fv-versus-pct-diff';pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';pctSpan.textContent = pctDiffStr;if (leftBar) leftBar.insertBefore(pctSpan, leftBar.firstChild);} else if (winner === 'right' && pctDiffStr) {var pctSpan = document.createElement('span');pctSpan.className = 'fv-versus-pct-diff';pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';pctSpan.textContent = pctDiffStr;if (rightBar) rightBar.appendChild(pctSpan);}if (leftBar) {leftBar.style.backgroundColor = leftColor;leftBar.dataset.targetWidth = leftWidth;leftBar.style.setProperty('--target-width', leftWidth + '%');leftBar.style.width = leftWidth + '%';}if (rightBar) {rightBar.style.backgroundColor = rightColor;rightBar.dataset.targetWidth = rightWidth;rightBar.style.setProperty('--target-width', rightWidth + '%');rightBar.style.width = rightWidth + '%';}if (leftText) {leftText.innerHTML = leftTextStr;}if (rightText) {rightText.innerHTML = rightTextStr;}if (labelText) {labelText.textContent = data.attribute + (unit ? ' (' + unit + ')' : '');}});}if (leftSelect) leftSelect.addEventListener('change', updateVersusChart);if (rightSelect) rightSelect.addEventListener('change', updateVersusChart);});var barRows = chartWrapper.querySelectorAll('.fv-bar-row');var globalCaptionEl = chartWrapper.querySelector('.rv-chart-caption');var fallbackCaptionHtml = globalCaptionEl ? globalCaptionEl.innerHTML : '';barRows.forEach(function(row) {var commentaryEl = row.querySelector('[data-commentary-key]');if (commentaryEl) {var commentaryText = commentaryEl.textContent;if (commentaryText && commentaryText.trim().length > 0) {row.addEventListener('mouseenter', function() {if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {globalCaptionEl.innerHTML = commentaryText;globalCaptionEl.classList.add('fv-bar-active-caption');}});row.addEventListener('mouseleave', function() {if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {globalCaptionEl.innerHTML = fallbackCaptionHtml;globalCaptionEl.classList.remove('fv-bar-active-caption');}});}}});var charts = chartWrapper.querySelectorAll('.fv-chart-item');var dropdown = chartWrapper.querySelector('.fv-dropdown-title');var prevBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.prev');var nextBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.next');var carouselTitle = chartWrapper.querySelector('.fv-carousel-title-controls .fv-benchmark-title');var counter = chartWrapper.querySelector('.fv-carousel-counter');var subheadEl = chartWrapper.querySelector('.fv-chart-subhead');var captionEl = chartWrapper.querySelector('.rv-chart-caption');var footerContentEl = chartWrapper.querySelector('.fv-footer-content');var bottomBarEl = chartWrapper.querySelector('.fv-bottom-bar');var logoEl = chartWrapper.querySelector('.fv-logo');if (charts.length > 1 && (dropdown || prevBtn)) {var currentChartIndex = 0;var titles = [];if (dropdown) {titles = Array.from(dropdown.options).map(function(o) { return o.text; });} else {charts.forEach(function(c) {titles.push(c.getAttribute('data-title') || '');});}function showInternalChart(index) {if (index < 0) index = charts.length - 1;if (index >= charts.length) index = 0;currentChartIndex = index;charts.forEach(function(c, i) {c.style.display = i === index ? 'block' : 'none';if (i === index) {var cType = c.dataset.chartType;if (cType === 'Line') {} else if (cType !== 'Pie') {window.fvAnimateCharts(chartWrapper);}var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';if (labelsOnTop && (cType === 'Bar' || cType === 'Stacked Bar' || cType === 'Versus')) {chartWrapper.classList.add('labels-on-top');} else {chartWrapper.classList.remove('labels-on-top');}}});if (dropdown) dropdown.value = index;if (carouselTitle && titles[index]) carouselTitle.textContent = titles[index];if (counter) counter.textContent = (index + 1) + ' of ' + charts.length;var activeChart = charts[index];if (activeChart) {var newSubhead = activeChart.getAttribute('data-subhead');var newCaption = activeChart.getAttribute('data-caption');var currentChartType = activeChart.getAttribute('data-chart-type');var hideGlobalCaption = currentChartType === 'Countdown' || currentChartType === 'Image Comparison' || currentChartType === 'Shop the Collection';if (subheadEl) subheadEl.textContent = newSubhead || '';if (captionEl) {captionEl.textContent = newCaption || '';fallbackCaptionHtml = newCaption || '';}if (footerContentEl) {if (newCaption && newCaption.trim().length > 0 && !hideGlobalCaption) {footerContentEl.style.display = 'block';if (bottomBarEl) bottomBarEl.style.display = 'flex';} else {footerContentEl.style.display = 'none';if (bottomBarEl && !logoEl) {bottomBarEl.style.display = 'none';}}}}}if (dropdown) dropdown.addEventListener('change', function(e) { showInternalChart(parseInt(e.target.value)); });if (prevBtn) prevBtn.addEventListener('click', function() { showInternalChart(currentChartIndex - 1); });if (nextBtn) nextBtn.addEventListener('click', function() { showInternalChart(currentChartIndex + 1); });}var imageCompareWrappers = chartWrapper.querySelectorAll('.fv-image-compare-wrapper');imageCompareWrappers.forEach(function(wrapper) {var inner = wrapper.querySelector('.fv-image-compare-inner') || wrapper;var slider = wrapper.querySelector('.fv-image-compare-slider');var fgImage = wrapper.querySelector('.fv-image-compare-fg');var bgImage = wrapper.querySelector('.fv-image-compare-bg');var labelLeft = wrapper.querySelector('.fv-image-compare-label-left');var labelRight = wrapper.querySelector('.fv-image-compare-label-right');var isDragging = false;var scale = 1;var panX = 0;var panY = 0;var isPanning = false;var hasPanned = false;var lastClientX = 0;var lastClientY = 0;var initialDistance = null;var lastCenterX = null;var lastCenterY = null;function updateTransform() {if (wrapper.classList.contains('fv-image-compare-fullscreen')) {inner.style.setProperty('transform', 'translate(' + panX + 'px, ' + panY + 'px) scale(' + scale + ')', 'important');} else {inner.style.removeProperty('transform');scale = 1;panX = 0;panY = 0;}}function constrainPan() {var rect = wrapper.getBoundingClientRect();var maxPanX = Math.max(0, (rect.width * scale - rect.width) / 2);var maxPanY = Math.max(0, (rect.height * scale - rect.height) / 2);panX = Math.max(-maxPanX, Math.min(panX, maxPanX));panY = Math.max(-maxPanY, Math.min(panY, maxPanY));}wrapper.addEventListener('wheel', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;e.preventDefault();var zoomSensitivity = 0.005;var zoomFactor = Math.exp(-e.deltaY * zoomSensitivity);var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));if (newScale === scale) return;var rect = wrapper.getBoundingClientRect();var mouseX = e.clientX - rect.left - rect.width / 2;var mouseY = e.clientY - rect.top - rect.height / 2;var ratio = newScale / scale;panX = mouseX - (mouseX - panX) * ratio;panY = mouseY - (mouseY - panY) * ratio;scale = newScale;constrainPan();updateTransform();}, { passive: false });wrapper.addEventListener('mousedown', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen') || scale <= 1) return;if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;isPanning = true;hasPanned = false;lastClientX = e.clientX;lastClientY = e.clientY;});window.addEventListener('mousemove', function(e) {if (!isPanning) return;var dx = e.clientX - lastClientX;var dy = e.clientY - lastClientY;if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {hasPanned = true;}lastClientX = e.clientX;lastClientY = e.clientY;panX += dx;panY += dy;constrainPan();updateTransform();});window.addEventListener('mouseup', function() {isPanning = false;});wrapper.addEventListener('touchstart', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;if (e.touches.length === 2) {e.preventDefault();var dx = e.touches[0].clientX - e.touches[1].clientX;var dy = e.touches[0].clientY - e.touches[1].clientY;initialDistance = Math.sqrt(dx * dx + dy * dy);var rect = wrapper.getBoundingClientRect();lastCenterX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;lastCenterY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;hasPanned = true;} else if (e.touches.length === 1 && scale > 1) {if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;isPanning = true;hasPanned = false;lastClientX = e.touches[0].clientX;lastClientY = e.touches[0].clientY;}}, { passive: false });wrapper.addEventListener('touchmove', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;if (e.touches.length === 2 && initialDistance !== null) {e.preventDefault();var dx = e.touches[0].clientX - e.touches[1].clientX;var dy = e.touches[0].clientY - e.touches[1].clientY;var distance = Math.sqrt(dx * dx + dy * dy);if (initialDistance > 0) {var zoomFactor = distance / initialDistance;var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));var rect = wrapper.getBoundingClientRect();var centerX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;var centerY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;var ratio = newScale / scale;panX = centerX - (centerX - panX) * ratio;panY = centerY - (centerY - panY) * ratio;if (lastCenterX !== null && lastCenterY !== null) {panX += (centerX - lastCenterX);panY += (centerY - lastCenterY);}scale = newScale;lastCenterX = centerX;lastCenterY = centerY;constrainPan();updateTransform();}initialDistance = distance;} else if (e.touches.length === 1 && isPanning) {e.preventDefault();var dx = e.touches[0].clientX - lastClientX;var dy = e.touches[0].clientY - lastClientY;if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {hasPanned = true;}lastClientX = e.touches[0].clientX;lastClientY = e.touches[0].clientY;panX += dx;panY += dy;constrainPan();updateTransform();}}, { passive: false });wrapper.addEventListener('touchend', function(e) {if (e.touches.length < 2) {initialDistance = null;}if (e.touches.length === 0) {isPanning = false;}});function handleMove(clientX) {var rect = inner.getBoundingClientRect();var x = Math.max(0, Math.min(clientX - rect.left, rect.width));var percent = Math.max(0, Math.min((x / rect.width) * 100, 100));if (slider) slider.style.setProperty('left', percent + '%', 'important');if (fgImage) fgImage.style.setProperty('clip-path', 'polygon(0 0, ' + percent + '% 0, ' + percent + '% 100%, 0 100%)', 'important');if (labelLeft) {if (percent < 10) {labelLeft.style.setProperty('opacity', '0', 'important');} else {labelLeft.style.setProperty('opacity', '1', 'important');}}if (labelRight) {if (percent > 90) {labelRight.style.setProperty('opacity', '0', 'important');} else {labelRight.style.setProperty('opacity', '1', 'important');}}}function onMouseMove(e) {if (!isDragging) return;handleMove(e.clientX);}function onTouchMove(e) {if (!isDragging) return;e.preventDefault();handleMove(e.touches[0].clientX);}function stopDragging() {isDragging = false;window.removeEventListener('mousemove', onMouseMove);window.removeEventListener('mouseup', stopDragging);window.removeEventListener('touchmove', onTouchMove);window.removeEventListener('touchend', stopDragging);}if (slider) {var startDrag = function(clientX) {isDragging = true;handleMove(clientX);window.addEventListener('mousemove', onMouseMove);window.addEventListener('mouseup', stopDragging);};var startTouchDrag = function(clientX) {isDragging = true;handleMove(clientX);window.addEventListener('touchmove', onTouchMove, { passive: false });window.addEventListener('touchend', stopDragging);};slider.addEventListener('mousedown', function(e) {e.preventDefault();startDrag(e.clientX);});slider.addEventListener('touchstart', function(e) {e.preventDefault();startTouchDrag(e.touches[0].clientX);}, { passive: false });}var expandBtn = wrapper.querySelector('.fv-image-compare-expand-btn');var closeBtn = wrapper.querySelector('.fv-image-compare-close-btn');if (expandBtn) {if (window !== window.parent) {expandBtn.style.display = 'none';} else {expandBtn.addEventListener('click', function(e) {e.stopPropagation();wrapper.classList.add('fv-image-compare-fullscreen');document.body.style.overflow = 'hidden';if (fgImage && fgImage.dataset.highresSrc) {fgImage.src = fgImage.dataset.highresSrc;fgImage.removeAttribute('srcset');fgImage.removeAttribute('sizes');}if (bgImage && bgImage.dataset.highresSrc) {bgImage.src = bgImage.dataset.highresSrc;bgImage.removeAttribute('srcset');bgImage.removeAttribute('sizes');}});}}if (closeBtn) {closeBtn.addEventListener('click', function(e) {e.stopPropagation();wrapper.classList.remove('fv-image-compare-fullscreen');document.body.style.overflow = '';updateTransform();});}document.addEventListener('keydown', function(e) {if (e.key === 'Escape' && wrapper.classList.contains('fv-image-compare-fullscreen')) {wrapper.classList.remove('fv-image-compare-fullscreen');document.body.style.overflow = '';updateTransform();}});});var hotspots = chartWrapper.querySelectorAll('.fv-stl-hotspot-btn');var allProductsModal = chartWrapper.querySelector('.fv-stl-all-products-modal');var shopAllBtn = chartWrapper.querySelector('.fv-stl-shop-all-btn');var allProductsList = chartWrapper.querySelector('.fv-stl-all-products-list');var stlContainer = chartWrapper.querySelector('.fv-stl-container');function closeAllModals() {if (allProductsModal) {allProductsModal.classList.remove('is-active');var items = allProductsModal.querySelectorAll('.fv-stl-all-products-item');items.forEach(function(item) {item.classList.remove('is-highlighted');});if (stlContainer) {setTimeout(function() {if (!allProductsModal.classList.contains('is-active')) {stlContainer.style.minHeight = '';if ('parentIFrame' in window) {window.parentIFrame.size();}}}, 300);}}hotspots.forEach(function(btn) { btn.setAttribute('aria-expanded', 'false'); });if ('parentIFrame' in window) {window.parentIFrame.size();}}hotspots.forEach(function(btn) {btn.addEventListener('click', function(e) {e.stopPropagation();var hotspotId = btn.getAttribute('data-hotspot-id');var isExpanded = btn.getAttribute('aria-expanded') === 'true';closeAllModals();if (!isExpanded && allProductsModal) {btn.setAttribute('aria-expanded', 'true');allProductsModal.classList.add('is-active');var container = btn.closest('.fv-stl-container');if (container && container.offsetHeight < 450) {container.style.minHeight = '450px';}var targetItem = allProductsModal.querySelector('.fv-stl-all-products-item[data-product-id="' + hotspotId + '"]');if (targetItem) {targetItem.classList.add('is-highlighted');setTimeout(function() {targetItem.scrollIntoView({ behavior: 'smooth', block: 'center' });}, 100);}if ('parentIFrame' in window) {window.parentIFrame.size();}}});});if (shopAllBtn && allProductsModal) {shopAllBtn.addEventListener('click', function(e) {e.stopPropagation();closeAllModals();allProductsModal.classList.add('is-active');var container = shopAllBtn.closest('.fv-stl-container');if (container && container.offsetHeight < 450) {container.style.minHeight = '450px';}if ('parentIFrame' in window) {window.parentIFrame.size();}});}if (allProductsModal) {var closeAllBtn = allProductsModal.querySelector('.fv-stl-all-products-close');if (closeAllBtn) {closeAllBtn.addEventListener('click', function(e) {e.stopPropagation();closeAllModals();});}}chartWrapper.addEventListener('click', function(e) {if (!e.target.closest('.fv-stl-all-products-content')) {closeAllModals();}});if (allProductsModal) {allProductsModal.addEventListener('click', function(e) {if (!e.target.closest('.fv-stl-all-products-content')) {closeAllModals();}});}var iaNodes = chartWrapper.querySelectorAll('.fv-ia-node-button');var iaWrapper = chartWrapper.querySelector('.fv-ia-wrapper');var originalCaption = chartWrapper.querySelector('.fv-original-caption') || captionEl;var dynamicCaption = chartWrapper.querySelector('.fv-ia-dynamic-caption');var exploreBtn = chartWrapper.querySelector('.fv-ia-explore-btn');var currentIaIndex = -1;function closeAllIANodes() {iaNodes.forEach(function(btn) { btn.classList.remove('is-active'); });if (originalCaption) originalCaption.style.display = 'block';if (dynamicCaption) dynamicCaption.style.display = 'none';}function resetExploreBtn() {currentIaIndex = -1;if (exploreBtn) {var exploreSpan = exploreBtn.querySelector('span');if (exploreSpan) exploreSpan.textContent = 'Explore';}}iaNodes.forEach(function(btn, index) {btn.addEventListener('click', function(e) {e.stopPropagation();var isActive = btn.classList.contains('is-active');closeAllIANodes();if (!isActive) {currentIaIndex = index;if (exploreBtn) {var exploreSpan = exploreBtn.querySelector('span');if (exploreSpan) exploreSpan.textContent = 'Next';}btn.classList.add('is-active');if (dynamicCaption) {var title = btn.getAttribute('data-title') || '';var desc = btn.getAttribute('data-desc') || '';dynamicCaption.innerHTML = '';var strongTag = document.createElement('strong');strongTag.textContent = title;dynamicCaption.appendChild(strongTag);if (desc) {dynamicCaption.appendChild(document.createTextNode(' - ' + desc));}if (originalCaption) originalCaption.style.display = 'none';dynamicCaption.style.display = 'block';if (footerContentEl) footerContentEl.style.display = 'block';}} else {resetExploreBtn();}});});if (exploreBtn) {exploreBtn.addEventListener('click', function(e) {e.stopPropagation();if (iaNodes.length === 0) return;var nextIndex = currentIaIndex + 1;if (nextIndex >= iaNodes.length) {closeAllIANodes();resetExploreBtn();} else {currentIaIndex = nextIndex;var targetBtn = iaNodes[currentIaIndex];if (targetBtn) {if(targetBtn.classList.contains('is-active')) {targetBtn.click();}targetBtn.click();}}});}if (iaWrapper) {iaWrapper.addEventListener('click', function(e) {if (!e.target.closest('.fv-ia-node-button') && !e.target.closest('.fv-ia-explore-btn')) {closeAllIANodes();resetExploreBtn();}});}window.fvAnimateCharts(chartWrapper);var countdownContainer = chartWrapper.querySelector('.fv-countdown-container');if (countdownContainer) {var targetDateAttr = countdownContainer.getAttribute('data-target-date');if (targetDateAttr) {var targetDate = new Date(targetDateAttr);var primaryColor = countdownContainer.getAttribute('data-primary-color') || '#f97316';var subheadColor = countdownContainer.getAttribute('data-subhead-color') || '#ffffff';var pad = function(n) { return (n < 10 ? '0' : '') + n; };var updateCountdown = function() {var difference = +targetDate - +new Date();var d = 0, h = 0, m = 0, s = 0;if (difference > 0) {d = Math.floor(difference / (1000 * 60 * 60 * 24));h = Math.floor((difference / (1000 * 60 * 60)) % 24);m = Math.floor((difference / 1000 / 60) % 60);s = Math.floor((difference / 1000) % 60);}var daysEl = countdownContainer.querySelector('[data-time="days"]');var hoursEl = countdownContainer.querySelector('[data-time="hours"]');var minsEl = countdownContainer.querySelector('[data-time="minutes"]');var secsEl = countdownContainer.querySelector('[data-time="seconds"]');if (daysEl) daysEl.textContent = d;if (hoursEl) hoursEl.textContent = pad(h);if (minsEl) minsEl.textContent = pad(m);if (secsEl) secsEl.textContent = pad(s);};updateCountdown();setInterval(updateCountdown, 1000);}}}if (false) {var slideshowContainer = document.getElementById(uniqueId + '-slideshow');if (slideshowContainer) {var slides = slideshowContainer.querySelectorAll('.fv-slide');slides.forEach(function(slide) {setupWrapper(slide.querySelector('.fv-chart-wrapper'));});}} else {setupWrapper(root);}}if (document.readyState === 'loading') {document.addEventListener('DOMContentLoaded', function() { initialize('fv-chart-1789662456772-bndieyrs9', false); });} else {initialize('fv-chart-1789662456772-bndieyrs9', false);}})();</script></div><p>The oat test is usually more difficult, because robovacs tend to flick them across hard floors with their rotating side brushes. But the E35 performed surprisingly well, with Turbo mode paired with the Deep intensity and two passes being enough to completely clear the debris. The Max power option wasn’t required. Oats scattered on carpet were tackled even more successfully, as a single pass with the least power, least thorough setting did the job perfectly.</p><p>Moving to the mop, and the Omni E35 continues to impress. It’s a similar system to that of Eufy’s flagship Omni S2, with a roller that cleans itself during use, then is washed and dried when back at the docking station. Eufy claims its HydroJet 2.0 system removes 99.99 percent of bacteria “for a TÜV-certified baby-friendly clean” – in other words, it has been assessed and certified by a group of independent German testing organizations.</p><div class="vizualizer-embed"><style>@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap');#fv-chart-1789662465216-rhj1ydqa6 *, #fv-chart-1789662465216-rhj1ydqa6 *:before, #fv-chart-1789662465216-rhj1ydqa6 *:after, #fv-chart-1789662465216-rhj1ydqa6-slideshow *, #fv-chart-1789662465216-rhj1ydqa6-slideshow *:before, #fv-chart-1789662465216-rhj1ydqa6-slideshow *:after {box-sizing: border-box !important; margin: 0; padding: 0; border: 0;font-size: 100%; font: inherit; vertical-align: baseline;}#fv-chart-1789662465216-rhj1ydqa6, #fv-chart-1789662465216-rhj1ydqa6-slideshow { font-family: 'Open Sans', sans-serif !important; }#fv-chart-1789662465216-rhj1ydqa6 {position: relative !important; overflow: visible !important;--riv-primary: #2E6E93;}#fv-chart-1789662465216-rhj1ydqa6 .fv-inner-wrapper {color: #1F2937 !important; background-color: #ffffff !important;padding: 1.5rem 1.5rem 2rem !important; border-radius: 0.5rem !important;box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important;margin: 1rem 0 !important; display: flex !important; flex-direction: column !important;overflow: hidden !important;}#fv-chart-1789662465216-rhj1ydqa6 .fv-inner-wrapper.fv-no-header.fv-is-image-compare {padding-top: 0 !important;}#fv-chart-1789662465216-rhj1ydqa6.fv-full-bleed {width: 100vw !important;margin-left: calc(50% - 50vw) !important;}body {overflow-x: clip !important;}#fv-chart-1789662465216-rhj1ydqa6.fv-full-bleed .fv-inner-wrapper {padding: 0 !important;border-radius: 0 !important;box-shadow: none !important;margin: 0 !important;background-color: transparent !important;}#fv-chart-1789662465216-rhj1ydqa6 .fv-inner-wrapper.fv-is-shop-the-look {padding: 0 !important;border-radius: 0 !important;box-shadow: none !important;margin: 0 !important;background-color: transparent !important;}#fv-chart-1789662465216-rhj1ydqa6-slideshow {position: relative !important;width: 100% !important;margin: 1rem 0 !important;--riv-primary: #2E6E93;}#fv-chart-1789662465216-rhj1ydqa6-slideshow .fv-slides-wrapper {position: relative !important;width: 100% !important;}#fv-chart-1789662465216-rhj1ydqa6-slideshow .fv-slide {width: 100% !important;animation: fv-fade-in 0.3s ease-in-out;}@keyframes fv-fade-in {from { opacity: 0; }to { opacity: 1; }}#fv-chart-1789662465216-rhj1ydqa6-slideshow .fv-slideshow-nav-row {position: relative !important;display: flex !important;justify-content: space-between !important;align-items: center !important;padding: 0 0 16px 0 !important;width: 100% !important;z-index: 20 !important;}#fv-chart-1789662465216-rhj1ydqa6-slideshow .fv-nav-btn {background-color: var(--riv-primary) !important;color: #ffffff !important;border: none !important;border-radius: 4px !important;padding: 8px 16px !important;font-size: 14px !important;font-weight: 700 !important;cursor: pointer !important;display: flex !important;align-items: center !important;justify-content: center !important;gap: 6px !important;transition: opacity 0.2s, background-color 0.2s !important;height: 36px !important;text-transform: none !important;box-shadow: 0 1px 2px rgba(0,0,0,0.1) !important;}#fv-chart-1789662465216-rhj1ydqa6-slideshow .fv-nav-btn svg {width: 18px !important;height: 18px !important;stroke-width: 3px !important;filter: none !important;}#fv-chart-1789662465216-rhj1ydqa6-slideshow .fv-nav-btn:hover {opacity: 0.9 !important;transform: translateY(-1px) !important;}#fv-chart-1789662465216-rhj1ydqa6-slideshow .fv-nav-btn.disabled {background-color: #E5E7EB !important;color: #9CA3AF !important;cursor: default !important;pointer-events: none !important;box-shadow: none !important;}#fv-chart-1789662465216-rhj1ydqa6-slideshow .fv-slide-counter {font-family: 'Poppins', sans-serif !important;font-size: 14px !important;font-weight: 600 !important;color: #374151 !important;text-align: center !important;min-width: 40px !important;background-color: rgba(255,255,255,0.8) !important;padding: 2px 8px !important;border-radius: 10px !important;}#fv-chart-1789662465216-rhj1ydqa6-slideshow .fv-slideshow-select {position: absolute !important;top: 10px !important;right: 10px !important;z-index: 20 !important;appearance: none !important;-webkit-appearance: none !important;-moz-appearance: none !important;background-color: white !important;border: 1px solid #d1d5db !important;color: #1F2937 !important;font-family: 'Open Sans', sans-serif !important;font-size: 14px !important;font-weight: 600 !important;padding: 6px 32px 6px 12px !important;border-radius: 4px !important;cursor: pointer !important;box-shadow: 0 1px 2px rgba(0,0,0,0.05) !important;background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e") !important;background-position: right 0.5rem center !important;background-repeat: no-repeat !important;background-size: 1.5em 1.5em !important;}#fv-chart-1789662465216-rhj1ydqa6-slideshow .fv-slideshow-select:focus {outline: 2px solid #2E6E93 !important;border-color: #2E6E93 !important;}#fv-chart-1789662465216-rhj1ydqa6 .fv-chart-title {font-weight: bold !important;text-align: center !important;margin-bottom: 0.5rem !important;color: var(--riv-primary) !important;font-size: 20px !important;line-height: 1.2 !important;font-family: 'Open Sans', sans-serif !important;text-transform: none !important;white-space: normal !important;overflow-wrap: break-word !important;padding: 0 20px !important;}#fv-chart-1789662465216-rhj1ydqa6 .fv-chart-subhead {font-size: 18px !important;font-weight: 500 !important;text-align: center !important;margin-bottom: 2rem !important;color: #374151 !important;line-height: 1.7 !important;font-family: 'Open Sans', sans-serif !important;display: block !important;text-transform: none !important;padding: 0 20px !important;}#fv-chart-1789662465216-rhj1ydqa6 .rv-chart-caption { font-size: 15px !important; color: #374151 !important; text-align: center !important; font-style: normal !important; font-weight: normal !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-versus-chart { display: flex; flex-direction: column; width: 100%; margin-top: 1rem; }#fv-chart-1789662465216-rhj1ydqa6 .fv-versus-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding: 0 1rem; }#fv-chart-1789662465216-rhj1ydqa6 .fv-versus-select-wrapper { flex: 1; min-width: 0; }#fv-chart-1789662465216-rhj1ydqa6 .fv-versus-select-wrapper.fv-left { text-align: center; padding-right: 1rem; }#fv-chart-1789662465216-rhj1ydqa6 .fv-versus-select-wrapper.fv-right { text-align: center; padding-left: 1rem; }#fv-chart-1789662465216-rhj1ydqa6 .fv-versus-select-container { position: relative; display: inline-block; max-width: 100%; width: 100%; }#fv-chart-1789662465216-rhj1ydqa6 .fv-versus-chevron { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; width: 16px; height: 16px; flex-shrink: 0; }#fv-chart-1789662465216-rhj1ydqa6 .fv-versus-select-wrapper.fv-left .fv-versus-chevron { right: 0; }#fv-chart-1789662465216-rhj1ydqa6 .fv-versus-select-wrapper.fv-right .fv-versus-chevron { right: 0; }#fv-chart-1789662465216-rhj1ydqa6 .fv-versus-select { background: transparent; border: none; border-bottom: 2px solid; font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; padding: 0.25rem 0; cursor: pointer; outline: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; max-width: 100%; width: 100%; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; }#fv-chart-1789662465216-rhj1ydqa6 .fv-versus-select.fv-select-left { text-align: center; direction: ltr; padding-right: 1.25rem; }#fv-chart-1789662465216-rhj1ydqa6 .fv-versus-select.fv-select-right { text-align: center; padding-right: 1.25rem; }#fv-chart-1789662465216-rhj1ydqa6 .fv-versus-select option { font-family: 'Open Sans', sans-serif; font-weight: 400; font-size: 14px; color: #374151; direction: ltr; text-align: left; }#fv-chart-1789662465216-rhj1ydqa6 .fv-versus-vs { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; color: #374151; letter-spacing: 0.1em; padding: 0 1rem; }#fv-chart-1789662465216-rhj1ydqa6 .fv-versus-body { display: flex; flex-direction: column; gap: 1.5rem; }#fv-chart-1789662465216-rhj1ydqa6 .fv-versus-row { position: relative; height: auto; padding-top: 20px; margin-bottom: 0.25rem; display: block; }#fv-chart-1789662465216-rhj1ydqa6 .fv-versus-bar-container { position: relative; height: 32px; display: flex; align-items: center; }#fv-chart-1789662465216-rhj1ydqa6 .fv-versus-bar-left-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-end; align-items: center; }#fv-chart-1789662465216-rhj1ydqa6 .fv-versus-bar-right-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-start; align-items: center; }#fv-chart-1789662465216-rhj1ydqa6 .fv-versus-bar { height: 32px; width: var(--target-width); transition: width 0.8s ease-out; animation: fv-grow-max-width 0.8s ease-out forwards; display: flex; align-items: center; overflow: hidden; color: #ffffff; }#fv-chart-1789662465216-rhj1ydqa6 .fv-versus-bar-left { border-radius: 4px 0 0 4px; justify-content: flex-end; padding: 0 8px; }#fv-chart-1789662465216-rhj1ydqa6 .fv-versus-bar-right { border-radius: 0 4px 4px 0; justify-content: flex-start; padding: 0 8px; }@keyframes fv-grow-max-width {from { max-width: 0; }to { max-width: 100%; }}#fv-chart-1789662465216-rhj1ydqa6 .fv-versus-center-line { position: absolute; left: 50%; top: 0; bottom: 0; width: 4px; background-color: #ffffff; transform: translateX(-50%); z-index: 1; }#fv-chart-1789662465216-rhj1ydqa6 .fv-inside-left { white-space: nowrap; flex-shrink: 0; }#fv-chart-1789662465216-rhj1ydqa6 .fv-inside-right { white-space: nowrap; flex-shrink: 0; }#fv-chart-1789662465216-rhj1ydqa6 .fv-versus-val-text { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; }#fv-chart-1789662465216-rhj1ydqa6 .fv-versus-pct-diff { font-size: 12px; font-weight: 600; }#fv-chart-1789662465216-rhj1ydqa6 .fv-versus-label { position: absolute; left: 50%; transform: translateX(-50%); top: 0; background-color: transparent; border: none; box-shadow: none; padding: 0; font-family: 'Open Sans', sans-serif; font-weight: 700; font-size: 14px; color: #374151; white-space: nowrap; }#fv-chart-1789662465216-rhj1ydqa6 .sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-image-compare-container { width: auto !important; margin-left: -1.5rem !important; margin-right: -1.5rem !important; margin-bottom: 2rem !important; }#fv-chart-1789662465216-rhj1ydqa6.fv-full-bleed .fv-image-compare-container { width: 100% !important; max-width: none !important; margin: 0 auto !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-image-compare-wrapper { position: relative !important; width: 100% !important; overflow: hidden !important; border-radius: 0 !important; background-color: #000 !important; touch-action: pan-y !important; user-select: none !important; -webkit-user-select: none !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-image-compare-inner { position: relative !important; width: 100% !important; height: 100% !important; display: block !important; transform-origin: center center !important; transition: transform 0.1s ease-out !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-image-compare-bg { display: block !important; width: 100% !important; height: auto !important; pointer-events: none !important; user-select: none !important; -webkit-user-select: none !important; -webkit-user-drag: none !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-image-compare-fg { position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; object-fit: cover !important; clip-path: polygon(0 0, 50% 0, 50% 100%, 0 100%) !important; pointer-events: none !important; user-select: none !important; -webkit-user-select: none !important; -webkit-user-drag: none !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-image-compare-slider { position: absolute !important; top: 0 !important; bottom: 0 !important; left: 50% !important; width: 32px !important; transform: translateX(-50%) !important; cursor: ew-resize !important; z-index: 10 !important; user-select: none !important; -webkit-user-select: none !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-image-compare-slider-line { position: absolute !important; top: 0 !important; bottom: 0 !important; left: 50% !important; width: 4px !important; background-color: white !important; transform: translateX(-50%) !important; box-shadow: 0 0 10px rgba(0,0,0,0.5) !important; pointer-events: none !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-image-compare-handle { position: absolute !important; top: 50% !important; left: 50% !important; transform: translate(-50%, -50%) !important; width: 32px !important; height: 32px !important; background-color: white !important; border-radius: 50% !important; box-shadow: 0 2px 6px rgba(0,0,0,0.3) !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 4px !important; pointer-events: none !important; z-index: 11 !important; overflow: hidden !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-image-compare-handle.fv-image-compare-handle-square { border-radius: 6px !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-image-compare-arrow-left { width: 0 !important; height: 0 !important; border-top: 4px solid transparent !important; border-bottom: 4px solid transparent !important; border-right: 4px solid #4b5563 !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-image-compare-arrow-right { width: 0 !important; height: 0 !important; border-top: 4px solid transparent !important; border-bottom: 4px solid transparent !important; border-left: 4px solid #4b5563 !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-image-compare-label { position: absolute !important; top: 1rem !important; background-color: rgba(0, 0, 0, 0.5) !important; color: white !important; padding: 0.25rem 0.75rem !important; border-radius: 0.25rem !important; font-size: 0.875rem !important; font-weight: 500 !important; pointer-events: none !important; backdrop-filter: blur(4px) !important; z-index: 5 !important; transition: right 0.3s ease, opacity 0.2s ease !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-image-compare-label-left { left: 1rem !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-image-compare-label-right { right: 1rem !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-image-compare-expand-btn, #fv-chart-1789662465216-rhj1ydqa6 .fv-image-compare-close-btn { position: absolute !important; bottom: 1rem !important; right: 1rem !important; background-color: rgba(0, 0, 0, 0.5) !important; color: white !important; border: none !important; border-radius: 0.25rem !important; padding: 0.5rem !important; cursor: pointer !important; z-index: 20 !important; display: flex !important; align-items: center !important; justify-content: center !important; backdrop-filter: blur(4px) !important; transition: background-color 0.2s !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-image-compare-expand-btn:hover, #fv-chart-1789662465216-rhj1ydqa6 .fv-image-compare-close-btn:hover { background-color: rgba(0, 0, 0, 0.7) !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-image-compare-close-btn { display: none !important; top: 1rem !important; bottom: auto !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-image-compare-wrapper.fv-image-compare-fullscreen { position: fixed !important; top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important; width: 100% !important; height: 100% !important; z-index: 999999 !important; display: flex !important; align-items: center !important; justify-content: center !important; background-color: rgba(0, 0, 0, 0.9) !important; margin: 0 !important; touch-action: none !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-inner { width: 100% !important; height: 100% !important; display: flex !important; align-items: center !important; justify-content: center !important; cursor: grab !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-inner:active { cursor: grabbing !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-bg { position: absolute !important; top: 0 !important; left: 0 !important; max-width: 100% !important; max-height: 100% !important; width: 100% !important; height: 100% !important; object-fit: contain !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-fg { max-width: 100% !important; max-height: 100% !important; width: 100% !important; height: 100% !important; object-fit: contain !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-expand-btn { display: none !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-close-btn { display: flex !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-label-right { right: 4rem !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-footer-content { text-align: center !important; width: 100% !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-logo {display: block !important;margin: 0 auto !important;width: 120px !important;min-width: 120px !important;max-width: 120px !important;height: auto !important;object-fit: contain !important;flex-shrink: 0 !important;}#fv-chart-1789662465216-rhj1ydqa6 .fv-dropdown-wrapper { text-align: center !important; margin-bottom: 16px !important; margin-top: 0 !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-dropdown-title-container { position: relative !important; display: inline-block !important; max-width: 100% !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-dropdown-title {appearance: none !important;-webkit-appearance: none !important;-moz-appearance: none !important;background: transparent !important;border: none !important;font-size: 18px !important;font-weight: 600 !important;color: var(--riv-primary) !important;padding-right: 28px !important;padding-left: 10px !important;cursor: pointer !important;text-align: center !important;text-align-last: center !important;width: auto !important;max-width: 100% !important;font-family: 'Open Sans', sans-serif !important;line-height: 1.3 !important;margin: 0 !important;text-overflow: ellipsis !important;overflow: hidden !important;white-space: nowrap !important;}#fv-chart-1789662465216-rhj1ydqa6 .fv-dropdown-title:focus { outline: none !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-dropdown-title::-ms-expand { display: none !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-dropdown-chevron {position: absolute !important;right: 0 !important;top: 50% !important;transform: translateY(-50%) !important;pointer-events: none !important;color: var(--riv-primary) !important;display: flex !important;align-items: center !important;}#fv-chart-1789662465216-rhj1ydqa6 .fv-carousel-title-controls { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 16px !important; width: 100% !important; gap: 12px !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-carousel-nav-btn {background: transparent !important; border: 1px solid #d1d5db !important; border-radius: 6px !important; padding: 6px 10px !important;cursor: pointer !important; font-size: 14px !important; color: #374151 !important; display: flex !important; align-items: center !important; gap: 4px !important; font-family: 'Open Sans', sans-serif !important;}#fv-chart-1789662465216-rhj1ydqa6 .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-carousel-counter { font-size: 14px !important; color: #374151 !important; text-align: center !important; margin-top: 1rem !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 8px 16px !important; margin: 0 !important; padding: 0 !important; margin-top: 1rem !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #374151 !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-multi-value-legend {display: flex !important;justify-content: center !important;flex-wrap: wrap !important;gap: 12px 24px !important;margin-bottom: 1.5rem !important;padding: 0 !important;}#fv-chart-1789662465216-rhj1ydqa6 .fv-multi-legend-item { display: flex !important; align-items: center !important; gap: 8px !important; font-size: 14px !important; color: #374151 !important; font-weight: 500 !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-multi-legend-swatch { width: 16px !important; height: 16px !important; border-radius: 3px !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-benchmark-group { margin-bottom: 1rem !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-benchmark-title {font-size: 18px !important; font-weight: 600 !important; margin-bottom: 16px !important; margin-top: 0 !important; padding: 0 !important;text-align: center !important; color: var(--riv-primary) !important; flex: 1 !important; min-width: 0 !important;font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important;text-transform: none !important;white-space: normal !important;overflow-wrap: break-word !important;word-wrap: break-word !important;max-width: 100% !important;}#fv-chart-1789662465216-rhj1ydqa6 .fv-bar-row, #fv-chart-1789662465216-rhj1ydqa6 .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; position: relative !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-bar-label { width: 150px !important; flex-shrink: 0 !important; font-size: 14px !important; color: #374151 !important; padding-right: 10px !important; text-align: right !important; font-weight: 500 !important; display: block !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-bar-container { flex-grow: 1 !important; background-color: #E5E7EB !important; border-radius: 4px !important; min-height: 25px !important; border: 1px solid #D1D5DB !important; position: relative !important; display: flex !important; align-items: center !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-bar-commentary-inline { display: none !important; position: absolute !important; left: 150px !important; top: 0 !important; bottom: 0 !important; right: 0 !important; width: calc(100% - 150px) !important; margin: 0 !important; padding: 0 8px !important; font-size: 13px !important; color: #fff !important; background: rgba(0,0,0,0.8) !important; border-radius: 4px !important; line-height: 1.4 !important; font-weight: normal !important; text-transform: none !important; word-wrap: break-word !important; z-index: 10 !important; align-items: center !important; overflow-y: auto !important; }#fv-chart-1789662465216-rhj1ydqa6.preview-wrapper .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1789662465216-rhj1ydqa6.preview-wrapper .fv-bar-commentary-inline:focus, #fv-chart-1789662465216-rhj1ydqa6.preview-wrapper .fv-bar-commentary-inline:focus-within, #fv-chart-1789662465216-rhj1ydqa6.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1789662465216-rhj1ydqa6.mobile-view .fv-bar-commentary-inline:focus, #fv-chart-1789662465216-rhj1ydqa6.mobile-view .fv-bar-commentary-inline:focus-within { display: flex !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-bar { height: 100% !important; border-radius: 3px !important; display: flex !important; align-items: center !important; transition: opacity 0.2s ease, width 0.8s ease-out !important; min-height: 23px !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-bar:hover { opacity: 0.8 !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-bar-inner-content { display: flex !important; justify-content: space-between !important; align-items: center !important; width: 100% !important; height: 100% !important; padding: 0 8px !important; font-size: 14px !important; font-weight: bold !important; overflow: hidden !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-bar-inner-value { flex-shrink: 0 !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-bar-value-outside { padding-left: 8px !important; font-size: 14px !important; font-weight: bold !important; color: #374151 !important; white-space: nowrap !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-multi-bar-container { flex-direction: column !important; padding: 4px !important; align-items: stretch !important; gap: 4px !important; height: auto !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-multi-bar-item { display: flex !important; align-items: center !important; height: 25px !important; width: 100% !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-stacked-bar { display: flex !important; overflow: hidden !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-stacked-segment { height: 100% !important; display: flex !important; align-items: center !important; justify-content: flex-end !important; padding-right: 8px !important; border-right: 1px solid rgba(255,255,255,0.3) !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-stacked-segment:last-child { border-right: none !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-segment-value { font-size: 14px !important; font-weight: bold !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-grouped-product-title-wrapper { padding-left: 150px !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.5rem !important; font-weight: 700 !important; font-size: 14px !important; color: #374151 !important; text-transform: none !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-bar-cluster .fv-bar-container { height: 20px !important; }#fv-chart-1789662465216-rhj1ydqa6 .riv-grid line {stroke: #D1D5DB !important;stroke-dasharray: 3 3 !important;}#fv-chart-1789662465216-rhj1ydqa6 .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-x-axis-ticks { display: flex !important; justify-content: space-between !important; padding-top: 4px !important; font-size: 13px !important; color: #374151 !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-x-axis-ticks span { position: relative !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-x-axis-ticks span::before { content: '' !important; position: absolute !important; top: -6px !important; left: 50% !important; transform: translateX(-50%) !important; width: 2px !important; height: 4px !important; background-color: #D1D5DB !important; border-radius: 1px !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #374151 !important; margin-top: 8px !important; display: block !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-x-axis-title { text-align: center !important; font-size: 15px !important; color: #374151 !important; margin-top: 8px !important; margin-bottom: 16px !important; line-height: 1.5 !important; padding: 0 1rem !important; display: block !important; font-weight: bold !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-y-axis-title {font-size: 15px !important;color: #374151 !important;line-height: 1.5 !important;text-align: left !important;padding-left: 5.83% !important;margin-bottom: 4px !important;display: block !important;font-weight: bold !important;}#fv-chart-1789662465216-rhj1ydqa6.mobile-view .fv-pie-container,#fv-chart-1789662465216-rhj1ydqa6.labels-on-top .fv-pie-container {flex-direction: column !important; gap: 1rem !important;}#fv-chart-1789662465216-rhj1ydqa6.mobile-view .fv-grouped-product-title-wrapper,#fv-chart-1789662465216-rhj1ydqa6.labels-on-top .fv-grouped-product-title-wrapper {padding-left: 0 !important;}#fv-chart-1789662465216-rhj1ydqa6.mobile-view .fv-bar-row,#fv-chart-1789662465216-rhj1ydqa6.mobile-view .fv-stacked-product,#fv-chart-1789662465216-rhj1ydqa6.mobile-view .fv-grouped-bar-product,#fv-chart-1789662465216-rhj1ydqa6.labels-on-top .fv-bar-row,#fv-chart-1789662465216-rhj1ydqa6.labels-on-top .fv-stacked-product,#fv-chart-1789662465216-rhj1ydqa6.labels-on-top .fv-grouped-bar-product {flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important;}#fv-chart-1789662465216-rhj1ydqa6.mobile-view .fv-bar-label:not(.fv-grouped-product-title),#fv-chart-1789662465216-rhj1ydqa6.labels-on-top .fv-bar-label:not(.fv-grouped-product-title) {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1789662465216-rhj1ydqa6.mobile-view .fv-bar-label,#fv-chart-1789662465216-rhj1ydqa6.mobile-view .fv-grouped-product-title,#fv-chart-1789662465216-rhj1ydqa6.labels-on-top .fv-bar-label,#fv-chart-1789662465216-rhj1ydqa6.labels-on-top .fv-grouped-product-title {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1789662465216-rhj1ydqa6.mobile-view .fv-bar-container,#fv-chart-1789662465216-rhj1ydqa6.mobile-view .fv-bar-cluster,#fv-chart-1789662465216-rhj1ydqa6.labels-on-top .fv-bar-container,#fv-chart-1789662465216-rhj1ydqa6.labels-on-top .fv-bar-cluster {width: 100% !important;}#fv-chart-1789662465216-rhj1ydqa6.mobile-view .fv-bar-row .fv-bar-commentary-inline,#fv-chart-1789662465216-rhj1ydqa6.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline,#fv-chart-1789662465216-rhj1ydqa6.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus,#fv-chart-1789662465216-rhj1ydqa6.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus-within,#fv-chart-1789662465216-rhj1ydqa6.labels-on-top .fv-bar-row .fv-bar-commentary-inline,#fv-chart-1789662465216-rhj1ydqa6.labels-on-top .fv-bar-row:hover .fv-bar-commentary-inline,#fv-chart-1789662465216-rhj1ydqa6.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus,#fv-chart-1789662465216-rhj1ydqa6.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus-within {position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important;}#fv-chart-1789662465216-rhj1ydqa6.mobile-view .fv-x-axis-wrapper,#fv-chart-1789662465216-rhj1ydqa6.labels-on-top .fv-x-axis-wrapper {margin-left: 0 !important;}#fv-chart-1789662465216-rhj1ydqa6.mobile-view .fv-x-axis-label-space,#fv-chart-1789662465216-rhj1ydqa6.labels-on-top .fv-x-axis-label-space {display: none !important;}#fv-chart-1789662465216-rhj1ydqa6.mobile-view .fv-x-axis-chart-space,#fv-chart-1789662465216-rhj1ydqa6.labels-on-top .fv-x-axis-chart-space {padding-right: 0 !important;}#fv-chart-1789662465216-rhj1ydqa6.mobile-view .fv-benchmark-title,#fv-chart-1789662465216-rhj1ydqa6.labels-on-top .fv-benchmark-title {font-size: 16px !important;}#fv-chart-1789662465216-rhj1ydqa6.mobile-view .fv-dropdown-title,#fv-chart-1789662465216-rhj1ydqa6.labels-on-top .fv-dropdown-title {font-size: 16px !important;}#fv-chart-1789662465216-rhj1ydqa6.mobile-view .fv-carousel-nav-btn,#fv-chart-1789662465216-rhj1ydqa6.labels-on-top .fv-carousel-nav-btn {padding: 8px 12px !important; font-size: 14px !important;}#fv-chart-1789662465216-rhj1ydqa6.mobile-view .fv-chart-title,#fv-chart-1789662465216-rhj1ydqa6.labels-on-top .fv-chart-title {padding: 0 8px !important;}#fv-chart-1789662465216-rhj1ydqa6.mobile-view .fv-chart-subhead,#fv-chart-1789662465216-rhj1ydqa6.labels-on-top .fv-chart-subhead {padding: 0 8px !important;}#fv-chart-1789662465216-rhj1ydqa6.mobile-view .fv-versus-header,#fv-chart-1789662465216-rhj1ydqa6.labels-on-top .fv-versus-header {flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important;}#fv-chart-1789662465216-rhj1ydqa6.mobile-view .fv-versus-select-wrapper,#fv-chart-1789662465216-rhj1ydqa6.labels-on-top .fv-versus-select-wrapper {flex: 1 !important; min-width: 0 !important; width: 100% !important;}#fv-chart-1789662465216-rhj1ydqa6.mobile-view .fv-versus-select-wrapper.fv-left,#fv-chart-1789662465216-rhj1ydqa6.labels-on-top .fv-versus-select-wrapper.fv-left {text-align: center !important; padding-right: 0 !important;}#fv-chart-1789662465216-rhj1ydqa6.mobile-view .fv-versus-select-wrapper.fv-right,#fv-chart-1789662465216-rhj1ydqa6.labels-on-top .fv-versus-select-wrapper.fv-right {text-align: center !important; padding-left: 0 !important;}#fv-chart-1789662465216-rhj1ydqa6.mobile-view .fv-versus-select.fv-select-left,#fv-chart-1789662465216-rhj1ydqa6.labels-on-top .fv-versus-select.fv-select-left {text-align: center !important;}#fv-chart-1789662465216-rhj1ydqa6.mobile-view .fv-versus-select.fv-select-right,#fv-chart-1789662465216-rhj1ydqa6.labels-on-top .fv-versus-select.fv-select-right {text-align: center !important;}#fv-chart-1789662465216-rhj1ydqa6.mobile-view .fv-versus-vs,#fv-chart-1789662465216-rhj1ydqa6.labels-on-top .fv-versus-vs {text-align: center !important; padding: 0.25rem 0 !important;}#fv-chart-1789662465216-rhj1ydqa6.mobile-view .fv-versus-select-container,#fv-chart-1789662465216-rhj1ydqa6.labels-on-top .fv-versus-select-container {max-width: 100% !important; width: 100% !important;}#fv-chart-1789662465216-rhj1ydqa6.mobile-view .fv-versus-select,#fv-chart-1789662465216-rhj1ydqa6.labels-on-top .fv-versus-select {font-size: 14px !important; width: 100% !important;}#fv-chart-1789662465216-rhj1ydqa6.mobile-view .fv-stl-shop-all-btn,#fv-chart-1789662465216-rhj1ydqa6.labels-on-top .fv-stl-shop-all-btn {bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important;}#fv-chart-1789662465216-rhj1ydqa6.mobile-view .fv-stl-shop-all-logo,#fv-chart-1789662465216-rhj1ydqa6.mobile-view .fv-stl-shop-all-icon,#fv-chart-1789662465216-rhj1ydqa6.labels-on-top .fv-stl-shop-all-logo,#fv-chart-1789662465216-rhj1ydqa6.labels-on-top .fv-stl-shop-all-icon {width: 2rem !important; height: 2rem !important;}#fv-chart-1789662465216-rhj1ydqa6.mobile-view .fv-stl-shop-all-icon svg,#fv-chart-1789662465216-rhj1ydqa6.labels-on-top .fv-stl-shop-all-icon svg {width: 14px !important; height: 14px !important;}#fv-chart-1789662465216-rhj1ydqa6.mobile-view .fv-bar-commentary-inline,#fv-chart-1789662465216-rhj1ydqa6.labels-on-top .fv-bar-commentary-inline {display: block !important; margin-left: 0 !important; width: 100% !important;}#fv-chart-1789662465216-rhj1ydqa6.mobile-view .fv-y-axis-title { padding-left: 5% !important;  }#fv-chart-1789662465216-rhj1ydqa6.mobile-view.fv-contains-line-chart .fv-footer-content {margin-left: -1rem !important;margin-right: -1rem !important;}@media (max-width: 599px) {#fv-chart-1789662465216-rhj1ydqa6 .fv-pie-container {flex-direction: column !important; gap: 1rem !important;}#fv-chart-1789662465216-rhj1ydqa6 .fv-grouped-product-title-wrapper {padding-left: 0 !important;}#fv-chart-1789662465216-rhj1ydqa6 .fv-bar-row,#fv-chart-1789662465216-rhj1ydqa6 .fv-stacked-product,#fv-chart-1789662465216-rhj1ydqa6 .fv-grouped-bar-product {flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important;}#fv-chart-1789662465216-rhj1ydqa6 .fv-bar-label:not(.fv-grouped-product-title) {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1789662465216-rhj1ydqa6 .fv-bar-label,#fv-chart-1789662465216-rhj1ydqa6 .fv-grouped-product-title {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1789662465216-rhj1ydqa6 .fv-bar-container,#fv-chart-1789662465216-rhj1ydqa6 .fv-bar-cluster {width: 100% !important;}#fv-chart-1789662465216-rhj1ydqa6 .fv-bar-row .fv-bar-commentary-inline,#fv-chart-1789662465216-rhj1ydqa6 .fv-bar-row:hover .fv-bar-commentary-inline,#fv-chart-1789662465216-rhj1ydqa6 .fv-bar-row .fv-bar-commentary-inline:focus,#fv-chart-1789662465216-rhj1ydqa6 .fv-bar-row .fv-bar-commentary-inline:focus-within {position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important;}#fv-chart-1789662465216-rhj1ydqa6 .fv-x-axis-wrapper {margin-left: 0 !important;}#fv-chart-1789662465216-rhj1ydqa6 .fv-x-axis-label-space {display: none !important;}#fv-chart-1789662465216-rhj1ydqa6 .fv-x-axis-chart-space {padding-right: 0 !important;}#fv-chart-1789662465216-rhj1ydqa6 .fv-benchmark-title {font-size: 16px !important;}#fv-chart-1789662465216-rhj1ydqa6 .fv-dropdown-title {font-size: 16px !important;}#fv-chart-1789662465216-rhj1ydqa6 .fv-carousel-nav-btn {padding: 8px 12px !important; font-size: 14px !important;}#fv-chart-1789662465216-rhj1ydqa6 .fv-chart-title {padding: 0 8px !important;}#fv-chart-1789662465216-rhj1ydqa6 .fv-chart-subhead {padding: 0 8px !important;}#fv-chart-1789662465216-rhj1ydqa6 .fv-versus-header {flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important;}#fv-chart-1789662465216-rhj1ydqa6 .fv-versus-select-wrapper {flex: 1 !important; min-width: 0 !important; width: 100% !important;}#fv-chart-1789662465216-rhj1ydqa6 .fv-versus-select-wrapper.fv-left {text-align: center !important; padding-right: 0 !important;}#fv-chart-1789662465216-rhj1ydqa6 .fv-versus-select-wrapper.fv-right {text-align: center !important; padding-left: 0 !important;}#fv-chart-1789662465216-rhj1ydqa6 .fv-versus-select.fv-select-left {text-align: center !important;}#fv-chart-1789662465216-rhj1ydqa6 .fv-versus-select.fv-select-right {text-align: center !important;}#fv-chart-1789662465216-rhj1ydqa6 .fv-versus-vs {text-align: center !important; padding: 0.25rem 0 !important;}#fv-chart-1789662465216-rhj1ydqa6 .fv-versus-select-container {max-width: 100% !important; width: 100% !important;}#fv-chart-1789662465216-rhj1ydqa6 .fv-versus-select {font-size: 14px !important; width: 100% !important;}#fv-chart-1789662465216-rhj1ydqa6 .fv-stl-shop-all-btn {bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important;}#fv-chart-1789662465216-rhj1ydqa6 .fv-stl-shop-all-logo,#fv-chart-1789662465216-rhj1ydqa6 .fv-stl-shop-all-icon {width: 2rem !important; height: 2rem !important;}#fv-chart-1789662465216-rhj1ydqa6 .fv-stl-shop-all-icon svg {width: 14px !important; height: 14px !important;}#fv-chart-1789662465216-rhj1ydqa6 .fv-bar-commentary-inline {display: block !important; margin-left: 0 !important; width: 100% !important;}#fv-chart-1789662465216-rhj1ydqa6 .fv-y-axis-title { padding-left: 5% !important;  }#fv-chart-1789662465216-rhj1ydqa6.fv-contains-line-chart .fv-footer-content {margin-left: -1rem !important;margin-right: -1rem !important;}}</style><script type="application/ld+json">{"@context": "https://schema.org","@type": "Dataset","name": "Hard floor mopping test","description": "Mopping ketchup from hard floor using Eufy Omni E35","creator": {"@type": "Organization","name": "TechRadar","logo": "https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png"},"isAccessibleForFree": true,"dateCreated": "2026-09-17T16:27:45.216Z","citation": "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized","keywords": ["Image Comparison","benchmark","comparison","performance","review","TechRadar"],"measurementTechnique": "Performance Benchmarking","variableMeasured": []}</script><div id="fv-chart-1789662465216-rhj1ydqa6" class="fv-chart-wrapper   " data-bar-labels-on-top="false" data-iframe-height="true" data-vizualizer-embed="true"><div class="fv-inner-wrapper fv-no-header fv-is-image-compare  "><div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1789662465216-rhj1ydqa6-image-compare-1" data-chart-type="Image Comparison" data-title="Image Comparison" data-subhead="Mopping ketchup from hard floor using Eufy Omni E35" data-caption="" style=""><div class="fv-benchmark-group"><div class="fv-image-compare-container"><div class="fv-image-compare-wrapper" data-image-compare="true"><div class="fv-image-compare-inner"><img src="https://cdn.mos.cms.futurecdn.net/q48Q728d3eNziFYCfN9yKA.jpg" data-highres-src="https://cdn.mos.cms.futurecdn.net/q48Q728d3eNziFYCfN9yKA.jpg" alt="After" class="fv-image-compare-bg" loading="lazy" referrerpolicy="no-referrer" draggable="false" /><img src="https://cdn.mos.cms.futurecdn.net/wvyDCjj5SzH7ckzDqhcmNA.jpg" data-highres-src="https://cdn.mos.cms.futurecdn.net/wvyDCjj5SzH7ckzDqhcmNA.jpg" alt="Before" class="fv-image-compare-fg" loading="lazy" referrerpolicy="no-referrer" draggable="false" /><div class="fv-image-compare-slider"><div class="fv-image-compare-slider-line"></div><div class="fv-image-compare-handle "><img src="https://proof.vanilla.tools/media/images/brandLogos/techradar.png" alt="Brand Logo" style="width: 100%; height: 100%; object-fit: cover;" /></div></div></div><div class="fv-image-compare-label fv-image-compare-label-left">Before</div><div class="fv-image-compare-label fv-image-compare-label-right">After</div><button class="fv-image-compare-expand-btn" aria-label="Expand Image"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 8V4h4"/><path d="M20 8V4h-4"/><path d="M4 16v4h4"/><path d="M20 16v4h-4"/><circle cx="11.5" cy="11.5" r="3.5"/><path d="m14 14 3 3"/></svg></button><button class="fv-image-compare-close-btn" aria-label="Close Fullscreen"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg></button></div></div></div></div></div><div class="fv-bottom-bar"><div class="fv-footer-content" style="display: none;"><div class="rv-chart-caption" style="display: block;"><span class="fv-original-caption" style="display: block;"></span><span class="fv-ia-dynamic-caption" style="display: none;"></span></div></div><div class="fv-logo-explore-bar"><img class="fv-logo" src="https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png" alt="TechRadar Logo"></div></div></div></div><script>window.iFrameResizer = {heightCalculationMethod: 'taggedElement'};</script><script src="https://cdnjs.cloudflare.com/ajax/libs/iframe-resizer/4.2.11/iframeResizer.contentWindow.min.js" async></script><script>(function() {window.fvAnimateCharts = function(chartWrapper) {if (!chartWrapper) return;function animateBars(chartElement) {if (!chartElement) return;var bars = chartElement.querySelectorAll('.fv-bar, .fv-stacked-segment');bars.forEach(function(bar, index) {bar.style.setProperty('width', '0%', 'important');bar.style.setProperty('transition', 'none', 'important');var targetWidth = bar.dataset.targetWidth;if (targetWidth === undefined) return;void bar.offsetWidth;var targetMargin = bar.dataset.targetMargin;var baseMargin = bar.dataset.baseMargin;if (baseMargin !== undefined) {bar.style.setProperty('margin-left', baseMargin + '%', 'important');}setTimeout(function() {var marginTransition = baseMargin !== undefined ? ', margin-left 0.8s ease-out' : '';bar.style.setProperty('transition', 'opacity 0.2s ease, width 0.8s ease-out' + marginTransition, 'important');bar.style.setProperty('width', targetWidth + '%', 'important');if (targetMargin !== undefined && baseMargin !== undefined) {bar.style.setProperty('margin-left', targetMargin + '%', 'important');}}, index * 50 + 50);});}function animateLineChart(chartElement) {if (!chartElement) return;var lineSvg = chartElement.querySelector('svg');if (!lineSvg) return;var paths = lineSvg.querySelectorAll('.riv-line-path');paths.forEach(function(p, i) {if (typeof p.getTotalLength === 'function') {var len = p.getTotalLength();p.style.transition = 'none';p.style.strokeDasharray = len;p.style.strokeDashoffset = len;p.getBoundingClientRect();setTimeout(function() {p.style.transition = 'stroke-dashoffset 1s ease-out ' + (i * 0.1) + 's, stroke-width 0.2s, opacity 0.2s';p.style.strokeDashoffset = '0';}, 100);}});var dots = lineSvg.querySelectorAll('.riv-dot');dots.forEach(function(dot, i) {dot.style.opacity = '0';setTimeout(function() {dot.style.transition = 'opacity 0.3s ease';dot.style.opacity = '1';}, 500 + i * 10);});}var charts = chartWrapper.querySelectorAll('.fv-chart-item');charts.forEach(function(chart) {if (window.getComputedStyle(chart).display === 'none') return;var chartType = chart.dataset.chartType;if (chartType === 'Line') {animateLineChart(chart);} else if (chartType !== 'Pie') {animateBars(chart);}});};function initialize(uniqueId, isSlideshow) {var root = document.getElementById(uniqueId);if (!root && !isSlideshow) return;function setupWrapper(chartWrapper) {if (!chartWrapper) return;function checkMobileView() {var width = chartWrapper.getBoundingClientRect().width;var isMobileDevice = window.screen && Math.min(window.screen.width, window.screen.height) <= 599;var isMobile;if (width === 0) {isMobile = isMobileDevice || window.matchMedia('(max-width: 599px)').matches;} else {isMobile = isMobileDevice || width < 600;}if (isMobile) {chartWrapper.classList.add('mobile-view');} else {chartWrapper.classList.remove('mobile-view');}}checkMobileView();if (typeof ResizeObserver !== 'undefined') {var ro = new ResizeObserver(function() {checkMobileView();});ro.observe(chartWrapper);}window.addEventListener('resize', checkMobileView);var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';if (labelsOnTop) {var charts = chartWrapper.querySelectorAll('.fv-chart-item');var hasVisibleBarChart = false;charts.forEach(function(c) {if (window.getComputedStyle(c).display !== 'none') {var cType = c.dataset.chartType;if (cType === 'Bar' || cType === 'Stacked Bar' || cType === 'Versus') {hasVisibleBarChart = true;}}});if (hasVisibleBarChart) {chartWrapper.classList.add('labels-on-top');} else {chartWrapper.classList.remove('labels-on-top');}} else {chartWrapper.classList.remove('labels-on-top');}chartWrapper.querySelectorAll('.riv-line-legend').forEach(function(legend) {var chartId = legend.dataset.chart;var chart = chartWrapper.querySelector('[id="' + chartId + '"]');if (!chart) return;var lines = chart.querySelectorAll('.riv-line-path');var dots = chart.querySelectorAll('.riv-dot');var legendItems = legend.querySelectorAll('.riv-legend-item');legendItems.forEach(function(item) {var productName = item.dataset.product;var safeProductName = productName.replace(/"/g, '\"');var line = chart.querySelector('.riv-line-path[data-product="' + safeProductName + '"]');var productDots = chart.querySelectorAll('.riv-dot[data-product="' + safeProductName + '"]');if (line && !line.dataset.origStroke) {line.dataset.origStroke = line.getAttribute('stroke-width') || '2';}var highlight = function() {if (legend.querySelector('.isolated')) return;lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '0.2'; });legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });if (line) {line.style.opacity = '1';line.setAttribute('stroke-width', '4');}productDots.forEach(function(d) { d.style.opacity = '1'; });item.style.opacity = '1';};var clearHighlight = function() {if (legend.querySelector('.isolated')) return;lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '1'; });legendItems.forEach(function(i) { i.style.opacity = '1'; });};var toggleIsolate = function() {var isIsolated = item.classList.contains('isolated');legendItems.forEach(function(i) { i.classList.remove('isolated'); });if (isIsolated) {lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '1'; });legendItems.forEach(function(i) { i.style.opacity = '1'; });} else {item.classList.add('isolated');lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '0.2'; });legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });if (line) {line.style.opacity = '1';line.setAttribute('stroke-width', '4');}productDots.forEach(function(d) { d.style.opacity = '1'; });item.style.opacity = '1';}};item.addEventListener('mouseenter', highlight);item.addEventListener('focus', highlight);item.addEventListener('mouseleave', clearHighlight);item.addEventListener('blur', clearHighlight);item.addEventListener('click', toggleIsolate);if (line) {line.style.cursor = 'pointer';line.addEventListener('mouseenter', highlight);line.addEventListener('mouseleave', clearHighlight);line.addEventListener('click', toggleIsolate);}});});var versusCharts = chartWrapper.querySelectorAll('.fv-versus-chart');versusCharts.forEach(function(vc) {var dataJson = vc.getAttribute('data-versus-data');var leftColor = vc.getAttribute('data-left-color') || '#E53935';var rightColor = vc.getAttribute('data-right-color') || '#FFB300';if (!dataJson) return;var versusData = JSON.parse(dataJson);var leftSelect = vc.querySelector('.fv-select-left');var rightSelect = vc.querySelector('.fv-select-right');var rows = vc.querySelectorAll('.fv-versus-row');function updateVersusChart() {var leftProduct = leftSelect.value;var rightProduct = rightSelect.value;leftSelect.style.color = leftColor;leftSelect.style.borderColor = leftColor;rightSelect.style.color = rightColor;rightSelect.style.borderColor = rightColor;rows.forEach(function(row) {var index = parseInt(row.getAttribute('data-index'));var data = versusData[index];if (!data) return;var leftVal = data.productData[leftProduct] ? data.productData[leftProduct].value : undefined;var rightVal = data.productData[rightProduct] ? data.productData[rightProduct].value : undefined;var leftIsNum = typeof leftVal === 'number';var rightIsNum = typeof rightVal === 'number';var leftNum = leftIsNum ? leftVal : 0;var rightNum = rightIsNum ? rightVal : 0;var maxVal = Math.max(leftNum, rightNum, 0.0001);var leftWidth = leftIsNum ? (leftNum / maxVal) * 95 : 0;var rightWidth = rightIsNum ? (rightNum / maxVal) * 85 : 0;var winner = null;var pctDiffStr = null;if (leftIsNum && rightIsNum) {if (leftNum > rightNum) {winner = 'left';if (rightNum > 0) {var diff = Math.round(((leftNum - rightNum) / rightNum) * 100);pctDiffStr = '+' + diff.toLocaleString() + '%';}} else if (rightNum > leftNum) {winner = 'right';if (leftNum > 0) {var diff = Math.round(((rightNum - leftNum) / leftNum) * 100);pctDiffStr = '+' + diff.toLocaleString() + '%';}}}var leftDisplay = data.productData[leftProduct] && data.productData[leftProduct].displayValue !== undefined ? data.productData[leftProduct].displayValue : (leftIsNum ? leftNum.toLocaleString() : (leftVal !== undefined ? leftVal : '-'));var rightDisplay = data.productData[rightProduct] && data.productData[rightProduct].displayValue !== undefined ? data.productData[rightProduct].displayValue : (rightIsNum ? rightNum.toLocaleString() : (rightVal !== undefined ? rightVal : '-'));var unit = (data.productData[leftProduct] && data.productData[leftProduct].unit) ||(data.productData[rightProduct] && data.productData[rightProduct].unit) || '';var leftTextStr = leftDisplay;var rightTextStr = rightDisplay;var leftBar = row.querySelector('.fv-versus-bar-left');var rightBar = row.querySelector('.fv-versus-bar-right');var leftText = row.querySelector('.fv-inside-left');var rightText = row.querySelector('.fv-inside-right');var labelText = row.querySelector('.fv-versus-label span');var leftWrapper = row.querySelector('.fv-versus-bar-left-wrapper');var rightWrapper = row.querySelector('.fv-versus-bar-right-wrapper');var existingPctDiffs = row.querySelectorAll('.fv-versus-pct-diff');existingPctDiffs.forEach(function(el) { el.remove(); });if (winner === 'left' && pctDiffStr) {var pctSpan = document.createElement('span');pctSpan.className = 'fv-versus-pct-diff';pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';pctSpan.textContent = pctDiffStr;if (leftBar) leftBar.insertBefore(pctSpan, leftBar.firstChild);} else if (winner === 'right' && pctDiffStr) {var pctSpan = document.createElement('span');pctSpan.className = 'fv-versus-pct-diff';pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';pctSpan.textContent = pctDiffStr;if (rightBar) rightBar.appendChild(pctSpan);}if (leftBar) {leftBar.style.backgroundColor = leftColor;leftBar.dataset.targetWidth = leftWidth;leftBar.style.setProperty('--target-width', leftWidth + '%');leftBar.style.width = leftWidth + '%';}if (rightBar) {rightBar.style.backgroundColor = rightColor;rightBar.dataset.targetWidth = rightWidth;rightBar.style.setProperty('--target-width', rightWidth + '%');rightBar.style.width = rightWidth + '%';}if (leftText) {leftText.innerHTML = leftTextStr;}if (rightText) {rightText.innerHTML = rightTextStr;}if (labelText) {labelText.textContent = data.attribute + (unit ? ' (' + unit + ')' : '');}});}if (leftSelect) leftSelect.addEventListener('change', updateVersusChart);if (rightSelect) rightSelect.addEventListener('change', updateVersusChart);});var barRows = chartWrapper.querySelectorAll('.fv-bar-row');var globalCaptionEl = chartWrapper.querySelector('.rv-chart-caption');var fallbackCaptionHtml = globalCaptionEl ? globalCaptionEl.innerHTML : '';barRows.forEach(function(row) {var commentaryEl = row.querySelector('[data-commentary-key]');if (commentaryEl) {var commentaryText = commentaryEl.textContent;if (commentaryText && commentaryText.trim().length > 0) {row.addEventListener('mouseenter', function() {if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {globalCaptionEl.innerHTML = commentaryText;globalCaptionEl.classList.add('fv-bar-active-caption');}});row.addEventListener('mouseleave', function() {if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {globalCaptionEl.innerHTML = fallbackCaptionHtml;globalCaptionEl.classList.remove('fv-bar-active-caption');}});}}});var charts = chartWrapper.querySelectorAll('.fv-chart-item');var dropdown = chartWrapper.querySelector('.fv-dropdown-title');var prevBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.prev');var nextBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.next');var carouselTitle = chartWrapper.querySelector('.fv-carousel-title-controls .fv-benchmark-title');var counter = chartWrapper.querySelector('.fv-carousel-counter');var subheadEl = chartWrapper.querySelector('.fv-chart-subhead');var captionEl = chartWrapper.querySelector('.rv-chart-caption');var footerContentEl = chartWrapper.querySelector('.fv-footer-content');var bottomBarEl = chartWrapper.querySelector('.fv-bottom-bar');var logoEl = chartWrapper.querySelector('.fv-logo');if (charts.length > 1 && (dropdown || prevBtn)) {var currentChartIndex = 0;var titles = [];if (dropdown) {titles = Array.from(dropdown.options).map(function(o) { return o.text; });} else {charts.forEach(function(c) {titles.push(c.getAttribute('data-title') || '');});}function showInternalChart(index) {if (index < 0) index = charts.length - 1;if (index >= charts.length) index = 0;currentChartIndex = index;charts.forEach(function(c, i) {c.style.display = i === index ? 'block' : 'none';if (i === index) {var cType = c.dataset.chartType;if (cType === 'Line') {} else if (cType !== 'Pie') {window.fvAnimateCharts(chartWrapper);}var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';if (labelsOnTop && (cType === 'Bar' || cType === 'Stacked Bar' || cType === 'Versus')) {chartWrapper.classList.add('labels-on-top');} else {chartWrapper.classList.remove('labels-on-top');}}});if (dropdown) dropdown.value = index;if (carouselTitle && titles[index]) carouselTitle.textContent = titles[index];if (counter) counter.textContent = (index + 1) + ' of ' + charts.length;var activeChart = charts[index];if (activeChart) {var newSubhead = activeChart.getAttribute('data-subhead');var newCaption = activeChart.getAttribute('data-caption');var currentChartType = activeChart.getAttribute('data-chart-type');var hideGlobalCaption = currentChartType === 'Countdown' || currentChartType === 'Image Comparison' || currentChartType === 'Shop the Collection';if (subheadEl) subheadEl.textContent = newSubhead || '';if (captionEl) {captionEl.textContent = newCaption || '';fallbackCaptionHtml = newCaption || '';}if (footerContentEl) {if (newCaption && newCaption.trim().length > 0 && !hideGlobalCaption) {footerContentEl.style.display = 'block';if (bottomBarEl) bottomBarEl.style.display = 'flex';} else {footerContentEl.style.display = 'none';if (bottomBarEl && !logoEl) {bottomBarEl.style.display = 'none';}}}}}if (dropdown) dropdown.addEventListener('change', function(e) { showInternalChart(parseInt(e.target.value)); });if (prevBtn) prevBtn.addEventListener('click', function() { showInternalChart(currentChartIndex - 1); });if (nextBtn) nextBtn.addEventListener('click', function() { showInternalChart(currentChartIndex + 1); });}var imageCompareWrappers = chartWrapper.querySelectorAll('.fv-image-compare-wrapper');imageCompareWrappers.forEach(function(wrapper) {var inner = wrapper.querySelector('.fv-image-compare-inner') || wrapper;var slider = wrapper.querySelector('.fv-image-compare-slider');var fgImage = wrapper.querySelector('.fv-image-compare-fg');var bgImage = wrapper.querySelector('.fv-image-compare-bg');var labelLeft = wrapper.querySelector('.fv-image-compare-label-left');var labelRight = wrapper.querySelector('.fv-image-compare-label-right');var isDragging = false;var scale = 1;var panX = 0;var panY = 0;var isPanning = false;var hasPanned = false;var lastClientX = 0;var lastClientY = 0;var initialDistance = null;var lastCenterX = null;var lastCenterY = null;function updateTransform() {if (wrapper.classList.contains('fv-image-compare-fullscreen')) {inner.style.setProperty('transform', 'translate(' + panX + 'px, ' + panY + 'px) scale(' + scale + ')', 'important');} else {inner.style.removeProperty('transform');scale = 1;panX = 0;panY = 0;}}function constrainPan() {var rect = wrapper.getBoundingClientRect();var maxPanX = Math.max(0, (rect.width * scale - rect.width) / 2);var maxPanY = Math.max(0, (rect.height * scale - rect.height) / 2);panX = Math.max(-maxPanX, Math.min(panX, maxPanX));panY = Math.max(-maxPanY, Math.min(panY, maxPanY));}wrapper.addEventListener('wheel', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;e.preventDefault();var zoomSensitivity = 0.005;var zoomFactor = Math.exp(-e.deltaY * zoomSensitivity);var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));if (newScale === scale) return;var rect = wrapper.getBoundingClientRect();var mouseX = e.clientX - rect.left - rect.width / 2;var mouseY = e.clientY - rect.top - rect.height / 2;var ratio = newScale / scale;panX = mouseX - (mouseX - panX) * ratio;panY = mouseY - (mouseY - panY) * ratio;scale = newScale;constrainPan();updateTransform();}, { passive: false });wrapper.addEventListener('mousedown', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen') || scale <= 1) return;if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;isPanning = true;hasPanned = false;lastClientX = e.clientX;lastClientY = e.clientY;});window.addEventListener('mousemove', function(e) {if (!isPanning) return;var dx = e.clientX - lastClientX;var dy = e.clientY - lastClientY;if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {hasPanned = true;}lastClientX = e.clientX;lastClientY = e.clientY;panX += dx;panY += dy;constrainPan();updateTransform();});window.addEventListener('mouseup', function() {isPanning = false;});wrapper.addEventListener('touchstart', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;if (e.touches.length === 2) {e.preventDefault();var dx = e.touches[0].clientX - e.touches[1].clientX;var dy = e.touches[0].clientY - e.touches[1].clientY;initialDistance = Math.sqrt(dx * dx + dy * dy);var rect = wrapper.getBoundingClientRect();lastCenterX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;lastCenterY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;hasPanned = true;} else if (e.touches.length === 1 && scale > 1) {if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;isPanning = true;hasPanned = false;lastClientX = e.touches[0].clientX;lastClientY = e.touches[0].clientY;}}, { passive: false });wrapper.addEventListener('touchmove', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;if (e.touches.length === 2 && initialDistance !== null) {e.preventDefault();var dx = e.touches[0].clientX - e.touches[1].clientX;var dy = e.touches[0].clientY - e.touches[1].clientY;var distance = Math.sqrt(dx * dx + dy * dy);if (initialDistance > 0) {var zoomFactor = distance / initialDistance;var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));var rect = wrapper.getBoundingClientRect();var centerX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;var centerY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;var ratio = newScale / scale;panX = centerX - (centerX - panX) * ratio;panY = centerY - (centerY - panY) * ratio;if (lastCenterX !== null && lastCenterY !== null) {panX += (centerX - lastCenterX);panY += (centerY - lastCenterY);}scale = newScale;lastCenterX = centerX;lastCenterY = centerY;constrainPan();updateTransform();}initialDistance = distance;} else if (e.touches.length === 1 && isPanning) {e.preventDefault();var dx = e.touches[0].clientX - lastClientX;var dy = e.touches[0].clientY - lastClientY;if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {hasPanned = true;}lastClientX = e.touches[0].clientX;lastClientY = e.touches[0].clientY;panX += dx;panY += dy;constrainPan();updateTransform();}}, { passive: false });wrapper.addEventListener('touchend', function(e) {if (e.touches.length < 2) {initialDistance = null;}if (e.touches.length === 0) {isPanning = false;}});function handleMove(clientX) {var rect = inner.getBoundingClientRect();var x = Math.max(0, Math.min(clientX - rect.left, rect.width));var percent = Math.max(0, Math.min((x / rect.width) * 100, 100));if (slider) slider.style.setProperty('left', percent + '%', 'important');if (fgImage) fgImage.style.setProperty('clip-path', 'polygon(0 0, ' + percent + '% 0, ' + percent + '% 100%, 0 100%)', 'important');if (labelLeft) {if (percent < 10) {labelLeft.style.setProperty('opacity', '0', 'important');} else {labelLeft.style.setProperty('opacity', '1', 'important');}}if (labelRight) {if (percent > 90) {labelRight.style.setProperty('opacity', '0', 'important');} else {labelRight.style.setProperty('opacity', '1', 'important');}}}function onMouseMove(e) {if (!isDragging) return;handleMove(e.clientX);}function onTouchMove(e) {if (!isDragging) return;e.preventDefault();handleMove(e.touches[0].clientX);}function stopDragging() {isDragging = false;window.removeEventListener('mousemove', onMouseMove);window.removeEventListener('mouseup', stopDragging);window.removeEventListener('touchmove', onTouchMove);window.removeEventListener('touchend', stopDragging);}if (slider) {var startDrag = function(clientX) {isDragging = true;handleMove(clientX);window.addEventListener('mousemove', onMouseMove);window.addEventListener('mouseup', stopDragging);};var startTouchDrag = function(clientX) {isDragging = true;handleMove(clientX);window.addEventListener('touchmove', onTouchMove, { passive: false });window.addEventListener('touchend', stopDragging);};slider.addEventListener('mousedown', function(e) {e.preventDefault();startDrag(e.clientX);});slider.addEventListener('touchstart', function(e) {e.preventDefault();startTouchDrag(e.touches[0].clientX);}, { passive: false });}var expandBtn = wrapper.querySelector('.fv-image-compare-expand-btn');var closeBtn = wrapper.querySelector('.fv-image-compare-close-btn');if (expandBtn) {if (window !== window.parent) {expandBtn.style.display = 'none';} else {expandBtn.addEventListener('click', function(e) {e.stopPropagation();wrapper.classList.add('fv-image-compare-fullscreen');document.body.style.overflow = 'hidden';if (fgImage && fgImage.dataset.highresSrc) {fgImage.src = fgImage.dataset.highresSrc;fgImage.removeAttribute('srcset');fgImage.removeAttribute('sizes');}if (bgImage && bgImage.dataset.highresSrc) {bgImage.src = bgImage.dataset.highresSrc;bgImage.removeAttribute('srcset');bgImage.removeAttribute('sizes');}});}}if (closeBtn) {closeBtn.addEventListener('click', function(e) {e.stopPropagation();wrapper.classList.remove('fv-image-compare-fullscreen');document.body.style.overflow = '';updateTransform();});}document.addEventListener('keydown', function(e) {if (e.key === 'Escape' && wrapper.classList.contains('fv-image-compare-fullscreen')) {wrapper.classList.remove('fv-image-compare-fullscreen');document.body.style.overflow = '';updateTransform();}});});var hotspots = chartWrapper.querySelectorAll('.fv-stl-hotspot-btn');var allProductsModal = chartWrapper.querySelector('.fv-stl-all-products-modal');var shopAllBtn = chartWrapper.querySelector('.fv-stl-shop-all-btn');var allProductsList = chartWrapper.querySelector('.fv-stl-all-products-list');var stlContainer = chartWrapper.querySelector('.fv-stl-container');function closeAllModals() {if (allProductsModal) {allProductsModal.classList.remove('is-active');var items = allProductsModal.querySelectorAll('.fv-stl-all-products-item');items.forEach(function(item) {item.classList.remove('is-highlighted');});if (stlContainer) {setTimeout(function() {if (!allProductsModal.classList.contains('is-active')) {stlContainer.style.minHeight = '';if ('parentIFrame' in window) {window.parentIFrame.size();}}}, 300);}}hotspots.forEach(function(btn) { btn.setAttribute('aria-expanded', 'false'); });if ('parentIFrame' in window) {window.parentIFrame.size();}}hotspots.forEach(function(btn) {btn.addEventListener('click', function(e) {e.stopPropagation();var hotspotId = btn.getAttribute('data-hotspot-id');var isExpanded = btn.getAttribute('aria-expanded') === 'true';closeAllModals();if (!isExpanded && allProductsModal) {btn.setAttribute('aria-expanded', 'true');allProductsModal.classList.add('is-active');var container = btn.closest('.fv-stl-container');if (container && container.offsetHeight < 450) {container.style.minHeight = '450px';}var targetItem = allProductsModal.querySelector('.fv-stl-all-products-item[data-product-id="' + hotspotId + '"]');if (targetItem) {targetItem.classList.add('is-highlighted');setTimeout(function() {targetItem.scrollIntoView({ behavior: 'smooth', block: 'center' });}, 100);}if ('parentIFrame' in window) {window.parentIFrame.size();}}});});if (shopAllBtn && allProductsModal) {shopAllBtn.addEventListener('click', function(e) {e.stopPropagation();closeAllModals();allProductsModal.classList.add('is-active');var container = shopAllBtn.closest('.fv-stl-container');if (container && container.offsetHeight < 450) {container.style.minHeight = '450px';}if ('parentIFrame' in window) {window.parentIFrame.size();}});}if (allProductsModal) {var closeAllBtn = allProductsModal.querySelector('.fv-stl-all-products-close');if (closeAllBtn) {closeAllBtn.addEventListener('click', function(e) {e.stopPropagation();closeAllModals();});}}chartWrapper.addEventListener('click', function(e) {if (!e.target.closest('.fv-stl-all-products-content')) {closeAllModals();}});if (allProductsModal) {allProductsModal.addEventListener('click', function(e) {if (!e.target.closest('.fv-stl-all-products-content')) {closeAllModals();}});}var iaNodes = chartWrapper.querySelectorAll('.fv-ia-node-button');var iaWrapper = chartWrapper.querySelector('.fv-ia-wrapper');var originalCaption = chartWrapper.querySelector('.fv-original-caption') || captionEl;var dynamicCaption = chartWrapper.querySelector('.fv-ia-dynamic-caption');var exploreBtn = chartWrapper.querySelector('.fv-ia-explore-btn');var currentIaIndex = -1;function closeAllIANodes() {iaNodes.forEach(function(btn) { btn.classList.remove('is-active'); });if (originalCaption) originalCaption.style.display = 'block';if (dynamicCaption) dynamicCaption.style.display = 'none';}function resetExploreBtn() {currentIaIndex = -1;if (exploreBtn) {var exploreSpan = exploreBtn.querySelector('span');if (exploreSpan) exploreSpan.textContent = 'Explore';}}iaNodes.forEach(function(btn, index) {btn.addEventListener('click', function(e) {e.stopPropagation();var isActive = btn.classList.contains('is-active');closeAllIANodes();if (!isActive) {currentIaIndex = index;if (exploreBtn) {var exploreSpan = exploreBtn.querySelector('span');if (exploreSpan) exploreSpan.textContent = 'Next';}btn.classList.add('is-active');if (dynamicCaption) {var title = btn.getAttribute('data-title') || '';var desc = btn.getAttribute('data-desc') || '';dynamicCaption.innerHTML = '';var strongTag = document.createElement('strong');strongTag.textContent = title;dynamicCaption.appendChild(strongTag);if (desc) {dynamicCaption.appendChild(document.createTextNode(' - ' + desc));}if (originalCaption) originalCaption.style.display = 'none';dynamicCaption.style.display = 'block';if (footerContentEl) footerContentEl.style.display = 'block';}} else {resetExploreBtn();}});});if (exploreBtn) {exploreBtn.addEventListener('click', function(e) {e.stopPropagation();if (iaNodes.length === 0) return;var nextIndex = currentIaIndex + 1;if (nextIndex >= iaNodes.length) {closeAllIANodes();resetExploreBtn();} else {currentIaIndex = nextIndex;var targetBtn = iaNodes[currentIaIndex];if (targetBtn) {if(targetBtn.classList.contains('is-active')) {targetBtn.click();}targetBtn.click();}}});}if (iaWrapper) {iaWrapper.addEventListener('click', function(e) {if (!e.target.closest('.fv-ia-node-button') && !e.target.closest('.fv-ia-explore-btn')) {closeAllIANodes();resetExploreBtn();}});}window.fvAnimateCharts(chartWrapper);var countdownContainer = chartWrapper.querySelector('.fv-countdown-container');if (countdownContainer) {var targetDateAttr = countdownContainer.getAttribute('data-target-date');if (targetDateAttr) {var targetDate = new Date(targetDateAttr);var primaryColor = countdownContainer.getAttribute('data-primary-color') || '#f97316';var subheadColor = countdownContainer.getAttribute('data-subhead-color') || '#ffffff';var pad = function(n) { return (n < 10 ? '0' : '') + n; };var updateCountdown = function() {var difference = +targetDate - +new Date();var d = 0, h = 0, m = 0, s = 0;if (difference > 0) {d = Math.floor(difference / (1000 * 60 * 60 * 24));h = Math.floor((difference / (1000 * 60 * 60)) % 24);m = Math.floor((difference / 1000 / 60) % 60);s = Math.floor((difference / 1000) % 60);}var daysEl = countdownContainer.querySelector('[data-time="days"]');var hoursEl = countdownContainer.querySelector('[data-time="hours"]');var minsEl = countdownContainer.querySelector('[data-time="minutes"]');var secsEl = countdownContainer.querySelector('[data-time="seconds"]');if (daysEl) daysEl.textContent = d;if (hoursEl) hoursEl.textContent = pad(h);if (minsEl) minsEl.textContent = pad(m);if (secsEl) secsEl.textContent = pad(s);};updateCountdown();setInterval(updateCountdown, 1000);}}}if (false) {var slideshowContainer = document.getElementById(uniqueId + '-slideshow');if (slideshowContainer) {var slides = slideshowContainer.querySelectorAll('.fv-slide');slides.forEach(function(slide) {setupWrapper(slide.querySelector('.fv-chart-wrapper'));});}} else {setupWrapper(root);}}if (document.readyState === 'loading') {document.addEventListener('DOMContentLoaded', function() { initialize('fv-chart-1789662465216-rhj1ydqa6', false); });} else {initialize('fv-chart-1789662465216-rhj1ydqa6', false);}})();</script></div><p>The 290 mm (11.4 inch) mop pushes down with 1.6 kg (3.53 lb) of pressure, so it isn’t merely wiping across the floor, but giving it a good scrub too, and is cleaned by a pair of scrapers eight times per second to stop dirt getting trapped in its fibers. The roller can slide outwards by 32 mm (1.26 inches), ensuring it cleans right up to the wall, while dirty water is moved away from the mop and into an onboard tank, ready to be deposited into the charge station.</p><p>Even without quantitative testing, I know the E35’s mop works extremely well, because the dirty water held in the charge station tank is properly filthy. As I found with the Eufy Omni S2, it’s worth emptying this tank quite frequently, because if you wait until it’s full you’ll be dealing with some seriously stinky water when you pour it down the sink.</p><p>During TechRadar’s standard mopping test – which involves a small amount of dried-on ketchup – the Omni E35 at first struggled to clean the stain from a wooden floor. But upping the water supply to 100 percent soon fixed this, and the ketchup was entirely lifted on the second pass.</p><p>Interestingly, the E35 does not have the ClearMind AI function of the pricier S2, which recognizes floor types, stains and different kinds of mess, then cleans appropriately. Instead, the E35 lets you decide what’s best – and, in my experience, that’s almost always a whole-room clean with the middle or most powerful suction, about 75 percent of the maximum water flow for mopping, the most intense cleaning pattern, and everything done twice.</p><p>The S2’s AI system is clever, and sees the robot work harder to clean messier areas, but the end result — at least on my carpets and wooden floors — was perfectly comparable between the two robots. It also lacks the S2’s water ozonization feature, but that’s by no means a dealbreaker.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2224px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="wX8g2ZpZspEniDirYhEchZ" name="Eufy Omni E35-20" alt="Eufy Omni E35 robot vacuum navigating around obstacles on a floor" src="https://cdn.mos.cms.futurecdn.net/wX8g2ZpZspEniDirYhEchZ-1920-80.jpg" mos="" align="middle" fullscreen="" width="2224" height="1251" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Finally, I tested the E35’s obstacle avoidance tech by having it clean an area littered with a shoe, a sock and a USB cable. The robot performed perfectly, driving neatly around each object but not touching any of them. I was particularly impressed by its ability to dodge the USB cable, since this is something even high-end robovacs can struggle with. Eufy says the robot can recognize over 280 common household objects, and can navigate fine in darkness as well as daylight. </p><p>It isn’t perfect though. The E35 sometimes navigated too confidently, driving up and over obstacles that should be avoided. I have a vinyl record stand on the floor, the front of which stands about an inch off the ground; the E35 frequently drove up onto this, pushing some records around in the process.</p><ul><li><strong>Performance score: 4.5 out of 5</strong></li></ul><h3 class="article-body__section" id="section-eufy-omni-e35-app"><span>Eufy Omni E35: app</span></h3><ul><li><strong>Straightforward mapping </strong></li><li><strong>Good use of shortcuts</strong></li><li><strong>Lacks a mop-only mode</strong></li></ul><p>The Omni E35 uses the same app as all other Eufy robotic vacuums, and it’s an app shared by the company’s home security products too. The app has matured nicely over the past few years into something that works very well, giving you access to just the right amount of customization without it feeling overwhelming.</p><p>The creation and editing of maps works well (albeit with the phantom room I mentioned earlier), and it’s easy to select the right parameters for each clean. Or, you can set up a clean (kitchen with intense mopping and two passes, for example) and save that as a commonly used chore. This can then be added to the home screen of the app, where it’s ready to activate with one tap.</p><p>It’s also possible to create a home screen widget, where a single tap fires up the E35 and sets it to work.</p><p>Other useful app settings include the child lock, which stops small people (and pets!) from pressing the robot’s two buttons, and off-peak charging, which you can program to coincide with cheaper overnight electricity rates. Since I have an electric car tariff, I set the Eufy to charge overnight when power is significantly cheaper.</p><p>All that’s missing is a mop-only mode. This is a little frustrating for Eufy to omit, since I’d prefer to have my robot tackle a dried-on hard floor stain with its mop first, rather than vacuum the floor. Ideally, the robot should approach such a stain in reverse, mop-first, rather than risk it transferring onto the brushes before applying water and detergent.</p><ul><li><strong>App score: 4.5 out of 5</strong></li></ul><h3 class="article-body__section" id="section-should-you-buy-the-eufy-omni-e35"><span>Should you buy the Eufy Omni E35?</span></h3><div ><table><caption>Eufy Omni E35 score card</caption><thead><tr><th class="firstcol " ><p>Attribute</p></th><th  ><p>Notes</p></th><th  ><p>Score</p></th></tr></thead><tbody><tr><td class="firstcol " ><p>Value</p></td><td  ><p>The Omni E35 feels like much better value than some of Eufy’s more expensive robotic vacuum cleaners, especially from its flagship S family. The E35 offers superb vacuuming and strong mopping performance, with smart navigation and a compact design at a more accessible price than models with superfluous bells and whistles.</p></td><td  ><p>4.5</p></td></tr><tr><td class="firstcol " ><p>Design</p></td><td  ><p>Compact and relatively attractive, as far as robovacs go, the E35 benefits from a clever anti-tangle brush design, along with a high-performance mop that washes and dries itself. It cleans right into the corners of every room, but can’t raise itself up to clear raised rugs as well as the more expensive Omni S2.</p></td><td  ><p>4.5/5</p></td></tr><tr><td class="firstcol " ><p>Performance</p></td><td  ><p>Its superb vacuuming performance is reason enough to buy this robovac. It really does leave your carpets spotless, while also mopping hard floors well, navigating reliably, and thoroughly cleaning itself after every use. It also works quickly, quietly, and reliably, not once getting stuck or lost during my testing.</p></td><td  ><p>4.5/5</p></td></tr><tr><td class="firstcol " ><p>App</p></td><td  ><p>Eufy’s app continues to impress, with a clean interface that is easy to navigate. It offers just the right amount of functionality and customization without being overwhelming. Shortcuts and iOS widget functionality are welcome additions, along with a child lock and off-peak charging.</p></td><td  ><p>4.5/5</p></td></tr></tbody></table></div><h2 id="buy-it-if-4">Buy it if</h2><div class="product"><p><strong>You want a hands-off robovac</strong></p><p>Eufy says this robot can operate hands-free for up to 60 days – and even after that, you’ll likely only need to replenish the water and perhaps replace the dust bag. The self-cleaning really is that good.</p></div><p>I set up the Eufy Omni E35 in my own home and lived with it for a couple of weeks. During this time it was my only vacuum cleaner and mop, tackling every room of my home and cleaning up after an energetic puppy too.</p><p>After that fortnight, I conducted TechRadar’s standard robovac tests to analyze its suction, mopping and navigation skills, as well as monitoring how loud it is and checking the performance of its self-cleaning system.</p><div class="product"><p><strong>You don’t need the flagship</strong></p><p>Eufy’s Omni S2 is phenomenally good, but it’s also much more expensive than this model. Do you really need a fragrance diffuser and ozonated water? If not, save the money and buy this one instead.</p></div><div class="product"><p><strong>You value mopping as much as vacuuming</strong></p><p>If your floors are evenly split between hard floors and carpet, this robot could be perfect for you, since it manages both surfaces equally well.</p></div><h2 id="don-39-t-buy-it-if-3">Don't buy it if</h2><div class="product"><p><strong>You’re on a budget</strong></p><p>Despite being much less expensive than Eufy’s top-end S2, the E35 is still a pricey robovac. If you’re on a tighter budget, consider a more affordable model with less powerful suction or a less comprehensive mopping and self-cleaning system.</p></div><div class="product"><p><strong>You have large doorway thresholds or thick rugs</strong></p><p>Although the E35’s ability to clear 1.2-inch thresholds is good, some models can climb higher. So if you have significant differences in floor height between rooms you might want to look elsewhere.</p></div><h3 class="article-body__section" id="section-how-i-tested-the-eufy-omni-e35"><span>How I tested the Eufy Omni E35</span></h3><div class="vizualizer-embed"><style>@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap');#fv-chart-1789660635467-0b8tnk56l *, #fv-chart-1789660635467-0b8tnk56l *:before, #fv-chart-1789660635467-0b8tnk56l *:after, #fv-chart-1789660635467-0b8tnk56l-slideshow *, #fv-chart-1789660635467-0b8tnk56l-slideshow *:before, #fv-chart-1789660635467-0b8tnk56l-slideshow *:after {box-sizing: border-box !important; margin: 0; padding: 0; border: 0;font-size: 100%; font: inherit; vertical-align: baseline;}#fv-chart-1789660635467-0b8tnk56l, #fv-chart-1789660635467-0b8tnk56l-slideshow { font-family: 'Open Sans', sans-serif !important; }#fv-chart-1789660635467-0b8tnk56l {position: relative !important; overflow: visible !important;--riv-primary: #2E6E93;}#fv-chart-1789660635467-0b8tnk56l .fv-inner-wrapper {color: #1F2937 !important; background-color: #ffffff !important;padding: 1.5rem 1.5rem 2rem !important; border-radius: 0.5rem !important;box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important;margin: 1rem 0 !important; display: flex !important; flex-direction: column !important;overflow: hidden !important;}#fv-chart-1789660635467-0b8tnk56l .fv-inner-wrapper.fv-no-header.fv-is-image-compare {padding-top: 0 !important;}#fv-chart-1789660635467-0b8tnk56l.fv-full-bleed {width: 100vw !important;margin-left: calc(50% - 50vw) !important;}body {overflow-x: clip !important;}#fv-chart-1789660635467-0b8tnk56l.fv-full-bleed .fv-inner-wrapper {padding: 0 !important;border-radius: 0 !important;box-shadow: none !important;margin: 0 !important;background-color: transparent !important;}#fv-chart-1789660635467-0b8tnk56l .fv-inner-wrapper.fv-is-shop-the-look {padding: 0 !important;border-radius: 0 !important;box-shadow: none !important;margin: 0 !important;background-color: transparent !important;}#fv-chart-1789660635467-0b8tnk56l-slideshow {position: relative !important;width: 100% !important;margin: 1rem 0 !important;--riv-primary: #2E6E93;}#fv-chart-1789660635467-0b8tnk56l-slideshow .fv-slides-wrapper {position: relative !important;width: 100% !important;}#fv-chart-1789660635467-0b8tnk56l-slideshow .fv-slide {width: 100% !important;animation: fv-fade-in 0.3s ease-in-out;}@keyframes fv-fade-in {from { opacity: 0; }to { opacity: 1; }}#fv-chart-1789660635467-0b8tnk56l-slideshow .fv-slideshow-nav-row {position: relative !important;display: flex !important;justify-content: space-between !important;align-items: center !important;padding: 0 0 16px 0 !important;width: 100% !important;z-index: 20 !important;}#fv-chart-1789660635467-0b8tnk56l-slideshow .fv-nav-btn {background-color: var(--riv-primary) !important;color: #ffffff !important;border: none !important;border-radius: 4px !important;padding: 8px 16px !important;font-size: 14px !important;font-weight: 700 !important;cursor: pointer !important;display: flex !important;align-items: center !important;justify-content: center !important;gap: 6px !important;transition: opacity 0.2s, background-color 0.2s !important;height: 36px !important;text-transform: none !important;box-shadow: 0 1px 2px rgba(0,0,0,0.1) !important;}#fv-chart-1789660635467-0b8tnk56l-slideshow .fv-nav-btn svg {width: 18px !important;height: 18px !important;stroke-width: 3px !important;filter: none !important;}#fv-chart-1789660635467-0b8tnk56l-slideshow .fv-nav-btn:hover {opacity: 0.9 !important;transform: translateY(-1px) !important;}#fv-chart-1789660635467-0b8tnk56l-slideshow .fv-nav-btn.disabled {background-color: #E5E7EB !important;color: #9CA3AF !important;cursor: default !important;pointer-events: none !important;box-shadow: none !important;}#fv-chart-1789660635467-0b8tnk56l-slideshow .fv-slide-counter {font-family: 'Poppins', sans-serif !important;font-size: 14px !important;font-weight: 600 !important;color: #374151 !important;text-align: center !important;min-width: 40px !important;background-color: rgba(255,255,255,0.8) !important;padding: 2px 8px !important;border-radius: 10px !important;}#fv-chart-1789660635467-0b8tnk56l-slideshow .fv-slideshow-select {position: absolute !important;top: 10px !important;right: 10px !important;z-index: 20 !important;appearance: none !important;-webkit-appearance: none !important;-moz-appearance: none !important;background-color: white !important;border: 1px solid #d1d5db !important;color: #1F2937 !important;font-family: 'Open Sans', sans-serif !important;font-size: 14px !important;font-weight: 600 !important;padding: 6px 32px 6px 12px !important;border-radius: 4px !important;cursor: pointer !important;box-shadow: 0 1px 2px rgba(0,0,0,0.05) !important;background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e") !important;background-position: right 0.5rem center !important;background-repeat: no-repeat !important;background-size: 1.5em 1.5em !important;}#fv-chart-1789660635467-0b8tnk56l-slideshow .fv-slideshow-select:focus {outline: 2px solid #2E6E93 !important;border-color: #2E6E93 !important;}#fv-chart-1789660635467-0b8tnk56l .fv-chart-title {font-weight: bold !important;text-align: center !important;margin-bottom: 0.5rem !important;color: var(--riv-primary) !important;font-size: 20px !important;line-height: 1.2 !important;font-family: 'Open Sans', sans-serif !important;text-transform: none !important;white-space: normal !important;overflow-wrap: break-word !important;padding: 0 20px !important;}#fv-chart-1789660635467-0b8tnk56l .fv-chart-subhead {font-size: 18px !important;font-weight: 500 !important;text-align: center !important;margin-bottom: 2rem !important;color: #374151 !important;line-height: 1.7 !important;font-family: 'Open Sans', sans-serif !important;display: block !important;text-transform: none !important;padding: 0 20px !important;}#fv-chart-1789660635467-0b8tnk56l .rv-chart-caption { font-size: 15px !important; color: #374151 !important; text-align: center !important; font-style: normal !important; font-weight: normal !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; }#fv-chart-1789660635467-0b8tnk56l .fv-versus-chart { display: flex; flex-direction: column; width: 100%; margin-top: 1rem; }#fv-chart-1789660635467-0b8tnk56l .fv-versus-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding: 0 1rem; }#fv-chart-1789660635467-0b8tnk56l .fv-versus-select-wrapper { flex: 1; min-width: 0; }#fv-chart-1789660635467-0b8tnk56l .fv-versus-select-wrapper.fv-left { text-align: center; padding-right: 1rem; }#fv-chart-1789660635467-0b8tnk56l .fv-versus-select-wrapper.fv-right { text-align: center; padding-left: 1rem; }#fv-chart-1789660635467-0b8tnk56l .fv-versus-select-container { position: relative; display: inline-block; max-width: 100%; width: 100%; }#fv-chart-1789660635467-0b8tnk56l .fv-versus-chevron { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; width: 16px; height: 16px; flex-shrink: 0; }#fv-chart-1789660635467-0b8tnk56l .fv-versus-select-wrapper.fv-left .fv-versus-chevron { right: 0; }#fv-chart-1789660635467-0b8tnk56l .fv-versus-select-wrapper.fv-right .fv-versus-chevron { right: 0; }#fv-chart-1789660635467-0b8tnk56l .fv-versus-select { background: transparent; border: none; border-bottom: 2px solid; font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; padding: 0.25rem 0; cursor: pointer; outline: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; max-width: 100%; width: 100%; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; }#fv-chart-1789660635467-0b8tnk56l .fv-versus-select.fv-select-left { text-align: center; direction: ltr; padding-right: 1.25rem; }#fv-chart-1789660635467-0b8tnk56l .fv-versus-select.fv-select-right { text-align: center; padding-right: 1.25rem; }#fv-chart-1789660635467-0b8tnk56l .fv-versus-select option { font-family: 'Open Sans', sans-serif; font-weight: 400; font-size: 14px; color: #374151; direction: ltr; text-align: left; }#fv-chart-1789660635467-0b8tnk56l .fv-versus-vs { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; color: #374151; letter-spacing: 0.1em; padding: 0 1rem; }#fv-chart-1789660635467-0b8tnk56l .fv-versus-body { display: flex; flex-direction: column; gap: 1.5rem; }#fv-chart-1789660635467-0b8tnk56l .fv-versus-row { position: relative; height: auto; padding-top: 20px; margin-bottom: 0.25rem; display: block; }#fv-chart-1789660635467-0b8tnk56l .fv-versus-bar-container { position: relative; height: 32px; display: flex; align-items: center; }#fv-chart-1789660635467-0b8tnk56l .fv-versus-bar-left-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-end; align-items: center; }#fv-chart-1789660635467-0b8tnk56l .fv-versus-bar-right-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-start; align-items: center; }#fv-chart-1789660635467-0b8tnk56l .fv-versus-bar { height: 32px; width: var(--target-width); transition: width 0.8s ease-out; animation: fv-grow-max-width 0.8s ease-out forwards; display: flex; align-items: center; overflow: hidden; color: #ffffff; }#fv-chart-1789660635467-0b8tnk56l .fv-versus-bar-left { border-radius: 4px 0 0 4px; justify-content: flex-end; padding: 0 8px; }#fv-chart-1789660635467-0b8tnk56l .fv-versus-bar-right { border-radius: 0 4px 4px 0; justify-content: flex-start; padding: 0 8px; }@keyframes fv-grow-max-width {from { max-width: 0; }to { max-width: 100%; }}#fv-chart-1789660635467-0b8tnk56l .fv-versus-center-line { position: absolute; left: 50%; top: 0; bottom: 0; width: 4px; background-color: #ffffff; transform: translateX(-50%); z-index: 1; }#fv-chart-1789660635467-0b8tnk56l .fv-inside-left { white-space: nowrap; flex-shrink: 0; }#fv-chart-1789660635467-0b8tnk56l .fv-inside-right { white-space: nowrap; flex-shrink: 0; }#fv-chart-1789660635467-0b8tnk56l .fv-versus-val-text { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; }#fv-chart-1789660635467-0b8tnk56l .fv-versus-pct-diff { font-size: 12px; font-weight: 600; }#fv-chart-1789660635467-0b8tnk56l .fv-versus-label { position: absolute; left: 50%; transform: translateX(-50%); top: 0; background-color: transparent; border: none; box-shadow: none; padding: 0; font-family: 'Open Sans', sans-serif; font-weight: 700; font-size: 14px; color: #374151; white-space: nowrap; }#fv-chart-1789660635467-0b8tnk56l .sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }#fv-chart-1789660635467-0b8tnk56l .fv-image-compare-container { width: auto !important; margin-left: -1.5rem !important; margin-right: -1.5rem !important; margin-bottom: 2rem !important; }#fv-chart-1789660635467-0b8tnk56l.fv-full-bleed .fv-image-compare-container { width: 100% !important; max-width: none !important; margin: 0 auto !important; }#fv-chart-1789660635467-0b8tnk56l .fv-image-compare-wrapper { position: relative !important; width: 100% !important; overflow: hidden !important; border-radius: 0 !important; background-color: #000 !important; touch-action: pan-y !important; user-select: none !important; -webkit-user-select: none !important; }#fv-chart-1789660635467-0b8tnk56l .fv-image-compare-inner { position: relative !important; width: 100% !important; height: 100% !important; display: block !important; transform-origin: center center !important; transition: transform 0.1s ease-out !important; }#fv-chart-1789660635467-0b8tnk56l .fv-image-compare-bg { display: block !important; width: 100% !important; height: auto !important; pointer-events: none !important; user-select: none !important; -webkit-user-select: none !important; -webkit-user-drag: none !important; }#fv-chart-1789660635467-0b8tnk56l .fv-image-compare-fg { position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; object-fit: cover !important; clip-path: polygon(0 0, 50% 0, 50% 100%, 0 100%) !important; pointer-events: none !important; user-select: none !important; -webkit-user-select: none !important; -webkit-user-drag: none !important; }#fv-chart-1789660635467-0b8tnk56l .fv-image-compare-slider { position: absolute !important; top: 0 !important; bottom: 0 !important; left: 50% !important; width: 32px !important; transform: translateX(-50%) !important; cursor: ew-resize !important; z-index: 10 !important; user-select: none !important; -webkit-user-select: none !important; }#fv-chart-1789660635467-0b8tnk56l .fv-image-compare-slider-line { position: absolute !important; top: 0 !important; bottom: 0 !important; left: 50% !important; width: 4px !important; background-color: white !important; transform: translateX(-50%) !important; box-shadow: 0 0 10px rgba(0,0,0,0.5) !important; pointer-events: none !important; }#fv-chart-1789660635467-0b8tnk56l .fv-image-compare-handle { position: absolute !important; top: 50% !important; left: 50% !important; transform: translate(-50%, -50%) !important; width: 32px !important; height: 32px !important; background-color: white !important; border-radius: 50% !important; box-shadow: 0 2px 6px rgba(0,0,0,0.3) !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 4px !important; pointer-events: none !important; z-index: 11 !important; overflow: hidden !important; }#fv-chart-1789660635467-0b8tnk56l .fv-image-compare-handle.fv-image-compare-handle-square { border-radius: 6px !important; }#fv-chart-1789660635467-0b8tnk56l .fv-image-compare-arrow-left { width: 0 !important; height: 0 !important; border-top: 4px solid transparent !important; border-bottom: 4px solid transparent !important; border-right: 4px solid #4b5563 !important; }#fv-chart-1789660635467-0b8tnk56l .fv-image-compare-arrow-right { width: 0 !important; height: 0 !important; border-top: 4px solid transparent !important; border-bottom: 4px solid transparent !important; border-left: 4px solid #4b5563 !important; }#fv-chart-1789660635467-0b8tnk56l .fv-image-compare-label { position: absolute !important; top: 1rem !important; background-color: rgba(0, 0, 0, 0.5) !important; color: white !important; padding: 0.25rem 0.75rem !important; border-radius: 0.25rem !important; font-size: 0.875rem !important; font-weight: 500 !important; pointer-events: none !important; backdrop-filter: blur(4px) !important; z-index: 5 !important; transition: right 0.3s ease, opacity 0.2s ease !important; }#fv-chart-1789660635467-0b8tnk56l .fv-image-compare-label-left { left: 1rem !important; }#fv-chart-1789660635467-0b8tnk56l .fv-image-compare-label-right { right: 1rem !important; }#fv-chart-1789660635467-0b8tnk56l .fv-image-compare-expand-btn, #fv-chart-1789660635467-0b8tnk56l .fv-image-compare-close-btn { position: absolute !important; bottom: 1rem !important; right: 1rem !important; background-color: rgba(0, 0, 0, 0.5) !important; color: white !important; border: none !important; border-radius: 0.25rem !important; padding: 0.5rem !important; cursor: pointer !important; z-index: 20 !important; display: flex !important; align-items: center !important; justify-content: center !important; backdrop-filter: blur(4px) !important; transition: background-color 0.2s !important; }#fv-chart-1789660635467-0b8tnk56l .fv-image-compare-expand-btn:hover, #fv-chart-1789660635467-0b8tnk56l .fv-image-compare-close-btn:hover { background-color: rgba(0, 0, 0, 0.7) !important; }#fv-chart-1789660635467-0b8tnk56l .fv-image-compare-close-btn { display: none !important; top: 1rem !important; bottom: auto !important; }#fv-chart-1789660635467-0b8tnk56l .fv-image-compare-wrapper.fv-image-compare-fullscreen { position: fixed !important; top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important; width: 100% !important; height: 100% !important; z-index: 999999 !important; display: flex !important; align-items: center !important; justify-content: center !important; background-color: rgba(0, 0, 0, 0.9) !important; margin: 0 !important; touch-action: none !important; }#fv-chart-1789660635467-0b8tnk56l .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-inner { width: 100% !important; height: 100% !important; display: flex !important; align-items: center !important; justify-content: center !important; cursor: grab !important; }#fv-chart-1789660635467-0b8tnk56l .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-inner:active { cursor: grabbing !important; }#fv-chart-1789660635467-0b8tnk56l .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-bg { position: absolute !important; top: 0 !important; left: 0 !important; max-width: 100% !important; max-height: 100% !important; width: 100% !important; height: 100% !important; object-fit: contain !important; }#fv-chart-1789660635467-0b8tnk56l .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-fg { max-width: 100% !important; max-height: 100% !important; width: 100% !important; height: 100% !important; object-fit: contain !important; }#fv-chart-1789660635467-0b8tnk56l .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-expand-btn { display: none !important; }#fv-chart-1789660635467-0b8tnk56l .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-close-btn { display: flex !important; }#fv-chart-1789660635467-0b8tnk56l .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-label-right { right: 4rem !important; }#fv-chart-1789660635467-0b8tnk56l .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; }#fv-chart-1789660635467-0b8tnk56l .fv-footer-content { text-align: center !important; width: 100% !important; }#fv-chart-1789660635467-0b8tnk56l .fv-logo {display: block !important;margin: 0 auto !important;width: 120px !important;min-width: 120px !important;max-width: 120px !important;height: auto !important;object-fit: contain !important;flex-shrink: 0 !important;}#fv-chart-1789660635467-0b8tnk56l .fv-dropdown-wrapper { text-align: center !important; margin-bottom: 16px !important; margin-top: 0 !important; }#fv-chart-1789660635467-0b8tnk56l .fv-dropdown-title-container { position: relative !important; display: inline-block !important; max-width: 100% !important; }#fv-chart-1789660635467-0b8tnk56l .fv-dropdown-title {appearance: none !important;-webkit-appearance: none !important;-moz-appearance: none !important;background: transparent !important;border: none !important;font-size: 18px !important;font-weight: 600 !important;color: var(--riv-primary) !important;padding-right: 28px !important;padding-left: 10px !important;cursor: pointer !important;text-align: center !important;text-align-last: center !important;width: auto !important;max-width: 100% !important;font-family: 'Open Sans', sans-serif !important;line-height: 1.3 !important;margin: 0 !important;text-overflow: ellipsis !important;overflow: hidden !important;white-space: nowrap !important;}#fv-chart-1789660635467-0b8tnk56l .fv-dropdown-title:focus { outline: none !important; }#fv-chart-1789660635467-0b8tnk56l .fv-dropdown-title::-ms-expand { display: none !important; }#fv-chart-1789660635467-0b8tnk56l .fv-dropdown-chevron {position: absolute !important;right: 0 !important;top: 50% !important;transform: translateY(-50%) !important;pointer-events: none !important;color: var(--riv-primary) !important;display: flex !important;align-items: center !important;}#fv-chart-1789660635467-0b8tnk56l .fv-carousel-title-controls { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 16px !important; width: 100% !important; gap: 12px !important; }#fv-chart-1789660635467-0b8tnk56l .fv-carousel-nav-btn {background: transparent !important; border: 1px solid #d1d5db !important; border-radius: 6px !important; padding: 6px 10px !important;cursor: pointer !important; font-size: 14px !important; color: #374151 !important; display: flex !important; align-items: center !important; gap: 4px !important; font-family: 'Open Sans', sans-serif !important;}#fv-chart-1789660635467-0b8tnk56l .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; }#fv-chart-1789660635467-0b8tnk56l .fv-carousel-counter { font-size: 14px !important; color: #374151 !important; text-align: center !important; margin-top: 1rem !important; }#fv-chart-1789660635467-0b8tnk56l .fv-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 8px 16px !important; margin: 0 !important; padding: 0 !important; margin-top: 1rem !important; }#fv-chart-1789660635467-0b8tnk56l .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #374151 !important; }#fv-chart-1789660635467-0b8tnk56l .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; }#fv-chart-1789660635467-0b8tnk56l .fv-multi-value-legend {display: flex !important;justify-content: center !important;flex-wrap: wrap !important;gap: 12px 24px !important;margin-bottom: 1.5rem !important;padding: 0 !important;}#fv-chart-1789660635467-0b8tnk56l .fv-multi-legend-item { display: flex !important; align-items: center !important; gap: 8px !important; font-size: 14px !important; color: #374151 !important; font-weight: 500 !important; }#fv-chart-1789660635467-0b8tnk56l .fv-multi-legend-swatch { width: 16px !important; height: 16px !important; border-radius: 3px !important; }#fv-chart-1789660635467-0b8tnk56l .fv-benchmark-group { margin-bottom: 1rem !important; }#fv-chart-1789660635467-0b8tnk56l .fv-benchmark-title {font-size: 18px !important; font-weight: 600 !important; margin-bottom: 16px !important; margin-top: 0 !important; padding: 0 !important;text-align: center !important; color: var(--riv-primary) !important; flex: 1 !important; min-width: 0 !important;font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important;text-transform: none !important;white-space: normal !important;overflow-wrap: break-word !important;word-wrap: break-word !important;max-width: 100% !important;}#fv-chart-1789660635467-0b8tnk56l .fv-bar-row, #fv-chart-1789660635467-0b8tnk56l .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; position: relative !important; }#fv-chart-1789660635467-0b8tnk56l .fv-bar-label { width: 150px !important; flex-shrink: 0 !important; font-size: 14px !important; color: #374151 !important; padding-right: 10px !important; text-align: right !important; font-weight: 500 !important; display: block !important; }#fv-chart-1789660635467-0b8tnk56l .fv-bar-container { flex-grow: 1 !important; background-color: #E5E7EB !important; border-radius: 4px !important; min-height: 25px !important; border: 1px solid #D1D5DB !important; position: relative !important; display: flex !important; align-items: center !important; }#fv-chart-1789660635467-0b8tnk56l .fv-bar-commentary-inline { display: none !important; position: absolute !important; left: 150px !important; top: 0 !important; bottom: 0 !important; right: 0 !important; width: calc(100% - 150px) !important; margin: 0 !important; padding: 0 8px !important; font-size: 13px !important; color: #fff !important; background: rgba(0,0,0,0.8) !important; border-radius: 4px !important; line-height: 1.4 !important; font-weight: normal !important; text-transform: none !important; word-wrap: break-word !important; z-index: 10 !important; align-items: center !important; overflow-y: auto !important; }#fv-chart-1789660635467-0b8tnk56l.preview-wrapper .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1789660635467-0b8tnk56l.preview-wrapper .fv-bar-commentary-inline:focus, #fv-chart-1789660635467-0b8tnk56l.preview-wrapper .fv-bar-commentary-inline:focus-within, #fv-chart-1789660635467-0b8tnk56l.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1789660635467-0b8tnk56l.mobile-view .fv-bar-commentary-inline:focus, #fv-chart-1789660635467-0b8tnk56l.mobile-view .fv-bar-commentary-inline:focus-within { display: flex !important; }#fv-chart-1789660635467-0b8tnk56l .fv-bar { height: 100% !important; border-radius: 3px !important; display: flex !important; align-items: center !important; transition: opacity 0.2s ease, width 0.8s ease-out !important; min-height: 23px !important; }#fv-chart-1789660635467-0b8tnk56l .fv-bar:hover { opacity: 0.8 !important; }#fv-chart-1789660635467-0b8tnk56l .fv-bar-inner-content { display: flex !important; justify-content: space-between !important; align-items: center !important; width: 100% !important; height: 100% !important; padding: 0 8px !important; font-size: 14px !important; font-weight: bold !important; overflow: hidden !important; }#fv-chart-1789660635467-0b8tnk56l .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; }#fv-chart-1789660635467-0b8tnk56l .fv-bar-inner-value { flex-shrink: 0 !important; }#fv-chart-1789660635467-0b8tnk56l .fv-bar-value-outside { padding-left: 8px !important; font-size: 14px !important; font-weight: bold !important; color: #374151 !important; white-space: nowrap !important; }#fv-chart-1789660635467-0b8tnk56l .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; }#fv-chart-1789660635467-0b8tnk56l .fv-multi-bar-container { flex-direction: column !important; padding: 4px !important; align-items: stretch !important; gap: 4px !important; height: auto !important; }#fv-chart-1789660635467-0b8tnk56l .fv-multi-bar-item { display: flex !important; align-items: center !important; height: 25px !important; width: 100% !important; }#fv-chart-1789660635467-0b8tnk56l .fv-stacked-bar { display: flex !important; overflow: hidden !important; }#fv-chart-1789660635467-0b8tnk56l .fv-stacked-segment { height: 100% !important; display: flex !important; align-items: center !important; justify-content: flex-end !important; padding-right: 8px !important; border-right: 1px solid rgba(255,255,255,0.3) !important; }#fv-chart-1789660635467-0b8tnk56l .fv-stacked-segment:last-child { border-right: none !important; }#fv-chart-1789660635467-0b8tnk56l .fv-segment-value { font-size: 14px !important; font-weight: bold !important; }#fv-chart-1789660635467-0b8tnk56l .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; }#fv-chart-1789660635467-0b8tnk56l .fv-grouped-product-title-wrapper { padding-left: 150px !important; }#fv-chart-1789660635467-0b8tnk56l .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.5rem !important; font-weight: 700 !important; font-size: 14px !important; color: #374151 !important; text-transform: none !important; }#fv-chart-1789660635467-0b8tnk56l .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; }#fv-chart-1789660635467-0b8tnk56l .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; }#fv-chart-1789660635467-0b8tnk56l .fv-bar-cluster .fv-bar-container { height: 20px !important; }#fv-chart-1789660635467-0b8tnk56l .riv-grid line {stroke: #D1D5DB !important;stroke-dasharray: 3 3 !important;}#fv-chart-1789660635467-0b8tnk56l .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; }#fv-chart-1789660635467-0b8tnk56l .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; }#fv-chart-1789660635467-0b8tnk56l .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; }#fv-chart-1789660635467-0b8tnk56l .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; }#fv-chart-1789660635467-0b8tnk56l .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; }#fv-chart-1789660635467-0b8tnk56l .fv-x-axis-ticks { display: flex !important; justify-content: space-between !important; padding-top: 4px !important; font-size: 13px !important; color: #374151 !important; }#fv-chart-1789660635467-0b8tnk56l .fv-x-axis-ticks span { position: relative !important; }#fv-chart-1789660635467-0b8tnk56l .fv-x-axis-ticks span::before { content: '' !important; position: absolute !important; top: -6px !important; left: 50% !important; transform: translateX(-50%) !important; width: 2px !important; height: 4px !important; background-color: #D1D5DB !important; border-radius: 1px !important; }#fv-chart-1789660635467-0b8tnk56l .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #374151 !important; margin-top: 8px !important; display: block !important; }#fv-chart-1789660635467-0b8tnk56l .fv-x-axis-title { text-align: center !important; font-size: 15px !important; color: #374151 !important; margin-top: 8px !important; margin-bottom: 16px !important; line-height: 1.5 !important; padding: 0 1rem !important; display: block !important; font-weight: bold !important; }#fv-chart-1789660635467-0b8tnk56l .fv-y-axis-title {font-size: 15px !important;color: #374151 !important;line-height: 1.5 !important;text-align: left !important;padding-left: 5.83% !important;margin-bottom: 4px !important;display: block !important;font-weight: bold !important;}#fv-chart-1789660635467-0b8tnk56l.mobile-view .fv-pie-container,#fv-chart-1789660635467-0b8tnk56l.labels-on-top .fv-pie-container {flex-direction: column !important; gap: 1rem !important;}#fv-chart-1789660635467-0b8tnk56l.mobile-view .fv-grouped-product-title-wrapper,#fv-chart-1789660635467-0b8tnk56l.labels-on-top .fv-grouped-product-title-wrapper {padding-left: 0 !important;}#fv-chart-1789660635467-0b8tnk56l.mobile-view .fv-bar-row,#fv-chart-1789660635467-0b8tnk56l.mobile-view .fv-stacked-product,#fv-chart-1789660635467-0b8tnk56l.mobile-view .fv-grouped-bar-product,#fv-chart-1789660635467-0b8tnk56l.labels-on-top .fv-bar-row,#fv-chart-1789660635467-0b8tnk56l.labels-on-top .fv-stacked-product,#fv-chart-1789660635467-0b8tnk56l.labels-on-top .fv-grouped-bar-product {flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important;}#fv-chart-1789660635467-0b8tnk56l.mobile-view .fv-bar-label:not(.fv-grouped-product-title),#fv-chart-1789660635467-0b8tnk56l.labels-on-top .fv-bar-label:not(.fv-grouped-product-title) {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1789660635467-0b8tnk56l.mobile-view .fv-bar-label,#fv-chart-1789660635467-0b8tnk56l.mobile-view .fv-grouped-product-title,#fv-chart-1789660635467-0b8tnk56l.labels-on-top .fv-bar-label,#fv-chart-1789660635467-0b8tnk56l.labels-on-top .fv-grouped-product-title {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1789660635467-0b8tnk56l.mobile-view .fv-bar-container,#fv-chart-1789660635467-0b8tnk56l.mobile-view .fv-bar-cluster,#fv-chart-1789660635467-0b8tnk56l.labels-on-top .fv-bar-container,#fv-chart-1789660635467-0b8tnk56l.labels-on-top .fv-bar-cluster {width: 100% !important;}#fv-chart-1789660635467-0b8tnk56l.mobile-view .fv-bar-row .fv-bar-commentary-inline,#fv-chart-1789660635467-0b8tnk56l.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline,#fv-chart-1789660635467-0b8tnk56l.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus,#fv-chart-1789660635467-0b8tnk56l.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus-within,#fv-chart-1789660635467-0b8tnk56l.labels-on-top .fv-bar-row .fv-bar-commentary-inline,#fv-chart-1789660635467-0b8tnk56l.labels-on-top .fv-bar-row:hover .fv-bar-commentary-inline,#fv-chart-1789660635467-0b8tnk56l.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus,#fv-chart-1789660635467-0b8tnk56l.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus-within {position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important;}#fv-chart-1789660635467-0b8tnk56l.mobile-view .fv-x-axis-wrapper,#fv-chart-1789660635467-0b8tnk56l.labels-on-top .fv-x-axis-wrapper {margin-left: 0 !important;}#fv-chart-1789660635467-0b8tnk56l.mobile-view .fv-x-axis-label-space,#fv-chart-1789660635467-0b8tnk56l.labels-on-top .fv-x-axis-label-space {display: none !important;}#fv-chart-1789660635467-0b8tnk56l.mobile-view .fv-x-axis-chart-space,#fv-chart-1789660635467-0b8tnk56l.labels-on-top .fv-x-axis-chart-space {padding-right: 0 !important;}#fv-chart-1789660635467-0b8tnk56l.mobile-view .fv-benchmark-title,#fv-chart-1789660635467-0b8tnk56l.labels-on-top .fv-benchmark-title {font-size: 16px !important;}#fv-chart-1789660635467-0b8tnk56l.mobile-view .fv-dropdown-title,#fv-chart-1789660635467-0b8tnk56l.labels-on-top .fv-dropdown-title {font-size: 16px !important;}#fv-chart-1789660635467-0b8tnk56l.mobile-view .fv-carousel-nav-btn,#fv-chart-1789660635467-0b8tnk56l.labels-on-top .fv-carousel-nav-btn {padding: 8px 12px !important; font-size: 14px !important;}#fv-chart-1789660635467-0b8tnk56l.mobile-view .fv-chart-title,#fv-chart-1789660635467-0b8tnk56l.labels-on-top .fv-chart-title {padding: 0 8px !important;}#fv-chart-1789660635467-0b8tnk56l.mobile-view .fv-chart-subhead,#fv-chart-1789660635467-0b8tnk56l.labels-on-top .fv-chart-subhead {padding: 0 8px !important;}#fv-chart-1789660635467-0b8tnk56l.mobile-view .fv-versus-header,#fv-chart-1789660635467-0b8tnk56l.labels-on-top .fv-versus-header {flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important;}#fv-chart-1789660635467-0b8tnk56l.mobile-view .fv-versus-select-wrapper,#fv-chart-1789660635467-0b8tnk56l.labels-on-top .fv-versus-select-wrapper {flex: 1 !important; min-width: 0 !important; width: 100% !important;}#fv-chart-1789660635467-0b8tnk56l.mobile-view .fv-versus-select-wrapper.fv-left,#fv-chart-1789660635467-0b8tnk56l.labels-on-top .fv-versus-select-wrapper.fv-left {text-align: center !important; padding-right: 0 !important;}#fv-chart-1789660635467-0b8tnk56l.mobile-view .fv-versus-select-wrapper.fv-right,#fv-chart-1789660635467-0b8tnk56l.labels-on-top .fv-versus-select-wrapper.fv-right {text-align: center !important; padding-left: 0 !important;}#fv-chart-1789660635467-0b8tnk56l.mobile-view .fv-versus-select.fv-select-left,#fv-chart-1789660635467-0b8tnk56l.labels-on-top .fv-versus-select.fv-select-left {text-align: center !important;}#fv-chart-1789660635467-0b8tnk56l.mobile-view .fv-versus-select.fv-select-right,#fv-chart-1789660635467-0b8tnk56l.labels-on-top .fv-versus-select.fv-select-right {text-align: center !important;}#fv-chart-1789660635467-0b8tnk56l.mobile-view .fv-versus-vs,#fv-chart-1789660635467-0b8tnk56l.labels-on-top .fv-versus-vs {text-align: center !important; padding: 0.25rem 0 !important;}#fv-chart-1789660635467-0b8tnk56l.mobile-view .fv-versus-select-container,#fv-chart-1789660635467-0b8tnk56l.labels-on-top .fv-versus-select-container {max-width: 100% !important; width: 100% !important;}#fv-chart-1789660635467-0b8tnk56l.mobile-view .fv-versus-select,#fv-chart-1789660635467-0b8tnk56l.labels-on-top .fv-versus-select {font-size: 14px !important; width: 100% !important;}#fv-chart-1789660635467-0b8tnk56l.mobile-view .fv-stl-shop-all-btn,#fv-chart-1789660635467-0b8tnk56l.labels-on-top .fv-stl-shop-all-btn {bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important;}#fv-chart-1789660635467-0b8tnk56l.mobile-view .fv-stl-shop-all-logo,#fv-chart-1789660635467-0b8tnk56l.mobile-view .fv-stl-shop-all-icon,#fv-chart-1789660635467-0b8tnk56l.labels-on-top .fv-stl-shop-all-logo,#fv-chart-1789660635467-0b8tnk56l.labels-on-top .fv-stl-shop-all-icon {width: 2rem !important; height: 2rem !important;}#fv-chart-1789660635467-0b8tnk56l.mobile-view .fv-stl-shop-all-icon svg,#fv-chart-1789660635467-0b8tnk56l.labels-on-top .fv-stl-shop-all-icon svg {width: 14px !important; height: 14px !important;}#fv-chart-1789660635467-0b8tnk56l.mobile-view .fv-bar-commentary-inline,#fv-chart-1789660635467-0b8tnk56l.labels-on-top .fv-bar-commentary-inline {display: block !important; margin-left: 0 !important; width: 100% !important;}#fv-chart-1789660635467-0b8tnk56l.mobile-view .fv-y-axis-title { padding-left: 5% !important;  }#fv-chart-1789660635467-0b8tnk56l.mobile-view.fv-contains-line-chart .fv-footer-content {margin-left: -1rem !important;margin-right: -1rem !important;}@media (max-width: 599px) {#fv-chart-1789660635467-0b8tnk56l .fv-pie-container {flex-direction: column !important; gap: 1rem !important;}#fv-chart-1789660635467-0b8tnk56l .fv-grouped-product-title-wrapper {padding-left: 0 !important;}#fv-chart-1789660635467-0b8tnk56l .fv-bar-row,#fv-chart-1789660635467-0b8tnk56l .fv-stacked-product,#fv-chart-1789660635467-0b8tnk56l .fv-grouped-bar-product {flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important;}#fv-chart-1789660635467-0b8tnk56l .fv-bar-label:not(.fv-grouped-product-title) {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1789660635467-0b8tnk56l .fv-bar-label,#fv-chart-1789660635467-0b8tnk56l .fv-grouped-product-title {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1789660635467-0b8tnk56l .fv-bar-container,#fv-chart-1789660635467-0b8tnk56l .fv-bar-cluster {width: 100% !important;}#fv-chart-1789660635467-0b8tnk56l .fv-bar-row .fv-bar-commentary-inline,#fv-chart-1789660635467-0b8tnk56l .fv-bar-row:hover .fv-bar-commentary-inline,#fv-chart-1789660635467-0b8tnk56l .fv-bar-row .fv-bar-commentary-inline:focus,#fv-chart-1789660635467-0b8tnk56l .fv-bar-row .fv-bar-commentary-inline:focus-within {position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important;}#fv-chart-1789660635467-0b8tnk56l .fv-x-axis-wrapper {margin-left: 0 !important;}#fv-chart-1789660635467-0b8tnk56l .fv-x-axis-label-space {display: none !important;}#fv-chart-1789660635467-0b8tnk56l .fv-x-axis-chart-space {padding-right: 0 !important;}#fv-chart-1789660635467-0b8tnk56l .fv-benchmark-title {font-size: 16px !important;}#fv-chart-1789660635467-0b8tnk56l .fv-dropdown-title {font-size: 16px !important;}#fv-chart-1789660635467-0b8tnk56l .fv-carousel-nav-btn {padding: 8px 12px !important; font-size: 14px !important;}#fv-chart-1789660635467-0b8tnk56l .fv-chart-title {padding: 0 8px !important;}#fv-chart-1789660635467-0b8tnk56l .fv-chart-subhead {padding: 0 8px !important;}#fv-chart-1789660635467-0b8tnk56l .fv-versus-header {flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important;}#fv-chart-1789660635467-0b8tnk56l .fv-versus-select-wrapper {flex: 1 !important; min-width: 0 !important; width: 100% !important;}#fv-chart-1789660635467-0b8tnk56l .fv-versus-select-wrapper.fv-left {text-align: center !important; padding-right: 0 !important;}#fv-chart-1789660635467-0b8tnk56l .fv-versus-select-wrapper.fv-right {text-align: center !important; padding-left: 0 !important;}#fv-chart-1789660635467-0b8tnk56l .fv-versus-select.fv-select-left {text-align: center !important;}#fv-chart-1789660635467-0b8tnk56l .fv-versus-select.fv-select-right {text-align: center !important;}#fv-chart-1789660635467-0b8tnk56l .fv-versus-vs {text-align: center !important; padding: 0.25rem 0 !important;}#fv-chart-1789660635467-0b8tnk56l .fv-versus-select-container {max-width: 100% !important; width: 100% !important;}#fv-chart-1789660635467-0b8tnk56l .fv-versus-select {font-size: 14px !important; width: 100% !important;}#fv-chart-1789660635467-0b8tnk56l .fv-stl-shop-all-btn {bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important;}#fv-chart-1789660635467-0b8tnk56l .fv-stl-shop-all-logo,#fv-chart-1789660635467-0b8tnk56l .fv-stl-shop-all-icon {width: 2rem !important; height: 2rem !important;}#fv-chart-1789660635467-0b8tnk56l .fv-stl-shop-all-icon svg {width: 14px !important; height: 14px !important;}#fv-chart-1789660635467-0b8tnk56l .fv-bar-commentary-inline {display: block !important; margin-left: 0 !important; width: 100% !important;}#fv-chart-1789660635467-0b8tnk56l .fv-y-axis-title { padding-left: 5% !important;  }#fv-chart-1789660635467-0b8tnk56l.fv-contains-line-chart .fv-footer-content {margin-left: -1rem !important;margin-right: -1rem !important;}}</style><script type="application/ld+json">{"@context": "https://schema.org","@type": "Dataset","name": "Hard floor cleaning test","description": "Vacuuming oats from hard floor using Eufy Omni E35","creator": {"@type": "Organization","name": "TechRadar","logo": "https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png"},"isAccessibleForFree": true,"dateCreated": "2026-09-17T15:57:15.468Z","citation": "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized","keywords": ["Image Comparison","benchmark","comparison","performance","review","TechRadar"],"measurementTechnique": "Performance Benchmarking","variableMeasured": []}</script><div id="fv-chart-1789660635467-0b8tnk56l" class="fv-chart-wrapper   " data-bar-labels-on-top="false" data-iframe-height="true" data-vizualizer-embed="true"><div class="fv-inner-wrapper  fv-is-image-compare  "><h3 class="fv-chart-title">Hard floor cleaning test</h3><p class="fv-chart-subhead">Vacuuming oats from hard floor using Eufy Omni E35</p><div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1789660635467-0b8tnk56l-image-compare-1" data-chart-type="Image Comparison" data-title="Image Comparison" data-subhead="Vacuuming oats from hard floor using Eufy Omni E35" data-caption="" style=""><div class="fv-benchmark-group"><div class="fv-image-compare-container"><div class="fv-image-compare-wrapper" data-image-compare="true"><div class="fv-image-compare-inner"><img src="https://cdn.mos.cms.futurecdn.net/C4BRHaU4Hv9XqEbDu6gCie.jpg" data-highres-src="https://cdn.mos.cms.futurecdn.net/C4BRHaU4Hv9XqEbDu6gCie.jpg" alt="Oats cleaned from hard floor" class="fv-image-compare-bg" loading="lazy" referrerpolicy="no-referrer" draggable="false" /><img src="https://cdn.mos.cms.futurecdn.net/ELLq7VJRgyR9k9uxfx49ke.jpg" data-highres-src="https://cdn.mos.cms.futurecdn.net/ELLq7VJRgyR9k9uxfx49ke.jpg" alt="Oats on hard floor" class="fv-image-compare-fg" loading="lazy" referrerpolicy="no-referrer" draggable="false" /><div class="fv-image-compare-slider"><div class="fv-image-compare-slider-line"></div><div class="fv-image-compare-handle "><img src="https://proof.vanilla.tools/media/images/brandLogos/techradar.png" alt="Brand Logo" style="width: 100%; height: 100%; object-fit: cover;" /></div></div></div><div class="fv-image-compare-label fv-image-compare-label-left">Before</div><div class="fv-image-compare-label fv-image-compare-label-right">After</div><button class="fv-image-compare-expand-btn" aria-label="Expand Image"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 8V4h4"/><path d="M20 8V4h-4"/><path d="M4 16v4h4"/><path d="M20 16v4h-4"/><circle cx="11.5" cy="11.5" r="3.5"/><path d="m14 14 3 3"/></svg></button><button class="fv-image-compare-close-btn" aria-label="Close Fullscreen"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg></button></div></div></div></div></div><div class="fv-bottom-bar"><div class="fv-footer-content" style="display: none;"><div class="rv-chart-caption" style="display: block;"><span class="fv-original-caption" style="display: block;"></span><span class="fv-ia-dynamic-caption" style="display: none;"></span></div></div><div class="fv-logo-explore-bar"><img class="fv-logo" src="https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png" alt="TechRadar Logo"></div></div></div></div><script>window.iFrameResizer = {heightCalculationMethod: 'taggedElement'};</script><script src="https://cdnjs.cloudflare.com/ajax/libs/iframe-resizer/4.2.11/iframeResizer.contentWindow.min.js" async></script><script>(function() {window.fvAnimateCharts = function(chartWrapper) {if (!chartWrapper) return;function animateBars(chartElement) {if (!chartElement) return;var bars = chartElement.querySelectorAll('.fv-bar, .fv-stacked-segment');bars.forEach(function(bar, index) {bar.style.setProperty('width', '0%', 'important');bar.style.setProperty('transition', 'none', 'important');var targetWidth = bar.dataset.targetWidth;if (targetWidth === undefined) return;void bar.offsetWidth;var targetMargin = bar.dataset.targetMargin;var baseMargin = bar.dataset.baseMargin;if (baseMargin !== undefined) {bar.style.setProperty('margin-left', baseMargin + '%', 'important');}setTimeout(function() {var marginTransition = baseMargin !== undefined ? ', margin-left 0.8s ease-out' : '';bar.style.setProperty('transition', 'opacity 0.2s ease, width 0.8s ease-out' + marginTransition, 'important');bar.style.setProperty('width', targetWidth + '%', 'important');if (targetMargin !== undefined && baseMargin !== undefined) {bar.style.setProperty('margin-left', targetMargin + '%', 'important');}}, index * 50 + 50);});}function animateLineChart(chartElement) {if (!chartElement) return;var lineSvg = chartElement.querySelector('svg');if (!lineSvg) return;var paths = lineSvg.querySelectorAll('.riv-line-path');paths.forEach(function(p, i) {if (typeof p.getTotalLength === 'function') {var len = p.getTotalLength();p.style.transition = 'none';p.style.strokeDasharray = len;p.style.strokeDashoffset = len;p.getBoundingClientRect();setTimeout(function() {p.style.transition = 'stroke-dashoffset 1s ease-out ' + (i * 0.1) + 's, stroke-width 0.2s, opacity 0.2s';p.style.strokeDashoffset = '0';}, 100);}});var dots = lineSvg.querySelectorAll('.riv-dot');dots.forEach(function(dot, i) {dot.style.opacity = '0';setTimeout(function() {dot.style.transition = 'opacity 0.3s ease';dot.style.opacity = '1';}, 500 + i * 10);});}var charts = chartWrapper.querySelectorAll('.fv-chart-item');charts.forEach(function(chart) {if (window.getComputedStyle(chart).display === 'none') return;var chartType = chart.dataset.chartType;if (chartType === 'Line') {animateLineChart(chart);} else if (chartType !== 'Pie') {animateBars(chart);}});};function initialize(uniqueId, isSlideshow) {var root = document.getElementById(uniqueId);if (!root && !isSlideshow) return;function setupWrapper(chartWrapper) {if (!chartWrapper) return;function checkMobileView() {var width = chartWrapper.getBoundingClientRect().width;var isMobileDevice = window.screen && Math.min(window.screen.width, window.screen.height) <= 599;var isMobile;if (width === 0) {isMobile = isMobileDevice || window.matchMedia('(max-width: 599px)').matches;} else {isMobile = isMobileDevice || width < 600;}if (isMobile) {chartWrapper.classList.add('mobile-view');} else {chartWrapper.classList.remove('mobile-view');}}checkMobileView();if (typeof ResizeObserver !== 'undefined') {var ro = new ResizeObserver(function() {checkMobileView();});ro.observe(chartWrapper);}window.addEventListener('resize', checkMobileView);var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';if (labelsOnTop) {var charts = chartWrapper.querySelectorAll('.fv-chart-item');var hasVisibleBarChart = false;charts.forEach(function(c) {if (window.getComputedStyle(c).display !== 'none') {var cType = c.dataset.chartType;if (cType === 'Bar' || cType === 'Stacked Bar' || cType === 'Versus') {hasVisibleBarChart = true;}}});if (hasVisibleBarChart) {chartWrapper.classList.add('labels-on-top');} else {chartWrapper.classList.remove('labels-on-top');}} else {chartWrapper.classList.remove('labels-on-top');}chartWrapper.querySelectorAll('.riv-line-legend').forEach(function(legend) {var chartId = legend.dataset.chart;var chart = chartWrapper.querySelector('[id="' + chartId + '"]');if (!chart) return;var lines = chart.querySelectorAll('.riv-line-path');var dots = chart.querySelectorAll('.riv-dot');var legendItems = legend.querySelectorAll('.riv-legend-item');legendItems.forEach(function(item) {var productName = item.dataset.product;var safeProductName = productName.replace(/"/g, '\"');var line = chart.querySelector('.riv-line-path[data-product="' + safeProductName + '"]');var productDots = chart.querySelectorAll('.riv-dot[data-product="' + safeProductName + '"]');if (line && !line.dataset.origStroke) {line.dataset.origStroke = line.getAttribute('stroke-width') || '2';}var highlight = function() {if (legend.querySelector('.isolated')) return;lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '0.2'; });legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });if (line) {line.style.opacity = '1';line.setAttribute('stroke-width', '4');}productDots.forEach(function(d) { d.style.opacity = '1'; });item.style.opacity = '1';};var clearHighlight = function() {if (legend.querySelector('.isolated')) return;lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '1'; });legendItems.forEach(function(i) { i.style.opacity = '1'; });};var toggleIsolate = function() {var isIsolated = item.classList.contains('isolated');legendItems.forEach(function(i) { i.classList.remove('isolated'); });if (isIsolated) {lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '1'; });legendItems.forEach(function(i) { i.style.opacity = '1'; });} else {item.classList.add('isolated');lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '0.2'; });legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });if (line) {line.style.opacity = '1';line.setAttribute('stroke-width', '4');}productDots.forEach(function(d) { d.style.opacity = '1'; });item.style.opacity = '1';}};item.addEventListener('mouseenter', highlight);item.addEventListener('focus', highlight);item.addEventListener('mouseleave', clearHighlight);item.addEventListener('blur', clearHighlight);item.addEventListener('click', toggleIsolate);if (line) {line.style.cursor = 'pointer';line.addEventListener('mouseenter', highlight);line.addEventListener('mouseleave', clearHighlight);line.addEventListener('click', toggleIsolate);}});});var versusCharts = chartWrapper.querySelectorAll('.fv-versus-chart');versusCharts.forEach(function(vc) {var dataJson = vc.getAttribute('data-versus-data');var leftColor = vc.getAttribute('data-left-color') || '#E53935';var rightColor = vc.getAttribute('data-right-color') || '#FFB300';if (!dataJson) return;var versusData = JSON.parse(dataJson);var leftSelect = vc.querySelector('.fv-select-left');var rightSelect = vc.querySelector('.fv-select-right');var rows = vc.querySelectorAll('.fv-versus-row');function updateVersusChart() {var leftProduct = leftSelect.value;var rightProduct = rightSelect.value;leftSelect.style.color = leftColor;leftSelect.style.borderColor = leftColor;rightSelect.style.color = rightColor;rightSelect.style.borderColor = rightColor;rows.forEach(function(row) {var index = parseInt(row.getAttribute('data-index'));var data = versusData[index];if (!data) return;var leftVal = data.productData[leftProduct] ? data.productData[leftProduct].value : undefined;var rightVal = data.productData[rightProduct] ? data.productData[rightProduct].value : undefined;var leftIsNum = typeof leftVal === 'number';var rightIsNum = typeof rightVal === 'number';var leftNum = leftIsNum ? leftVal : 0;var rightNum = rightIsNum ? rightVal : 0;var maxVal = Math.max(leftNum, rightNum, 0.0001);var leftWidth = leftIsNum ? (leftNum / maxVal) * 95 : 0;var rightWidth = rightIsNum ? (rightNum / maxVal) * 85 : 0;var winner = null;var pctDiffStr = null;if (leftIsNum && rightIsNum) {if (leftNum > rightNum) {winner = 'left';if (rightNum > 0) {var diff = Math.round(((leftNum - rightNum) / rightNum) * 100);pctDiffStr = '+' + diff.toLocaleString() + '%';}} else if (rightNum > leftNum) {winner = 'right';if (leftNum > 0) {var diff = Math.round(((rightNum - leftNum) / leftNum) * 100);pctDiffStr = '+' + diff.toLocaleString() + '%';}}}var leftDisplay = data.productData[leftProduct] && data.productData[leftProduct].displayValue !== undefined ? data.productData[leftProduct].displayValue : (leftIsNum ? leftNum.toLocaleString() : (leftVal !== undefined ? leftVal : '-'));var rightDisplay = data.productData[rightProduct] && data.productData[rightProduct].displayValue !== undefined ? data.productData[rightProduct].displayValue : (rightIsNum ? rightNum.toLocaleString() : (rightVal !== undefined ? rightVal : '-'));var unit = (data.productData[leftProduct] && data.productData[leftProduct].unit) ||(data.productData[rightProduct] && data.productData[rightProduct].unit) || '';var leftTextStr = leftDisplay;var rightTextStr = rightDisplay;var leftBar = row.querySelector('.fv-versus-bar-left');var rightBar = row.querySelector('.fv-versus-bar-right');var leftText = row.querySelector('.fv-inside-left');var rightText = row.querySelector('.fv-inside-right');var labelText = row.querySelector('.fv-versus-label span');var leftWrapper = row.querySelector('.fv-versus-bar-left-wrapper');var rightWrapper = row.querySelector('.fv-versus-bar-right-wrapper');var existingPctDiffs = row.querySelectorAll('.fv-versus-pct-diff');existingPctDiffs.forEach(function(el) { el.remove(); });if (winner === 'left' && pctDiffStr) {var pctSpan = document.createElement('span');pctSpan.className = 'fv-versus-pct-diff';pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';pctSpan.textContent = pctDiffStr;if (leftBar) leftBar.insertBefore(pctSpan, leftBar.firstChild);} else if (winner === 'right' && pctDiffStr) {var pctSpan = document.createElement('span');pctSpan.className = 'fv-versus-pct-diff';pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';pctSpan.textContent = pctDiffStr;if (rightBar) rightBar.appendChild(pctSpan);}if (leftBar) {leftBar.style.backgroundColor = leftColor;leftBar.dataset.targetWidth = leftWidth;leftBar.style.setProperty('--target-width', leftWidth + '%');leftBar.style.width = leftWidth + '%';}if (rightBar) {rightBar.style.backgroundColor = rightColor;rightBar.dataset.targetWidth = rightWidth;rightBar.style.setProperty('--target-width', rightWidth + '%');rightBar.style.width = rightWidth + '%';}if (leftText) {leftText.innerHTML = leftTextStr;}if (rightText) {rightText.innerHTML = rightTextStr;}if (labelText) {labelText.textContent = data.attribute + (unit ? ' (' + unit + ')' : '');}});}if (leftSelect) leftSelect.addEventListener('change', updateVersusChart);if (rightSelect) rightSelect.addEventListener('change', updateVersusChart);});var barRows = chartWrapper.querySelectorAll('.fv-bar-row');var globalCaptionEl = chartWrapper.querySelector('.rv-chart-caption');var fallbackCaptionHtml = globalCaptionEl ? globalCaptionEl.innerHTML : '';barRows.forEach(function(row) {var commentaryEl = row.querySelector('[data-commentary-key]');if (commentaryEl) {var commentaryText = commentaryEl.textContent;if (commentaryText && commentaryText.trim().length > 0) {row.addEventListener('mouseenter', function() {if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {globalCaptionEl.innerHTML = commentaryText;globalCaptionEl.classList.add('fv-bar-active-caption');}});row.addEventListener('mouseleave', function() {if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {globalCaptionEl.innerHTML = fallbackCaptionHtml;globalCaptionEl.classList.remove('fv-bar-active-caption');}});}}});var charts = chartWrapper.querySelectorAll('.fv-chart-item');var dropdown = chartWrapper.querySelector('.fv-dropdown-title');var prevBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.prev');var nextBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.next');var carouselTitle = chartWrapper.querySelector('.fv-carousel-title-controls .fv-benchmark-title');var counter = chartWrapper.querySelector('.fv-carousel-counter');var subheadEl = chartWrapper.querySelector('.fv-chart-subhead');var captionEl = chartWrapper.querySelector('.rv-chart-caption');var footerContentEl = chartWrapper.querySelector('.fv-footer-content');var bottomBarEl = chartWrapper.querySelector('.fv-bottom-bar');var logoEl = chartWrapper.querySelector('.fv-logo');if (charts.length > 1 && (dropdown || prevBtn)) {var currentChartIndex = 0;var titles = [];if (dropdown) {titles = Array.from(dropdown.options).map(function(o) { return o.text; });} else {charts.forEach(function(c) {titles.push(c.getAttribute('data-title') || '');});}function showInternalChart(index) {if (index < 0) index = charts.length - 1;if (index >= charts.length) index = 0;currentChartIndex = index;charts.forEach(function(c, i) {c.style.display = i === index ? 'block' : 'none';if (i === index) {var cType = c.dataset.chartType;if (cType === 'Line') {} else if (cType !== 'Pie') {window.fvAnimateCharts(chartWrapper);}var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';if (labelsOnTop && (cType === 'Bar' || cType === 'Stacked Bar' || cType === 'Versus')) {chartWrapper.classList.add('labels-on-top');} else {chartWrapper.classList.remove('labels-on-top');}}});if (dropdown) dropdown.value = index;if (carouselTitle && titles[index]) carouselTitle.textContent = titles[index];if (counter) counter.textContent = (index + 1) + ' of ' + charts.length;var activeChart = charts[index];if (activeChart) {var newSubhead = activeChart.getAttribute('data-subhead');var newCaption = activeChart.getAttribute('data-caption');var currentChartType = activeChart.getAttribute('data-chart-type');var hideGlobalCaption = currentChartType === 'Countdown' || currentChartType === 'Image Comparison' || currentChartType === 'Shop the Collection';if (subheadEl) subheadEl.textContent = newSubhead || '';if (captionEl) {captionEl.textContent = newCaption || '';fallbackCaptionHtml = newCaption || '';}if (footerContentEl) {if (newCaption && newCaption.trim().length > 0 && !hideGlobalCaption) {footerContentEl.style.display = 'block';if (bottomBarEl) bottomBarEl.style.display = 'flex';} else {footerContentEl.style.display = 'none';if (bottomBarEl && !logoEl) {bottomBarEl.style.display = 'none';}}}}}if (dropdown) dropdown.addEventListener('change', function(e) { showInternalChart(parseInt(e.target.value)); });if (prevBtn) prevBtn.addEventListener('click', function() { showInternalChart(currentChartIndex - 1); });if (nextBtn) nextBtn.addEventListener('click', function() { showInternalChart(currentChartIndex + 1); });}var imageCompareWrappers = chartWrapper.querySelectorAll('.fv-image-compare-wrapper');imageCompareWrappers.forEach(function(wrapper) {var inner = wrapper.querySelector('.fv-image-compare-inner') || wrapper;var slider = wrapper.querySelector('.fv-image-compare-slider');var fgImage = wrapper.querySelector('.fv-image-compare-fg');var bgImage = wrapper.querySelector('.fv-image-compare-bg');var labelLeft = wrapper.querySelector('.fv-image-compare-label-left');var labelRight = wrapper.querySelector('.fv-image-compare-label-right');var isDragging = false;var scale = 1;var panX = 0;var panY = 0;var isPanning = false;var hasPanned = false;var lastClientX = 0;var lastClientY = 0;var initialDistance = null;var lastCenterX = null;var lastCenterY = null;function updateTransform() {if (wrapper.classList.contains('fv-image-compare-fullscreen')) {inner.style.setProperty('transform', 'translate(' + panX + 'px, ' + panY + 'px) scale(' + scale + ')', 'important');} else {inner.style.removeProperty('transform');scale = 1;panX = 0;panY = 0;}}function constrainPan() {var rect = wrapper.getBoundingClientRect();var maxPanX = Math.max(0, (rect.width * scale - rect.width) / 2);var maxPanY = Math.max(0, (rect.height * scale - rect.height) / 2);panX = Math.max(-maxPanX, Math.min(panX, maxPanX));panY = Math.max(-maxPanY, Math.min(panY, maxPanY));}wrapper.addEventListener('wheel', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;e.preventDefault();var zoomSensitivity = 0.005;var zoomFactor = Math.exp(-e.deltaY * zoomSensitivity);var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));if (newScale === scale) return;var rect = wrapper.getBoundingClientRect();var mouseX = e.clientX - rect.left - rect.width / 2;var mouseY = e.clientY - rect.top - rect.height / 2;var ratio = newScale / scale;panX = mouseX - (mouseX - panX) * ratio;panY = mouseY - (mouseY - panY) * ratio;scale = newScale;constrainPan();updateTransform();}, { passive: false });wrapper.addEventListener('mousedown', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen') || scale <= 1) return;if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;isPanning = true;hasPanned = false;lastClientX = e.clientX;lastClientY = e.clientY;});window.addEventListener('mousemove', function(e) {if (!isPanning) return;var dx = e.clientX - lastClientX;var dy = e.clientY - lastClientY;if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {hasPanned = true;}lastClientX = e.clientX;lastClientY = e.clientY;panX += dx;panY += dy;constrainPan();updateTransform();});window.addEventListener('mouseup', function() {isPanning = false;});wrapper.addEventListener('touchstart', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;if (e.touches.length === 2) {e.preventDefault();var dx = e.touches[0].clientX - e.touches[1].clientX;var dy = e.touches[0].clientY - e.touches[1].clientY;initialDistance = Math.sqrt(dx * dx + dy * dy);var rect = wrapper.getBoundingClientRect();lastCenterX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;lastCenterY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;hasPanned = true;} else if (e.touches.length === 1 && scale > 1) {if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;isPanning = true;hasPanned = false;lastClientX = e.touches[0].clientX;lastClientY = e.touches[0].clientY;}}, { passive: false });wrapper.addEventListener('touchmove', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;if (e.touches.length === 2 && initialDistance !== null) {e.preventDefault();var dx = e.touches[0].clientX - e.touches[1].clientX;var dy = e.touches[0].clientY - e.touches[1].clientY;var distance = Math.sqrt(dx * dx + dy * dy);if (initialDistance > 0) {var zoomFactor = distance / initialDistance;var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));var rect = wrapper.getBoundingClientRect();var centerX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;var centerY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;var ratio = newScale / scale;panX = centerX - (centerX - panX) * ratio;panY = centerY - (centerY - panY) * ratio;if (lastCenterX !== null && lastCenterY !== null) {panX += (centerX - lastCenterX);panY += (centerY - lastCenterY);}scale = newScale;lastCenterX = centerX;lastCenterY = centerY;constrainPan();updateTransform();}initialDistance = distance;} else if (e.touches.length === 1 && isPanning) {e.preventDefault();var dx = e.touches[0].clientX - lastClientX;var dy = e.touches[0].clientY - lastClientY;if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {hasPanned = true;}lastClientX = e.touches[0].clientX;lastClientY = e.touches[0].clientY;panX += dx;panY += dy;constrainPan();updateTransform();}}, { passive: false });wrapper.addEventListener('touchend', function(e) {if (e.touches.length < 2) {initialDistance = null;}if (e.touches.length === 0) {isPanning = false;}});function handleMove(clientX) {var rect = inner.getBoundingClientRect();var x = Math.max(0, Math.min(clientX - rect.left, rect.width));var percent = Math.max(0, Math.min((x / rect.width) * 100, 100));if (slider) slider.style.setProperty('left', percent + '%', 'important');if (fgImage) fgImage.style.setProperty('clip-path', 'polygon(0 0, ' + percent + '% 0, ' + percent + '% 100%, 0 100%)', 'important');if (labelLeft) {if (percent < 10) {labelLeft.style.setProperty('opacity', '0', 'important');} else {labelLeft.style.setProperty('opacity', '1', 'important');}}if (labelRight) {if (percent > 90) {labelRight.style.setProperty('opacity', '0', 'important');} else {labelRight.style.setProperty('opacity', '1', 'important');}}}function onMouseMove(e) {if (!isDragging) return;handleMove(e.clientX);}function onTouchMove(e) {if (!isDragging) return;e.preventDefault();handleMove(e.touches[0].clientX);}function stopDragging() {isDragging = false;window.removeEventListener('mousemove', onMouseMove);window.removeEventListener('mouseup', stopDragging);window.removeEventListener('touchmove', onTouchMove);window.removeEventListener('touchend', stopDragging);}if (slider) {var startDrag = function(clientX) {isDragging = true;handleMove(clientX);window.addEventListener('mousemove', onMouseMove);window.addEventListener('mouseup', stopDragging);};var startTouchDrag = function(clientX) {isDragging = true;handleMove(clientX);window.addEventListener('touchmove', onTouchMove, { passive: false });window.addEventListener('touchend', stopDragging);};slider.addEventListener('mousedown', function(e) {e.preventDefault();startDrag(e.clientX);});slider.addEventListener('touchstart', function(e) {e.preventDefault();startTouchDrag(e.touches[0].clientX);}, { passive: false });}var expandBtn = wrapper.querySelector('.fv-image-compare-expand-btn');var closeBtn = wrapper.querySelector('.fv-image-compare-close-btn');if (expandBtn) {if (window !== window.parent) {expandBtn.style.display = 'none';} else {expandBtn.addEventListener('click', function(e) {e.stopPropagation();wrapper.classList.add('fv-image-compare-fullscreen');document.body.style.overflow = 'hidden';if (fgImage && fgImage.dataset.highresSrc) {fgImage.src = fgImage.dataset.highresSrc;fgImage.removeAttribute('srcset');fgImage.removeAttribute('sizes');}if (bgImage && bgImage.dataset.highresSrc) {bgImage.src = bgImage.dataset.highresSrc;bgImage.removeAttribute('srcset');bgImage.removeAttribute('sizes');}});}}if (closeBtn) {closeBtn.addEventListener('click', function(e) {e.stopPropagation();wrapper.classList.remove('fv-image-compare-fullscreen');document.body.style.overflow = '';updateTransform();});}document.addEventListener('keydown', function(e) {if (e.key === 'Escape' && wrapper.classList.contains('fv-image-compare-fullscreen')) {wrapper.classList.remove('fv-image-compare-fullscreen');document.body.style.overflow = '';updateTransform();}});});var hotspots = chartWrapper.querySelectorAll('.fv-stl-hotspot-btn');var allProductsModal = chartWrapper.querySelector('.fv-stl-all-products-modal');var shopAllBtn = chartWrapper.querySelector('.fv-stl-shop-all-btn');var allProductsList = chartWrapper.querySelector('.fv-stl-all-products-list');var stlContainer = chartWrapper.querySelector('.fv-stl-container');function closeAllModals() {if (allProductsModal) {allProductsModal.classList.remove('is-active');var items = allProductsModal.querySelectorAll('.fv-stl-all-products-item');items.forEach(function(item) {item.classList.remove('is-highlighted');});if (stlContainer) {setTimeout(function() {if (!allProductsModal.classList.contains('is-active')) {stlContainer.style.minHeight = '';if ('parentIFrame' in window) {window.parentIFrame.size();}}}, 300);}}hotspots.forEach(function(btn) { btn.setAttribute('aria-expanded', 'false'); });if ('parentIFrame' in window) {window.parentIFrame.size();}}hotspots.forEach(function(btn) {btn.addEventListener('click', function(e) {e.stopPropagation();var hotspotId = btn.getAttribute('data-hotspot-id');var isExpanded = btn.getAttribute('aria-expanded') === 'true';closeAllModals();if (!isExpanded && allProductsModal) {btn.setAttribute('aria-expanded', 'true');allProductsModal.classList.add('is-active');var container = btn.closest('.fv-stl-container');if (container && container.offsetHeight < 450) {container.style.minHeight = '450px';}var targetItem = allProductsModal.querySelector('.fv-stl-all-products-item[data-product-id="' + hotspotId + '"]');if (targetItem) {targetItem.classList.add('is-highlighted');setTimeout(function() {targetItem.scrollIntoView({ behavior: 'smooth', block: 'center' });}, 100);}if ('parentIFrame' in window) {window.parentIFrame.size();}}});});if (shopAllBtn && allProductsModal) {shopAllBtn.addEventListener('click', function(e) {e.stopPropagation();closeAllModals();allProductsModal.classList.add('is-active');var container = shopAllBtn.closest('.fv-stl-container');if (container && container.offsetHeight < 450) {container.style.minHeight = '450px';}if ('parentIFrame' in window) {window.parentIFrame.size();}});}if (allProductsModal) {var closeAllBtn = allProductsModal.querySelector('.fv-stl-all-products-close');if (closeAllBtn) {closeAllBtn.addEventListener('click', function(e) {e.stopPropagation();closeAllModals();});}}chartWrapper.addEventListener('click', function(e) {if (!e.target.closest('.fv-stl-all-products-content')) {closeAllModals();}});if (allProductsModal) {allProductsModal.addEventListener('click', function(e) {if (!e.target.closest('.fv-stl-all-products-content')) {closeAllModals();}});}var iaNodes = chartWrapper.querySelectorAll('.fv-ia-node-button');var iaWrapper = chartWrapper.querySelector('.fv-ia-wrapper');var originalCaption = chartWrapper.querySelector('.fv-original-caption') || captionEl;var dynamicCaption = chartWrapper.querySelector('.fv-ia-dynamic-caption');var exploreBtn = chartWrapper.querySelector('.fv-ia-explore-btn');var currentIaIndex = -1;function closeAllIANodes() {iaNodes.forEach(function(btn) { btn.classList.remove('is-active'); });if (originalCaption) originalCaption.style.display = 'block';if (dynamicCaption) dynamicCaption.style.display = 'none';}function resetExploreBtn() {currentIaIndex = -1;if (exploreBtn) {var exploreSpan = exploreBtn.querySelector('span');if (exploreSpan) exploreSpan.textContent = 'Explore';}}iaNodes.forEach(function(btn, index) {btn.addEventListener('click', function(e) {e.stopPropagation();var isActive = btn.classList.contains('is-active');closeAllIANodes();if (!isActive) {currentIaIndex = index;if (exploreBtn) {var exploreSpan = exploreBtn.querySelector('span');if (exploreSpan) exploreSpan.textContent = 'Next';}btn.classList.add('is-active');if (dynamicCaption) {var title = btn.getAttribute('data-title') || '';var desc = btn.getAttribute('data-desc') || '';dynamicCaption.innerHTML = '';var strongTag = document.createElement('strong');strongTag.textContent = title;dynamicCaption.appendChild(strongTag);if (desc) {dynamicCaption.appendChild(document.createTextNode(' - ' + desc));}if (originalCaption) originalCaption.style.display = 'none';dynamicCaption.style.display = 'block';if (footerContentEl) footerContentEl.style.display = 'block';}} else {resetExploreBtn();}});});if (exploreBtn) {exploreBtn.addEventListener('click', function(e) {e.stopPropagation();if (iaNodes.length === 0) return;var nextIndex = currentIaIndex + 1;if (nextIndex >= iaNodes.length) {closeAllIANodes();resetExploreBtn();} else {currentIaIndex = nextIndex;var targetBtn = iaNodes[currentIaIndex];if (targetBtn) {if(targetBtn.classList.contains('is-active')) {targetBtn.click();}targetBtn.click();}}});}if (iaWrapper) {iaWrapper.addEventListener('click', function(e) {if (!e.target.closest('.fv-ia-node-button') && !e.target.closest('.fv-ia-explore-btn')) {closeAllIANodes();resetExploreBtn();}});}window.fvAnimateCharts(chartWrapper);var countdownContainer = chartWrapper.querySelector('.fv-countdown-container');if (countdownContainer) {var targetDateAttr = countdownContainer.getAttribute('data-target-date');if (targetDateAttr) {var targetDate = new Date(targetDateAttr);var primaryColor = countdownContainer.getAttribute('data-primary-color') || '#f97316';var subheadColor = countdownContainer.getAttribute('data-subhead-color') || '#ffffff';var pad = function(n) { return (n < 10 ? '0' : '') + n; };var updateCountdown = function() {var difference = +targetDate - +new Date();var d = 0, h = 0, m = 0, s = 0;if (difference > 0) {d = Math.floor(difference / (1000 * 60 * 60 * 24));h = Math.floor((difference / (1000 * 60 * 60)) % 24);m = Math.floor((difference / 1000 / 60) % 60);s = Math.floor((difference / 1000) % 60);}var daysEl = countdownContainer.querySelector('[data-time="days"]');var hoursEl = countdownContainer.querySelector('[data-time="hours"]');var minsEl = countdownContainer.querySelector('[data-time="minutes"]');var secsEl = countdownContainer.querySelector('[data-time="seconds"]');if (daysEl) daysEl.textContent = d;if (hoursEl) hoursEl.textContent = pad(h);if (minsEl) minsEl.textContent = pad(m);if (secsEl) secsEl.textContent = pad(s);};updateCountdown();setInterval(updateCountdown, 1000);}}}if (false) {var slideshowContainer = document.getElementById(uniqueId + '-slideshow');if (slideshowContainer) {var slides = slideshowContainer.querySelectorAll('.fv-slide');slides.forEach(function(slide) {setupWrapper(slide.querySelector('.fv-chart-wrapper'));});}} else {setupWrapper(root);}}if (document.readyState === 'loading') {document.addEventListener('DOMContentLoaded', function() { initialize('fv-chart-1789660635467-0b8tnk56l', false); });} else {initialize('fv-chart-1789660635467-0b8tnk56l', false);}})();</script></div><div class="vizualizer-embed"><style>@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap');#fv-chart-1789660646444-sr9dsdz95 *, #fv-chart-1789660646444-sr9dsdz95 *:before, #fv-chart-1789660646444-sr9dsdz95 *:after, #fv-chart-1789660646444-sr9dsdz95-slideshow *, #fv-chart-1789660646444-sr9dsdz95-slideshow *:before, #fv-chart-1789660646444-sr9dsdz95-slideshow *:after {box-sizing: border-box !important; margin: 0; padding: 0; border: 0;font-size: 100%; font: inherit; vertical-align: baseline;}#fv-chart-1789660646444-sr9dsdz95, #fv-chart-1789660646444-sr9dsdz95-slideshow { font-family: 'Open Sans', sans-serif !important; }#fv-chart-1789660646444-sr9dsdz95 {position: relative !important; overflow: visible !important;--riv-primary: #2E6E93;}#fv-chart-1789660646444-sr9dsdz95 .fv-inner-wrapper {color: #1F2937 !important; background-color: #ffffff !important;padding: 1.5rem 1.5rem 2rem !important; border-radius: 0.5rem !important;box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important;margin: 1rem 0 !important; display: flex !important; flex-direction: column !important;overflow: hidden !important;}#fv-chart-1789660646444-sr9dsdz95 .fv-inner-wrapper.fv-no-header.fv-is-image-compare {padding-top: 0 !important;}#fv-chart-1789660646444-sr9dsdz95.fv-full-bleed {width: 100vw !important;margin-left: calc(50% - 50vw) !important;}body {overflow-x: clip !important;}#fv-chart-1789660646444-sr9dsdz95.fv-full-bleed .fv-inner-wrapper {padding: 0 !important;border-radius: 0 !important;box-shadow: none !important;margin: 0 !important;background-color: transparent !important;}#fv-chart-1789660646444-sr9dsdz95 .fv-inner-wrapper.fv-is-shop-the-look {padding: 0 !important;border-radius: 0 !important;box-shadow: none !important;margin: 0 !important;background-color: transparent !important;}#fv-chart-1789660646444-sr9dsdz95-slideshow {position: relative !important;width: 100% !important;margin: 1rem 0 !important;--riv-primary: #2E6E93;}#fv-chart-1789660646444-sr9dsdz95-slideshow .fv-slides-wrapper {position: relative !important;width: 100% !important;}#fv-chart-1789660646444-sr9dsdz95-slideshow .fv-slide {width: 100% !important;animation: fv-fade-in 0.3s ease-in-out;}@keyframes fv-fade-in {from { opacity: 0; }to { opacity: 1; }}#fv-chart-1789660646444-sr9dsdz95-slideshow .fv-slideshow-nav-row {position: relative !important;display: flex !important;justify-content: space-between !important;align-items: center !important;padding: 0 0 16px 0 !important;width: 100% !important;z-index: 20 !important;}#fv-chart-1789660646444-sr9dsdz95-slideshow .fv-nav-btn {background-color: var(--riv-primary) !important;color: #ffffff !important;border: none !important;border-radius: 4px !important;padding: 8px 16px !important;font-size: 14px !important;font-weight: 700 !important;cursor: pointer !important;display: flex !important;align-items: center !important;justify-content: center !important;gap: 6px !important;transition: opacity 0.2s, background-color 0.2s !important;height: 36px !important;text-transform: none !important;box-shadow: 0 1px 2px rgba(0,0,0,0.1) !important;}#fv-chart-1789660646444-sr9dsdz95-slideshow .fv-nav-btn svg {width: 18px !important;height: 18px !important;stroke-width: 3px !important;filter: none !important;}#fv-chart-1789660646444-sr9dsdz95-slideshow .fv-nav-btn:hover {opacity: 0.9 !important;transform: translateY(-1px) !important;}#fv-chart-1789660646444-sr9dsdz95-slideshow .fv-nav-btn.disabled {background-color: #E5E7EB !important;color: #9CA3AF !important;cursor: default !important;pointer-events: none !important;box-shadow: none !important;}#fv-chart-1789660646444-sr9dsdz95-slideshow .fv-slide-counter {font-family: 'Poppins', sans-serif !important;font-size: 14px !important;font-weight: 600 !important;color: #374151 !important;text-align: center !important;min-width: 40px !important;background-color: rgba(255,255,255,0.8) !important;padding: 2px 8px !important;border-radius: 10px !important;}#fv-chart-1789660646444-sr9dsdz95-slideshow .fv-slideshow-select {position: absolute !important;top: 10px !important;right: 10px !important;z-index: 20 !important;appearance: none !important;-webkit-appearance: none !important;-moz-appearance: none !important;background-color: white !important;border: 1px solid #d1d5db !important;color: #1F2937 !important;font-family: 'Open Sans', sans-serif !important;font-size: 14px !important;font-weight: 600 !important;padding: 6px 32px 6px 12px !important;border-radius: 4px !important;cursor: pointer !important;box-shadow: 0 1px 2px rgba(0,0,0,0.05) !important;background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e") !important;background-position: right 0.5rem center !important;background-repeat: no-repeat !important;background-size: 1.5em 1.5em !important;}#fv-chart-1789660646444-sr9dsdz95-slideshow .fv-slideshow-select:focus {outline: 2px solid #2E6E93 !important;border-color: #2E6E93 !important;}#fv-chart-1789660646444-sr9dsdz95 .fv-chart-title {font-weight: bold !important;text-align: center !important;margin-bottom: 0.5rem !important;color: var(--riv-primary) !important;font-size: 20px !important;line-height: 1.2 !important;font-family: 'Open Sans', sans-serif !important;text-transform: none !important;white-space: normal !important;overflow-wrap: break-word !important;padding: 0 20px !important;}#fv-chart-1789660646444-sr9dsdz95 .fv-chart-subhead {font-size: 18px !important;font-weight: 500 !important;text-align: center !important;margin-bottom: 2rem !important;color: #374151 !important;line-height: 1.7 !important;font-family: 'Open Sans', sans-serif !important;display: block !important;text-transform: none !important;padding: 0 20px !important;}#fv-chart-1789660646444-sr9dsdz95 .rv-chart-caption { font-size: 15px !important; color: #374151 !important; text-align: center !important; font-style: normal !important; font-weight: normal !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-versus-chart { display: flex; flex-direction: column; width: 100%; margin-top: 1rem; }#fv-chart-1789660646444-sr9dsdz95 .fv-versus-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding: 0 1rem; }#fv-chart-1789660646444-sr9dsdz95 .fv-versus-select-wrapper { flex: 1; min-width: 0; }#fv-chart-1789660646444-sr9dsdz95 .fv-versus-select-wrapper.fv-left { text-align: center; padding-right: 1rem; }#fv-chart-1789660646444-sr9dsdz95 .fv-versus-select-wrapper.fv-right { text-align: center; padding-left: 1rem; }#fv-chart-1789660646444-sr9dsdz95 .fv-versus-select-container { position: relative; display: inline-block; max-width: 100%; width: 100%; }#fv-chart-1789660646444-sr9dsdz95 .fv-versus-chevron { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; width: 16px; height: 16px; flex-shrink: 0; }#fv-chart-1789660646444-sr9dsdz95 .fv-versus-select-wrapper.fv-left .fv-versus-chevron { right: 0; }#fv-chart-1789660646444-sr9dsdz95 .fv-versus-select-wrapper.fv-right .fv-versus-chevron { right: 0; }#fv-chart-1789660646444-sr9dsdz95 .fv-versus-select { background: transparent; border: none; border-bottom: 2px solid; font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; padding: 0.25rem 0; cursor: pointer; outline: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; max-width: 100%; width: 100%; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; }#fv-chart-1789660646444-sr9dsdz95 .fv-versus-select.fv-select-left { text-align: center; direction: ltr; padding-right: 1.25rem; }#fv-chart-1789660646444-sr9dsdz95 .fv-versus-select.fv-select-right { text-align: center; padding-right: 1.25rem; }#fv-chart-1789660646444-sr9dsdz95 .fv-versus-select option { font-family: 'Open Sans', sans-serif; font-weight: 400; font-size: 14px; color: #374151; direction: ltr; text-align: left; }#fv-chart-1789660646444-sr9dsdz95 .fv-versus-vs { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; color: #374151; letter-spacing: 0.1em; padding: 0 1rem; }#fv-chart-1789660646444-sr9dsdz95 .fv-versus-body { display: flex; flex-direction: column; gap: 1.5rem; }#fv-chart-1789660646444-sr9dsdz95 .fv-versus-row { position: relative; height: auto; padding-top: 20px; margin-bottom: 0.25rem; display: block; }#fv-chart-1789660646444-sr9dsdz95 .fv-versus-bar-container { position: relative; height: 32px; display: flex; align-items: center; }#fv-chart-1789660646444-sr9dsdz95 .fv-versus-bar-left-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-end; align-items: center; }#fv-chart-1789660646444-sr9dsdz95 .fv-versus-bar-right-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-start; align-items: center; }#fv-chart-1789660646444-sr9dsdz95 .fv-versus-bar { height: 32px; width: var(--target-width); transition: width 0.8s ease-out; animation: fv-grow-max-width 0.8s ease-out forwards; display: flex; align-items: center; overflow: hidden; color: #ffffff; }#fv-chart-1789660646444-sr9dsdz95 .fv-versus-bar-left { border-radius: 4px 0 0 4px; justify-content: flex-end; padding: 0 8px; }#fv-chart-1789660646444-sr9dsdz95 .fv-versus-bar-right { border-radius: 0 4px 4px 0; justify-content: flex-start; padding: 0 8px; }@keyframes fv-grow-max-width {from { max-width: 0; }to { max-width: 100%; }}#fv-chart-1789660646444-sr9dsdz95 .fv-versus-center-line { position: absolute; left: 50%; top: 0; bottom: 0; width: 4px; background-color: #ffffff; transform: translateX(-50%); z-index: 1; }#fv-chart-1789660646444-sr9dsdz95 .fv-inside-left { white-space: nowrap; flex-shrink: 0; }#fv-chart-1789660646444-sr9dsdz95 .fv-inside-right { white-space: nowrap; flex-shrink: 0; }#fv-chart-1789660646444-sr9dsdz95 .fv-versus-val-text { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; }#fv-chart-1789660646444-sr9dsdz95 .fv-versus-pct-diff { font-size: 12px; font-weight: 600; }#fv-chart-1789660646444-sr9dsdz95 .fv-versus-label { position: absolute; left: 50%; transform: translateX(-50%); top: 0; background-color: transparent; border: none; box-shadow: none; padding: 0; font-family: 'Open Sans', sans-serif; font-weight: 700; font-size: 14px; color: #374151; white-space: nowrap; }#fv-chart-1789660646444-sr9dsdz95 .sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-image-compare-container { width: auto !important; margin-left: -1.5rem !important; margin-right: -1.5rem !important; margin-bottom: 2rem !important; }#fv-chart-1789660646444-sr9dsdz95.fv-full-bleed .fv-image-compare-container { width: 100% !important; max-width: none !important; margin: 0 auto !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-image-compare-wrapper { position: relative !important; width: 100% !important; overflow: hidden !important; border-radius: 0 !important; background-color: #000 !important; touch-action: pan-y !important; user-select: none !important; -webkit-user-select: none !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-image-compare-inner { position: relative !important; width: 100% !important; height: 100% !important; display: block !important; transform-origin: center center !important; transition: transform 0.1s ease-out !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-image-compare-bg { display: block !important; width: 100% !important; height: auto !important; pointer-events: none !important; user-select: none !important; -webkit-user-select: none !important; -webkit-user-drag: none !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-image-compare-fg { position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; object-fit: cover !important; clip-path: polygon(0 0, 50% 0, 50% 100%, 0 100%) !important; pointer-events: none !important; user-select: none !important; -webkit-user-select: none !important; -webkit-user-drag: none !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-image-compare-slider { position: absolute !important; top: 0 !important; bottom: 0 !important; left: 50% !important; width: 32px !important; transform: translateX(-50%) !important; cursor: ew-resize !important; z-index: 10 !important; user-select: none !important; -webkit-user-select: none !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-image-compare-slider-line { position: absolute !important; top: 0 !important; bottom: 0 !important; left: 50% !important; width: 4px !important; background-color: white !important; transform: translateX(-50%) !important; box-shadow: 0 0 10px rgba(0,0,0,0.5) !important; pointer-events: none !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-image-compare-handle { position: absolute !important; top: 50% !important; left: 50% !important; transform: translate(-50%, -50%) !important; width: 32px !important; height: 32px !important; background-color: white !important; border-radius: 50% !important; box-shadow: 0 2px 6px rgba(0,0,0,0.3) !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 4px !important; pointer-events: none !important; z-index: 11 !important; overflow: hidden !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-image-compare-handle.fv-image-compare-handle-square { border-radius: 6px !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-image-compare-arrow-left { width: 0 !important; height: 0 !important; border-top: 4px solid transparent !important; border-bottom: 4px solid transparent !important; border-right: 4px solid #4b5563 !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-image-compare-arrow-right { width: 0 !important; height: 0 !important; border-top: 4px solid transparent !important; border-bottom: 4px solid transparent !important; border-left: 4px solid #4b5563 !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-image-compare-label { position: absolute !important; top: 1rem !important; background-color: rgba(0, 0, 0, 0.5) !important; color: white !important; padding: 0.25rem 0.75rem !important; border-radius: 0.25rem !important; font-size: 0.875rem !important; font-weight: 500 !important; pointer-events: none !important; backdrop-filter: blur(4px) !important; z-index: 5 !important; transition: right 0.3s ease, opacity 0.2s ease !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-image-compare-label-left { left: 1rem !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-image-compare-label-right { right: 1rem !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-image-compare-expand-btn, #fv-chart-1789660646444-sr9dsdz95 .fv-image-compare-close-btn { position: absolute !important; bottom: 1rem !important; right: 1rem !important; background-color: rgba(0, 0, 0, 0.5) !important; color: white !important; border: none !important; border-radius: 0.25rem !important; padding: 0.5rem !important; cursor: pointer !important; z-index: 20 !important; display: flex !important; align-items: center !important; justify-content: center !important; backdrop-filter: blur(4px) !important; transition: background-color 0.2s !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-image-compare-expand-btn:hover, #fv-chart-1789660646444-sr9dsdz95 .fv-image-compare-close-btn:hover { background-color: rgba(0, 0, 0, 0.7) !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-image-compare-close-btn { display: none !important; top: 1rem !important; bottom: auto !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-image-compare-wrapper.fv-image-compare-fullscreen { position: fixed !important; top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important; width: 100% !important; height: 100% !important; z-index: 999999 !important; display: flex !important; align-items: center !important; justify-content: center !important; background-color: rgba(0, 0, 0, 0.9) !important; margin: 0 !important; touch-action: none !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-inner { width: 100% !important; height: 100% !important; display: flex !important; align-items: center !important; justify-content: center !important; cursor: grab !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-inner:active { cursor: grabbing !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-bg { position: absolute !important; top: 0 !important; left: 0 !important; max-width: 100% !important; max-height: 100% !important; width: 100% !important; height: 100% !important; object-fit: contain !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-fg { max-width: 100% !important; max-height: 100% !important; width: 100% !important; height: 100% !important; object-fit: contain !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-expand-btn { display: none !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-close-btn { display: flex !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-label-right { right: 4rem !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-footer-content { text-align: center !important; width: 100% !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-logo {display: block !important;margin: 0 auto !important;width: 120px !important;min-width: 120px !important;max-width: 120px !important;height: auto !important;object-fit: contain !important;flex-shrink: 0 !important;}#fv-chart-1789660646444-sr9dsdz95 .fv-dropdown-wrapper { text-align: center !important; margin-bottom: 16px !important; margin-top: 0 !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-dropdown-title-container { position: relative !important; display: inline-block !important; max-width: 100% !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-dropdown-title {appearance: none !important;-webkit-appearance: none !important;-moz-appearance: none !important;background: transparent !important;border: none !important;font-size: 18px !important;font-weight: 600 !important;color: var(--riv-primary) !important;padding-right: 28px !important;padding-left: 10px !important;cursor: pointer !important;text-align: center !important;text-align-last: center !important;width: auto !important;max-width: 100% !important;font-family: 'Open Sans', sans-serif !important;line-height: 1.3 !important;margin: 0 !important;text-overflow: ellipsis !important;overflow: hidden !important;white-space: nowrap !important;}#fv-chart-1789660646444-sr9dsdz95 .fv-dropdown-title:focus { outline: none !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-dropdown-title::-ms-expand { display: none !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-dropdown-chevron {position: absolute !important;right: 0 !important;top: 50% !important;transform: translateY(-50%) !important;pointer-events: none !important;color: var(--riv-primary) !important;display: flex !important;align-items: center !important;}#fv-chart-1789660646444-sr9dsdz95 .fv-carousel-title-controls { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 16px !important; width: 100% !important; gap: 12px !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-carousel-nav-btn {background: transparent !important; border: 1px solid #d1d5db !important; border-radius: 6px !important; padding: 6px 10px !important;cursor: pointer !important; font-size: 14px !important; color: #374151 !important; display: flex !important; align-items: center !important; gap: 4px !important; font-family: 'Open Sans', sans-serif !important;}#fv-chart-1789660646444-sr9dsdz95 .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-carousel-counter { font-size: 14px !important; color: #374151 !important; text-align: center !important; margin-top: 1rem !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 8px 16px !important; margin: 0 !important; padding: 0 !important; margin-top: 1rem !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #374151 !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-multi-value-legend {display: flex !important;justify-content: center !important;flex-wrap: wrap !important;gap: 12px 24px !important;margin-bottom: 1.5rem !important;padding: 0 !important;}#fv-chart-1789660646444-sr9dsdz95 .fv-multi-legend-item { display: flex !important; align-items: center !important; gap: 8px !important; font-size: 14px !important; color: #374151 !important; font-weight: 500 !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-multi-legend-swatch { width: 16px !important; height: 16px !important; border-radius: 3px !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-benchmark-group { margin-bottom: 1rem !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-benchmark-title {font-size: 18px !important; font-weight: 600 !important; margin-bottom: 16px !important; margin-top: 0 !important; padding: 0 !important;text-align: center !important; color: var(--riv-primary) !important; flex: 1 !important; min-width: 0 !important;font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important;text-transform: none !important;white-space: normal !important;overflow-wrap: break-word !important;word-wrap: break-word !important;max-width: 100% !important;}#fv-chart-1789660646444-sr9dsdz95 .fv-bar-row, #fv-chart-1789660646444-sr9dsdz95 .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; position: relative !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-bar-label { width: 150px !important; flex-shrink: 0 !important; font-size: 14px !important; color: #374151 !important; padding-right: 10px !important; text-align: right !important; font-weight: 500 !important; display: block !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-bar-container { flex-grow: 1 !important; background-color: #E5E7EB !important; border-radius: 4px !important; min-height: 25px !important; border: 1px solid #D1D5DB !important; position: relative !important; display: flex !important; align-items: center !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-bar-commentary-inline { display: none !important; position: absolute !important; left: 150px !important; top: 0 !important; bottom: 0 !important; right: 0 !important; width: calc(100% - 150px) !important; margin: 0 !important; padding: 0 8px !important; font-size: 13px !important; color: #fff !important; background: rgba(0,0,0,0.8) !important; border-radius: 4px !important; line-height: 1.4 !important; font-weight: normal !important; text-transform: none !important; word-wrap: break-word !important; z-index: 10 !important; align-items: center !important; overflow-y: auto !important; }#fv-chart-1789660646444-sr9dsdz95.preview-wrapper .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1789660646444-sr9dsdz95.preview-wrapper .fv-bar-commentary-inline:focus, #fv-chart-1789660646444-sr9dsdz95.preview-wrapper .fv-bar-commentary-inline:focus-within, #fv-chart-1789660646444-sr9dsdz95.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1789660646444-sr9dsdz95.mobile-view .fv-bar-commentary-inline:focus, #fv-chart-1789660646444-sr9dsdz95.mobile-view .fv-bar-commentary-inline:focus-within { display: flex !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-bar { height: 100% !important; border-radius: 3px !important; display: flex !important; align-items: center !important; transition: opacity 0.2s ease, width 0.8s ease-out !important; min-height: 23px !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-bar:hover { opacity: 0.8 !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-bar-inner-content { display: flex !important; justify-content: space-between !important; align-items: center !important; width: 100% !important; height: 100% !important; padding: 0 8px !important; font-size: 14px !important; font-weight: bold !important; overflow: hidden !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-bar-inner-value { flex-shrink: 0 !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-bar-value-outside { padding-left: 8px !important; font-size: 14px !important; font-weight: bold !important; color: #374151 !important; white-space: nowrap !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-multi-bar-container { flex-direction: column !important; padding: 4px !important; align-items: stretch !important; gap: 4px !important; height: auto !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-multi-bar-item { display: flex !important; align-items: center !important; height: 25px !important; width: 100% !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-stacked-bar { display: flex !important; overflow: hidden !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-stacked-segment { height: 100% !important; display: flex !important; align-items: center !important; justify-content: flex-end !important; padding-right: 8px !important; border-right: 1px solid rgba(255,255,255,0.3) !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-stacked-segment:last-child { border-right: none !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-segment-value { font-size: 14px !important; font-weight: bold !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-grouped-product-title-wrapper { padding-left: 150px !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.5rem !important; font-weight: 700 !important; font-size: 14px !important; color: #374151 !important; text-transform: none !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-bar-cluster .fv-bar-container { height: 20px !important; }#fv-chart-1789660646444-sr9dsdz95 .riv-grid line {stroke: #D1D5DB !important;stroke-dasharray: 3 3 !important;}#fv-chart-1789660646444-sr9dsdz95 .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-x-axis-ticks { display: flex !important; justify-content: space-between !important; padding-top: 4px !important; font-size: 13px !important; color: #374151 !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-x-axis-ticks span { position: relative !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-x-axis-ticks span::before { content: '' !important; position: absolute !important; top: -6px !important; left: 50% !important; transform: translateX(-50%) !important; width: 2px !important; height: 4px !important; background-color: #D1D5DB !important; border-radius: 1px !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #374151 !important; margin-top: 8px !important; display: block !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-x-axis-title { text-align: center !important; font-size: 15px !important; color: #374151 !important; margin-top: 8px !important; margin-bottom: 16px !important; line-height: 1.5 !important; padding: 0 1rem !important; display: block !important; font-weight: bold !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-y-axis-title {font-size: 15px !important;color: #374151 !important;line-height: 1.5 !important;text-align: left !important;padding-left: 5.83% !important;margin-bottom: 4px !important;display: block !important;font-weight: bold !important;}#fv-chart-1789660646444-sr9dsdz95.mobile-view .fv-pie-container,#fv-chart-1789660646444-sr9dsdz95.labels-on-top .fv-pie-container {flex-direction: column !important; gap: 1rem !important;}#fv-chart-1789660646444-sr9dsdz95.mobile-view .fv-grouped-product-title-wrapper,#fv-chart-1789660646444-sr9dsdz95.labels-on-top .fv-grouped-product-title-wrapper {padding-left: 0 !important;}#fv-chart-1789660646444-sr9dsdz95.mobile-view .fv-bar-row,#fv-chart-1789660646444-sr9dsdz95.mobile-view .fv-stacked-product,#fv-chart-1789660646444-sr9dsdz95.mobile-view .fv-grouped-bar-product,#fv-chart-1789660646444-sr9dsdz95.labels-on-top .fv-bar-row,#fv-chart-1789660646444-sr9dsdz95.labels-on-top .fv-stacked-product,#fv-chart-1789660646444-sr9dsdz95.labels-on-top .fv-grouped-bar-product {flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important;}#fv-chart-1789660646444-sr9dsdz95.mobile-view .fv-bar-label:not(.fv-grouped-product-title),#fv-chart-1789660646444-sr9dsdz95.labels-on-top .fv-bar-label:not(.fv-grouped-product-title) {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1789660646444-sr9dsdz95.mobile-view .fv-bar-label,#fv-chart-1789660646444-sr9dsdz95.mobile-view .fv-grouped-product-title,#fv-chart-1789660646444-sr9dsdz95.labels-on-top .fv-bar-label,#fv-chart-1789660646444-sr9dsdz95.labels-on-top .fv-grouped-product-title {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1789660646444-sr9dsdz95.mobile-view .fv-bar-container,#fv-chart-1789660646444-sr9dsdz95.mobile-view .fv-bar-cluster,#fv-chart-1789660646444-sr9dsdz95.labels-on-top .fv-bar-container,#fv-chart-1789660646444-sr9dsdz95.labels-on-top .fv-bar-cluster {width: 100% !important;}#fv-chart-1789660646444-sr9dsdz95.mobile-view .fv-bar-row .fv-bar-commentary-inline,#fv-chart-1789660646444-sr9dsdz95.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline,#fv-chart-1789660646444-sr9dsdz95.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus,#fv-chart-1789660646444-sr9dsdz95.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus-within,#fv-chart-1789660646444-sr9dsdz95.labels-on-top .fv-bar-row .fv-bar-commentary-inline,#fv-chart-1789660646444-sr9dsdz95.labels-on-top .fv-bar-row:hover .fv-bar-commentary-inline,#fv-chart-1789660646444-sr9dsdz95.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus,#fv-chart-1789660646444-sr9dsdz95.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus-within {position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important;}#fv-chart-1789660646444-sr9dsdz95.mobile-view .fv-x-axis-wrapper,#fv-chart-1789660646444-sr9dsdz95.labels-on-top .fv-x-axis-wrapper {margin-left: 0 !important;}#fv-chart-1789660646444-sr9dsdz95.mobile-view .fv-x-axis-label-space,#fv-chart-1789660646444-sr9dsdz95.labels-on-top .fv-x-axis-label-space {display: none !important;}#fv-chart-1789660646444-sr9dsdz95.mobile-view .fv-x-axis-chart-space,#fv-chart-1789660646444-sr9dsdz95.labels-on-top .fv-x-axis-chart-space {padding-right: 0 !important;}#fv-chart-1789660646444-sr9dsdz95.mobile-view .fv-benchmark-title,#fv-chart-1789660646444-sr9dsdz95.labels-on-top .fv-benchmark-title {font-size: 16px !important;}#fv-chart-1789660646444-sr9dsdz95.mobile-view .fv-dropdown-title,#fv-chart-1789660646444-sr9dsdz95.labels-on-top .fv-dropdown-title {font-size: 16px !important;}#fv-chart-1789660646444-sr9dsdz95.mobile-view .fv-carousel-nav-btn,#fv-chart-1789660646444-sr9dsdz95.labels-on-top .fv-carousel-nav-btn {padding: 8px 12px !important; font-size: 14px !important;}#fv-chart-1789660646444-sr9dsdz95.mobile-view .fv-chart-title,#fv-chart-1789660646444-sr9dsdz95.labels-on-top .fv-chart-title {padding: 0 8px !important;}#fv-chart-1789660646444-sr9dsdz95.mobile-view .fv-chart-subhead,#fv-chart-1789660646444-sr9dsdz95.labels-on-top .fv-chart-subhead {padding: 0 8px !important;}#fv-chart-1789660646444-sr9dsdz95.mobile-view .fv-versus-header,#fv-chart-1789660646444-sr9dsdz95.labels-on-top .fv-versus-header {flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important;}#fv-chart-1789660646444-sr9dsdz95.mobile-view .fv-versus-select-wrapper,#fv-chart-1789660646444-sr9dsdz95.labels-on-top .fv-versus-select-wrapper {flex: 1 !important; min-width: 0 !important; width: 100% !important;}#fv-chart-1789660646444-sr9dsdz95.mobile-view .fv-versus-select-wrapper.fv-left,#fv-chart-1789660646444-sr9dsdz95.labels-on-top .fv-versus-select-wrapper.fv-left {text-align: center !important; padding-right: 0 !important;}#fv-chart-1789660646444-sr9dsdz95.mobile-view .fv-versus-select-wrapper.fv-right,#fv-chart-1789660646444-sr9dsdz95.labels-on-top .fv-versus-select-wrapper.fv-right {text-align: center !important; padding-left: 0 !important;}#fv-chart-1789660646444-sr9dsdz95.mobile-view .fv-versus-select.fv-select-left,#fv-chart-1789660646444-sr9dsdz95.labels-on-top .fv-versus-select.fv-select-left {text-align: center !important;}#fv-chart-1789660646444-sr9dsdz95.mobile-view .fv-versus-select.fv-select-right,#fv-chart-1789660646444-sr9dsdz95.labels-on-top .fv-versus-select.fv-select-right {text-align: center !important;}#fv-chart-1789660646444-sr9dsdz95.mobile-view .fv-versus-vs,#fv-chart-1789660646444-sr9dsdz95.labels-on-top .fv-versus-vs {text-align: center !important; padding: 0.25rem 0 !important;}#fv-chart-1789660646444-sr9dsdz95.mobile-view .fv-versus-select-container,#fv-chart-1789660646444-sr9dsdz95.labels-on-top .fv-versus-select-container {max-width: 100% !important; width: 100% !important;}#fv-chart-1789660646444-sr9dsdz95.mobile-view .fv-versus-select,#fv-chart-1789660646444-sr9dsdz95.labels-on-top .fv-versus-select {font-size: 14px !important; width: 100% !important;}#fv-chart-1789660646444-sr9dsdz95.mobile-view .fv-stl-shop-all-btn,#fv-chart-1789660646444-sr9dsdz95.labels-on-top .fv-stl-shop-all-btn {bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important;}#fv-chart-1789660646444-sr9dsdz95.mobile-view .fv-stl-shop-all-logo,#fv-chart-1789660646444-sr9dsdz95.mobile-view .fv-stl-shop-all-icon,#fv-chart-1789660646444-sr9dsdz95.labels-on-top .fv-stl-shop-all-logo,#fv-chart-1789660646444-sr9dsdz95.labels-on-top .fv-stl-shop-all-icon {width: 2rem !important; height: 2rem !important;}#fv-chart-1789660646444-sr9dsdz95.mobile-view .fv-stl-shop-all-icon svg,#fv-chart-1789660646444-sr9dsdz95.labels-on-top .fv-stl-shop-all-icon svg {width: 14px !important; height: 14px !important;}#fv-chart-1789660646444-sr9dsdz95.mobile-view .fv-bar-commentary-inline,#fv-chart-1789660646444-sr9dsdz95.labels-on-top .fv-bar-commentary-inline {display: block !important; margin-left: 0 !important; width: 100% !important;}#fv-chart-1789660646444-sr9dsdz95.mobile-view .fv-y-axis-title { padding-left: 5% !important;  }#fv-chart-1789660646444-sr9dsdz95.mobile-view.fv-contains-line-chart .fv-footer-content {margin-left: -1rem !important;margin-right: -1rem !important;}@media (max-width: 599px) {#fv-chart-1789660646444-sr9dsdz95 .fv-pie-container {flex-direction: column !important; gap: 1rem !important;}#fv-chart-1789660646444-sr9dsdz95 .fv-grouped-product-title-wrapper {padding-left: 0 !important;}#fv-chart-1789660646444-sr9dsdz95 .fv-bar-row,#fv-chart-1789660646444-sr9dsdz95 .fv-stacked-product,#fv-chart-1789660646444-sr9dsdz95 .fv-grouped-bar-product {flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important;}#fv-chart-1789660646444-sr9dsdz95 .fv-bar-label:not(.fv-grouped-product-title) {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1789660646444-sr9dsdz95 .fv-bar-label,#fv-chart-1789660646444-sr9dsdz95 .fv-grouped-product-title {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1789660646444-sr9dsdz95 .fv-bar-container,#fv-chart-1789660646444-sr9dsdz95 .fv-bar-cluster {width: 100% !important;}#fv-chart-1789660646444-sr9dsdz95 .fv-bar-row .fv-bar-commentary-inline,#fv-chart-1789660646444-sr9dsdz95 .fv-bar-row:hover .fv-bar-commentary-inline,#fv-chart-1789660646444-sr9dsdz95 .fv-bar-row .fv-bar-commentary-inline:focus,#fv-chart-1789660646444-sr9dsdz95 .fv-bar-row .fv-bar-commentary-inline:focus-within {position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important;}#fv-chart-1789660646444-sr9dsdz95 .fv-x-axis-wrapper {margin-left: 0 !important;}#fv-chart-1789660646444-sr9dsdz95 .fv-x-axis-label-space {display: none !important;}#fv-chart-1789660646444-sr9dsdz95 .fv-x-axis-chart-space {padding-right: 0 !important;}#fv-chart-1789660646444-sr9dsdz95 .fv-benchmark-title {font-size: 16px !important;}#fv-chart-1789660646444-sr9dsdz95 .fv-dropdown-title {font-size: 16px !important;}#fv-chart-1789660646444-sr9dsdz95 .fv-carousel-nav-btn {padding: 8px 12px !important; font-size: 14px !important;}#fv-chart-1789660646444-sr9dsdz95 .fv-chart-title {padding: 0 8px !important;}#fv-chart-1789660646444-sr9dsdz95 .fv-chart-subhead {padding: 0 8px !important;}#fv-chart-1789660646444-sr9dsdz95 .fv-versus-header {flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important;}#fv-chart-1789660646444-sr9dsdz95 .fv-versus-select-wrapper {flex: 1 !important; min-width: 0 !important; width: 100% !important;}#fv-chart-1789660646444-sr9dsdz95 .fv-versus-select-wrapper.fv-left {text-align: center !important; padding-right: 0 !important;}#fv-chart-1789660646444-sr9dsdz95 .fv-versus-select-wrapper.fv-right {text-align: center !important; padding-left: 0 !important;}#fv-chart-1789660646444-sr9dsdz95 .fv-versus-select.fv-select-left {text-align: center !important;}#fv-chart-1789660646444-sr9dsdz95 .fv-versus-select.fv-select-right {text-align: center !important;}#fv-chart-1789660646444-sr9dsdz95 .fv-versus-vs {text-align: center !important; padding: 0.25rem 0 !important;}#fv-chart-1789660646444-sr9dsdz95 .fv-versus-select-container {max-width: 100% !important; width: 100% !important;}#fv-chart-1789660646444-sr9dsdz95 .fv-versus-select {font-size: 14px !important; width: 100% !important;}#fv-chart-1789660646444-sr9dsdz95 .fv-stl-shop-all-btn {bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important;}#fv-chart-1789660646444-sr9dsdz95 .fv-stl-shop-all-logo,#fv-chart-1789660646444-sr9dsdz95 .fv-stl-shop-all-icon {width: 2rem !important; height: 2rem !important;}#fv-chart-1789660646444-sr9dsdz95 .fv-stl-shop-all-icon svg {width: 14px !important; height: 14px !important;}#fv-chart-1789660646444-sr9dsdz95 .fv-bar-commentary-inline {display: block !important; margin-left: 0 !important; width: 100% !important;}#fv-chart-1789660646444-sr9dsdz95 .fv-y-axis-title { padding-left: 5% !important;  }#fv-chart-1789660646444-sr9dsdz95.fv-contains-line-chart .fv-footer-content {margin-left: -1rem !important;margin-right: -1rem !important;}}</style><script type="application/ld+json">{"@context": "https://schema.org","@type": "Dataset","name": "Hard floor cleaning test","description": "Vacuuming crumbs from hard floor using Eufy Omni E35","creator": {"@type": "Organization","name": "TechRadar","logo": "https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png"},"isAccessibleForFree": true,"dateCreated": "2026-09-17T15:57:26.444Z","citation": "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized","keywords": ["Image Comparison","benchmark","comparison","performance","review","TechRadar"],"measurementTechnique": "Performance Benchmarking","variableMeasured": []}</script><div id="fv-chart-1789660646444-sr9dsdz95" class="fv-chart-wrapper   " data-bar-labels-on-top="false" data-iframe-height="true" data-vizualizer-embed="true"><div class="fv-inner-wrapper  fv-is-image-compare  "><h3 class="fv-chart-title">Hard floor cleaning test</h3><p class="fv-chart-subhead">Vacuuming crumbs from hard floor using Eufy Omni E35</p><div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1789660646444-sr9dsdz95-image-compare-1" data-chart-type="Image Comparison" data-title="Image Comparison" data-subhead="Vacuuming crumbs from hard floor using Eufy Omni E35" data-caption="" style=""><div class="fv-benchmark-group"><div class="fv-image-compare-container"><div class="fv-image-compare-wrapper" data-image-compare="true"><div class="fv-image-compare-inner"><img src="https://cdn.mos.cms.futurecdn.net/HKqcgwBNo6BdQZw5hg7CWe.jpg" data-highres-src="https://cdn.mos.cms.futurecdn.net/HKqcgwBNo6BdQZw5hg7CWe.jpg" alt="After" class="fv-image-compare-bg" loading="lazy" referrerpolicy="no-referrer" draggable="false" /><img src="https://cdn.mos.cms.futurecdn.net/ExaAxwKBXgFzbAJP7sSSSe.jpg" data-highres-src="https://cdn.mos.cms.futurecdn.net/ExaAxwKBXgFzbAJP7sSSSe.jpg" alt="Before" class="fv-image-compare-fg" loading="lazy" referrerpolicy="no-referrer" draggable="false" /><div class="fv-image-compare-slider"><div class="fv-image-compare-slider-line"></div><div class="fv-image-compare-handle "><img src="https://proof.vanilla.tools/media/images/brandLogos/techradar.png" alt="Brand Logo" style="width: 100%; height: 100%; object-fit: cover;" /></div></div></div><div class="fv-image-compare-label fv-image-compare-label-left">Before</div><div class="fv-image-compare-label fv-image-compare-label-right">After</div><button class="fv-image-compare-expand-btn" aria-label="Expand Image"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 8V4h4"/><path d="M20 8V4h-4"/><path d="M4 16v4h4"/><path d="M20 16v4h-4"/><circle cx="11.5" cy="11.5" r="3.5"/><path d="m14 14 3 3"/></svg></button><button class="fv-image-compare-close-btn" aria-label="Close Fullscreen"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg></button></div></div></div></div></div><div class="fv-bottom-bar"><div class="fv-footer-content" style="display: none;"><div class="rv-chart-caption" style="display: block;"><span class="fv-original-caption" style="display: block;"></span><span class="fv-ia-dynamic-caption" style="display: none;"></span></div></div><div class="fv-logo-explore-bar"><img class="fv-logo" src="https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png" alt="TechRadar Logo"></div></div></div></div><script>window.iFrameResizer = {heightCalculationMethod: 'taggedElement'};</script><script src="https://cdnjs.cloudflare.com/ajax/libs/iframe-resizer/4.2.11/iframeResizer.contentWindow.min.js" async></script><script>(function() {window.fvAnimateCharts = function(chartWrapper) {if (!chartWrapper) return;function animateBars(chartElement) {if (!chartElement) return;var bars = chartElement.querySelectorAll('.fv-bar, .fv-stacked-segment');bars.forEach(function(bar, index) {bar.style.setProperty('width', '0%', 'important');bar.style.setProperty('transition', 'none', 'important');var targetWidth = bar.dataset.targetWidth;if (targetWidth === undefined) return;void bar.offsetWidth;var targetMargin = bar.dataset.targetMargin;var baseMargin = bar.dataset.baseMargin;if (baseMargin !== undefined) {bar.style.setProperty('margin-left', baseMargin + '%', 'important');}setTimeout(function() {var marginTransition = baseMargin !== undefined ? ', margin-left 0.8s ease-out' : '';bar.style.setProperty('transition', 'opacity 0.2s ease, width 0.8s ease-out' + marginTransition, 'important');bar.style.setProperty('width', targetWidth + '%', 'important');if (targetMargin !== undefined && baseMargin !== undefined) {bar.style.setProperty('margin-left', targetMargin + '%', 'important');}}, index * 50 + 50);});}function animateLineChart(chartElement) {if (!chartElement) return;var lineSvg = chartElement.querySelector('svg');if (!lineSvg) return;var paths = lineSvg.querySelectorAll('.riv-line-path');paths.forEach(function(p, i) {if (typeof p.getTotalLength === 'function') {var len = p.getTotalLength();p.style.transition = 'none';p.style.strokeDasharray = len;p.style.strokeDashoffset = len;p.getBoundingClientRect();setTimeout(function() {p.style.transition = 'stroke-dashoffset 1s ease-out ' + (i * 0.1) + 's, stroke-width 0.2s, opacity 0.2s';p.style.strokeDashoffset = '0';}, 100);}});var dots = lineSvg.querySelectorAll('.riv-dot');dots.forEach(function(dot, i) {dot.style.opacity = '0';setTimeout(function() {dot.style.transition = 'opacity 0.3s ease';dot.style.opacity = '1';}, 500 + i * 10);});}var charts = chartWrapper.querySelectorAll('.fv-chart-item');charts.forEach(function(chart) {if (window.getComputedStyle(chart).display === 'none') return;var chartType = chart.dataset.chartType;if (chartType === 'Line') {animateLineChart(chart);} else if (chartType !== 'Pie') {animateBars(chart);}});};function initialize(uniqueId, isSlideshow) {var root = document.getElementById(uniqueId);if (!root && !isSlideshow) return;function setupWrapper(chartWrapper) {if (!chartWrapper) return;function checkMobileView() {var width = chartWrapper.getBoundingClientRect().width;var isMobileDevice = window.screen && Math.min(window.screen.width, window.screen.height) <= 599;var isMobile;if (width === 0) {isMobile = isMobileDevice || window.matchMedia('(max-width: 599px)').matches;} else {isMobile = isMobileDevice || width < 600;}if (isMobile) {chartWrapper.classList.add('mobile-view');} else {chartWrapper.classList.remove('mobile-view');}}checkMobileView();if (typeof ResizeObserver !== 'undefined') {var ro = new ResizeObserver(function() {checkMobileView();});ro.observe(chartWrapper);}window.addEventListener('resize', checkMobileView);var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';if (labelsOnTop) {var charts = chartWrapper.querySelectorAll('.fv-chart-item');var hasVisibleBarChart = false;charts.forEach(function(c) {if (window.getComputedStyle(c).display !== 'none') {var cType = c.dataset.chartType;if (cType === 'Bar' || cType === 'Stacked Bar' || cType === 'Versus') {hasVisibleBarChart = true;}}});if (hasVisibleBarChart) {chartWrapper.classList.add('labels-on-top');} else {chartWrapper.classList.remove('labels-on-top');}} else {chartWrapper.classList.remove('labels-on-top');}chartWrapper.querySelectorAll('.riv-line-legend').forEach(function(legend) {var chartId = legend.dataset.chart;var chart = chartWrapper.querySelector('[id="' + chartId + '"]');if (!chart) return;var lines = chart.querySelectorAll('.riv-line-path');var dots = chart.querySelectorAll('.riv-dot');var legendItems = legend.querySelectorAll('.riv-legend-item');legendItems.forEach(function(item) {var productName = item.dataset.product;var safeProductName = productName.replace(/"/g, '\"');var line = chart.querySelector('.riv-line-path[data-product="' + safeProductName + '"]');var productDots = chart.querySelectorAll('.riv-dot[data-product="' + safeProductName + '"]');if (line && !line.dataset.origStroke) {line.dataset.origStroke = line.getAttribute('stroke-width') || '2';}var highlight = function() {if (legend.querySelector('.isolated')) return;lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '0.2'; });legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });if (line) {line.style.opacity = '1';line.setAttribute('stroke-width', '4');}productDots.forEach(function(d) { d.style.opacity = '1'; });item.style.opacity = '1';};var clearHighlight = function() {if (legend.querySelector('.isolated')) return;lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '1'; });legendItems.forEach(function(i) { i.style.opacity = '1'; });};var toggleIsolate = function() {var isIsolated = item.classList.contains('isolated');legendItems.forEach(function(i) { i.classList.remove('isolated'); });if (isIsolated) {lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '1'; });legendItems.forEach(function(i) { i.style.opacity = '1'; });} else {item.classList.add('isolated');lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '0.2'; });legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });if (line) {line.style.opacity = '1';line.setAttribute('stroke-width', '4');}productDots.forEach(function(d) { d.style.opacity = '1'; });item.style.opacity = '1';}};item.addEventListener('mouseenter', highlight);item.addEventListener('focus', highlight);item.addEventListener('mouseleave', clearHighlight);item.addEventListener('blur', clearHighlight);item.addEventListener('click', toggleIsolate);if (line) {line.style.cursor = 'pointer';line.addEventListener('mouseenter', highlight);line.addEventListener('mouseleave', clearHighlight);line.addEventListener('click', toggleIsolate);}});});var versusCharts = chartWrapper.querySelectorAll('.fv-versus-chart');versusCharts.forEach(function(vc) {var dataJson = vc.getAttribute('data-versus-data');var leftColor = vc.getAttribute('data-left-color') || '#E53935';var rightColor = vc.getAttribute('data-right-color') || '#FFB300';if (!dataJson) return;var versusData = JSON.parse(dataJson);var leftSelect = vc.querySelector('.fv-select-left');var rightSelect = vc.querySelector('.fv-select-right');var rows = vc.querySelectorAll('.fv-versus-row');function updateVersusChart() {var leftProduct = leftSelect.value;var rightProduct = rightSelect.value;leftSelect.style.color = leftColor;leftSelect.style.borderColor = leftColor;rightSelect.style.color = rightColor;rightSelect.style.borderColor = rightColor;rows.forEach(function(row) {var index = parseInt(row.getAttribute('data-index'));var data = versusData[index];if (!data) return;var leftVal = data.productData[leftProduct] ? data.productData[leftProduct].value : undefined;var rightVal = data.productData[rightProduct] ? data.productData[rightProduct].value : undefined;var leftIsNum = typeof leftVal === 'number';var rightIsNum = typeof rightVal === 'number';var leftNum = leftIsNum ? leftVal : 0;var rightNum = rightIsNum ? rightVal : 0;var maxVal = Math.max(leftNum, rightNum, 0.0001);var leftWidth = leftIsNum ? (leftNum / maxVal) * 95 : 0;var rightWidth = rightIsNum ? (rightNum / maxVal) * 85 : 0;var winner = null;var pctDiffStr = null;if (leftIsNum && rightIsNum) {if (leftNum > rightNum) {winner = 'left';if (rightNum > 0) {var diff = Math.round(((leftNum - rightNum) / rightNum) * 100);pctDiffStr = '+' + diff.toLocaleString() + '%';}} else if (rightNum > leftNum) {winner = 'right';if (leftNum > 0) {var diff = Math.round(((rightNum - leftNum) / leftNum) * 100);pctDiffStr = '+' + diff.toLocaleString() + '%';}}}var leftDisplay = data.productData[leftProduct] && data.productData[leftProduct].displayValue !== undefined ? data.productData[leftProduct].displayValue : (leftIsNum ? leftNum.toLocaleString() : (leftVal !== undefined ? leftVal : '-'));var rightDisplay = data.productData[rightProduct] && data.productData[rightProduct].displayValue !== undefined ? data.productData[rightProduct].displayValue : (rightIsNum ? rightNum.toLocaleString() : (rightVal !== undefined ? rightVal : '-'));var unit = (data.productData[leftProduct] && data.productData[leftProduct].unit) ||(data.productData[rightProduct] && data.productData[rightProduct].unit) || '';var leftTextStr = leftDisplay;var rightTextStr = rightDisplay;var leftBar = row.querySelector('.fv-versus-bar-left');var rightBar = row.querySelector('.fv-versus-bar-right');var leftText = row.querySelector('.fv-inside-left');var rightText = row.querySelector('.fv-inside-right');var labelText = row.querySelector('.fv-versus-label span');var leftWrapper = row.querySelector('.fv-versus-bar-left-wrapper');var rightWrapper = row.querySelector('.fv-versus-bar-right-wrapper');var existingPctDiffs = row.querySelectorAll('.fv-versus-pct-diff');existingPctDiffs.forEach(function(el) { el.remove(); });if (winner === 'left' && pctDiffStr) {var pctSpan = document.createElement('span');pctSpan.className = 'fv-versus-pct-diff';pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';pctSpan.textContent = pctDiffStr;if (leftBar) leftBar.insertBefore(pctSpan, leftBar.firstChild);} else if (winner === 'right' && pctDiffStr) {var pctSpan = document.createElement('span');pctSpan.className = 'fv-versus-pct-diff';pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';pctSpan.textContent = pctDiffStr;if (rightBar) rightBar.appendChild(pctSpan);}if (leftBar) {leftBar.style.backgroundColor = leftColor;leftBar.dataset.targetWidth = leftWidth;leftBar.style.setProperty('--target-width', leftWidth + '%');leftBar.style.width = leftWidth + '%';}if (rightBar) {rightBar.style.backgroundColor = rightColor;rightBar.dataset.targetWidth = rightWidth;rightBar.style.setProperty('--target-width', rightWidth + '%');rightBar.style.width = rightWidth + '%';}if (leftText) {leftText.innerHTML = leftTextStr;}if (rightText) {rightText.innerHTML = rightTextStr;}if (labelText) {labelText.textContent = data.attribute + (unit ? ' (' + unit + ')' : '');}});}if (leftSelect) leftSelect.addEventListener('change', updateVersusChart);if (rightSelect) rightSelect.addEventListener('change', updateVersusChart);});var barRows = chartWrapper.querySelectorAll('.fv-bar-row');var globalCaptionEl = chartWrapper.querySelector('.rv-chart-caption');var fallbackCaptionHtml = globalCaptionEl ? globalCaptionEl.innerHTML : '';barRows.forEach(function(row) {var commentaryEl = row.querySelector('[data-commentary-key]');if (commentaryEl) {var commentaryText = commentaryEl.textContent;if (commentaryText && commentaryText.trim().length > 0) {row.addEventListener('mouseenter', function() {if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {globalCaptionEl.innerHTML = commentaryText;globalCaptionEl.classList.add('fv-bar-active-caption');}});row.addEventListener('mouseleave', function() {if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {globalCaptionEl.innerHTML = fallbackCaptionHtml;globalCaptionEl.classList.remove('fv-bar-active-caption');}});}}});var charts = chartWrapper.querySelectorAll('.fv-chart-item');var dropdown = chartWrapper.querySelector('.fv-dropdown-title');var prevBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.prev');var nextBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.next');var carouselTitle = chartWrapper.querySelector('.fv-carousel-title-controls .fv-benchmark-title');var counter = chartWrapper.querySelector('.fv-carousel-counter');var subheadEl = chartWrapper.querySelector('.fv-chart-subhead');var captionEl = chartWrapper.querySelector('.rv-chart-caption');var footerContentEl = chartWrapper.querySelector('.fv-footer-content');var bottomBarEl = chartWrapper.querySelector('.fv-bottom-bar');var logoEl = chartWrapper.querySelector('.fv-logo');if (charts.length > 1 && (dropdown || prevBtn)) {var currentChartIndex = 0;var titles = [];if (dropdown) {titles = Array.from(dropdown.options).map(function(o) { return o.text; });} else {charts.forEach(function(c) {titles.push(c.getAttribute('data-title') || '');});}function showInternalChart(index) {if (index < 0) index = charts.length - 1;if (index >= charts.length) index = 0;currentChartIndex = index;charts.forEach(function(c, i) {c.style.display = i === index ? 'block' : 'none';if (i === index) {var cType = c.dataset.chartType;if (cType === 'Line') {} else if (cType !== 'Pie') {window.fvAnimateCharts(chartWrapper);}var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';if (labelsOnTop && (cType === 'Bar' || cType === 'Stacked Bar' || cType === 'Versus')) {chartWrapper.classList.add('labels-on-top');} else {chartWrapper.classList.remove('labels-on-top');}}});if (dropdown) dropdown.value = index;if (carouselTitle && titles[index]) carouselTitle.textContent = titles[index];if (counter) counter.textContent = (index + 1) + ' of ' + charts.length;var activeChart = charts[index];if (activeChart) {var newSubhead = activeChart.getAttribute('data-subhead');var newCaption = activeChart.getAttribute('data-caption');var currentChartType = activeChart.getAttribute('data-chart-type');var hideGlobalCaption = currentChartType === 'Countdown' || currentChartType === 'Image Comparison' || currentChartType === 'Shop the Collection';if (subheadEl) subheadEl.textContent = newSubhead || '';if (captionEl) {captionEl.textContent = newCaption || '';fallbackCaptionHtml = newCaption || '';}if (footerContentEl) {if (newCaption && newCaption.trim().length > 0 && !hideGlobalCaption) {footerContentEl.style.display = 'block';if (bottomBarEl) bottomBarEl.style.display = 'flex';} else {footerContentEl.style.display = 'none';if (bottomBarEl && !logoEl) {bottomBarEl.style.display = 'none';}}}}}if (dropdown) dropdown.addEventListener('change', function(e) { showInternalChart(parseInt(e.target.value)); });if (prevBtn) prevBtn.addEventListener('click', function() { showInternalChart(currentChartIndex - 1); });if (nextBtn) nextBtn.addEventListener('click', function() { showInternalChart(currentChartIndex + 1); });}var imageCompareWrappers = chartWrapper.querySelectorAll('.fv-image-compare-wrapper');imageCompareWrappers.forEach(function(wrapper) {var inner = wrapper.querySelector('.fv-image-compare-inner') || wrapper;var slider = wrapper.querySelector('.fv-image-compare-slider');var fgImage = wrapper.querySelector('.fv-image-compare-fg');var bgImage = wrapper.querySelector('.fv-image-compare-bg');var labelLeft = wrapper.querySelector('.fv-image-compare-label-left');var labelRight = wrapper.querySelector('.fv-image-compare-label-right');var isDragging = false;var scale = 1;var panX = 0;var panY = 0;var isPanning = false;var hasPanned = false;var lastClientX = 0;var lastClientY = 0;var initialDistance = null;var lastCenterX = null;var lastCenterY = null;function updateTransform() {if (wrapper.classList.contains('fv-image-compare-fullscreen')) {inner.style.setProperty('transform', 'translate(' + panX + 'px, ' + panY + 'px) scale(' + scale + ')', 'important');} else {inner.style.removeProperty('transform');scale = 1;panX = 0;panY = 0;}}function constrainPan() {var rect = wrapper.getBoundingClientRect();var maxPanX = Math.max(0, (rect.width * scale - rect.width) / 2);var maxPanY = Math.max(0, (rect.height * scale - rect.height) / 2);panX = Math.max(-maxPanX, Math.min(panX, maxPanX));panY = Math.max(-maxPanY, Math.min(panY, maxPanY));}wrapper.addEventListener('wheel', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;e.preventDefault();var zoomSensitivity = 0.005;var zoomFactor = Math.exp(-e.deltaY * zoomSensitivity);var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));if (newScale === scale) return;var rect = wrapper.getBoundingClientRect();var mouseX = e.clientX - rect.left - rect.width / 2;var mouseY = e.clientY - rect.top - rect.height / 2;var ratio = newScale / scale;panX = mouseX - (mouseX - panX) * ratio;panY = mouseY - (mouseY - panY) * ratio;scale = newScale;constrainPan();updateTransform();}, { passive: false });wrapper.addEventListener('mousedown', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen') || scale <= 1) return;if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;isPanning = true;hasPanned = false;lastClientX = e.clientX;lastClientY = e.clientY;});window.addEventListener('mousemove', function(e) {if (!isPanning) return;var dx = e.clientX - lastClientX;var dy = e.clientY - lastClientY;if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {hasPanned = true;}lastClientX = e.clientX;lastClientY = e.clientY;panX += dx;panY += dy;constrainPan();updateTransform();});window.addEventListener('mouseup', function() {isPanning = false;});wrapper.addEventListener('touchstart', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;if (e.touches.length === 2) {e.preventDefault();var dx = e.touches[0].clientX - e.touches[1].clientX;var dy = e.touches[0].clientY - e.touches[1].clientY;initialDistance = Math.sqrt(dx * dx + dy * dy);var rect = wrapper.getBoundingClientRect();lastCenterX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;lastCenterY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;hasPanned = true;} else if (e.touches.length === 1 && scale > 1) {if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;isPanning = true;hasPanned = false;lastClientX = e.touches[0].clientX;lastClientY = e.touches[0].clientY;}}, { passive: false });wrapper.addEventListener('touchmove', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;if (e.touches.length === 2 && initialDistance !== null) {e.preventDefault();var dx = e.touches[0].clientX - e.touches[1].clientX;var dy = e.touches[0].clientY - e.touches[1].clientY;var distance = Math.sqrt(dx * dx + dy * dy);if (initialDistance > 0) {var zoomFactor = distance / initialDistance;var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));var rect = wrapper.getBoundingClientRect();var centerX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;var centerY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;var ratio = newScale / scale;panX = centerX - (centerX - panX) * ratio;panY = centerY - (centerY - panY) * ratio;if (lastCenterX !== null && lastCenterY !== null) {panX += (centerX - lastCenterX);panY += (centerY - lastCenterY);}scale = newScale;lastCenterX = centerX;lastCenterY = centerY;constrainPan();updateTransform();}initialDistance = distance;} else if (e.touches.length === 1 && isPanning) {e.preventDefault();var dx = e.touches[0].clientX - lastClientX;var dy = e.touches[0].clientY - lastClientY;if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {hasPanned = true;}lastClientX = e.touches[0].clientX;lastClientY = e.touches[0].clientY;panX += dx;panY += dy;constrainPan();updateTransform();}}, { passive: false });wrapper.addEventListener('touchend', function(e) {if (e.touches.length < 2) {initialDistance = null;}if (e.touches.length === 0) {isPanning = false;}});function handleMove(clientX) {var rect = inner.getBoundingClientRect();var x = Math.max(0, Math.min(clientX - rect.left, rect.width));var percent = Math.max(0, Math.min((x / rect.width) * 100, 100));if (slider) slider.style.setProperty('left', percent + '%', 'important');if (fgImage) fgImage.style.setProperty('clip-path', 'polygon(0 0, ' + percent + '% 0, ' + percent + '% 100%, 0 100%)', 'important');if (labelLeft) {if (percent < 10) {labelLeft.style.setProperty('opacity', '0', 'important');} else {labelLeft.style.setProperty('opacity', '1', 'important');}}if (labelRight) {if (percent > 90) {labelRight.style.setProperty('opacity', '0', 'important');} else {labelRight.style.setProperty('opacity', '1', 'important');}}}function onMouseMove(e) {if (!isDragging) return;handleMove(e.clientX);}function onTouchMove(e) {if (!isDragging) return;e.preventDefault();handleMove(e.touches[0].clientX);}function stopDragging() {isDragging = false;window.removeEventListener('mousemove', onMouseMove);window.removeEventListener('mouseup', stopDragging);window.removeEventListener('touchmove', onTouchMove);window.removeEventListener('touchend', stopDragging);}if (slider) {var startDrag = function(clientX) {isDragging = true;handleMove(clientX);window.addEventListener('mousemove', onMouseMove);window.addEventListener('mouseup', stopDragging);};var startTouchDrag = function(clientX) {isDragging = true;handleMove(clientX);window.addEventListener('touchmove', onTouchMove, { passive: false });window.addEventListener('touchend', stopDragging);};slider.addEventListener('mousedown', function(e) {e.preventDefault();startDrag(e.clientX);});slider.addEventListener('touchstart', function(e) {e.preventDefault();startTouchDrag(e.touches[0].clientX);}, { passive: false });}var expandBtn = wrapper.querySelector('.fv-image-compare-expand-btn');var closeBtn = wrapper.querySelector('.fv-image-compare-close-btn');if (expandBtn) {if (window !== window.parent) {expandBtn.style.display = 'none';} else {expandBtn.addEventListener('click', function(e) {e.stopPropagation();wrapper.classList.add('fv-image-compare-fullscreen');document.body.style.overflow = 'hidden';if (fgImage && fgImage.dataset.highresSrc) {fgImage.src = fgImage.dataset.highresSrc;fgImage.removeAttribute('srcset');fgImage.removeAttribute('sizes');}if (bgImage && bgImage.dataset.highresSrc) {bgImage.src = bgImage.dataset.highresSrc;bgImage.removeAttribute('srcset');bgImage.removeAttribute('sizes');}});}}if (closeBtn) {closeBtn.addEventListener('click', function(e) {e.stopPropagation();wrapper.classList.remove('fv-image-compare-fullscreen');document.body.style.overflow = '';updateTransform();});}document.addEventListener('keydown', function(e) {if (e.key === 'Escape' && wrapper.classList.contains('fv-image-compare-fullscreen')) {wrapper.classList.remove('fv-image-compare-fullscreen');document.body.style.overflow = '';updateTransform();}});});var hotspots = chartWrapper.querySelectorAll('.fv-stl-hotspot-btn');var allProductsModal = chartWrapper.querySelector('.fv-stl-all-products-modal');var shopAllBtn = chartWrapper.querySelector('.fv-stl-shop-all-btn');var allProductsList = chartWrapper.querySelector('.fv-stl-all-products-list');var stlContainer = chartWrapper.querySelector('.fv-stl-container');function closeAllModals() {if (allProductsModal) {allProductsModal.classList.remove('is-active');var items = allProductsModal.querySelectorAll('.fv-stl-all-products-item');items.forEach(function(item) {item.classList.remove('is-highlighted');});if (stlContainer) {setTimeout(function() {if (!allProductsModal.classList.contains('is-active')) {stlContainer.style.minHeight = '';if ('parentIFrame' in window) {window.parentIFrame.size();}}}, 300);}}hotspots.forEach(function(btn) { btn.setAttribute('aria-expanded', 'false'); });if ('parentIFrame' in window) {window.parentIFrame.size();}}hotspots.forEach(function(btn) {btn.addEventListener('click', function(e) {e.stopPropagation();var hotspotId = btn.getAttribute('data-hotspot-id');var isExpanded = btn.getAttribute('aria-expanded') === 'true';closeAllModals();if (!isExpanded && allProductsModal) {btn.setAttribute('aria-expanded', 'true');allProductsModal.classList.add('is-active');var container = btn.closest('.fv-stl-container');if (container && container.offsetHeight < 450) {container.style.minHeight = '450px';}var targetItem = allProductsModal.querySelector('.fv-stl-all-products-item[data-product-id="' + hotspotId + '"]');if (targetItem) {targetItem.classList.add('is-highlighted');setTimeout(function() {targetItem.scrollIntoView({ behavior: 'smooth', block: 'center' });}, 100);}if ('parentIFrame' in window) {window.parentIFrame.size();}}});});if (shopAllBtn && allProductsModal) {shopAllBtn.addEventListener('click', function(e) {e.stopPropagation();closeAllModals();allProductsModal.classList.add('is-active');var container = shopAllBtn.closest('.fv-stl-container');if (container && container.offsetHeight < 450) {container.style.minHeight = '450px';}if ('parentIFrame' in window) {window.parentIFrame.size();}});}if (allProductsModal) {var closeAllBtn = allProductsModal.querySelector('.fv-stl-all-products-close');if (closeAllBtn) {closeAllBtn.addEventListener('click', function(e) {e.stopPropagation();closeAllModals();});}}chartWrapper.addEventListener('click', function(e) {if (!e.target.closest('.fv-stl-all-products-content')) {closeAllModals();}});if (allProductsModal) {allProductsModal.addEventListener('click', function(e) {if (!e.target.closest('.fv-stl-all-products-content')) {closeAllModals();}});}var iaNodes = chartWrapper.querySelectorAll('.fv-ia-node-button');var iaWrapper = chartWrapper.querySelector('.fv-ia-wrapper');var originalCaption = chartWrapper.querySelector('.fv-original-caption') || captionEl;var dynamicCaption = chartWrapper.querySelector('.fv-ia-dynamic-caption');var exploreBtn = chartWrapper.querySelector('.fv-ia-explore-btn');var currentIaIndex = -1;function closeAllIANodes() {iaNodes.forEach(function(btn) { btn.classList.remove('is-active'); });if (originalCaption) originalCaption.style.display = 'block';if (dynamicCaption) dynamicCaption.style.display = 'none';}function resetExploreBtn() {currentIaIndex = -1;if (exploreBtn) {var exploreSpan = exploreBtn.querySelector('span');if (exploreSpan) exploreSpan.textContent = 'Explore';}}iaNodes.forEach(function(btn, index) {btn.addEventListener('click', function(e) {e.stopPropagation();var isActive = btn.classList.contains('is-active');closeAllIANodes();if (!isActive) {currentIaIndex = index;if (exploreBtn) {var exploreSpan = exploreBtn.querySelector('span');if (exploreSpan) exploreSpan.textContent = 'Next';}btn.classList.add('is-active');if (dynamicCaption) {var title = btn.getAttribute('data-title') || '';var desc = btn.getAttribute('data-desc') || '';dynamicCaption.innerHTML = '';var strongTag = document.createElement('strong');strongTag.textContent = title;dynamicCaption.appendChild(strongTag);if (desc) {dynamicCaption.appendChild(document.createTextNode(' - ' + desc));}if (originalCaption) originalCaption.style.display = 'none';dynamicCaption.style.display = 'block';if (footerContentEl) footerContentEl.style.display = 'block';}} else {resetExploreBtn();}});});if (exploreBtn) {exploreBtn.addEventListener('click', function(e) {e.stopPropagation();if (iaNodes.length === 0) return;var nextIndex = currentIaIndex + 1;if (nextIndex >= iaNodes.length) {closeAllIANodes();resetExploreBtn();} else {currentIaIndex = nextIndex;var targetBtn = iaNodes[currentIaIndex];if (targetBtn) {if(targetBtn.classList.contains('is-active')) {targetBtn.click();}targetBtn.click();}}});}if (iaWrapper) {iaWrapper.addEventListener('click', function(e) {if (!e.target.closest('.fv-ia-node-button') && !e.target.closest('.fv-ia-explore-btn')) {closeAllIANodes();resetExploreBtn();}});}window.fvAnimateCharts(chartWrapper);var countdownContainer = chartWrapper.querySelector('.fv-countdown-container');if (countdownContainer) {var targetDateAttr = countdownContainer.getAttribute('data-target-date');if (targetDateAttr) {var targetDate = new Date(targetDateAttr);var primaryColor = countdownContainer.getAttribute('data-primary-color') || '#f97316';var subheadColor = countdownContainer.getAttribute('data-subhead-color') || '#ffffff';var pad = function(n) { return (n < 10 ? '0' : '') + n; };var updateCountdown = function() {var difference = +targetDate - +new Date();var d = 0, h = 0, m = 0, s = 0;if (difference > 0) {d = Math.floor(difference / (1000 * 60 * 60 * 24));h = Math.floor((difference / (1000 * 60 * 60)) % 24);m = Math.floor((difference / 1000 / 60) % 60);s = Math.floor((difference / 1000) % 60);}var daysEl = countdownContainer.querySelector('[data-time="days"]');var hoursEl = countdownContainer.querySelector('[data-time="hours"]');var minsEl = countdownContainer.querySelector('[data-time="minutes"]');var secsEl = countdownContainer.querySelector('[data-time="seconds"]');if (daysEl) daysEl.textContent = d;if (hoursEl) hoursEl.textContent = pad(h);if (minsEl) minsEl.textContent = pad(m);if (secsEl) secsEl.textContent = pad(s);};updateCountdown();setInterval(updateCountdown, 1000);}}}if (false) {var slideshowContainer = document.getElementById(uniqueId + '-slideshow');if (slideshowContainer) {var slides = slideshowContainer.querySelectorAll('.fv-slide');slides.forEach(function(slide) {setupWrapper(slide.querySelector('.fv-chart-wrapper'));});}} else {setupWrapper(root);}}if (document.readyState === 'loading') {document.addEventListener('DOMContentLoaded', function() { initialize('fv-chart-1789660646444-sr9dsdz95', false); });} else {initialize('fv-chart-1789660646444-sr9dsdz95', false);}})();</script></div> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/home/robot-vacuums/eufy-omni-e35-review</link>
                                                                            <description>
                            <![CDATA[ An excellent robot vacuum cleaner and mop that gets all the fundamentals right, offering weeks of truly hands-off cleaning. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">pouA5fgnUVQ5S9Lgms3BYH</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/FtgYPUYH2FARg7BAfsPMTi-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 23 Sep 2026 08:00:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Robot Vacuums]]></category>
                                                    <category><![CDATA[Home]]></category>
                                                    <category><![CDATA[Smart Home]]></category>
                                                                                                                    <dc:creator><![CDATA[ Alistair Charlton ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/oZ46mMfZNzivnpXwiVMoLf-320-70.jpeg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/FtgYPUYH2FARg7BAfsPMTi-1920-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Eufy Omni E35 vacuum cleaner emerging from dock]]></media:description>                                                            <media:text><![CDATA[Eufy Omni E35 vacuum cleaner emerging from dock]]></media:text>
                                <media:title type="plain"><![CDATA[Eufy Omni E35 vacuum cleaner emerging from dock]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/FtgYPUYH2FARg7BAfsPMTi-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <h3 class="article-body__section" id="section-eufy-omni-e35-two-minute-review"><span>Eufy Omni E35: two-minute review</span></h3><p>The Eufy Omni E35 is a near-perfect <a href="https://www.techradar.com/home/robot-vacuums/best-robot-vacuum">robot vacuum cleaner</a> and mop. It fits into the Eufy range below its flagship S series, but above the cheaper C and older X series. The headline figure of 35,000 Pa suction is seriously impressive, and so too is the E35’s ability to keep itself clean by cleverly preventing fine dust from blocking the filter.</p><p>The charge dock empties the dust bin, replenishes the mopping water tank, then washes and dries the mop with hot water and warm air, for truly hands-off cleaning. Navigation is also strong, the Eufy app works very well, and the E35’s overall cleaning performance fully justifies the four-figure price tag.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="TEAURV664q92cNjJK9BeSD" name="Eufy Omni E35-18" alt="Eufy Omni E35 robot vacuum" src="https://cdn.mos.cms.futurecdn.net/TEAURV664q92cNjJK9BeSD-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The E35 lacks the fragrance diffuser, water ozonator and more advanced, AI-powered navigation tech of the pricier Omni S2, but by cutting those Eufy has created a robovac that focuses on what really matters — cleaning your floors and, crucially, keeping itself clean too.</p><p>It’s the self-cleaning that impresses most here, with the mop still looking brand-new after weeks of use, the roller free from tangled hair, and the dust bin filter not caked in dust. Add that to the E35’s strong suction and pivoting mop that stretches into the edges of every room while pushing down to scrub stains and scraping itself clean as it goes, and this is truly a set-it-and-forget-it robovac.</p><h3 class="article-body__section" id="section-eufy-omni-e35-price-and-availability"><span>Eufy Omni E35: price and availability</span></h3><ul><li><strong>List price: $1,299.99 / £999 (about AU$1,830)</strong></li><li><strong>Launched: September 2026</strong></li></ul><p>The Omni E35 is the new flagship of Eufy’s E series of robotic vacuum cleaners. It sits above the E25 and E38, but below the company’s top-end S tier and overall flagship, the Omni S2.</p><p>At £999 (or $1,299.99 in the US; Australian price to be confirmed), the E35 is £100 more than the E28, but sits comfortably below the older £1,299 S1 and £1,599 S2.</p><p>Interestingly, the E35 has slightly more suction power than the range-topping S2, and features much of the same self-cleaning and anti-tangle tech. But it misses out on the S2’s fragrance system, water electrolysis function, and more advanced vision system — all of which helps explain the price difference, and also why the newer model’s base station is more compact.</p><p>Announced at the IFA technology trade show in September 2026, the Eufy Omni E35 is available now.</p><ul><li><strong>Value for money score: 4 out of 5</strong></li></ul><h3 class="article-body__section" id="section-eufy-omni-e35-specifications"><span>Eufy Omni E35: specifications</span></h3><div ><table><tbody><tr><td class="firstcol " ><p>Feature</p></td><td  ><p>Specification</p></td></tr><tr><td class="firstcol " ><p>Max suction</p></td><td  ><p>35,000 Pa</p></td></tr><tr><td class="firstcol " ><p>Robot diameter</p></td><td  ><p>14.2 in (360 mm)</p></td></tr><tr><td class="firstcol " ><p>Robot height</p></td><td  ><p>4.6 in (116 mm)</p></td></tr><tr><td class="firstcol " ><p>Dock dimensions</p></td><td  ><p>14.6 x 17.6 x 16.2 in / 270 x 447 x 411 mm</p></td></tr><tr><td class="firstcol " ><p>Dust bin volume (base)</p></td><td  ><p>2.5 liters</p></td></tr><tr><td class="firstcol " ><p>Water tank volume (base)</p></td><td  ><p>2.5 liters clean / 2.4 liters dirty</p></td></tr><tr><td class="firstcol " ><p>Base type</p></td><td  ><p>Charging self-emptying, refilling, hot-water mop washing, hot-water drying</p></td></tr><tr><td class="firstcol " ><p>Max threshold clearance</p></td><td  ><p>1.2 in (30 mm)</p></td></tr><tr><td class="firstcol " ><p>Mop type</p></td><td  ><p>Self-cleaning roller</p></td></tr><tr><td class="firstcol " ><p>Mop pad lifting</p></td><td  ><p>Automatic on carpet</p></td></tr><tr><td class="firstcol " ><p>Max runtime</p></td><td  ><p>180 minutes</p></td></tr></tbody></table></div><h3 class="article-body__section" id="section-eufy-omni-e35-design"><span>Eufy Omni E35: design</span></h3><ul><li><strong>Charge station with dusty bag, water tanks, mop cleaning and drying function</strong></li><li><strong>Self-cleaning roller mop with edge-cleaning design</strong></li><li><strong>Dual detangling brushes </strong></li></ul><p>The Omni E35 continues Eufy’s trend of making its robotic vacuums more compact, while increasing performance. The robot itself is broadly similar to most other members of the Omni family — more on that in a moment — but the docking station is where a reduction in bulk is most obvious. It makes the X10 Pro, my go-to recommendation from just a couple of years ago, look ancient.</p><p>The E35 dock is shorter and sleeker, with a glossy plastic front, a neat bit of silver trim above the robot’s parking space, and a couple of discreet integrated handles for lifting out the clean and dirty water tanks. At about 16 inches (around 40cm) tall, and about the same depth front to back, including the robot when parked, the whole system is pleasingly compact. So much so, you’d be forgiven for wrongly thinking this is an entry-level robovac with limited performance.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/jeKh93A7LWfgVXA2q9HjQD-1920-80.jpg" alt="Eufy Omni E35 robot vacuum" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/LoZKLBrQBWsx4QcpZuGgPD-1920-80.jpg" alt="Eufy Omni E35 robot vacuum" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/CV7ZhnsPo6FBbTNXW2jyWD-1920-80.jpg" alt="Eufy Omni E35 robot vacuum" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/tEN4LEWAP54WEC7Y7NWLGD-1920-80.jpg" alt="Eufy Omni E35 robot vacuum" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/P3qoCWSJHNKK2R7iaXpkFD-1920-80.jpg" alt="Eufy Omni E35 robot vacuum" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p>Inside that compact dock there’s a charger and dust bag, two tanks for clean and dirty water, and a system that washes the mop with 60C (140F) hot water then dries it with 55C (131F) hot air. There’s also a compartment for installing Eufy’s own floor detergent (one bottle is included in the box), and Eufy says the system can operate entirely hands-free for up to 60 days. This will depend on the size of your home and how frequently you clean, of course, but it’s an impressive claim nonetheless.</p><p>The robot itself measures 4.6 in (116mm) tall and 14.2 in (360mm) in diameter, making it slightly larger in both directions than the Eufy S2, and fractionally taller than the Dyson Spot+Scrub AI. It’s also slightly taller than my trusty Eufy X10 Pro, and while the E35 managed to clean beneath all of my furniture, you’ll want to check it against yours to be sure it’ll fit.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/jVYjJ8gqdLMsi4XtwjGJQD-1920-80.jpg" alt="Eufy Omni E35 robot vacuum" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/CZakRWNfEEcHiPTHQAF5FD-1920-80.jpg" alt="Eufy Omni E35 robot vacuum" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/uX49xWjRrUPFfvBVgVyKFD-1920-80.jpg" alt="Eufy Omni E35 robot vacuum" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/ERHcKTCiewr5do4cxDQkED-1920-80.jpg" alt="Eufy Omni E35 robot vacuum" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p>Eufy claims a maximum threshold clearance of 1.2 inches (30.5mm), which isn’t as impressive as the Omni S2, but I’ve had no issues with it driving up from wooden floors onto carpeting.</p><p>A clever piece of design sees fine dust separated and ushered into the robot’s onboard bin before it reaches the filter. Eufy claims this ensures the E35 retains its headline 35,000 Pa suction power for longer, since the filter doesn’t get clogged up quite so quickly. After testing I found dust had started to settle in the filter, but this was easily cleaned and didn’t appear to affect performance. There’s also an anti-tangle comb to stop hair wrapping around the roller brush.</p><ul><li><strong>Design score: 4.5 out of 5</strong></li></ul><h3 class="article-body__section" id="section-eufy-omni-e35-performance"><span>Eufy Omni E35: performance</span></h3><ul><li><strong>Excellent vacuuming</strong></li><li><strong>Very good mopping</strong></li><li><strong>Fully cleans and dries itself reliably</strong></li></ul><p>Eufy’s E series of robotic vacuums has impressed for a few years now, so my expectations were high when the E35 arrived. Thankfully, the E35 delivered. The setup process will be familiar to anyone who has used a Eufy Omni, or really any robotic vacuum cleaner, before.</p><p>Assembly takes just a couple of minutes, then it’s just a case of filling the clean water tank, installing the included detergent bottle, switching it on and following the instructions of the Eufy app. The E35 then completed a mapping expedition, driving into every room and quickly using its vision system to map the walls, floors and doorways.</p><p>Furniture isn’t automatically added to the map, as it is with the pricier Omni S2, but I’ve never cared much for that feature and would rather see the floor plan unobscured.</p><div class="vizualizer-embed"><style>@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap');#fv-chart-1789662423095-ng0fonoi0 *, #fv-chart-1789662423095-ng0fonoi0 *:before, #fv-chart-1789662423095-ng0fonoi0 *:after, #fv-chart-1789662423095-ng0fonoi0-slideshow *, #fv-chart-1789662423095-ng0fonoi0-slideshow *:before, #fv-chart-1789662423095-ng0fonoi0-slideshow *:after {box-sizing: border-box !important; margin: 0; padding: 0; border: 0;font-size: 100%; font: inherit; vertical-align: baseline;}#fv-chart-1789662423095-ng0fonoi0, #fv-chart-1789662423095-ng0fonoi0-slideshow { font-family: 'Open Sans', sans-serif !important; }#fv-chart-1789662423095-ng0fonoi0 {position: relative !important; overflow: visible !important;--riv-primary: #2E6E93;}#fv-chart-1789662423095-ng0fonoi0 .fv-inner-wrapper {color: #1F2937 !important; background-color: #ffffff !important;padding: 1.5rem 1.5rem 2rem !important; border-radius: 0.5rem !important;box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important;margin: 1rem 0 !important; display: flex !important; flex-direction: column !important;overflow: hidden !important;}#fv-chart-1789662423095-ng0fonoi0 .fv-inner-wrapper.fv-no-header.fv-is-image-compare {padding-top: 0 !important;}#fv-chart-1789662423095-ng0fonoi0.fv-full-bleed {width: 100vw !important;margin-left: calc(50% - 50vw) !important;}body {overflow-x: clip !important;}#fv-chart-1789662423095-ng0fonoi0.fv-full-bleed .fv-inner-wrapper {padding: 0 !important;border-radius: 0 !important;box-shadow: none !important;margin: 0 !important;background-color: transparent !important;}#fv-chart-1789662423095-ng0fonoi0 .fv-inner-wrapper.fv-is-shop-the-look {padding: 0 !important;border-radius: 0 !important;box-shadow: none !important;margin: 0 !important;background-color: transparent !important;}#fv-chart-1789662423095-ng0fonoi0-slideshow {position: relative !important;width: 100% !important;margin: 1rem 0 !important;--riv-primary: #2E6E93;}#fv-chart-1789662423095-ng0fonoi0-slideshow .fv-slides-wrapper {position: relative !important;width: 100% !important;}#fv-chart-1789662423095-ng0fonoi0-slideshow .fv-slide {width: 100% !important;animation: fv-fade-in 0.3s ease-in-out;}@keyframes fv-fade-in {from { opacity: 0; }to { opacity: 1; }}#fv-chart-1789662423095-ng0fonoi0-slideshow .fv-slideshow-nav-row {position: relative !important;display: flex !important;justify-content: space-between !important;align-items: center !important;padding: 0 0 16px 0 !important;width: 100% !important;z-index: 20 !important;}#fv-chart-1789662423095-ng0fonoi0-slideshow .fv-nav-btn {background-color: var(--riv-primary) !important;color: #ffffff !important;border: none !important;border-radius: 4px !important;padding: 8px 16px !important;font-size: 14px !important;font-weight: 700 !important;cursor: pointer !important;display: flex !important;align-items: center !important;justify-content: center !important;gap: 6px !important;transition: opacity 0.2s, background-color 0.2s !important;height: 36px !important;text-transform: none !important;box-shadow: 0 1px 2px rgba(0,0,0,0.1) !important;}#fv-chart-1789662423095-ng0fonoi0-slideshow .fv-nav-btn svg {width: 18px !important;height: 18px !important;stroke-width: 3px !important;filter: none !important;}#fv-chart-1789662423095-ng0fonoi0-slideshow .fv-nav-btn:hover {opacity: 0.9 !important;transform: translateY(-1px) !important;}#fv-chart-1789662423095-ng0fonoi0-slideshow .fv-nav-btn.disabled {background-color: #E5E7EB !important;color: #9CA3AF !important;cursor: default !important;pointer-events: none !important;box-shadow: none !important;}#fv-chart-1789662423095-ng0fonoi0-slideshow .fv-slide-counter {font-family: 'Poppins', sans-serif !important;font-size: 14px !important;font-weight: 600 !important;color: #374151 !important;text-align: center !important;min-width: 40px !important;background-color: rgba(255,255,255,0.8) !important;padding: 2px 8px !important;border-radius: 10px !important;}#fv-chart-1789662423095-ng0fonoi0-slideshow .fv-slideshow-select {position: absolute !important;top: 10px !important;right: 10px !important;z-index: 20 !important;appearance: none !important;-webkit-appearance: none !important;-moz-appearance: none !important;background-color: white !important;border: 1px solid #d1d5db !important;color: #1F2937 !important;font-family: 'Open Sans', sans-serif !important;font-size: 14px !important;font-weight: 600 !important;padding: 6px 32px 6px 12px !important;border-radius: 4px !important;cursor: pointer !important;box-shadow: 0 1px 2px rgba(0,0,0,0.05) !important;background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e") !important;background-position: right 0.5rem center !important;background-repeat: no-repeat !important;background-size: 1.5em 1.5em !important;}#fv-chart-1789662423095-ng0fonoi0-slideshow .fv-slideshow-select:focus {outline: 2px solid #2E6E93 !important;border-color: #2E6E93 !important;}#fv-chart-1789662423095-ng0fonoi0 .fv-chart-title {font-weight: bold !important;text-align: center !important;margin-bottom: 0.5rem !important;color: var(--riv-primary) !important;font-size: 20px !important;line-height: 1.2 !important;font-family: 'Open Sans', sans-serif !important;text-transform: none !important;white-space: normal !important;overflow-wrap: break-word !important;padding: 0 20px !important;}#fv-chart-1789662423095-ng0fonoi0 .fv-chart-subhead {font-size: 18px !important;font-weight: 500 !important;text-align: center !important;margin-bottom: 2rem !important;color: #374151 !important;line-height: 1.7 !important;font-family: 'Open Sans', sans-serif !important;display: block !important;text-transform: none !important;padding: 0 20px !important;}#fv-chart-1789662423095-ng0fonoi0 .rv-chart-caption { font-size: 15px !important; color: #374151 !important; text-align: center !important; font-style: normal !important; font-weight: normal !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-versus-chart { display: flex; flex-direction: column; width: 100%; margin-top: 1rem; }#fv-chart-1789662423095-ng0fonoi0 .fv-versus-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding: 0 1rem; }#fv-chart-1789662423095-ng0fonoi0 .fv-versus-select-wrapper { flex: 1; min-width: 0; }#fv-chart-1789662423095-ng0fonoi0 .fv-versus-select-wrapper.fv-left { text-align: center; padding-right: 1rem; }#fv-chart-1789662423095-ng0fonoi0 .fv-versus-select-wrapper.fv-right { text-align: center; padding-left: 1rem; }#fv-chart-1789662423095-ng0fonoi0 .fv-versus-select-container { position: relative; display: inline-block; max-width: 100%; width: 100%; }#fv-chart-1789662423095-ng0fonoi0 .fv-versus-chevron { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; width: 16px; height: 16px; flex-shrink: 0; }#fv-chart-1789662423095-ng0fonoi0 .fv-versus-select-wrapper.fv-left .fv-versus-chevron { right: 0; }#fv-chart-1789662423095-ng0fonoi0 .fv-versus-select-wrapper.fv-right .fv-versus-chevron { right: 0; }#fv-chart-1789662423095-ng0fonoi0 .fv-versus-select { background: transparent; border: none; border-bottom: 2px solid; font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; padding: 0.25rem 0; cursor: pointer; outline: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; max-width: 100%; width: 100%; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; }#fv-chart-1789662423095-ng0fonoi0 .fv-versus-select.fv-select-left { text-align: center; direction: ltr; padding-right: 1.25rem; }#fv-chart-1789662423095-ng0fonoi0 .fv-versus-select.fv-select-right { text-align: center; padding-right: 1.25rem; }#fv-chart-1789662423095-ng0fonoi0 .fv-versus-select option { font-family: 'Open Sans', sans-serif; font-weight: 400; font-size: 14px; color: #374151; direction: ltr; text-align: left; }#fv-chart-1789662423095-ng0fonoi0 .fv-versus-vs { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; color: #374151; letter-spacing: 0.1em; padding: 0 1rem; }#fv-chart-1789662423095-ng0fonoi0 .fv-versus-body { display: flex; flex-direction: column; gap: 1.5rem; }#fv-chart-1789662423095-ng0fonoi0 .fv-versus-row { position: relative; height: auto; padding-top: 20px; margin-bottom: 0.25rem; display: block; }#fv-chart-1789662423095-ng0fonoi0 .fv-versus-bar-container { position: relative; height: 32px; display: flex; align-items: center; }#fv-chart-1789662423095-ng0fonoi0 .fv-versus-bar-left-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-end; align-items: center; }#fv-chart-1789662423095-ng0fonoi0 .fv-versus-bar-right-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-start; align-items: center; }#fv-chart-1789662423095-ng0fonoi0 .fv-versus-bar { height: 32px; width: var(--target-width); transition: width 0.8s ease-out; animation: fv-grow-max-width 0.8s ease-out forwards; display: flex; align-items: center; overflow: hidden; color: #ffffff; }#fv-chart-1789662423095-ng0fonoi0 .fv-versus-bar-left { border-radius: 4px 0 0 4px; justify-content: flex-end; padding: 0 8px; }#fv-chart-1789662423095-ng0fonoi0 .fv-versus-bar-right { border-radius: 0 4px 4px 0; justify-content: flex-start; padding: 0 8px; }@keyframes fv-grow-max-width {from { max-width: 0; }to { max-width: 100%; }}#fv-chart-1789662423095-ng0fonoi0 .fv-versus-center-line { position: absolute; left: 50%; top: 0; bottom: 0; width: 4px; background-color: #ffffff; transform: translateX(-50%); z-index: 1; }#fv-chart-1789662423095-ng0fonoi0 .fv-inside-left { white-space: nowrap; flex-shrink: 0; }#fv-chart-1789662423095-ng0fonoi0 .fv-inside-right { white-space: nowrap; flex-shrink: 0; }#fv-chart-1789662423095-ng0fonoi0 .fv-versus-val-text { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; }#fv-chart-1789662423095-ng0fonoi0 .fv-versus-pct-diff { font-size: 12px; font-weight: 600; }#fv-chart-1789662423095-ng0fonoi0 .fv-versus-label { position: absolute; left: 50%; transform: translateX(-50%); top: 0; background-color: transparent; border: none; box-shadow: none; padding: 0; font-family: 'Open Sans', sans-serif; font-weight: 700; font-size: 14px; color: #374151; white-space: nowrap; }#fv-chart-1789662423095-ng0fonoi0 .sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-image-compare-container { width: auto !important; margin-left: -1.5rem !important; margin-right: -1.5rem !important; margin-bottom: 2rem !important; }#fv-chart-1789662423095-ng0fonoi0.fv-full-bleed .fv-image-compare-container { width: 100% !important; max-width: none !important; margin: 0 auto !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-image-compare-wrapper { position: relative !important; width: 100% !important; overflow: hidden !important; border-radius: 0 !important; background-color: #000 !important; touch-action: pan-y !important; user-select: none !important; -webkit-user-select: none !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-image-compare-inner { position: relative !important; width: 100% !important; height: 100% !important; display: block !important; transform-origin: center center !important; transition: transform 0.1s ease-out !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-image-compare-bg { display: block !important; width: 100% !important; height: auto !important; pointer-events: none !important; user-select: none !important; -webkit-user-select: none !important; -webkit-user-drag: none !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-image-compare-fg { position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; object-fit: cover !important; clip-path: polygon(0 0, 50% 0, 50% 100%, 0 100%) !important; pointer-events: none !important; user-select: none !important; -webkit-user-select: none !important; -webkit-user-drag: none !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-image-compare-slider { position: absolute !important; top: 0 !important; bottom: 0 !important; left: 50% !important; width: 32px !important; transform: translateX(-50%) !important; cursor: ew-resize !important; z-index: 10 !important; user-select: none !important; -webkit-user-select: none !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-image-compare-slider-line { position: absolute !important; top: 0 !important; bottom: 0 !important; left: 50% !important; width: 4px !important; background-color: white !important; transform: translateX(-50%) !important; box-shadow: 0 0 10px rgba(0,0,0,0.5) !important; pointer-events: none !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-image-compare-handle { position: absolute !important; top: 50% !important; left: 50% !important; transform: translate(-50%, -50%) !important; width: 32px !important; height: 32px !important; background-color: white !important; border-radius: 50% !important; box-shadow: 0 2px 6px rgba(0,0,0,0.3) !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 4px !important; pointer-events: none !important; z-index: 11 !important; overflow: hidden !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-image-compare-handle.fv-image-compare-handle-square { border-radius: 6px !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-image-compare-arrow-left { width: 0 !important; height: 0 !important; border-top: 4px solid transparent !important; border-bottom: 4px solid transparent !important; border-right: 4px solid #4b5563 !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-image-compare-arrow-right { width: 0 !important; height: 0 !important; border-top: 4px solid transparent !important; border-bottom: 4px solid transparent !important; border-left: 4px solid #4b5563 !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-image-compare-label { position: absolute !important; top: 1rem !important; background-color: rgba(0, 0, 0, 0.5) !important; color: white !important; padding: 0.25rem 0.75rem !important; border-radius: 0.25rem !important; font-size: 0.875rem !important; font-weight: 500 !important; pointer-events: none !important; backdrop-filter: blur(4px) !important; z-index: 5 !important; transition: right 0.3s ease, opacity 0.2s ease !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-image-compare-label-left { left: 1rem !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-image-compare-label-right { right: 1rem !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-image-compare-expand-btn, #fv-chart-1789662423095-ng0fonoi0 .fv-image-compare-close-btn { position: absolute !important; bottom: 1rem !important; right: 1rem !important; background-color: rgba(0, 0, 0, 0.5) !important; color: white !important; border: none !important; border-radius: 0.25rem !important; padding: 0.5rem !important; cursor: pointer !important; z-index: 20 !important; display: flex !important; align-items: center !important; justify-content: center !important; backdrop-filter: blur(4px) !important; transition: background-color 0.2s !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-image-compare-expand-btn:hover, #fv-chart-1789662423095-ng0fonoi0 .fv-image-compare-close-btn:hover { background-color: rgba(0, 0, 0, 0.7) !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-image-compare-close-btn { display: none !important; top: 1rem !important; bottom: auto !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-image-compare-wrapper.fv-image-compare-fullscreen { position: fixed !important; top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important; width: 100% !important; height: 100% !important; z-index: 999999 !important; display: flex !important; align-items: center !important; justify-content: center !important; background-color: rgba(0, 0, 0, 0.9) !important; margin: 0 !important; touch-action: none !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-inner { width: 100% !important; height: 100% !important; display: flex !important; align-items: center !important; justify-content: center !important; cursor: grab !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-inner:active { cursor: grabbing !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-bg { position: absolute !important; top: 0 !important; left: 0 !important; max-width: 100% !important; max-height: 100% !important; width: 100% !important; height: 100% !important; object-fit: contain !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-fg { max-width: 100% !important; max-height: 100% !important; width: 100% !important; height: 100% !important; object-fit: contain !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-expand-btn { display: none !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-close-btn { display: flex !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-label-right { right: 4rem !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-footer-content { text-align: center !important; width: 100% !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-logo {display: block !important;margin: 0 auto !important;width: 120px !important;min-width: 120px !important;max-width: 120px !important;height: auto !important;object-fit: contain !important;flex-shrink: 0 !important;}#fv-chart-1789662423095-ng0fonoi0 .fv-dropdown-wrapper { text-align: center !important; margin-bottom: 16px !important; margin-top: 0 !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-dropdown-title-container { position: relative !important; display: inline-block !important; max-width: 100% !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-dropdown-title {appearance: none !important;-webkit-appearance: none !important;-moz-appearance: none !important;background: transparent !important;border: none !important;font-size: 18px !important;font-weight: 600 !important;color: var(--riv-primary) !important;padding-right: 28px !important;padding-left: 10px !important;cursor: pointer !important;text-align: center !important;text-align-last: center !important;width: auto !important;max-width: 100% !important;font-family: 'Open Sans', sans-serif !important;line-height: 1.3 !important;margin: 0 !important;text-overflow: ellipsis !important;overflow: hidden !important;white-space: nowrap !important;}#fv-chart-1789662423095-ng0fonoi0 .fv-dropdown-title:focus { outline: none !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-dropdown-title::-ms-expand { display: none !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-dropdown-chevron {position: absolute !important;right: 0 !important;top: 50% !important;transform: translateY(-50%) !important;pointer-events: none !important;color: var(--riv-primary) !important;display: flex !important;align-items: center !important;}#fv-chart-1789662423095-ng0fonoi0 .fv-carousel-title-controls { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 16px !important; width: 100% !important; gap: 12px !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-carousel-nav-btn {background: transparent !important; border: 1px solid #d1d5db !important; border-radius: 6px !important; padding: 6px 10px !important;cursor: pointer !important; font-size: 14px !important; color: #374151 !important; display: flex !important; align-items: center !important; gap: 4px !important; font-family: 'Open Sans', sans-serif !important;}#fv-chart-1789662423095-ng0fonoi0 .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-carousel-counter { font-size: 14px !important; color: #374151 !important; text-align: center !important; margin-top: 1rem !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 8px 16px !important; margin: 0 !important; padding: 0 !important; margin-top: 1rem !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #374151 !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-multi-value-legend {display: flex !important;justify-content: center !important;flex-wrap: wrap !important;gap: 12px 24px !important;margin-bottom: 1.5rem !important;padding: 0 !important;}#fv-chart-1789662423095-ng0fonoi0 .fv-multi-legend-item { display: flex !important; align-items: center !important; gap: 8px !important; font-size: 14px !important; color: #374151 !important; font-weight: 500 !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-multi-legend-swatch { width: 16px !important; height: 16px !important; border-radius: 3px !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-benchmark-group { margin-bottom: 1rem !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-benchmark-title {font-size: 18px !important; font-weight: 600 !important; margin-bottom: 16px !important; margin-top: 0 !important; padding: 0 !important;text-align: center !important; color: var(--riv-primary) !important; flex: 1 !important; min-width: 0 !important;font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important;text-transform: none !important;white-space: normal !important;overflow-wrap: break-word !important;word-wrap: break-word !important;max-width: 100% !important;}#fv-chart-1789662423095-ng0fonoi0 .fv-bar-row, #fv-chart-1789662423095-ng0fonoi0 .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; position: relative !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-bar-label { width: 150px !important; flex-shrink: 0 !important; font-size: 14px !important; color: #374151 !important; padding-right: 10px !important; text-align: right !important; font-weight: 500 !important; display: block !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-bar-container { flex-grow: 1 !important; background-color: #E5E7EB !important; border-radius: 4px !important; min-height: 25px !important; border: 1px solid #D1D5DB !important; position: relative !important; display: flex !important; align-items: center !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-bar-commentary-inline { display: none !important; position: absolute !important; left: 150px !important; top: 0 !important; bottom: 0 !important; right: 0 !important; width: calc(100% - 150px) !important; margin: 0 !important; padding: 0 8px !important; font-size: 13px !important; color: #fff !important; background: rgba(0,0,0,0.8) !important; border-radius: 4px !important; line-height: 1.4 !important; font-weight: normal !important; text-transform: none !important; word-wrap: break-word !important; z-index: 10 !important; align-items: center !important; overflow-y: auto !important; }#fv-chart-1789662423095-ng0fonoi0.preview-wrapper .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1789662423095-ng0fonoi0.preview-wrapper .fv-bar-commentary-inline:focus, #fv-chart-1789662423095-ng0fonoi0.preview-wrapper .fv-bar-commentary-inline:focus-within, #fv-chart-1789662423095-ng0fonoi0.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1789662423095-ng0fonoi0.mobile-view .fv-bar-commentary-inline:focus, #fv-chart-1789662423095-ng0fonoi0.mobile-view .fv-bar-commentary-inline:focus-within { display: flex !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-bar { height: 100% !important; border-radius: 3px !important; display: flex !important; align-items: center !important; transition: opacity 0.2s ease, width 0.8s ease-out !important; min-height: 23px !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-bar:hover { opacity: 0.8 !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-bar-inner-content { display: flex !important; justify-content: space-between !important; align-items: center !important; width: 100% !important; height: 100% !important; padding: 0 8px !important; font-size: 14px !important; font-weight: bold !important; overflow: hidden !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-bar-inner-value { flex-shrink: 0 !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-bar-value-outside { padding-left: 8px !important; font-size: 14px !important; font-weight: bold !important; color: #374151 !important; white-space: nowrap !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-multi-bar-container { flex-direction: column !important; padding: 4px !important; align-items: stretch !important; gap: 4px !important; height: auto !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-multi-bar-item { display: flex !important; align-items: center !important; height: 25px !important; width: 100% !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-stacked-bar { display: flex !important; overflow: hidden !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-stacked-segment { height: 100% !important; display: flex !important; align-items: center !important; justify-content: flex-end !important; padding-right: 8px !important; border-right: 1px solid rgba(255,255,255,0.3) !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-stacked-segment:last-child { border-right: none !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-segment-value { font-size: 14px !important; font-weight: bold !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-grouped-product-title-wrapper { padding-left: 150px !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.5rem !important; font-weight: 700 !important; font-size: 14px !important; color: #374151 !important; text-transform: none !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-bar-cluster .fv-bar-container { height: 20px !important; }#fv-chart-1789662423095-ng0fonoi0 .riv-grid line {stroke: #D1D5DB !important;stroke-dasharray: 3 3 !important;}#fv-chart-1789662423095-ng0fonoi0 .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-x-axis-ticks { display: flex !important; justify-content: space-between !important; padding-top: 4px !important; font-size: 13px !important; color: #374151 !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-x-axis-ticks span { position: relative !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-x-axis-ticks span::before { content: '' !important; position: absolute !important; top: -6px !important; left: 50% !important; transform: translateX(-50%) !important; width: 2px !important; height: 4px !important; background-color: #D1D5DB !important; border-radius: 1px !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #374151 !important; margin-top: 8px !important; display: block !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-x-axis-title { text-align: center !important; font-size: 15px !important; color: #374151 !important; margin-top: 8px !important; margin-bottom: 16px !important; line-height: 1.5 !important; padding: 0 1rem !important; display: block !important; font-weight: bold !important; }#fv-chart-1789662423095-ng0fonoi0 .fv-y-axis-title {font-size: 15px !important;color: #374151 !important;line-height: 1.5 !important;text-align: left !important;padding-left: 5.83% !important;margin-bottom: 4px !important;display: block !important;font-weight: bold !important;}#fv-chart-1789662423095-ng0fonoi0.mobile-view .fv-pie-container,#fv-chart-1789662423095-ng0fonoi0.labels-on-top .fv-pie-container {flex-direction: column !important; gap: 1rem !important;}#fv-chart-1789662423095-ng0fonoi0.mobile-view .fv-grouped-product-title-wrapper,#fv-chart-1789662423095-ng0fonoi0.labels-on-top .fv-grouped-product-title-wrapper {padding-left: 0 !important;}#fv-chart-1789662423095-ng0fonoi0.mobile-view .fv-bar-row,#fv-chart-1789662423095-ng0fonoi0.mobile-view .fv-stacked-product,#fv-chart-1789662423095-ng0fonoi0.mobile-view .fv-grouped-bar-product,#fv-chart-1789662423095-ng0fonoi0.labels-on-top .fv-bar-row,#fv-chart-1789662423095-ng0fonoi0.labels-on-top .fv-stacked-product,#fv-chart-1789662423095-ng0fonoi0.labels-on-top .fv-grouped-bar-product {flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important;}#fv-chart-1789662423095-ng0fonoi0.mobile-view .fv-bar-label:not(.fv-grouped-product-title),#fv-chart-1789662423095-ng0fonoi0.labels-on-top .fv-bar-label:not(.fv-grouped-product-title) {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1789662423095-ng0fonoi0.mobile-view .fv-bar-label,#fv-chart-1789662423095-ng0fonoi0.mobile-view .fv-grouped-product-title,#fv-chart-1789662423095-ng0fonoi0.labels-on-top .fv-bar-label,#fv-chart-1789662423095-ng0fonoi0.labels-on-top .fv-grouped-product-title {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1789662423095-ng0fonoi0.mobile-view .fv-bar-container,#fv-chart-1789662423095-ng0fonoi0.mobile-view .fv-bar-cluster,#fv-chart-1789662423095-ng0fonoi0.labels-on-top .fv-bar-container,#fv-chart-1789662423095-ng0fonoi0.labels-on-top .fv-bar-cluster {width: 100% !important;}#fv-chart-1789662423095-ng0fonoi0.mobile-view .fv-bar-row .fv-bar-commentary-inline,#fv-chart-1789662423095-ng0fonoi0.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline,#fv-chart-1789662423095-ng0fonoi0.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus,#fv-chart-1789662423095-ng0fonoi0.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus-within,#fv-chart-1789662423095-ng0fonoi0.labels-on-top .fv-bar-row .fv-bar-commentary-inline,#fv-chart-1789662423095-ng0fonoi0.labels-on-top .fv-bar-row:hover .fv-bar-commentary-inline,#fv-chart-1789662423095-ng0fonoi0.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus,#fv-chart-1789662423095-ng0fonoi0.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus-within {position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important;}#fv-chart-1789662423095-ng0fonoi0.mobile-view .fv-x-axis-wrapper,#fv-chart-1789662423095-ng0fonoi0.labels-on-top .fv-x-axis-wrapper {margin-left: 0 !important;}#fv-chart-1789662423095-ng0fonoi0.mobile-view .fv-x-axis-label-space,#fv-chart-1789662423095-ng0fonoi0.labels-on-top .fv-x-axis-label-space {display: none !important;}#fv-chart-1789662423095-ng0fonoi0.mobile-view .fv-x-axis-chart-space,#fv-chart-1789662423095-ng0fonoi0.labels-on-top .fv-x-axis-chart-space {padding-right: 0 !important;}#fv-chart-1789662423095-ng0fonoi0.mobile-view .fv-benchmark-title,#fv-chart-1789662423095-ng0fonoi0.labels-on-top .fv-benchmark-title {font-size: 16px !important;}#fv-chart-1789662423095-ng0fonoi0.mobile-view .fv-dropdown-title,#fv-chart-1789662423095-ng0fonoi0.labels-on-top .fv-dropdown-title {font-size: 16px !important;}#fv-chart-1789662423095-ng0fonoi0.mobile-view .fv-carousel-nav-btn,#fv-chart-1789662423095-ng0fonoi0.labels-on-top .fv-carousel-nav-btn {padding: 8px 12px !important; font-size: 14px !important;}#fv-chart-1789662423095-ng0fonoi0.mobile-view .fv-chart-title,#fv-chart-1789662423095-ng0fonoi0.labels-on-top .fv-chart-title {padding: 0 8px !important;}#fv-chart-1789662423095-ng0fonoi0.mobile-view .fv-chart-subhead,#fv-chart-1789662423095-ng0fonoi0.labels-on-top .fv-chart-subhead {padding: 0 8px !important;}#fv-chart-1789662423095-ng0fonoi0.mobile-view .fv-versus-header,#fv-chart-1789662423095-ng0fonoi0.labels-on-top .fv-versus-header {flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important;}#fv-chart-1789662423095-ng0fonoi0.mobile-view .fv-versus-select-wrapper,#fv-chart-1789662423095-ng0fonoi0.labels-on-top .fv-versus-select-wrapper {flex: 1 !important; min-width: 0 !important; width: 100% !important;}#fv-chart-1789662423095-ng0fonoi0.mobile-view .fv-versus-select-wrapper.fv-left,#fv-chart-1789662423095-ng0fonoi0.labels-on-top .fv-versus-select-wrapper.fv-left {text-align: center !important; padding-right: 0 !important;}#fv-chart-1789662423095-ng0fonoi0.mobile-view .fv-versus-select-wrapper.fv-right,#fv-chart-1789662423095-ng0fonoi0.labels-on-top .fv-versus-select-wrapper.fv-right {text-align: center !important; padding-left: 0 !important;}#fv-chart-1789662423095-ng0fonoi0.mobile-view .fv-versus-select.fv-select-left,#fv-chart-1789662423095-ng0fonoi0.labels-on-top .fv-versus-select.fv-select-left {text-align: center !important;}#fv-chart-1789662423095-ng0fonoi0.mobile-view .fv-versus-select.fv-select-right,#fv-chart-1789662423095-ng0fonoi0.labels-on-top .fv-versus-select.fv-select-right {text-align: center !important;}#fv-chart-1789662423095-ng0fonoi0.mobile-view .fv-versus-vs,#fv-chart-1789662423095-ng0fonoi0.labels-on-top .fv-versus-vs {text-align: center !important; padding: 0.25rem 0 !important;}#fv-chart-1789662423095-ng0fonoi0.mobile-view .fv-versus-select-container,#fv-chart-1789662423095-ng0fonoi0.labels-on-top .fv-versus-select-container {max-width: 100% !important; width: 100% !important;}#fv-chart-1789662423095-ng0fonoi0.mobile-view .fv-versus-select,#fv-chart-1789662423095-ng0fonoi0.labels-on-top .fv-versus-select {font-size: 14px !important; width: 100% !important;}#fv-chart-1789662423095-ng0fonoi0.mobile-view .fv-stl-shop-all-btn,#fv-chart-1789662423095-ng0fonoi0.labels-on-top .fv-stl-shop-all-btn {bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important;}#fv-chart-1789662423095-ng0fonoi0.mobile-view .fv-stl-shop-all-logo,#fv-chart-1789662423095-ng0fonoi0.mobile-view .fv-stl-shop-all-icon,#fv-chart-1789662423095-ng0fonoi0.labels-on-top .fv-stl-shop-all-logo,#fv-chart-1789662423095-ng0fonoi0.labels-on-top .fv-stl-shop-all-icon {width: 2rem !important; height: 2rem !important;}#fv-chart-1789662423095-ng0fonoi0.mobile-view .fv-stl-shop-all-icon svg,#fv-chart-1789662423095-ng0fonoi0.labels-on-top .fv-stl-shop-all-icon svg {width: 14px !important; height: 14px !important;}#fv-chart-1789662423095-ng0fonoi0.mobile-view .fv-bar-commentary-inline,#fv-chart-1789662423095-ng0fonoi0.labels-on-top .fv-bar-commentary-inline {display: block !important; margin-left: 0 !important; width: 100% !important;}#fv-chart-1789662423095-ng0fonoi0.mobile-view .fv-y-axis-title { padding-left: 5% !important;  }#fv-chart-1789662423095-ng0fonoi0.mobile-view.fv-contains-line-chart .fv-footer-content {margin-left: -1rem !important;margin-right: -1rem !important;}@media (max-width: 599px) {#fv-chart-1789662423095-ng0fonoi0 .fv-pie-container {flex-direction: column !important; gap: 1rem !important;}#fv-chart-1789662423095-ng0fonoi0 .fv-grouped-product-title-wrapper {padding-left: 0 !important;}#fv-chart-1789662423095-ng0fonoi0 .fv-bar-row,#fv-chart-1789662423095-ng0fonoi0 .fv-stacked-product,#fv-chart-1789662423095-ng0fonoi0 .fv-grouped-bar-product {flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important;}#fv-chart-1789662423095-ng0fonoi0 .fv-bar-label:not(.fv-grouped-product-title) {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1789662423095-ng0fonoi0 .fv-bar-label,#fv-chart-1789662423095-ng0fonoi0 .fv-grouped-product-title {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1789662423095-ng0fonoi0 .fv-bar-container,#fv-chart-1789662423095-ng0fonoi0 .fv-bar-cluster {width: 100% !important;}#fv-chart-1789662423095-ng0fonoi0 .fv-bar-row .fv-bar-commentary-inline,#fv-chart-1789662423095-ng0fonoi0 .fv-bar-row:hover .fv-bar-commentary-inline,#fv-chart-1789662423095-ng0fonoi0 .fv-bar-row .fv-bar-commentary-inline:focus,#fv-chart-1789662423095-ng0fonoi0 .fv-bar-row .fv-bar-commentary-inline:focus-within {position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important;}#fv-chart-1789662423095-ng0fonoi0 .fv-x-axis-wrapper {margin-left: 0 !important;}#fv-chart-1789662423095-ng0fonoi0 .fv-x-axis-label-space {display: none !important;}#fv-chart-1789662423095-ng0fonoi0 .fv-x-axis-chart-space {padding-right: 0 !important;}#fv-chart-1789662423095-ng0fonoi0 .fv-benchmark-title {font-size: 16px !important;}#fv-chart-1789662423095-ng0fonoi0 .fv-dropdown-title {font-size: 16px !important;}#fv-chart-1789662423095-ng0fonoi0 .fv-carousel-nav-btn {padding: 8px 12px !important; font-size: 14px !important;}#fv-chart-1789662423095-ng0fonoi0 .fv-chart-title {padding: 0 8px !important;}#fv-chart-1789662423095-ng0fonoi0 .fv-chart-subhead {padding: 0 8px !important;}#fv-chart-1789662423095-ng0fonoi0 .fv-versus-header {flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important;}#fv-chart-1789662423095-ng0fonoi0 .fv-versus-select-wrapper {flex: 1 !important; min-width: 0 !important; width: 100% !important;}#fv-chart-1789662423095-ng0fonoi0 .fv-versus-select-wrapper.fv-left {text-align: center !important; padding-right: 0 !important;}#fv-chart-1789662423095-ng0fonoi0 .fv-versus-select-wrapper.fv-right {text-align: center !important; padding-left: 0 !important;}#fv-chart-1789662423095-ng0fonoi0 .fv-versus-select.fv-select-left {text-align: center !important;}#fv-chart-1789662423095-ng0fonoi0 .fv-versus-select.fv-select-right {text-align: center !important;}#fv-chart-1789662423095-ng0fonoi0 .fv-versus-vs {text-align: center !important; padding: 0.25rem 0 !important;}#fv-chart-1789662423095-ng0fonoi0 .fv-versus-select-container {max-width: 100% !important; width: 100% !important;}#fv-chart-1789662423095-ng0fonoi0 .fv-versus-select {font-size: 14px !important; width: 100% !important;}#fv-chart-1789662423095-ng0fonoi0 .fv-stl-shop-all-btn {bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important;}#fv-chart-1789662423095-ng0fonoi0 .fv-stl-shop-all-logo,#fv-chart-1789662423095-ng0fonoi0 .fv-stl-shop-all-icon {width: 2rem !important; height: 2rem !important;}#fv-chart-1789662423095-ng0fonoi0 .fv-stl-shop-all-icon svg {width: 14px !important; height: 14px !important;}#fv-chart-1789662423095-ng0fonoi0 .fv-bar-commentary-inline {display: block !important; margin-left: 0 !important; width: 100% !important;}#fv-chart-1789662423095-ng0fonoi0 .fv-y-axis-title { padding-left: 5% !important;  }#fv-chart-1789662423095-ng0fonoi0.fv-contains-line-chart .fv-footer-content {margin-left: -1rem !important;margin-right: -1rem !important;}}</style><script type="application/ld+json">{"@context": "https://schema.org","@type": "Dataset","name": "Carpet cleaning test 1","description": "Vacuuming crumbs from carpeted floor using Eufy Omni E35","creator": {"@type": "Organization","name": "TechRadar","logo": "https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png"},"isAccessibleForFree": true,"dateCreated": "2026-09-17T16:27:03.095Z","citation": "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized","keywords": ["Image Comparison","benchmark","comparison","performance","review","TechRadar"],"measurementTechnique": "Performance Benchmarking","variableMeasured": []}</script><div id="fv-chart-1789662423095-ng0fonoi0" class="fv-chart-wrapper   " data-bar-labels-on-top="false" data-iframe-height="true" data-vizualizer-embed="true"><div class="fv-inner-wrapper fv-no-header fv-is-image-compare  "><div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1789662423095-ng0fonoi0-image-compare-1" data-chart-type="Image Comparison" data-title="Image Comparison" data-subhead="Vacuuming crumbs from carpeted floor using Eufy Omni E35" data-caption="" style=""><div class="fv-benchmark-group"><div class="fv-image-compare-container"><div class="fv-image-compare-wrapper" data-image-compare="true"><div class="fv-image-compare-inner"><img src="https://cdn.mos.cms.futurecdn.net/ab2fBmoNVTzG9pZCQ8aMjG.jpg" data-highres-src="https://cdn.mos.cms.futurecdn.net/ab2fBmoNVTzG9pZCQ8aMjG.jpg" alt="Carpet after vacuuming" class="fv-image-compare-bg" loading="lazy" referrerpolicy="no-referrer" draggable="false" /><img src="https://cdn.mos.cms.futurecdn.net/QeS87en4RyWorRdqpmTmnG.jpg" data-highres-src="https://cdn.mos.cms.futurecdn.net/QeS87en4RyWorRdqpmTmnG.jpg" alt="Carpet with crumbs" class="fv-image-compare-fg" loading="lazy" referrerpolicy="no-referrer" draggable="false" /><div class="fv-image-compare-slider"><div class="fv-image-compare-slider-line"></div><div class="fv-image-compare-handle "><img src="https://proof.vanilla.tools/media/images/brandLogos/techradar.png" alt="Brand Logo" style="width: 100%; height: 100%; object-fit: cover;" /></div></div></div><div class="fv-image-compare-label fv-image-compare-label-left">Before</div><div class="fv-image-compare-label fv-image-compare-label-right">After</div><button class="fv-image-compare-expand-btn" aria-label="Expand Image"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 8V4h4"/><path d="M20 8V4h-4"/><path d="M4 16v4h4"/><path d="M20 16v4h-4"/><circle cx="11.5" cy="11.5" r="3.5"/><path d="m14 14 3 3"/></svg></button><button class="fv-image-compare-close-btn" aria-label="Close Fullscreen"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg></button></div></div></div></div></div><div class="fv-bottom-bar"><div class="fv-footer-content" style="display: none;"><div class="rv-chart-caption" style="display: block;"><span class="fv-original-caption" style="display: block;"></span><span class="fv-ia-dynamic-caption" style="display: none;"></span></div></div><div class="fv-logo-explore-bar"><img class="fv-logo" src="https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png" alt="TechRadar Logo"></div></div></div></div><script>window.iFrameResizer = {heightCalculationMethod: 'taggedElement'};</script><script src="https://cdnjs.cloudflare.com/ajax/libs/iframe-resizer/4.2.11/iframeResizer.contentWindow.min.js" async></script><script>(function() {window.fvAnimateCharts = function(chartWrapper) {if (!chartWrapper) return;function animateBars(chartElement) {if (!chartElement) return;var bars = chartElement.querySelectorAll('.fv-bar, .fv-stacked-segment');bars.forEach(function(bar, index) {bar.style.setProperty('width', '0%', 'important');bar.style.setProperty('transition', 'none', 'important');var targetWidth = bar.dataset.targetWidth;if (targetWidth === undefined) return;void bar.offsetWidth;var targetMargin = bar.dataset.targetMargin;var baseMargin = bar.dataset.baseMargin;if (baseMargin !== undefined) {bar.style.setProperty('margin-left', baseMargin + '%', 'important');}setTimeout(function() {var marginTransition = baseMargin !== undefined ? ', margin-left 0.8s ease-out' : '';bar.style.setProperty('transition', 'opacity 0.2s ease, width 0.8s ease-out' + marginTransition, 'important');bar.style.setProperty('width', targetWidth + '%', 'important');if (targetMargin !== undefined && baseMargin !== undefined) {bar.style.setProperty('margin-left', targetMargin + '%', 'important');}}, index * 50 + 50);});}function animateLineChart(chartElement) {if (!chartElement) return;var lineSvg = chartElement.querySelector('svg');if (!lineSvg) return;var paths = lineSvg.querySelectorAll('.riv-line-path');paths.forEach(function(p, i) {if (typeof p.getTotalLength === 'function') {var len = p.getTotalLength();p.style.transition = 'none';p.style.strokeDasharray = len;p.style.strokeDashoffset = len;p.getBoundingClientRect();setTimeout(function() {p.style.transition = 'stroke-dashoffset 1s ease-out ' + (i * 0.1) + 's, stroke-width 0.2s, opacity 0.2s';p.style.strokeDashoffset = '0';}, 100);}});var dots = lineSvg.querySelectorAll('.riv-dot');dots.forEach(function(dot, i) {dot.style.opacity = '0';setTimeout(function() {dot.style.transition = 'opacity 0.3s ease';dot.style.opacity = '1';}, 500 + i * 10);});}var charts = chartWrapper.querySelectorAll('.fv-chart-item');charts.forEach(function(chart) {if (window.getComputedStyle(chart).display === 'none') return;var chartType = chart.dataset.chartType;if (chartType === 'Line') {animateLineChart(chart);} else if (chartType !== 'Pie') {animateBars(chart);}});};function initialize(uniqueId, isSlideshow) {var root = document.getElementById(uniqueId);if (!root && !isSlideshow) return;function setupWrapper(chartWrapper) {if (!chartWrapper) return;function checkMobileView() {var width = chartWrapper.getBoundingClientRect().width;var isMobileDevice = window.screen && Math.min(window.screen.width, window.screen.height) <= 599;var isMobile;if (width === 0) {isMobile = isMobileDevice || window.matchMedia('(max-width: 599px)').matches;} else {isMobile = isMobileDevice || width < 600;}if (isMobile) {chartWrapper.classList.add('mobile-view');} else {chartWrapper.classList.remove('mobile-view');}}checkMobileView();if (typeof ResizeObserver !== 'undefined') {var ro = new ResizeObserver(function() {checkMobileView();});ro.observe(chartWrapper);}window.addEventListener('resize', checkMobileView);var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';if (labelsOnTop) {var charts = chartWrapper.querySelectorAll('.fv-chart-item');var hasVisibleBarChart = false;charts.forEach(function(c) {if (window.getComputedStyle(c).display !== 'none') {var cType = c.dataset.chartType;if (cType === 'Bar' || cType === 'Stacked Bar' || cType === 'Versus') {hasVisibleBarChart = true;}}});if (hasVisibleBarChart) {chartWrapper.classList.add('labels-on-top');} else {chartWrapper.classList.remove('labels-on-top');}} else {chartWrapper.classList.remove('labels-on-top');}chartWrapper.querySelectorAll('.riv-line-legend').forEach(function(legend) {var chartId = legend.dataset.chart;var chart = chartWrapper.querySelector('[id="' + chartId + '"]');if (!chart) return;var lines = chart.querySelectorAll('.riv-line-path');var dots = chart.querySelectorAll('.riv-dot');var legendItems = legend.querySelectorAll('.riv-legend-item');legendItems.forEach(function(item) {var productName = item.dataset.product;var safeProductName = productName.replace(/"/g, '\"');var line = chart.querySelector('.riv-line-path[data-product="' + safeProductName + '"]');var productDots = chart.querySelectorAll('.riv-dot[data-product="' + safeProductName + '"]');if (line && !line.dataset.origStroke) {line.dataset.origStroke = line.getAttribute('stroke-width') || '2';}var highlight = function() {if (legend.querySelector('.isolated')) return;lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '0.2'; });legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });if (line) {line.style.opacity = '1';line.setAttribute('stroke-width', '4');}productDots.forEach(function(d) { d.style.opacity = '1'; });item.style.opacity = '1';};var clearHighlight = function() {if (legend.querySelector('.isolated')) return;lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '1'; });legendItems.forEach(function(i) { i.style.opacity = '1'; });};var toggleIsolate = function() {var isIsolated = item.classList.contains('isolated');legendItems.forEach(function(i) { i.classList.remove('isolated'); });if (isIsolated) {lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '1'; });legendItems.forEach(function(i) { i.style.opacity = '1'; });} else {item.classList.add('isolated');lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '0.2'; });legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });if (line) {line.style.opacity = '1';line.setAttribute('stroke-width', '4');}productDots.forEach(function(d) { d.style.opacity = '1'; });item.style.opacity = '1';}};item.addEventListener('mouseenter', highlight);item.addEventListener('focus', highlight);item.addEventListener('mouseleave', clearHighlight);item.addEventListener('blur', clearHighlight);item.addEventListener('click', toggleIsolate);if (line) {line.style.cursor = 'pointer';line.addEventListener('mouseenter', highlight);line.addEventListener('mouseleave', clearHighlight);line.addEventListener('click', toggleIsolate);}});});var versusCharts = chartWrapper.querySelectorAll('.fv-versus-chart');versusCharts.forEach(function(vc) {var dataJson = vc.getAttribute('data-versus-data');var leftColor = vc.getAttribute('data-left-color') || '#E53935';var rightColor = vc.getAttribute('data-right-color') || '#FFB300';if (!dataJson) return;var versusData = JSON.parse(dataJson);var leftSelect = vc.querySelector('.fv-select-left');var rightSelect = vc.querySelector('.fv-select-right');var rows = vc.querySelectorAll('.fv-versus-row');function updateVersusChart() {var leftProduct = leftSelect.value;var rightProduct = rightSelect.value;leftSelect.style.color = leftColor;leftSelect.style.borderColor = leftColor;rightSelect.style.color = rightColor;rightSelect.style.borderColor = rightColor;rows.forEach(function(row) {var index = parseInt(row.getAttribute('data-index'));var data = versusData[index];if (!data) return;var leftVal = data.productData[leftProduct] ? data.productData[leftProduct].value : undefined;var rightVal = data.productData[rightProduct] ? data.productData[rightProduct].value : undefined;var leftIsNum = typeof leftVal === 'number';var rightIsNum = typeof rightVal === 'number';var leftNum = leftIsNum ? leftVal : 0;var rightNum = rightIsNum ? rightVal : 0;var maxVal = Math.max(leftNum, rightNum, 0.0001);var leftWidth = leftIsNum ? (leftNum / maxVal) * 95 : 0;var rightWidth = rightIsNum ? (rightNum / maxVal) * 85 : 0;var winner = null;var pctDiffStr = null;if (leftIsNum && rightIsNum) {if (leftNum > rightNum) {winner = 'left';if (rightNum > 0) {var diff = Math.round(((leftNum - rightNum) / rightNum) * 100);pctDiffStr = '+' + diff.toLocaleString() + '%';}} else if (rightNum > leftNum) {winner = 'right';if (leftNum > 0) {var diff = Math.round(((rightNum - leftNum) / leftNum) * 100);pctDiffStr = '+' + diff.toLocaleString() + '%';}}}var leftDisplay = data.productData[leftProduct] && data.productData[leftProduct].displayValue !== undefined ? data.productData[leftProduct].displayValue : (leftIsNum ? leftNum.toLocaleString() : (leftVal !== undefined ? leftVal : '-'));var rightDisplay = data.productData[rightProduct] && data.productData[rightProduct].displayValue !== undefined ? data.productData[rightProduct].displayValue : (rightIsNum ? rightNum.toLocaleString() : (rightVal !== undefined ? rightVal : '-'));var unit = (data.productData[leftProduct] && data.productData[leftProduct].unit) ||(data.productData[rightProduct] && data.productData[rightProduct].unit) || '';var leftTextStr = leftDisplay;var rightTextStr = rightDisplay;var leftBar = row.querySelector('.fv-versus-bar-left');var rightBar = row.querySelector('.fv-versus-bar-right');var leftText = row.querySelector('.fv-inside-left');var rightText = row.querySelector('.fv-inside-right');var labelText = row.querySelector('.fv-versus-label span');var leftWrapper = row.querySelector('.fv-versus-bar-left-wrapper');var rightWrapper = row.querySelector('.fv-versus-bar-right-wrapper');var existingPctDiffs = row.querySelectorAll('.fv-versus-pct-diff');existingPctDiffs.forEach(function(el) { el.remove(); });if (winner === 'left' && pctDiffStr) {var pctSpan = document.createElement('span');pctSpan.className = 'fv-versus-pct-diff';pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';pctSpan.textContent = pctDiffStr;if (leftBar) leftBar.insertBefore(pctSpan, leftBar.firstChild);} else if (winner === 'right' && pctDiffStr) {var pctSpan = document.createElement('span');pctSpan.className = 'fv-versus-pct-diff';pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';pctSpan.textContent = pctDiffStr;if (rightBar) rightBar.appendChild(pctSpan);}if (leftBar) {leftBar.style.backgroundColor = leftColor;leftBar.dataset.targetWidth = leftWidth;leftBar.style.setProperty('--target-width', leftWidth + '%');leftBar.style.width = leftWidth + '%';}if (rightBar) {rightBar.style.backgroundColor = rightColor;rightBar.dataset.targetWidth = rightWidth;rightBar.style.setProperty('--target-width', rightWidth + '%');rightBar.style.width = rightWidth + '%';}if (leftText) {leftText.innerHTML = leftTextStr;}if (rightText) {rightText.innerHTML = rightTextStr;}if (labelText) {labelText.textContent = data.attribute + (unit ? ' (' + unit + ')' : '');}});}if (leftSelect) leftSelect.addEventListener('change', updateVersusChart);if (rightSelect) rightSelect.addEventListener('change', updateVersusChart);});var barRows = chartWrapper.querySelectorAll('.fv-bar-row');var globalCaptionEl = chartWrapper.querySelector('.rv-chart-caption');var fallbackCaptionHtml = globalCaptionEl ? globalCaptionEl.innerHTML : '';barRows.forEach(function(row) {var commentaryEl = row.querySelector('[data-commentary-key]');if (commentaryEl) {var commentaryText = commentaryEl.textContent;if (commentaryText && commentaryText.trim().length > 0) {row.addEventListener('mouseenter', function() {if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {globalCaptionEl.innerHTML = commentaryText;globalCaptionEl.classList.add('fv-bar-active-caption');}});row.addEventListener('mouseleave', function() {if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {globalCaptionEl.innerHTML = fallbackCaptionHtml;globalCaptionEl.classList.remove('fv-bar-active-caption');}});}}});var charts = chartWrapper.querySelectorAll('.fv-chart-item');var dropdown = chartWrapper.querySelector('.fv-dropdown-title');var prevBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.prev');var nextBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.next');var carouselTitle = chartWrapper.querySelector('.fv-carousel-title-controls .fv-benchmark-title');var counter = chartWrapper.querySelector('.fv-carousel-counter');var subheadEl = chartWrapper.querySelector('.fv-chart-subhead');var captionEl = chartWrapper.querySelector('.rv-chart-caption');var footerContentEl = chartWrapper.querySelector('.fv-footer-content');var bottomBarEl = chartWrapper.querySelector('.fv-bottom-bar');var logoEl = chartWrapper.querySelector('.fv-logo');if (charts.length > 1 && (dropdown || prevBtn)) {var currentChartIndex = 0;var titles = [];if (dropdown) {titles = Array.from(dropdown.options).map(function(o) { return o.text; });} else {charts.forEach(function(c) {titles.push(c.getAttribute('data-title') || '');});}function showInternalChart(index) {if (index < 0) index = charts.length - 1;if (index >= charts.length) index = 0;currentChartIndex = index;charts.forEach(function(c, i) {c.style.display = i === index ? 'block' : 'none';if (i === index) {var cType = c.dataset.chartType;if (cType === 'Line') {} else if (cType !== 'Pie') {window.fvAnimateCharts(chartWrapper);}var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';if (labelsOnTop && (cType === 'Bar' || cType === 'Stacked Bar' || cType === 'Versus')) {chartWrapper.classList.add('labels-on-top');} else {chartWrapper.classList.remove('labels-on-top');}}});if (dropdown) dropdown.value = index;if (carouselTitle && titles[index]) carouselTitle.textContent = titles[index];if (counter) counter.textContent = (index + 1) + ' of ' + charts.length;var activeChart = charts[index];if (activeChart) {var newSubhead = activeChart.getAttribute('data-subhead');var newCaption = activeChart.getAttribute('data-caption');var currentChartType = activeChart.getAttribute('data-chart-type');var hideGlobalCaption = currentChartType === 'Countdown' || currentChartType === 'Image Comparison' || currentChartType === 'Shop the Collection';if (subheadEl) subheadEl.textContent = newSubhead || '';if (captionEl) {captionEl.textContent = newCaption || '';fallbackCaptionHtml = newCaption || '';}if (footerContentEl) {if (newCaption && newCaption.trim().length > 0 && !hideGlobalCaption) {footerContentEl.style.display = 'block';if (bottomBarEl) bottomBarEl.style.display = 'flex';} else {footerContentEl.style.display = 'none';if (bottomBarEl && !logoEl) {bottomBarEl.style.display = 'none';}}}}}if (dropdown) dropdown.addEventListener('change', function(e) { showInternalChart(parseInt(e.target.value)); });if (prevBtn) prevBtn.addEventListener('click', function() { showInternalChart(currentChartIndex - 1); });if (nextBtn) nextBtn.addEventListener('click', function() { showInternalChart(currentChartIndex + 1); });}var imageCompareWrappers = chartWrapper.querySelectorAll('.fv-image-compare-wrapper');imageCompareWrappers.forEach(function(wrapper) {var inner = wrapper.querySelector('.fv-image-compare-inner') || wrapper;var slider = wrapper.querySelector('.fv-image-compare-slider');var fgImage = wrapper.querySelector('.fv-image-compare-fg');var bgImage = wrapper.querySelector('.fv-image-compare-bg');var labelLeft = wrapper.querySelector('.fv-image-compare-label-left');var labelRight = wrapper.querySelector('.fv-image-compare-label-right');var isDragging = false;var scale = 1;var panX = 0;var panY = 0;var isPanning = false;var hasPanned = false;var lastClientX = 0;var lastClientY = 0;var initialDistance = null;var lastCenterX = null;var lastCenterY = null;function updateTransform() {if (wrapper.classList.contains('fv-image-compare-fullscreen')) {inner.style.setProperty('transform', 'translate(' + panX + 'px, ' + panY + 'px) scale(' + scale + ')', 'important');} else {inner.style.removeProperty('transform');scale = 1;panX = 0;panY = 0;}}function constrainPan() {var rect = wrapper.getBoundingClientRect();var maxPanX = Math.max(0, (rect.width * scale - rect.width) / 2);var maxPanY = Math.max(0, (rect.height * scale - rect.height) / 2);panX = Math.max(-maxPanX, Math.min(panX, maxPanX));panY = Math.max(-maxPanY, Math.min(panY, maxPanY));}wrapper.addEventListener('wheel', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;e.preventDefault();var zoomSensitivity = 0.005;var zoomFactor = Math.exp(-e.deltaY * zoomSensitivity);var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));if (newScale === scale) return;var rect = wrapper.getBoundingClientRect();var mouseX = e.clientX - rect.left - rect.width / 2;var mouseY = e.clientY - rect.top - rect.height / 2;var ratio = newScale / scale;panX = mouseX - (mouseX - panX) * ratio;panY = mouseY - (mouseY - panY) * ratio;scale = newScale;constrainPan();updateTransform();}, { passive: false });wrapper.addEventListener('mousedown', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen') || scale <= 1) return;if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;isPanning = true;hasPanned = false;lastClientX = e.clientX;lastClientY = e.clientY;});window.addEventListener('mousemove', function(e) {if (!isPanning) return;var dx = e.clientX - lastClientX;var dy = e.clientY - lastClientY;if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {hasPanned = true;}lastClientX = e.clientX;lastClientY = e.clientY;panX += dx;panY += dy;constrainPan();updateTransform();});window.addEventListener('mouseup', function() {isPanning = false;});wrapper.addEventListener('touchstart', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;if (e.touches.length === 2) {e.preventDefault();var dx = e.touches[0].clientX - e.touches[1].clientX;var dy = e.touches[0].clientY - e.touches[1].clientY;initialDistance = Math.sqrt(dx * dx + dy * dy);var rect = wrapper.getBoundingClientRect();lastCenterX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;lastCenterY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;hasPanned = true;} else if (e.touches.length === 1 && scale > 1) {if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;isPanning = true;hasPanned = false;lastClientX = e.touches[0].clientX;lastClientY = e.touches[0].clientY;}}, { passive: false });wrapper.addEventListener('touchmove', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;if (e.touches.length === 2 && initialDistance !== null) {e.preventDefault();var dx = e.touches[0].clientX - e.touches[1].clientX;var dy = e.touches[0].clientY - e.touches[1].clientY;var distance = Math.sqrt(dx * dx + dy * dy);if (initialDistance > 0) {var zoomFactor = distance / initialDistance;var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));var rect = wrapper.getBoundingClientRect();var centerX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;var centerY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;var ratio = newScale / scale;panX = centerX - (centerX - panX) * ratio;panY = centerY - (centerY - panY) * ratio;if (lastCenterX !== null && lastCenterY !== null) {panX += (centerX - lastCenterX);panY += (centerY - lastCenterY);}scale = newScale;lastCenterX = centerX;lastCenterY = centerY;constrainPan();updateTransform();}initialDistance = distance;} else if (e.touches.length === 1 && isPanning) {e.preventDefault();var dx = e.touches[0].clientX - lastClientX;var dy = e.touches[0].clientY - lastClientY;if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {hasPanned = true;}lastClientX = e.touches[0].clientX;lastClientY = e.touches[0].clientY;panX += dx;panY += dy;constrainPan();updateTransform();}}, { passive: false });wrapper.addEventListener('touchend', function(e) {if (e.touches.length < 2) {initialDistance = null;}if (e.touches.length === 0) {isPanning = false;}});function handleMove(clientX) {var rect = inner.getBoundingClientRect();var x = Math.max(0, Math.min(clientX - rect.left, rect.width));var percent = Math.max(0, Math.min((x / rect.width) * 100, 100));if (slider) slider.style.setProperty('left', percent + '%', 'important');if (fgImage) fgImage.style.setProperty('clip-path', 'polygon(0 0, ' + percent + '% 0, ' + percent + '% 100%, 0 100%)', 'important');if (labelLeft) {if (percent < 10) {labelLeft.style.setProperty('opacity', '0', 'important');} else {labelLeft.style.setProperty('opacity', '1', 'important');}}if (labelRight) {if (percent > 90) {labelRight.style.setProperty('opacity', '0', 'important');} else {labelRight.style.setProperty('opacity', '1', 'important');}}}function onMouseMove(e) {if (!isDragging) return;handleMove(e.clientX);}function onTouchMove(e) {if (!isDragging) return;e.preventDefault();handleMove(e.touches[0].clientX);}function stopDragging() {isDragging = false;window.removeEventListener('mousemove', onMouseMove);window.removeEventListener('mouseup', stopDragging);window.removeEventListener('touchmove', onTouchMove);window.removeEventListener('touchend', stopDragging);}if (slider) {var startDrag = function(clientX) {isDragging = true;handleMove(clientX);window.addEventListener('mousemove', onMouseMove);window.addEventListener('mouseup', stopDragging);};var startTouchDrag = function(clientX) {isDragging = true;handleMove(clientX);window.addEventListener('touchmove', onTouchMove, { passive: false });window.addEventListener('touchend', stopDragging);};slider.addEventListener('mousedown', function(e) {e.preventDefault();startDrag(e.clientX);});slider.addEventListener('touchstart', function(e) {e.preventDefault();startTouchDrag(e.touches[0].clientX);}, { passive: false });}var expandBtn = wrapper.querySelector('.fv-image-compare-expand-btn');var closeBtn = wrapper.querySelector('.fv-image-compare-close-btn');if (expandBtn) {if (window !== window.parent) {expandBtn.style.display = 'none';} else {expandBtn.addEventListener('click', function(e) {e.stopPropagation();wrapper.classList.add('fv-image-compare-fullscreen');document.body.style.overflow = 'hidden';if (fgImage && fgImage.dataset.highresSrc) {fgImage.src = fgImage.dataset.highresSrc;fgImage.removeAttribute('srcset');fgImage.removeAttribute('sizes');}if (bgImage && bgImage.dataset.highresSrc) {bgImage.src = bgImage.dataset.highresSrc;bgImage.removeAttribute('srcset');bgImage.removeAttribute('sizes');}});}}if (closeBtn) {closeBtn.addEventListener('click', function(e) {e.stopPropagation();wrapper.classList.remove('fv-image-compare-fullscreen');document.body.style.overflow = '';updateTransform();});}document.addEventListener('keydown', function(e) {if (e.key === 'Escape' && wrapper.classList.contains('fv-image-compare-fullscreen')) {wrapper.classList.remove('fv-image-compare-fullscreen');document.body.style.overflow = '';updateTransform();}});});var hotspots = chartWrapper.querySelectorAll('.fv-stl-hotspot-btn');var allProductsModal = chartWrapper.querySelector('.fv-stl-all-products-modal');var shopAllBtn = chartWrapper.querySelector('.fv-stl-shop-all-btn');var allProductsList = chartWrapper.querySelector('.fv-stl-all-products-list');var stlContainer = chartWrapper.querySelector('.fv-stl-container');function closeAllModals() {if (allProductsModal) {allProductsModal.classList.remove('is-active');var items = allProductsModal.querySelectorAll('.fv-stl-all-products-item');items.forEach(function(item) {item.classList.remove('is-highlighted');});if (stlContainer) {setTimeout(function() {if (!allProductsModal.classList.contains('is-active')) {stlContainer.style.minHeight = '';if ('parentIFrame' in window) {window.parentIFrame.size();}}}, 300);}}hotspots.forEach(function(btn) { btn.setAttribute('aria-expanded', 'false'); });if ('parentIFrame' in window) {window.parentIFrame.size();}}hotspots.forEach(function(btn) {btn.addEventListener('click', function(e) {e.stopPropagation();var hotspotId = btn.getAttribute('data-hotspot-id');var isExpanded = btn.getAttribute('aria-expanded') === 'true';closeAllModals();if (!isExpanded && allProductsModal) {btn.setAttribute('aria-expanded', 'true');allProductsModal.classList.add('is-active');var container = btn.closest('.fv-stl-container');if (container && container.offsetHeight < 450) {container.style.minHeight = '450px';}var targetItem = allProductsModal.querySelector('.fv-stl-all-products-item[data-product-id="' + hotspotId + '"]');if (targetItem) {targetItem.classList.add('is-highlighted');setTimeout(function() {targetItem.scrollIntoView({ behavior: 'smooth', block: 'center' });}, 100);}if ('parentIFrame' in window) {window.parentIFrame.size();}}});});if (shopAllBtn && allProductsModal) {shopAllBtn.addEventListener('click', function(e) {e.stopPropagation();closeAllModals();allProductsModal.classList.add('is-active');var container = shopAllBtn.closest('.fv-stl-container');if (container && container.offsetHeight < 450) {container.style.minHeight = '450px';}if ('parentIFrame' in window) {window.parentIFrame.size();}});}if (allProductsModal) {var closeAllBtn = allProductsModal.querySelector('.fv-stl-all-products-close');if (closeAllBtn) {closeAllBtn.addEventListener('click', function(e) {e.stopPropagation();closeAllModals();});}}chartWrapper.addEventListener('click', function(e) {if (!e.target.closest('.fv-stl-all-products-content')) {closeAllModals();}});if (allProductsModal) {allProductsModal.addEventListener('click', function(e) {if (!e.target.closest('.fv-stl-all-products-content')) {closeAllModals();}});}var iaNodes = chartWrapper.querySelectorAll('.fv-ia-node-button');var iaWrapper = chartWrapper.querySelector('.fv-ia-wrapper');var originalCaption = chartWrapper.querySelector('.fv-original-caption') || captionEl;var dynamicCaption = chartWrapper.querySelector('.fv-ia-dynamic-caption');var exploreBtn = chartWrapper.querySelector('.fv-ia-explore-btn');var currentIaIndex = -1;function closeAllIANodes() {iaNodes.forEach(function(btn) { btn.classList.remove('is-active'); });if (originalCaption) originalCaption.style.display = 'block';if (dynamicCaption) dynamicCaption.style.display = 'none';}function resetExploreBtn() {currentIaIndex = -1;if (exploreBtn) {var exploreSpan = exploreBtn.querySelector('span');if (exploreSpan) exploreSpan.textContent = 'Explore';}}iaNodes.forEach(function(btn, index) {btn.addEventListener('click', function(e) {e.stopPropagation();var isActive = btn.classList.contains('is-active');closeAllIANodes();if (!isActive) {currentIaIndex = index;if (exploreBtn) {var exploreSpan = exploreBtn.querySelector('span');if (exploreSpan) exploreSpan.textContent = 'Next';}btn.classList.add('is-active');if (dynamicCaption) {var title = btn.getAttribute('data-title') || '';var desc = btn.getAttribute('data-desc') || '';dynamicCaption.innerHTML = '';var strongTag = document.createElement('strong');strongTag.textContent = title;dynamicCaption.appendChild(strongTag);if (desc) {dynamicCaption.appendChild(document.createTextNode(' - ' + desc));}if (originalCaption) originalCaption.style.display = 'none';dynamicCaption.style.display = 'block';if (footerContentEl) footerContentEl.style.display = 'block';}} else {resetExploreBtn();}});});if (exploreBtn) {exploreBtn.addEventListener('click', function(e) {e.stopPropagation();if (iaNodes.length === 0) return;var nextIndex = currentIaIndex + 1;if (nextIndex >= iaNodes.length) {closeAllIANodes();resetExploreBtn();} else {currentIaIndex = nextIndex;var targetBtn = iaNodes[currentIaIndex];if (targetBtn) {if(targetBtn.classList.contains('is-active')) {targetBtn.click();}targetBtn.click();}}});}if (iaWrapper) {iaWrapper.addEventListener('click', function(e) {if (!e.target.closest('.fv-ia-node-button') && !e.target.closest('.fv-ia-explore-btn')) {closeAllIANodes();resetExploreBtn();}});}window.fvAnimateCharts(chartWrapper);var countdownContainer = chartWrapper.querySelector('.fv-countdown-container');if (countdownContainer) {var targetDateAttr = countdownContainer.getAttribute('data-target-date');if (targetDateAttr) {var targetDate = new Date(targetDateAttr);var primaryColor = countdownContainer.getAttribute('data-primary-color') || '#f97316';var subheadColor = countdownContainer.getAttribute('data-subhead-color') || '#ffffff';var pad = function(n) { return (n < 10 ? '0' : '') + n; };var updateCountdown = function() {var difference = +targetDate - +new Date();var d = 0, h = 0, m = 0, s = 0;if (difference > 0) {d = Math.floor(difference / (1000 * 60 * 60 * 24));h = Math.floor((difference / (1000 * 60 * 60)) % 24);m = Math.floor((difference / 1000 / 60) % 60);s = Math.floor((difference / 1000) % 60);}var daysEl = countdownContainer.querySelector('[data-time="days"]');var hoursEl = countdownContainer.querySelector('[data-time="hours"]');var minsEl = countdownContainer.querySelector('[data-time="minutes"]');var secsEl = countdownContainer.querySelector('[data-time="seconds"]');if (daysEl) daysEl.textContent = d;if (hoursEl) hoursEl.textContent = pad(h);if (minsEl) minsEl.textContent = pad(m);if (secsEl) secsEl.textContent = pad(s);};updateCountdown();setInterval(updateCountdown, 1000);}}}if (false) {var slideshowContainer = document.getElementById(uniqueId + '-slideshow');if (slideshowContainer) {var slides = slideshowContainer.querySelectorAll('.fv-slide');slides.forEach(function(slide) {setupWrapper(slide.querySelector('.fv-chart-wrapper'));});}} else {setupWrapper(root);}}if (document.readyState === 'loading') {document.addEventListener('DOMContentLoaded', function() { initialize('fv-chart-1789662423095-ng0fonoi0', false); });} else {initialize('fv-chart-1789662423095-ng0fonoi0', false);}})();</script></div><p>As with all robotic vacuums, I had to manually adjust the E35’s map slightly, repositioning some walls and naming each of the rooms. It’s not really a failing of the vision system, just a part of the setup process. That said, the robot mistakenly added an enormous room to the sides of my kitchen and living room that doesn’t really exist. I imagine it saw through to the garden and decided that was part of the floor plan, but frustratingly phantom rooms can’t be deleted, so I binned the entire map and started again. The second map was created accurately, and remained so throughout the rest of my month-long test.</p><p>The headline figure for this robot is its 35,000 Pa of maximum suction power. This is actually 5,000 Pa more than the flagship Omni S2, and provides fantastic results on carpet and hard floors alike. Going back to my X10 Pro again – a vacuum that I awarded four stars just two years ago, and launched at £800 / $800 – and that manages just 8,000 Pa, a quarter of the new E35.</p><p>The result of all that power is deeply impressive cleaning performance. The vacuuming is especially good, with carpets visibly cleaner after using Max mode. It’s probably overkill for a little-and-often cleaning schedule, but if the battery can survive a full carpet vacuum in Max mode, why wouldn’t you use it?</p><div class="vizualizer-embed"><style>@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap');#fv-chart-1789662435817-p844seqfk *, #fv-chart-1789662435817-p844seqfk *:before, #fv-chart-1789662435817-p844seqfk *:after, #fv-chart-1789662435817-p844seqfk-slideshow *, #fv-chart-1789662435817-p844seqfk-slideshow *:before, #fv-chart-1789662435817-p844seqfk-slideshow *:after {box-sizing: border-box !important; margin: 0; padding: 0; border: 0;font-size: 100%; font: inherit; vertical-align: baseline;}#fv-chart-1789662435817-p844seqfk, #fv-chart-1789662435817-p844seqfk-slideshow { font-family: 'Open Sans', sans-serif !important; }#fv-chart-1789662435817-p844seqfk {position: relative !important; overflow: visible !important;--riv-primary: #2E6E93;}#fv-chart-1789662435817-p844seqfk .fv-inner-wrapper {color: #1F2937 !important; background-color: #ffffff !important;padding: 1.5rem 1.5rem 2rem !important; border-radius: 0.5rem !important;box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important;margin: 1rem 0 !important; display: flex !important; flex-direction: column !important;overflow: hidden !important;}#fv-chart-1789662435817-p844seqfk .fv-inner-wrapper.fv-no-header.fv-is-image-compare {padding-top: 0 !important;}#fv-chart-1789662435817-p844seqfk.fv-full-bleed {width: 100vw !important;margin-left: calc(50% - 50vw) !important;}body {overflow-x: clip !important;}#fv-chart-1789662435817-p844seqfk.fv-full-bleed .fv-inner-wrapper {padding: 0 !important;border-radius: 0 !important;box-shadow: none !important;margin: 0 !important;background-color: transparent !important;}#fv-chart-1789662435817-p844seqfk .fv-inner-wrapper.fv-is-shop-the-look {padding: 0 !important;border-radius: 0 !important;box-shadow: none !important;margin: 0 !important;background-color: transparent !important;}#fv-chart-1789662435817-p844seqfk-slideshow {position: relative !important;width: 100% !important;margin: 1rem 0 !important;--riv-primary: #2E6E93;}#fv-chart-1789662435817-p844seqfk-slideshow .fv-slides-wrapper {position: relative !important;width: 100% !important;}#fv-chart-1789662435817-p844seqfk-slideshow .fv-slide {width: 100% !important;animation: fv-fade-in 0.3s ease-in-out;}@keyframes fv-fade-in {from { opacity: 0; }to { opacity: 1; }}#fv-chart-1789662435817-p844seqfk-slideshow .fv-slideshow-nav-row {position: relative !important;display: flex !important;justify-content: space-between !important;align-items: center !important;padding: 0 0 16px 0 !important;width: 100% !important;z-index: 20 !important;}#fv-chart-1789662435817-p844seqfk-slideshow .fv-nav-btn {background-color: var(--riv-primary) !important;color: #ffffff !important;border: none !important;border-radius: 4px !important;padding: 8px 16px !important;font-size: 14px !important;font-weight: 700 !important;cursor: pointer !important;display: flex !important;align-items: center !important;justify-content: center !important;gap: 6px !important;transition: opacity 0.2s, background-color 0.2s !important;height: 36px !important;text-transform: none !important;box-shadow: 0 1px 2px rgba(0,0,0,0.1) !important;}#fv-chart-1789662435817-p844seqfk-slideshow .fv-nav-btn svg {width: 18px !important;height: 18px !important;stroke-width: 3px !important;filter: none !important;}#fv-chart-1789662435817-p844seqfk-slideshow .fv-nav-btn:hover {opacity: 0.9 !important;transform: translateY(-1px) !important;}#fv-chart-1789662435817-p844seqfk-slideshow .fv-nav-btn.disabled {background-color: #E5E7EB !important;color: #9CA3AF !important;cursor: default !important;pointer-events: none !important;box-shadow: none !important;}#fv-chart-1789662435817-p844seqfk-slideshow .fv-slide-counter {font-family: 'Poppins', sans-serif !important;font-size: 14px !important;font-weight: 600 !important;color: #374151 !important;text-align: center !important;min-width: 40px !important;background-color: rgba(255,255,255,0.8) !important;padding: 2px 8px !important;border-radius: 10px !important;}#fv-chart-1789662435817-p844seqfk-slideshow .fv-slideshow-select {position: absolute !important;top: 10px !important;right: 10px !important;z-index: 20 !important;appearance: none !important;-webkit-appearance: none !important;-moz-appearance: none !important;background-color: white !important;border: 1px solid #d1d5db !important;color: #1F2937 !important;font-family: 'Open Sans', sans-serif !important;font-size: 14px !important;font-weight: 600 !important;padding: 6px 32px 6px 12px !important;border-radius: 4px !important;cursor: pointer !important;box-shadow: 0 1px 2px rgba(0,0,0,0.05) !important;background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e") !important;background-position: right 0.5rem center !important;background-repeat: no-repeat !important;background-size: 1.5em 1.5em !important;}#fv-chart-1789662435817-p844seqfk-slideshow .fv-slideshow-select:focus {outline: 2px solid #2E6E93 !important;border-color: #2E6E93 !important;}#fv-chart-1789662435817-p844seqfk .fv-chart-title {font-weight: bold !important;text-align: center !important;margin-bottom: 0.5rem !important;color: var(--riv-primary) !important;font-size: 20px !important;line-height: 1.2 !important;font-family: 'Open Sans', sans-serif !important;text-transform: none !important;white-space: normal !important;overflow-wrap: break-word !important;padding: 0 20px !important;}#fv-chart-1789662435817-p844seqfk .fv-chart-subhead {font-size: 18px !important;font-weight: 500 !important;text-align: center !important;margin-bottom: 2rem !important;color: #374151 !important;line-height: 1.7 !important;font-family: 'Open Sans', sans-serif !important;display: block !important;text-transform: none !important;padding: 0 20px !important;}#fv-chart-1789662435817-p844seqfk .rv-chart-caption { font-size: 15px !important; color: #374151 !important; text-align: center !important; font-style: normal !important; font-weight: normal !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; }#fv-chart-1789662435817-p844seqfk .fv-versus-chart { display: flex; flex-direction: column; width: 100%; margin-top: 1rem; }#fv-chart-1789662435817-p844seqfk .fv-versus-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding: 0 1rem; }#fv-chart-1789662435817-p844seqfk .fv-versus-select-wrapper { flex: 1; min-width: 0; }#fv-chart-1789662435817-p844seqfk .fv-versus-select-wrapper.fv-left { text-align: center; padding-right: 1rem; }#fv-chart-1789662435817-p844seqfk .fv-versus-select-wrapper.fv-right { text-align: center; padding-left: 1rem; }#fv-chart-1789662435817-p844seqfk .fv-versus-select-container { position: relative; display: inline-block; max-width: 100%; width: 100%; }#fv-chart-1789662435817-p844seqfk .fv-versus-chevron { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; width: 16px; height: 16px; flex-shrink: 0; }#fv-chart-1789662435817-p844seqfk .fv-versus-select-wrapper.fv-left .fv-versus-chevron { right: 0; }#fv-chart-1789662435817-p844seqfk .fv-versus-select-wrapper.fv-right .fv-versus-chevron { right: 0; }#fv-chart-1789662435817-p844seqfk .fv-versus-select { background: transparent; border: none; border-bottom: 2px solid; font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; padding: 0.25rem 0; cursor: pointer; outline: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; max-width: 100%; width: 100%; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; }#fv-chart-1789662435817-p844seqfk .fv-versus-select.fv-select-left { text-align: center; direction: ltr; padding-right: 1.25rem; }#fv-chart-1789662435817-p844seqfk .fv-versus-select.fv-select-right { text-align: center; padding-right: 1.25rem; }#fv-chart-1789662435817-p844seqfk .fv-versus-select option { font-family: 'Open Sans', sans-serif; font-weight: 400; font-size: 14px; color: #374151; direction: ltr; text-align: left; }#fv-chart-1789662435817-p844seqfk .fv-versus-vs { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; color: #374151; letter-spacing: 0.1em; padding: 0 1rem; }#fv-chart-1789662435817-p844seqfk .fv-versus-body { display: flex; flex-direction: column; gap: 1.5rem; }#fv-chart-1789662435817-p844seqfk .fv-versus-row { position: relative; height: auto; padding-top: 20px; margin-bottom: 0.25rem; display: block; }#fv-chart-1789662435817-p844seqfk .fv-versus-bar-container { position: relative; height: 32px; display: flex; align-items: center; }#fv-chart-1789662435817-p844seqfk .fv-versus-bar-left-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-end; align-items: center; }#fv-chart-1789662435817-p844seqfk .fv-versus-bar-right-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-start; align-items: center; }#fv-chart-1789662435817-p844seqfk .fv-versus-bar { height: 32px; width: var(--target-width); transition: width 0.8s ease-out; animation: fv-grow-max-width 0.8s ease-out forwards; display: flex; align-items: center; overflow: hidden; color: #ffffff; }#fv-chart-1789662435817-p844seqfk .fv-versus-bar-left { border-radius: 4px 0 0 4px; justify-content: flex-end; padding: 0 8px; }#fv-chart-1789662435817-p844seqfk .fv-versus-bar-right { border-radius: 0 4px 4px 0; justify-content: flex-start; padding: 0 8px; }@keyframes fv-grow-max-width {from { max-width: 0; }to { max-width: 100%; }}#fv-chart-1789662435817-p844seqfk .fv-versus-center-line { position: absolute; left: 50%; top: 0; bottom: 0; width: 4px; background-color: #ffffff; transform: translateX(-50%); z-index: 1; }#fv-chart-1789662435817-p844seqfk .fv-inside-left { white-space: nowrap; flex-shrink: 0; }#fv-chart-1789662435817-p844seqfk .fv-inside-right { white-space: nowrap; flex-shrink: 0; }#fv-chart-1789662435817-p844seqfk .fv-versus-val-text { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; }#fv-chart-1789662435817-p844seqfk .fv-versus-pct-diff { font-size: 12px; font-weight: 600; }#fv-chart-1789662435817-p844seqfk .fv-versus-label { position: absolute; left: 50%; transform: translateX(-50%); top: 0; background-color: transparent; border: none; box-shadow: none; padding: 0; font-family: 'Open Sans', sans-serif; font-weight: 700; font-size: 14px; color: #374151; white-space: nowrap; }#fv-chart-1789662435817-p844seqfk .sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }#fv-chart-1789662435817-p844seqfk .fv-image-compare-container { width: auto !important; margin-left: -1.5rem !important; margin-right: -1.5rem !important; margin-bottom: 2rem !important; }#fv-chart-1789662435817-p844seqfk.fv-full-bleed .fv-image-compare-container { width: 100% !important; max-width: none !important; margin: 0 auto !important; }#fv-chart-1789662435817-p844seqfk .fv-image-compare-wrapper { position: relative !important; width: 100% !important; overflow: hidden !important; border-radius: 0 !important; background-color: #000 !important; touch-action: pan-y !important; user-select: none !important; -webkit-user-select: none !important; }#fv-chart-1789662435817-p844seqfk .fv-image-compare-inner { position: relative !important; width: 100% !important; height: 100% !important; display: block !important; transform-origin: center center !important; transition: transform 0.1s ease-out !important; }#fv-chart-1789662435817-p844seqfk .fv-image-compare-bg { display: block !important; width: 100% !important; height: auto !important; pointer-events: none !important; user-select: none !important; -webkit-user-select: none !important; -webkit-user-drag: none !important; }#fv-chart-1789662435817-p844seqfk .fv-image-compare-fg { position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; object-fit: cover !important; clip-path: polygon(0 0, 50% 0, 50% 100%, 0 100%) !important; pointer-events: none !important; user-select: none !important; -webkit-user-select: none !important; -webkit-user-drag: none !important; }#fv-chart-1789662435817-p844seqfk .fv-image-compare-slider { position: absolute !important; top: 0 !important; bottom: 0 !important; left: 50% !important; width: 32px !important; transform: translateX(-50%) !important; cursor: ew-resize !important; z-index: 10 !important; user-select: none !important; -webkit-user-select: none !important; }#fv-chart-1789662435817-p844seqfk .fv-image-compare-slider-line { position: absolute !important; top: 0 !important; bottom: 0 !important; left: 50% !important; width: 4px !important; background-color: white !important; transform: translateX(-50%) !important; box-shadow: 0 0 10px rgba(0,0,0,0.5) !important; pointer-events: none !important; }#fv-chart-1789662435817-p844seqfk .fv-image-compare-handle { position: absolute !important; top: 50% !important; left: 50% !important; transform: translate(-50%, -50%) !important; width: 32px !important; height: 32px !important; background-color: white !important; border-radius: 50% !important; box-shadow: 0 2px 6px rgba(0,0,0,0.3) !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 4px !important; pointer-events: none !important; z-index: 11 !important; overflow: hidden !important; }#fv-chart-1789662435817-p844seqfk .fv-image-compare-handle.fv-image-compare-handle-square { border-radius: 6px !important; }#fv-chart-1789662435817-p844seqfk .fv-image-compare-arrow-left { width: 0 !important; height: 0 !important; border-top: 4px solid transparent !important; border-bottom: 4px solid transparent !important; border-right: 4px solid #4b5563 !important; }#fv-chart-1789662435817-p844seqfk .fv-image-compare-arrow-right { width: 0 !important; height: 0 !important; border-top: 4px solid transparent !important; border-bottom: 4px solid transparent !important; border-left: 4px solid #4b5563 !important; }#fv-chart-1789662435817-p844seqfk .fv-image-compare-label { position: absolute !important; top: 1rem !important; background-color: rgba(0, 0, 0, 0.5) !important; color: white !important; padding: 0.25rem 0.75rem !important; border-radius: 0.25rem !important; font-size: 0.875rem !important; font-weight: 500 !important; pointer-events: none !important; backdrop-filter: blur(4px) !important; z-index: 5 !important; transition: right 0.3s ease, opacity 0.2s ease !important; }#fv-chart-1789662435817-p844seqfk .fv-image-compare-label-left { left: 1rem !important; }#fv-chart-1789662435817-p844seqfk .fv-image-compare-label-right { right: 1rem !important; }#fv-chart-1789662435817-p844seqfk .fv-image-compare-expand-btn, #fv-chart-1789662435817-p844seqfk .fv-image-compare-close-btn { position: absolute !important; bottom: 1rem !important; right: 1rem !important; background-color: rgba(0, 0, 0, 0.5) !important; color: white !important; border: none !important; border-radius: 0.25rem !important; padding: 0.5rem !important; cursor: pointer !important; z-index: 20 !important; display: flex !important; align-items: center !important; justify-content: center !important; backdrop-filter: blur(4px) !important; transition: background-color 0.2s !important; }#fv-chart-1789662435817-p844seqfk .fv-image-compare-expand-btn:hover, #fv-chart-1789662435817-p844seqfk .fv-image-compare-close-btn:hover { background-color: rgba(0, 0, 0, 0.7) !important; }#fv-chart-1789662435817-p844seqfk .fv-image-compare-close-btn { display: none !important; top: 1rem !important; bottom: auto !important; }#fv-chart-1789662435817-p844seqfk .fv-image-compare-wrapper.fv-image-compare-fullscreen { position: fixed !important; top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important; width: 100% !important; height: 100% !important; z-index: 999999 !important; display: flex !important; align-items: center !important; justify-content: center !important; background-color: rgba(0, 0, 0, 0.9) !important; margin: 0 !important; touch-action: none !important; }#fv-chart-1789662435817-p844seqfk .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-inner { width: 100% !important; height: 100% !important; display: flex !important; align-items: center !important; justify-content: center !important; cursor: grab !important; }#fv-chart-1789662435817-p844seqfk .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-inner:active { cursor: grabbing !important; }#fv-chart-1789662435817-p844seqfk .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-bg { position: absolute !important; top: 0 !important; left: 0 !important; max-width: 100% !important; max-height: 100% !important; width: 100% !important; height: 100% !important; object-fit: contain !important; }#fv-chart-1789662435817-p844seqfk .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-fg { max-width: 100% !important; max-height: 100% !important; width: 100% !important; height: 100% !important; object-fit: contain !important; }#fv-chart-1789662435817-p844seqfk .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-expand-btn { display: none !important; }#fv-chart-1789662435817-p844seqfk .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-close-btn { display: flex !important; }#fv-chart-1789662435817-p844seqfk .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-label-right { right: 4rem !important; }#fv-chart-1789662435817-p844seqfk .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; }#fv-chart-1789662435817-p844seqfk .fv-footer-content { text-align: center !important; width: 100% !important; }#fv-chart-1789662435817-p844seqfk .fv-logo {display: block !important;margin: 0 auto !important;width: 120px !important;min-width: 120px !important;max-width: 120px !important;height: auto !important;object-fit: contain !important;flex-shrink: 0 !important;}#fv-chart-1789662435817-p844seqfk .fv-dropdown-wrapper { text-align: center !important; margin-bottom: 16px !important; margin-top: 0 !important; }#fv-chart-1789662435817-p844seqfk .fv-dropdown-title-container { position: relative !important; display: inline-block !important; max-width: 100% !important; }#fv-chart-1789662435817-p844seqfk .fv-dropdown-title {appearance: none !important;-webkit-appearance: none !important;-moz-appearance: none !important;background: transparent !important;border: none !important;font-size: 18px !important;font-weight: 600 !important;color: var(--riv-primary) !important;padding-right: 28px !important;padding-left: 10px !important;cursor: pointer !important;text-align: center !important;text-align-last: center !important;width: auto !important;max-width: 100% !important;font-family: 'Open Sans', sans-serif !important;line-height: 1.3 !important;margin: 0 !important;text-overflow: ellipsis !important;overflow: hidden !important;white-space: nowrap !important;}#fv-chart-1789662435817-p844seqfk .fv-dropdown-title:focus { outline: none !important; }#fv-chart-1789662435817-p844seqfk .fv-dropdown-title::-ms-expand { display: none !important; }#fv-chart-1789662435817-p844seqfk .fv-dropdown-chevron {position: absolute !important;right: 0 !important;top: 50% !important;transform: translateY(-50%) !important;pointer-events: none !important;color: var(--riv-primary) !important;display: flex !important;align-items: center !important;}#fv-chart-1789662435817-p844seqfk .fv-carousel-title-controls { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 16px !important; width: 100% !important; gap: 12px !important; }#fv-chart-1789662435817-p844seqfk .fv-carousel-nav-btn {background: transparent !important; border: 1px solid #d1d5db !important; border-radius: 6px !important; padding: 6px 10px !important;cursor: pointer !important; font-size: 14px !important; color: #374151 !important; display: flex !important; align-items: center !important; gap: 4px !important; font-family: 'Open Sans', sans-serif !important;}#fv-chart-1789662435817-p844seqfk .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; }#fv-chart-1789662435817-p844seqfk .fv-carousel-counter { font-size: 14px !important; color: #374151 !important; text-align: center !important; margin-top: 1rem !important; }#fv-chart-1789662435817-p844seqfk .fv-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 8px 16px !important; margin: 0 !important; padding: 0 !important; margin-top: 1rem !important; }#fv-chart-1789662435817-p844seqfk .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #374151 !important; }#fv-chart-1789662435817-p844seqfk .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; }#fv-chart-1789662435817-p844seqfk .fv-multi-value-legend {display: flex !important;justify-content: center !important;flex-wrap: wrap !important;gap: 12px 24px !important;margin-bottom: 1.5rem !important;padding: 0 !important;}#fv-chart-1789662435817-p844seqfk .fv-multi-legend-item { display: flex !important; align-items: center !important; gap: 8px !important; font-size: 14px !important; color: #374151 !important; font-weight: 500 !important; }#fv-chart-1789662435817-p844seqfk .fv-multi-legend-swatch { width: 16px !important; height: 16px !important; border-radius: 3px !important; }#fv-chart-1789662435817-p844seqfk .fv-benchmark-group { margin-bottom: 1rem !important; }#fv-chart-1789662435817-p844seqfk .fv-benchmark-title {font-size: 18px !important; font-weight: 600 !important; margin-bottom: 16px !important; margin-top: 0 !important; padding: 0 !important;text-align: center !important; color: var(--riv-primary) !important; flex: 1 !important; min-width: 0 !important;font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important;text-transform: none !important;white-space: normal !important;overflow-wrap: break-word !important;word-wrap: break-word !important;max-width: 100% !important;}#fv-chart-1789662435817-p844seqfk .fv-bar-row, #fv-chart-1789662435817-p844seqfk .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; position: relative !important; }#fv-chart-1789662435817-p844seqfk .fv-bar-label { width: 150px !important; flex-shrink: 0 !important; font-size: 14px !important; color: #374151 !important; padding-right: 10px !important; text-align: right !important; font-weight: 500 !important; display: block !important; }#fv-chart-1789662435817-p844seqfk .fv-bar-container { flex-grow: 1 !important; background-color: #E5E7EB !important; border-radius: 4px !important; min-height: 25px !important; border: 1px solid #D1D5DB !important; position: relative !important; display: flex !important; align-items: center !important; }#fv-chart-1789662435817-p844seqfk .fv-bar-commentary-inline { display: none !important; position: absolute !important; left: 150px !important; top: 0 !important; bottom: 0 !important; right: 0 !important; width: calc(100% - 150px) !important; margin: 0 !important; padding: 0 8px !important; font-size: 13px !important; color: #fff !important; background: rgba(0,0,0,0.8) !important; border-radius: 4px !important; line-height: 1.4 !important; font-weight: normal !important; text-transform: none !important; word-wrap: break-word !important; z-index: 10 !important; align-items: center !important; overflow-y: auto !important; }#fv-chart-1789662435817-p844seqfk.preview-wrapper .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1789662435817-p844seqfk.preview-wrapper .fv-bar-commentary-inline:focus, #fv-chart-1789662435817-p844seqfk.preview-wrapper .fv-bar-commentary-inline:focus-within, #fv-chart-1789662435817-p844seqfk.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1789662435817-p844seqfk.mobile-view .fv-bar-commentary-inline:focus, #fv-chart-1789662435817-p844seqfk.mobile-view .fv-bar-commentary-inline:focus-within { display: flex !important; }#fv-chart-1789662435817-p844seqfk .fv-bar { height: 100% !important; border-radius: 3px !important; display: flex !important; align-items: center !important; transition: opacity 0.2s ease, width 0.8s ease-out !important; min-height: 23px !important; }#fv-chart-1789662435817-p844seqfk .fv-bar:hover { opacity: 0.8 !important; }#fv-chart-1789662435817-p844seqfk .fv-bar-inner-content { display: flex !important; justify-content: space-between !important; align-items: center !important; width: 100% !important; height: 100% !important; padding: 0 8px !important; font-size: 14px !important; font-weight: bold !important; overflow: hidden !important; }#fv-chart-1789662435817-p844seqfk .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; }#fv-chart-1789662435817-p844seqfk .fv-bar-inner-value { flex-shrink: 0 !important; }#fv-chart-1789662435817-p844seqfk .fv-bar-value-outside { padding-left: 8px !important; font-size: 14px !important; font-weight: bold !important; color: #374151 !important; white-space: nowrap !important; }#fv-chart-1789662435817-p844seqfk .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; }#fv-chart-1789662435817-p844seqfk .fv-multi-bar-container { flex-direction: column !important; padding: 4px !important; align-items: stretch !important; gap: 4px !important; height: auto !important; }#fv-chart-1789662435817-p844seqfk .fv-multi-bar-item { display: flex !important; align-items: center !important; height: 25px !important; width: 100% !important; }#fv-chart-1789662435817-p844seqfk .fv-stacked-bar { display: flex !important; overflow: hidden !important; }#fv-chart-1789662435817-p844seqfk .fv-stacked-segment { height: 100% !important; display: flex !important; align-items: center !important; justify-content: flex-end !important; padding-right: 8px !important; border-right: 1px solid rgba(255,255,255,0.3) !important; }#fv-chart-1789662435817-p844seqfk .fv-stacked-segment:last-child { border-right: none !important; }#fv-chart-1789662435817-p844seqfk .fv-segment-value { font-size: 14px !important; font-weight: bold !important; }#fv-chart-1789662435817-p844seqfk .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; }#fv-chart-1789662435817-p844seqfk .fv-grouped-product-title-wrapper { padding-left: 150px !important; }#fv-chart-1789662435817-p844seqfk .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.5rem !important; font-weight: 700 !important; font-size: 14px !important; color: #374151 !important; text-transform: none !important; }#fv-chart-1789662435817-p844seqfk .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; }#fv-chart-1789662435817-p844seqfk .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; }#fv-chart-1789662435817-p844seqfk .fv-bar-cluster .fv-bar-container { height: 20px !important; }#fv-chart-1789662435817-p844seqfk .riv-grid line {stroke: #D1D5DB !important;stroke-dasharray: 3 3 !important;}#fv-chart-1789662435817-p844seqfk .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; }#fv-chart-1789662435817-p844seqfk .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; }#fv-chart-1789662435817-p844seqfk .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; }#fv-chart-1789662435817-p844seqfk .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; }#fv-chart-1789662435817-p844seqfk .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; }#fv-chart-1789662435817-p844seqfk .fv-x-axis-ticks { display: flex !important; justify-content: space-between !important; padding-top: 4px !important; font-size: 13px !important; color: #374151 !important; }#fv-chart-1789662435817-p844seqfk .fv-x-axis-ticks span { position: relative !important; }#fv-chart-1789662435817-p844seqfk .fv-x-axis-ticks span::before { content: '' !important; position: absolute !important; top: -6px !important; left: 50% !important; transform: translateX(-50%) !important; width: 2px !important; height: 4px !important; background-color: #D1D5DB !important; border-radius: 1px !important; }#fv-chart-1789662435817-p844seqfk .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #374151 !important; margin-top: 8px !important; display: block !important; }#fv-chart-1789662435817-p844seqfk .fv-x-axis-title { text-align: center !important; font-size: 15px !important; color: #374151 !important; margin-top: 8px !important; margin-bottom: 16px !important; line-height: 1.5 !important; padding: 0 1rem !important; display: block !important; font-weight: bold !important; }#fv-chart-1789662435817-p844seqfk .fv-y-axis-title {font-size: 15px !important;color: #374151 !important;line-height: 1.5 !important;text-align: left !important;padding-left: 5.83% !important;margin-bottom: 4px !important;display: block !important;font-weight: bold !important;}#fv-chart-1789662435817-p844seqfk.mobile-view .fv-pie-container,#fv-chart-1789662435817-p844seqfk.labels-on-top .fv-pie-container {flex-direction: column !important; gap: 1rem !important;}#fv-chart-1789662435817-p844seqfk.mobile-view .fv-grouped-product-title-wrapper,#fv-chart-1789662435817-p844seqfk.labels-on-top .fv-grouped-product-title-wrapper {padding-left: 0 !important;}#fv-chart-1789662435817-p844seqfk.mobile-view .fv-bar-row,#fv-chart-1789662435817-p844seqfk.mobile-view .fv-stacked-product,#fv-chart-1789662435817-p844seqfk.mobile-view .fv-grouped-bar-product,#fv-chart-1789662435817-p844seqfk.labels-on-top .fv-bar-row,#fv-chart-1789662435817-p844seqfk.labels-on-top .fv-stacked-product,#fv-chart-1789662435817-p844seqfk.labels-on-top .fv-grouped-bar-product {flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important;}#fv-chart-1789662435817-p844seqfk.mobile-view .fv-bar-label:not(.fv-grouped-product-title),#fv-chart-1789662435817-p844seqfk.labels-on-top .fv-bar-label:not(.fv-grouped-product-title) {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1789662435817-p844seqfk.mobile-view .fv-bar-label,#fv-chart-1789662435817-p844seqfk.mobile-view .fv-grouped-product-title,#fv-chart-1789662435817-p844seqfk.labels-on-top .fv-bar-label,#fv-chart-1789662435817-p844seqfk.labels-on-top .fv-grouped-product-title {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1789662435817-p844seqfk.mobile-view .fv-bar-container,#fv-chart-1789662435817-p844seqfk.mobile-view .fv-bar-cluster,#fv-chart-1789662435817-p844seqfk.labels-on-top .fv-bar-container,#fv-chart-1789662435817-p844seqfk.labels-on-top .fv-bar-cluster {width: 100% !important;}#fv-chart-1789662435817-p844seqfk.mobile-view .fv-bar-row .fv-bar-commentary-inline,#fv-chart-1789662435817-p844seqfk.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline,#fv-chart-1789662435817-p844seqfk.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus,#fv-chart-1789662435817-p844seqfk.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus-within,#fv-chart-1789662435817-p844seqfk.labels-on-top .fv-bar-row .fv-bar-commentary-inline,#fv-chart-1789662435817-p844seqfk.labels-on-top .fv-bar-row:hover .fv-bar-commentary-inline,#fv-chart-1789662435817-p844seqfk.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus,#fv-chart-1789662435817-p844seqfk.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus-within {position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important;}#fv-chart-1789662435817-p844seqfk.mobile-view .fv-x-axis-wrapper,#fv-chart-1789662435817-p844seqfk.labels-on-top .fv-x-axis-wrapper {margin-left: 0 !important;}#fv-chart-1789662435817-p844seqfk.mobile-view .fv-x-axis-label-space,#fv-chart-1789662435817-p844seqfk.labels-on-top .fv-x-axis-label-space {display: none !important;}#fv-chart-1789662435817-p844seqfk.mobile-view .fv-x-axis-chart-space,#fv-chart-1789662435817-p844seqfk.labels-on-top .fv-x-axis-chart-space {padding-right: 0 !important;}#fv-chart-1789662435817-p844seqfk.mobile-view .fv-benchmark-title,#fv-chart-1789662435817-p844seqfk.labels-on-top .fv-benchmark-title {font-size: 16px !important;}#fv-chart-1789662435817-p844seqfk.mobile-view .fv-dropdown-title,#fv-chart-1789662435817-p844seqfk.labels-on-top .fv-dropdown-title {font-size: 16px !important;}#fv-chart-1789662435817-p844seqfk.mobile-view .fv-carousel-nav-btn,#fv-chart-1789662435817-p844seqfk.labels-on-top .fv-carousel-nav-btn {padding: 8px 12px !important; font-size: 14px !important;}#fv-chart-1789662435817-p844seqfk.mobile-view .fv-chart-title,#fv-chart-1789662435817-p844seqfk.labels-on-top .fv-chart-title {padding: 0 8px !important;}#fv-chart-1789662435817-p844seqfk.mobile-view .fv-chart-subhead,#fv-chart-1789662435817-p844seqfk.labels-on-top .fv-chart-subhead {padding: 0 8px !important;}#fv-chart-1789662435817-p844seqfk.mobile-view .fv-versus-header,#fv-chart-1789662435817-p844seqfk.labels-on-top .fv-versus-header {flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important;}#fv-chart-1789662435817-p844seqfk.mobile-view .fv-versus-select-wrapper,#fv-chart-1789662435817-p844seqfk.labels-on-top .fv-versus-select-wrapper {flex: 1 !important; min-width: 0 !important; width: 100% !important;}#fv-chart-1789662435817-p844seqfk.mobile-view .fv-versus-select-wrapper.fv-left,#fv-chart-1789662435817-p844seqfk.labels-on-top .fv-versus-select-wrapper.fv-left {text-align: center !important; padding-right: 0 !important;}#fv-chart-1789662435817-p844seqfk.mobile-view .fv-versus-select-wrapper.fv-right,#fv-chart-1789662435817-p844seqfk.labels-on-top .fv-versus-select-wrapper.fv-right {text-align: center !important; padding-left: 0 !important;}#fv-chart-1789662435817-p844seqfk.mobile-view .fv-versus-select.fv-select-left,#fv-chart-1789662435817-p844seqfk.labels-on-top .fv-versus-select.fv-select-left {text-align: center !important;}#fv-chart-1789662435817-p844seqfk.mobile-view .fv-versus-select.fv-select-right,#fv-chart-1789662435817-p844seqfk.labels-on-top .fv-versus-select.fv-select-right {text-align: center !important;}#fv-chart-1789662435817-p844seqfk.mobile-view .fv-versus-vs,#fv-chart-1789662435817-p844seqfk.labels-on-top .fv-versus-vs {text-align: center !important; padding: 0.25rem 0 !important;}#fv-chart-1789662435817-p844seqfk.mobile-view .fv-versus-select-container,#fv-chart-1789662435817-p844seqfk.labels-on-top .fv-versus-select-container {max-width: 100% !important; width: 100% !important;}#fv-chart-1789662435817-p844seqfk.mobile-view .fv-versus-select,#fv-chart-1789662435817-p844seqfk.labels-on-top .fv-versus-select {font-size: 14px !important; width: 100% !important;}#fv-chart-1789662435817-p844seqfk.mobile-view .fv-stl-shop-all-btn,#fv-chart-1789662435817-p844seqfk.labels-on-top .fv-stl-shop-all-btn {bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important;}#fv-chart-1789662435817-p844seqfk.mobile-view .fv-stl-shop-all-logo,#fv-chart-1789662435817-p844seqfk.mobile-view .fv-stl-shop-all-icon,#fv-chart-1789662435817-p844seqfk.labels-on-top .fv-stl-shop-all-logo,#fv-chart-1789662435817-p844seqfk.labels-on-top .fv-stl-shop-all-icon {width: 2rem !important; height: 2rem !important;}#fv-chart-1789662435817-p844seqfk.mobile-view .fv-stl-shop-all-icon svg,#fv-chart-1789662435817-p844seqfk.labels-on-top .fv-stl-shop-all-icon svg {width: 14px !important; height: 14px !important;}#fv-chart-1789662435817-p844seqfk.mobile-view .fv-bar-commentary-inline,#fv-chart-1789662435817-p844seqfk.labels-on-top .fv-bar-commentary-inline {display: block !important; margin-left: 0 !important; width: 100% !important;}#fv-chart-1789662435817-p844seqfk.mobile-view .fv-y-axis-title { padding-left: 5% !important;  }#fv-chart-1789662435817-p844seqfk.mobile-view.fv-contains-line-chart .fv-footer-content {margin-left: -1rem !important;margin-right: -1rem !important;}@media (max-width: 599px) {#fv-chart-1789662435817-p844seqfk .fv-pie-container {flex-direction: column !important; gap: 1rem !important;}#fv-chart-1789662435817-p844seqfk .fv-grouped-product-title-wrapper {padding-left: 0 !important;}#fv-chart-1789662435817-p844seqfk .fv-bar-row,#fv-chart-1789662435817-p844seqfk .fv-stacked-product,#fv-chart-1789662435817-p844seqfk .fv-grouped-bar-product {flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important;}#fv-chart-1789662435817-p844seqfk .fv-bar-label:not(.fv-grouped-product-title) {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1789662435817-p844seqfk .fv-bar-label,#fv-chart-1789662435817-p844seqfk .fv-grouped-product-title {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1789662435817-p844seqfk .fv-bar-container,#fv-chart-1789662435817-p844seqfk .fv-bar-cluster {width: 100% !important;}#fv-chart-1789662435817-p844seqfk .fv-bar-row .fv-bar-commentary-inline,#fv-chart-1789662435817-p844seqfk .fv-bar-row:hover .fv-bar-commentary-inline,#fv-chart-1789662435817-p844seqfk .fv-bar-row .fv-bar-commentary-inline:focus,#fv-chart-1789662435817-p844seqfk .fv-bar-row .fv-bar-commentary-inline:focus-within {position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important;}#fv-chart-1789662435817-p844seqfk .fv-x-axis-wrapper {margin-left: 0 !important;}#fv-chart-1789662435817-p844seqfk .fv-x-axis-label-space {display: none !important;}#fv-chart-1789662435817-p844seqfk .fv-x-axis-chart-space {padding-right: 0 !important;}#fv-chart-1789662435817-p844seqfk .fv-benchmark-title {font-size: 16px !important;}#fv-chart-1789662435817-p844seqfk .fv-dropdown-title {font-size: 16px !important;}#fv-chart-1789662435817-p844seqfk .fv-carousel-nav-btn {padding: 8px 12px !important; font-size: 14px !important;}#fv-chart-1789662435817-p844seqfk .fv-chart-title {padding: 0 8px !important;}#fv-chart-1789662435817-p844seqfk .fv-chart-subhead {padding: 0 8px !important;}#fv-chart-1789662435817-p844seqfk .fv-versus-header {flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important;}#fv-chart-1789662435817-p844seqfk .fv-versus-select-wrapper {flex: 1 !important; min-width: 0 !important; width: 100% !important;}#fv-chart-1789662435817-p844seqfk .fv-versus-select-wrapper.fv-left {text-align: center !important; padding-right: 0 !important;}#fv-chart-1789662435817-p844seqfk .fv-versus-select-wrapper.fv-right {text-align: center !important; padding-left: 0 !important;}#fv-chart-1789662435817-p844seqfk .fv-versus-select.fv-select-left {text-align: center !important;}#fv-chart-1789662435817-p844seqfk .fv-versus-select.fv-select-right {text-align: center !important;}#fv-chart-1789662435817-p844seqfk .fv-versus-vs {text-align: center !important; padding: 0.25rem 0 !important;}#fv-chart-1789662435817-p844seqfk .fv-versus-select-container {max-width: 100% !important; width: 100% !important;}#fv-chart-1789662435817-p844seqfk .fv-versus-select {font-size: 14px !important; width: 100% !important;}#fv-chart-1789662435817-p844seqfk .fv-stl-shop-all-btn {bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important;}#fv-chart-1789662435817-p844seqfk .fv-stl-shop-all-logo,#fv-chart-1789662435817-p844seqfk .fv-stl-shop-all-icon {width: 2rem !important; height: 2rem !important;}#fv-chart-1789662435817-p844seqfk .fv-stl-shop-all-icon svg {width: 14px !important; height: 14px !important;}#fv-chart-1789662435817-p844seqfk .fv-bar-commentary-inline {display: block !important; margin-left: 0 !important; width: 100% !important;}#fv-chart-1789662435817-p844seqfk .fv-y-axis-title { padding-left: 5% !important;  }#fv-chart-1789662435817-p844seqfk.fv-contains-line-chart .fv-footer-content {margin-left: -1rem !important;margin-right: -1rem !important;}}</style><script type="application/ld+json">{"@context": "https://schema.org","@type": "Dataset","name": "Carpet cleaning test 2","description": "Vacuuming oats from carpeted floor using Eufy Omni E35","creator": {"@type": "Organization","name": "TechRadar","logo": "https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png"},"isAccessibleForFree": true,"dateCreated": "2026-09-17T16:27:15.817Z","citation": "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized","keywords": ["Image Comparison","benchmark","comparison","performance","review","TechRadar"],"measurementTechnique": "Performance Benchmarking","variableMeasured": []}</script><div id="fv-chart-1789662435817-p844seqfk" class="fv-chart-wrapper   " data-bar-labels-on-top="false" data-iframe-height="true" data-vizualizer-embed="true"><div class="fv-inner-wrapper fv-no-header fv-is-image-compare  "><div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1789662435817-p844seqfk-image-compare-1" data-chart-type="Image Comparison" data-title="Image Comparison" data-subhead="Vacuuming oats from carpeted floor using Eufy Omni E35" data-caption="" style=""><div class="fv-benchmark-group"><div class="fv-image-compare-container"><div class="fv-image-compare-wrapper" data-image-compare="true"><div class="fv-image-compare-inner"><img src="https://cdn.mos.cms.futurecdn.net/ToeZntqV3hV2Q7HvUjwiLG.jpg" data-highres-src="https://cdn.mos.cms.futurecdn.net/ToeZntqV3hV2Q7HvUjwiLG.jpg" alt="Oats vacuumed from carpet" class="fv-image-compare-bg" loading="lazy" referrerpolicy="no-referrer" draggable="false" /><img src="https://cdn.mos.cms.futurecdn.net/3P3U9DpNjAojxsipX2PYQG.jpg" data-highres-src="https://cdn.mos.cms.futurecdn.net/3P3U9DpNjAojxsipX2PYQG.jpg" alt="Oats on carpet" class="fv-image-compare-fg" loading="lazy" referrerpolicy="no-referrer" draggable="false" /><div class="fv-image-compare-slider"><div class="fv-image-compare-slider-line"></div><div class="fv-image-compare-handle "><img src="https://proof.vanilla.tools/media/images/brandLogos/techradar.png" alt="Brand Logo" style="width: 100%; height: 100%; object-fit: cover;" /></div></div></div><div class="fv-image-compare-label fv-image-compare-label-left">Before</div><div class="fv-image-compare-label fv-image-compare-label-right">After</div><button class="fv-image-compare-expand-btn" aria-label="Expand Image"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 8V4h4"/><path d="M20 8V4h-4"/><path d="M4 16v4h4"/><path d="M20 16v4h-4"/><circle cx="11.5" cy="11.5" r="3.5"/><path d="m14 14 3 3"/></svg></button><button class="fv-image-compare-close-btn" aria-label="Close Fullscreen"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg></button></div></div></div></div></div><div class="fv-bottom-bar"><div class="fv-footer-content" style="display: none;"><div class="rv-chart-caption" style="display: block;"><span class="fv-original-caption" style="display: block;"></span><span class="fv-ia-dynamic-caption" style="display: none;"></span></div></div><div class="fv-logo-explore-bar"><img class="fv-logo" src="https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png" alt="TechRadar Logo"></div></div></div></div><script>window.iFrameResizer = {heightCalculationMethod: 'taggedElement'};</script><script src="https://cdnjs.cloudflare.com/ajax/libs/iframe-resizer/4.2.11/iframeResizer.contentWindow.min.js" async></script><script>(function() {window.fvAnimateCharts = function(chartWrapper) {if (!chartWrapper) return;function animateBars(chartElement) {if (!chartElement) return;var bars = chartElement.querySelectorAll('.fv-bar, .fv-stacked-segment');bars.forEach(function(bar, index) {bar.style.setProperty('width', '0%', 'important');bar.style.setProperty('transition', 'none', 'important');var targetWidth = bar.dataset.targetWidth;if (targetWidth === undefined) return;void bar.offsetWidth;var targetMargin = bar.dataset.targetMargin;var baseMargin = bar.dataset.baseMargin;if (baseMargin !== undefined) {bar.style.setProperty('margin-left', baseMargin + '%', 'important');}setTimeout(function() {var marginTransition = baseMargin !== undefined ? ', margin-left 0.8s ease-out' : '';bar.style.setProperty('transition', 'opacity 0.2s ease, width 0.8s ease-out' + marginTransition, 'important');bar.style.setProperty('width', targetWidth + '%', 'important');if (targetMargin !== undefined && baseMargin !== undefined) {bar.style.setProperty('margin-left', targetMargin + '%', 'important');}}, index * 50 + 50);});}function animateLineChart(chartElement) {if (!chartElement) return;var lineSvg = chartElement.querySelector('svg');if (!lineSvg) return;var paths = lineSvg.querySelectorAll('.riv-line-path');paths.forEach(function(p, i) {if (typeof p.getTotalLength === 'function') {var len = p.getTotalLength();p.style.transition = 'none';p.style.strokeDasharray = len;p.style.strokeDashoffset = len;p.getBoundingClientRect();setTimeout(function() {p.style.transition = 'stroke-dashoffset 1s ease-out ' + (i * 0.1) + 's, stroke-width 0.2s, opacity 0.2s';p.style.strokeDashoffset = '0';}, 100);}});var dots = lineSvg.querySelectorAll('.riv-dot');dots.forEach(function(dot, i) {dot.style.opacity = '0';setTimeout(function() {dot.style.transition = 'opacity 0.3s ease';dot.style.opacity = '1';}, 500 + i * 10);});}var charts = chartWrapper.querySelectorAll('.fv-chart-item');charts.forEach(function(chart) {if (window.getComputedStyle(chart).display === 'none') return;var chartType = chart.dataset.chartType;if (chartType === 'Line') {animateLineChart(chart);} else if (chartType !== 'Pie') {animateBars(chart);}});};function initialize(uniqueId, isSlideshow) {var root = document.getElementById(uniqueId);if (!root && !isSlideshow) return;function setupWrapper(chartWrapper) {if (!chartWrapper) return;function checkMobileView() {var width = chartWrapper.getBoundingClientRect().width;var isMobileDevice = window.screen && Math.min(window.screen.width, window.screen.height) <= 599;var isMobile;if (width === 0) {isMobile = isMobileDevice || window.matchMedia('(max-width: 599px)').matches;} else {isMobile = isMobileDevice || width < 600;}if (isMobile) {chartWrapper.classList.add('mobile-view');} else {chartWrapper.classList.remove('mobile-view');}}checkMobileView();if (typeof ResizeObserver !== 'undefined') {var ro = new ResizeObserver(function() {checkMobileView();});ro.observe(chartWrapper);}window.addEventListener('resize', checkMobileView);var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';if (labelsOnTop) {var charts = chartWrapper.querySelectorAll('.fv-chart-item');var hasVisibleBarChart = false;charts.forEach(function(c) {if (window.getComputedStyle(c).display !== 'none') {var cType = c.dataset.chartType;if (cType === 'Bar' || cType === 'Stacked Bar' || cType === 'Versus') {hasVisibleBarChart = true;}}});if (hasVisibleBarChart) {chartWrapper.classList.add('labels-on-top');} else {chartWrapper.classList.remove('labels-on-top');}} else {chartWrapper.classList.remove('labels-on-top');}chartWrapper.querySelectorAll('.riv-line-legend').forEach(function(legend) {var chartId = legend.dataset.chart;var chart = chartWrapper.querySelector('[id="' + chartId + '"]');if (!chart) return;var lines = chart.querySelectorAll('.riv-line-path');var dots = chart.querySelectorAll('.riv-dot');var legendItems = legend.querySelectorAll('.riv-legend-item');legendItems.forEach(function(item) {var productName = item.dataset.product;var safeProductName = productName.replace(/"/g, '\"');var line = chart.querySelector('.riv-line-path[data-product="' + safeProductName + '"]');var productDots = chart.querySelectorAll('.riv-dot[data-product="' + safeProductName + '"]');if (line && !line.dataset.origStroke) {line.dataset.origStroke = line.getAttribute('stroke-width') || '2';}var highlight = function() {if (legend.querySelector('.isolated')) return;lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '0.2'; });legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });if (line) {line.style.opacity = '1';line.setAttribute('stroke-width', '4');}productDots.forEach(function(d) { d.style.opacity = '1'; });item.style.opacity = '1';};var clearHighlight = function() {if (legend.querySelector('.isolated')) return;lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '1'; });legendItems.forEach(function(i) { i.style.opacity = '1'; });};var toggleIsolate = function() {var isIsolated = item.classList.contains('isolated');legendItems.forEach(function(i) { i.classList.remove('isolated'); });if (isIsolated) {lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '1'; });legendItems.forEach(function(i) { i.style.opacity = '1'; });} else {item.classList.add('isolated');lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '0.2'; });legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });if (line) {line.style.opacity = '1';line.setAttribute('stroke-width', '4');}productDots.forEach(function(d) { d.style.opacity = '1'; });item.style.opacity = '1';}};item.addEventListener('mouseenter', highlight);item.addEventListener('focus', highlight);item.addEventListener('mouseleave', clearHighlight);item.addEventListener('blur', clearHighlight);item.addEventListener('click', toggleIsolate);if (line) {line.style.cursor = 'pointer';line.addEventListener('mouseenter', highlight);line.addEventListener('mouseleave', clearHighlight);line.addEventListener('click', toggleIsolate);}});});var versusCharts = chartWrapper.querySelectorAll('.fv-versus-chart');versusCharts.forEach(function(vc) {var dataJson = vc.getAttribute('data-versus-data');var leftColor = vc.getAttribute('data-left-color') || '#E53935';var rightColor = vc.getAttribute('data-right-color') || '#FFB300';if (!dataJson) return;var versusData = JSON.parse(dataJson);var leftSelect = vc.querySelector('.fv-select-left');var rightSelect = vc.querySelector('.fv-select-right');var rows = vc.querySelectorAll('.fv-versus-row');function updateVersusChart() {var leftProduct = leftSelect.value;var rightProduct = rightSelect.value;leftSelect.style.color = leftColor;leftSelect.style.borderColor = leftColor;rightSelect.style.color = rightColor;rightSelect.style.borderColor = rightColor;rows.forEach(function(row) {var index = parseInt(row.getAttribute('data-index'));var data = versusData[index];if (!data) return;var leftVal = data.productData[leftProduct] ? data.productData[leftProduct].value : undefined;var rightVal = data.productData[rightProduct] ? data.productData[rightProduct].value : undefined;var leftIsNum = typeof leftVal === 'number';var rightIsNum = typeof rightVal === 'number';var leftNum = leftIsNum ? leftVal : 0;var rightNum = rightIsNum ? rightVal : 0;var maxVal = Math.max(leftNum, rightNum, 0.0001);var leftWidth = leftIsNum ? (leftNum / maxVal) * 95 : 0;var rightWidth = rightIsNum ? (rightNum / maxVal) * 85 : 0;var winner = null;var pctDiffStr = null;if (leftIsNum && rightIsNum) {if (leftNum > rightNum) {winner = 'left';if (rightNum > 0) {var diff = Math.round(((leftNum - rightNum) / rightNum) * 100);pctDiffStr = '+' + diff.toLocaleString() + '%';}} else if (rightNum > leftNum) {winner = 'right';if (leftNum > 0) {var diff = Math.round(((rightNum - leftNum) / leftNum) * 100);pctDiffStr = '+' + diff.toLocaleString() + '%';}}}var leftDisplay = data.productData[leftProduct] && data.productData[leftProduct].displayValue !== undefined ? data.productData[leftProduct].displayValue : (leftIsNum ? leftNum.toLocaleString() : (leftVal !== undefined ? leftVal : '-'));var rightDisplay = data.productData[rightProduct] && data.productData[rightProduct].displayValue !== undefined ? data.productData[rightProduct].displayValue : (rightIsNum ? rightNum.toLocaleString() : (rightVal !== undefined ? rightVal : '-'));var unit = (data.productData[leftProduct] && data.productData[leftProduct].unit) ||(data.productData[rightProduct] && data.productData[rightProduct].unit) || '';var leftTextStr = leftDisplay;var rightTextStr = rightDisplay;var leftBar = row.querySelector('.fv-versus-bar-left');var rightBar = row.querySelector('.fv-versus-bar-right');var leftText = row.querySelector('.fv-inside-left');var rightText = row.querySelector('.fv-inside-right');var labelText = row.querySelector('.fv-versus-label span');var leftWrapper = row.querySelector('.fv-versus-bar-left-wrapper');var rightWrapper = row.querySelector('.fv-versus-bar-right-wrapper');var existingPctDiffs = row.querySelectorAll('.fv-versus-pct-diff');existingPctDiffs.forEach(function(el) { el.remove(); });if (winner === 'left' && pctDiffStr) {var pctSpan = document.createElement('span');pctSpan.className = 'fv-versus-pct-diff';pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';pctSpan.textContent = pctDiffStr;if (leftBar) leftBar.insertBefore(pctSpan, leftBar.firstChild);} else if (winner === 'right' && pctDiffStr) {var pctSpan = document.createElement('span');pctSpan.className = 'fv-versus-pct-diff';pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';pctSpan.textContent = pctDiffStr;if (rightBar) rightBar.appendChild(pctSpan);}if (leftBar) {leftBar.style.backgroundColor = leftColor;leftBar.dataset.targetWidth = leftWidth;leftBar.style.setProperty('--target-width', leftWidth + '%');leftBar.style.width = leftWidth + '%';}if (rightBar) {rightBar.style.backgroundColor = rightColor;rightBar.dataset.targetWidth = rightWidth;rightBar.style.setProperty('--target-width', rightWidth + '%');rightBar.style.width = rightWidth + '%';}if (leftText) {leftText.innerHTML = leftTextStr;}if (rightText) {rightText.innerHTML = rightTextStr;}if (labelText) {labelText.textContent = data.attribute + (unit ? ' (' + unit + ')' : '');}});}if (leftSelect) leftSelect.addEventListener('change', updateVersusChart);if (rightSelect) rightSelect.addEventListener('change', updateVersusChart);});var barRows = chartWrapper.querySelectorAll('.fv-bar-row');var globalCaptionEl = chartWrapper.querySelector('.rv-chart-caption');var fallbackCaptionHtml = globalCaptionEl ? globalCaptionEl.innerHTML : '';barRows.forEach(function(row) {var commentaryEl = row.querySelector('[data-commentary-key]');if (commentaryEl) {var commentaryText = commentaryEl.textContent;if (commentaryText && commentaryText.trim().length > 0) {row.addEventListener('mouseenter', function() {if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {globalCaptionEl.innerHTML = commentaryText;globalCaptionEl.classList.add('fv-bar-active-caption');}});row.addEventListener('mouseleave', function() {if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {globalCaptionEl.innerHTML = fallbackCaptionHtml;globalCaptionEl.classList.remove('fv-bar-active-caption');}});}}});var charts = chartWrapper.querySelectorAll('.fv-chart-item');var dropdown = chartWrapper.querySelector('.fv-dropdown-title');var prevBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.prev');var nextBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.next');var carouselTitle = chartWrapper.querySelector('.fv-carousel-title-controls .fv-benchmark-title');var counter = chartWrapper.querySelector('.fv-carousel-counter');var subheadEl = chartWrapper.querySelector('.fv-chart-subhead');var captionEl = chartWrapper.querySelector('.rv-chart-caption');var footerContentEl = chartWrapper.querySelector('.fv-footer-content');var bottomBarEl = chartWrapper.querySelector('.fv-bottom-bar');var logoEl = chartWrapper.querySelector('.fv-logo');if (charts.length > 1 && (dropdown || prevBtn)) {var currentChartIndex = 0;var titles = [];if (dropdown) {titles = Array.from(dropdown.options).map(function(o) { return o.text; });} else {charts.forEach(function(c) {titles.push(c.getAttribute('data-title') || '');});}function showInternalChart(index) {if (index < 0) index = charts.length - 1;if (index >= charts.length) index = 0;currentChartIndex = index;charts.forEach(function(c, i) {c.style.display = i === index ? 'block' : 'none';if (i === index) {var cType = c.dataset.chartType;if (cType === 'Line') {} else if (cType !== 'Pie') {window.fvAnimateCharts(chartWrapper);}var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';if (labelsOnTop && (cType === 'Bar' || cType === 'Stacked Bar' || cType === 'Versus')) {chartWrapper.classList.add('labels-on-top');} else {chartWrapper.classList.remove('labels-on-top');}}});if (dropdown) dropdown.value = index;if (carouselTitle && titles[index]) carouselTitle.textContent = titles[index];if (counter) counter.textContent = (index + 1) + ' of ' + charts.length;var activeChart = charts[index];if (activeChart) {var newSubhead = activeChart.getAttribute('data-subhead');var newCaption = activeChart.getAttribute('data-caption');var currentChartType = activeChart.getAttribute('data-chart-type');var hideGlobalCaption = currentChartType === 'Countdown' || currentChartType === 'Image Comparison' || currentChartType === 'Shop the Collection';if (subheadEl) subheadEl.textContent = newSubhead || '';if (captionEl) {captionEl.textContent = newCaption || '';fallbackCaptionHtml = newCaption || '';}if (footerContentEl) {if (newCaption && newCaption.trim().length > 0 && !hideGlobalCaption) {footerContentEl.style.display = 'block';if (bottomBarEl) bottomBarEl.style.display = 'flex';} else {footerContentEl.style.display = 'none';if (bottomBarEl && !logoEl) {bottomBarEl.style.display = 'none';}}}}}if (dropdown) dropdown.addEventListener('change', function(e) { showInternalChart(parseInt(e.target.value)); });if (prevBtn) prevBtn.addEventListener('click', function() { showInternalChart(currentChartIndex - 1); });if (nextBtn) nextBtn.addEventListener('click', function() { showInternalChart(currentChartIndex + 1); });}var imageCompareWrappers = chartWrapper.querySelectorAll('.fv-image-compare-wrapper');imageCompareWrappers.forEach(function(wrapper) {var inner = wrapper.querySelector('.fv-image-compare-inner') || wrapper;var slider = wrapper.querySelector('.fv-image-compare-slider');var fgImage = wrapper.querySelector('.fv-image-compare-fg');var bgImage = wrapper.querySelector('.fv-image-compare-bg');var labelLeft = wrapper.querySelector('.fv-image-compare-label-left');var labelRight = wrapper.querySelector('.fv-image-compare-label-right');var isDragging = false;var scale = 1;var panX = 0;var panY = 0;var isPanning = false;var hasPanned = false;var lastClientX = 0;var lastClientY = 0;var initialDistance = null;var lastCenterX = null;var lastCenterY = null;function updateTransform() {if (wrapper.classList.contains('fv-image-compare-fullscreen')) {inner.style.setProperty('transform', 'translate(' + panX + 'px, ' + panY + 'px) scale(' + scale + ')', 'important');} else {inner.style.removeProperty('transform');scale = 1;panX = 0;panY = 0;}}function constrainPan() {var rect = wrapper.getBoundingClientRect();var maxPanX = Math.max(0, (rect.width * scale - rect.width) / 2);var maxPanY = Math.max(0, (rect.height * scale - rect.height) / 2);panX = Math.max(-maxPanX, Math.min(panX, maxPanX));panY = Math.max(-maxPanY, Math.min(panY, maxPanY));}wrapper.addEventListener('wheel', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;e.preventDefault();var zoomSensitivity = 0.005;var zoomFactor = Math.exp(-e.deltaY * zoomSensitivity);var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));if (newScale === scale) return;var rect = wrapper.getBoundingClientRect();var mouseX = e.clientX - rect.left - rect.width / 2;var mouseY = e.clientY - rect.top - rect.height / 2;var ratio = newScale / scale;panX = mouseX - (mouseX - panX) * ratio;panY = mouseY - (mouseY - panY) * ratio;scale = newScale;constrainPan();updateTransform();}, { passive: false });wrapper.addEventListener('mousedown', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen') || scale <= 1) return;if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;isPanning = true;hasPanned = false;lastClientX = e.clientX;lastClientY = e.clientY;});window.addEventListener('mousemove', function(e) {if (!isPanning) return;var dx = e.clientX - lastClientX;var dy = e.clientY - lastClientY;if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {hasPanned = true;}lastClientX = e.clientX;lastClientY = e.clientY;panX += dx;panY += dy;constrainPan();updateTransform();});window.addEventListener('mouseup', function() {isPanning = false;});wrapper.addEventListener('touchstart', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;if (e.touches.length === 2) {e.preventDefault();var dx = e.touches[0].clientX - e.touches[1].clientX;var dy = e.touches[0].clientY - e.touches[1].clientY;initialDistance = Math.sqrt(dx * dx + dy * dy);var rect = wrapper.getBoundingClientRect();lastCenterX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;lastCenterY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;hasPanned = true;} else if (e.touches.length === 1 && scale > 1) {if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;isPanning = true;hasPanned = false;lastClientX = e.touches[0].clientX;lastClientY = e.touches[0].clientY;}}, { passive: false });wrapper.addEventListener('touchmove', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;if (e.touches.length === 2 && initialDistance !== null) {e.preventDefault();var dx = e.touches[0].clientX - e.touches[1].clientX;var dy = e.touches[0].clientY - e.touches[1].clientY;var distance = Math.sqrt(dx * dx + dy * dy);if (initialDistance > 0) {var zoomFactor = distance / initialDistance;var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));var rect = wrapper.getBoundingClientRect();var centerX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;var centerY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;var ratio = newScale / scale;panX = centerX - (centerX - panX) * ratio;panY = centerY - (centerY - panY) * ratio;if (lastCenterX !== null && lastCenterY !== null) {panX += (centerX - lastCenterX);panY += (centerY - lastCenterY);}scale = newScale;lastCenterX = centerX;lastCenterY = centerY;constrainPan();updateTransform();}initialDistance = distance;} else if (e.touches.length === 1 && isPanning) {e.preventDefault();var dx = e.touches[0].clientX - lastClientX;var dy = e.touches[0].clientY - lastClientY;if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {hasPanned = true;}lastClientX = e.touches[0].clientX;lastClientY = e.touches[0].clientY;panX += dx;panY += dy;constrainPan();updateTransform();}}, { passive: false });wrapper.addEventListener('touchend', function(e) {if (e.touches.length < 2) {initialDistance = null;}if (e.touches.length === 0) {isPanning = false;}});function handleMove(clientX) {var rect = inner.getBoundingClientRect();var x = Math.max(0, Math.min(clientX - rect.left, rect.width));var percent = Math.max(0, Math.min((x / rect.width) * 100, 100));if (slider) slider.style.setProperty('left', percent + '%', 'important');if (fgImage) fgImage.style.setProperty('clip-path', 'polygon(0 0, ' + percent + '% 0, ' + percent + '% 100%, 0 100%)', 'important');if (labelLeft) {if (percent < 10) {labelLeft.style.setProperty('opacity', '0', 'important');} else {labelLeft.style.setProperty('opacity', '1', 'important');}}if (labelRight) {if (percent > 90) {labelRight.style.setProperty('opacity', '0', 'important');} else {labelRight.style.setProperty('opacity', '1', 'important');}}}function onMouseMove(e) {if (!isDragging) return;handleMove(e.clientX);}function onTouchMove(e) {if (!isDragging) return;e.preventDefault();handleMove(e.touches[0].clientX);}function stopDragging() {isDragging = false;window.removeEventListener('mousemove', onMouseMove);window.removeEventListener('mouseup', stopDragging);window.removeEventListener('touchmove', onTouchMove);window.removeEventListener('touchend', stopDragging);}if (slider) {var startDrag = function(clientX) {isDragging = true;handleMove(clientX);window.addEventListener('mousemove', onMouseMove);window.addEventListener('mouseup', stopDragging);};var startTouchDrag = function(clientX) {isDragging = true;handleMove(clientX);window.addEventListener('touchmove', onTouchMove, { passive: false });window.addEventListener('touchend', stopDragging);};slider.addEventListener('mousedown', function(e) {e.preventDefault();startDrag(e.clientX);});slider.addEventListener('touchstart', function(e) {e.preventDefault();startTouchDrag(e.touches[0].clientX);}, { passive: false });}var expandBtn = wrapper.querySelector('.fv-image-compare-expand-btn');var closeBtn = wrapper.querySelector('.fv-image-compare-close-btn');if (expandBtn) {if (window !== window.parent) {expandBtn.style.display = 'none';} else {expandBtn.addEventListener('click', function(e) {e.stopPropagation();wrapper.classList.add('fv-image-compare-fullscreen');document.body.style.overflow = 'hidden';if (fgImage && fgImage.dataset.highresSrc) {fgImage.src = fgImage.dataset.highresSrc;fgImage.removeAttribute('srcset');fgImage.removeAttribute('sizes');}if (bgImage && bgImage.dataset.highresSrc) {bgImage.src = bgImage.dataset.highresSrc;bgImage.removeAttribute('srcset');bgImage.removeAttribute('sizes');}});}}if (closeBtn) {closeBtn.addEventListener('click', function(e) {e.stopPropagation();wrapper.classList.remove('fv-image-compare-fullscreen');document.body.style.overflow = '';updateTransform();});}document.addEventListener('keydown', function(e) {if (e.key === 'Escape' && wrapper.classList.contains('fv-image-compare-fullscreen')) {wrapper.classList.remove('fv-image-compare-fullscreen');document.body.style.overflow = '';updateTransform();}});});var hotspots = chartWrapper.querySelectorAll('.fv-stl-hotspot-btn');var allProductsModal = chartWrapper.querySelector('.fv-stl-all-products-modal');var shopAllBtn = chartWrapper.querySelector('.fv-stl-shop-all-btn');var allProductsList = chartWrapper.querySelector('.fv-stl-all-products-list');var stlContainer = chartWrapper.querySelector('.fv-stl-container');function closeAllModals() {if (allProductsModal) {allProductsModal.classList.remove('is-active');var items = allProductsModal.querySelectorAll('.fv-stl-all-products-item');items.forEach(function(item) {item.classList.remove('is-highlighted');});if (stlContainer) {setTimeout(function() {if (!allProductsModal.classList.contains('is-active')) {stlContainer.style.minHeight = '';if ('parentIFrame' in window) {window.parentIFrame.size();}}}, 300);}}hotspots.forEach(function(btn) { btn.setAttribute('aria-expanded', 'false'); });if ('parentIFrame' in window) {window.parentIFrame.size();}}hotspots.forEach(function(btn) {btn.addEventListener('click', function(e) {e.stopPropagation();var hotspotId = btn.getAttribute('data-hotspot-id');var isExpanded = btn.getAttribute('aria-expanded') === 'true';closeAllModals();if (!isExpanded && allProductsModal) {btn.setAttribute('aria-expanded', 'true');allProductsModal.classList.add('is-active');var container = btn.closest('.fv-stl-container');if (container && container.offsetHeight < 450) {container.style.minHeight = '450px';}var targetItem = allProductsModal.querySelector('.fv-stl-all-products-item[data-product-id="' + hotspotId + '"]');if (targetItem) {targetItem.classList.add('is-highlighted');setTimeout(function() {targetItem.scrollIntoView({ behavior: 'smooth', block: 'center' });}, 100);}if ('parentIFrame' in window) {window.parentIFrame.size();}}});});if (shopAllBtn && allProductsModal) {shopAllBtn.addEventListener('click', function(e) {e.stopPropagation();closeAllModals();allProductsModal.classList.add('is-active');var container = shopAllBtn.closest('.fv-stl-container');if (container && container.offsetHeight < 450) {container.style.minHeight = '450px';}if ('parentIFrame' in window) {window.parentIFrame.size();}});}if (allProductsModal) {var closeAllBtn = allProductsModal.querySelector('.fv-stl-all-products-close');if (closeAllBtn) {closeAllBtn.addEventListener('click', function(e) {e.stopPropagation();closeAllModals();});}}chartWrapper.addEventListener('click', function(e) {if (!e.target.closest('.fv-stl-all-products-content')) {closeAllModals();}});if (allProductsModal) {allProductsModal.addEventListener('click', function(e) {if (!e.target.closest('.fv-stl-all-products-content')) {closeAllModals();}});}var iaNodes = chartWrapper.querySelectorAll('.fv-ia-node-button');var iaWrapper = chartWrapper.querySelector('.fv-ia-wrapper');var originalCaption = chartWrapper.querySelector('.fv-original-caption') || captionEl;var dynamicCaption = chartWrapper.querySelector('.fv-ia-dynamic-caption');var exploreBtn = chartWrapper.querySelector('.fv-ia-explore-btn');var currentIaIndex = -1;function closeAllIANodes() {iaNodes.forEach(function(btn) { btn.classList.remove('is-active'); });if (originalCaption) originalCaption.style.display = 'block';if (dynamicCaption) dynamicCaption.style.display = 'none';}function resetExploreBtn() {currentIaIndex = -1;if (exploreBtn) {var exploreSpan = exploreBtn.querySelector('span');if (exploreSpan) exploreSpan.textContent = 'Explore';}}iaNodes.forEach(function(btn, index) {btn.addEventListener('click', function(e) {e.stopPropagation();var isActive = btn.classList.contains('is-active');closeAllIANodes();if (!isActive) {currentIaIndex = index;if (exploreBtn) {var exploreSpan = exploreBtn.querySelector('span');if (exploreSpan) exploreSpan.textContent = 'Next';}btn.classList.add('is-active');if (dynamicCaption) {var title = btn.getAttribute('data-title') || '';var desc = btn.getAttribute('data-desc') || '';dynamicCaption.innerHTML = '';var strongTag = document.createElement('strong');strongTag.textContent = title;dynamicCaption.appendChild(strongTag);if (desc) {dynamicCaption.appendChild(document.createTextNode(' - ' + desc));}if (originalCaption) originalCaption.style.display = 'none';dynamicCaption.style.display = 'block';if (footerContentEl) footerContentEl.style.display = 'block';}} else {resetExploreBtn();}});});if (exploreBtn) {exploreBtn.addEventListener('click', function(e) {e.stopPropagation();if (iaNodes.length === 0) return;var nextIndex = currentIaIndex + 1;if (nextIndex >= iaNodes.length) {closeAllIANodes();resetExploreBtn();} else {currentIaIndex = nextIndex;var targetBtn = iaNodes[currentIaIndex];if (targetBtn) {if(targetBtn.classList.contains('is-active')) {targetBtn.click();}targetBtn.click();}}});}if (iaWrapper) {iaWrapper.addEventListener('click', function(e) {if (!e.target.closest('.fv-ia-node-button') && !e.target.closest('.fv-ia-explore-btn')) {closeAllIANodes();resetExploreBtn();}});}window.fvAnimateCharts(chartWrapper);var countdownContainer = chartWrapper.querySelector('.fv-countdown-container');if (countdownContainer) {var targetDateAttr = countdownContainer.getAttribute('data-target-date');if (targetDateAttr) {var targetDate = new Date(targetDateAttr);var primaryColor = countdownContainer.getAttribute('data-primary-color') || '#f97316';var subheadColor = countdownContainer.getAttribute('data-subhead-color') || '#ffffff';var pad = function(n) { return (n < 10 ? '0' : '') + n; };var updateCountdown = function() {var difference = +targetDate - +new Date();var d = 0, h = 0, m = 0, s = 0;if (difference > 0) {d = Math.floor(difference / (1000 * 60 * 60 * 24));h = Math.floor((difference / (1000 * 60 * 60)) % 24);m = Math.floor((difference / 1000 / 60) % 60);s = Math.floor((difference / 1000) % 60);}var daysEl = countdownContainer.querySelector('[data-time="days"]');var hoursEl = countdownContainer.querySelector('[data-time="hours"]');var minsEl = countdownContainer.querySelector('[data-time="minutes"]');var secsEl = countdownContainer.querySelector('[data-time="seconds"]');if (daysEl) daysEl.textContent = d;if (hoursEl) hoursEl.textContent = pad(h);if (minsEl) minsEl.textContent = pad(m);if (secsEl) secsEl.textContent = pad(s);};updateCountdown();setInterval(updateCountdown, 1000);}}}if (false) {var slideshowContainer = document.getElementById(uniqueId + '-slideshow');if (slideshowContainer) {var slides = slideshowContainer.querySelectorAll('.fv-slide');slides.forEach(function(slide) {setupWrapper(slide.querySelector('.fv-chart-wrapper'));});}} else {setupWrapper(root);}}if (document.readyState === 'loading') {document.addEventListener('DOMContentLoaded', function() { initialize('fv-chart-1789662435817-p844seqfk', false); });} else {initialize('fv-chart-1789662435817-p844seqfk', false);}})();</script></div><p>I often left it in Max for the kitchen and living room, or switched down to the middling Turbo mode for bigger cleans in a bid to avoid charging mid-task. It’s also worth noting how the robot automatically increases suction when carpet or rugs are detected.</p><p>After a fortnight of regular use — and being impressed by the E35’s performance – I began TechRadar’s specific robovac tests. Vacuuming is first tested with a crumb mix made of flour and crushed biscuit spread across both carpet and hard floors, then oats are scattered across the same areas to test its ability to pick up larger debris.</p><div class="vizualizer-embed"><style>@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap');#fv-chart-1789662446064-xfo8dug44 *, #fv-chart-1789662446064-xfo8dug44 *:before, #fv-chart-1789662446064-xfo8dug44 *:after, #fv-chart-1789662446064-xfo8dug44-slideshow *, #fv-chart-1789662446064-xfo8dug44-slideshow *:before, #fv-chart-1789662446064-xfo8dug44-slideshow *:after {box-sizing: border-box !important; margin: 0; padding: 0; border: 0;font-size: 100%; font: inherit; vertical-align: baseline;}#fv-chart-1789662446064-xfo8dug44, #fv-chart-1789662446064-xfo8dug44-slideshow { font-family: 'Open Sans', sans-serif !important; }#fv-chart-1789662446064-xfo8dug44 {position: relative !important; overflow: visible !important;--riv-primary: #2E6E93;}#fv-chart-1789662446064-xfo8dug44 .fv-inner-wrapper {color: #1F2937 !important; background-color: #ffffff !important;padding: 1.5rem 1.5rem 2rem !important; border-radius: 0.5rem !important;box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important;margin: 1rem 0 !important; display: flex !important; flex-direction: column !important;overflow: hidden !important;}#fv-chart-1789662446064-xfo8dug44 .fv-inner-wrapper.fv-no-header.fv-is-image-compare {padding-top: 0 !important;}#fv-chart-1789662446064-xfo8dug44.fv-full-bleed {width: 100vw !important;margin-left: calc(50% - 50vw) !important;}body {overflow-x: clip !important;}#fv-chart-1789662446064-xfo8dug44.fv-full-bleed .fv-inner-wrapper {padding: 0 !important;border-radius: 0 !important;box-shadow: none !important;margin: 0 !important;background-color: transparent !important;}#fv-chart-1789662446064-xfo8dug44 .fv-inner-wrapper.fv-is-shop-the-look {padding: 0 !important;border-radius: 0 !important;box-shadow: none !important;margin: 0 !important;background-color: transparent !important;}#fv-chart-1789662446064-xfo8dug44-slideshow {position: relative !important;width: 100% !important;margin: 1rem 0 !important;--riv-primary: #2E6E93;}#fv-chart-1789662446064-xfo8dug44-slideshow .fv-slides-wrapper {position: relative !important;width: 100% !important;}#fv-chart-1789662446064-xfo8dug44-slideshow .fv-slide {width: 100% !important;animation: fv-fade-in 0.3s ease-in-out;}@keyframes fv-fade-in {from { opacity: 0; }to { opacity: 1; }}#fv-chart-1789662446064-xfo8dug44-slideshow .fv-slideshow-nav-row {position: relative !important;display: flex !important;justify-content: space-between !important;align-items: center !important;padding: 0 0 16px 0 !important;width: 100% !important;z-index: 20 !important;}#fv-chart-1789662446064-xfo8dug44-slideshow .fv-nav-btn {background-color: var(--riv-primary) !important;color: #ffffff !important;border: none !important;border-radius: 4px !important;padding: 8px 16px !important;font-size: 14px !important;font-weight: 700 !important;cursor: pointer !important;display: flex !important;align-items: center !important;justify-content: center !important;gap: 6px !important;transition: opacity 0.2s, background-color 0.2s !important;height: 36px !important;text-transform: none !important;box-shadow: 0 1px 2px rgba(0,0,0,0.1) !important;}#fv-chart-1789662446064-xfo8dug44-slideshow .fv-nav-btn svg {width: 18px !important;height: 18px !important;stroke-width: 3px !important;filter: none !important;}#fv-chart-1789662446064-xfo8dug44-slideshow .fv-nav-btn:hover {opacity: 0.9 !important;transform: translateY(-1px) !important;}#fv-chart-1789662446064-xfo8dug44-slideshow .fv-nav-btn.disabled {background-color: #E5E7EB !important;color: #9CA3AF !important;cursor: default !important;pointer-events: none !important;box-shadow: none !important;}#fv-chart-1789662446064-xfo8dug44-slideshow .fv-slide-counter {font-family: 'Poppins', sans-serif !important;font-size: 14px !important;font-weight: 600 !important;color: #374151 !important;text-align: center !important;min-width: 40px !important;background-color: rgba(255,255,255,0.8) !important;padding: 2px 8px !important;border-radius: 10px !important;}#fv-chart-1789662446064-xfo8dug44-slideshow .fv-slideshow-select {position: absolute !important;top: 10px !important;right: 10px !important;z-index: 20 !important;appearance: none !important;-webkit-appearance: none !important;-moz-appearance: none !important;background-color: white !important;border: 1px solid #d1d5db !important;color: #1F2937 !important;font-family: 'Open Sans', sans-serif !important;font-size: 14px !important;font-weight: 600 !important;padding: 6px 32px 6px 12px !important;border-radius: 4px !important;cursor: pointer !important;box-shadow: 0 1px 2px rgba(0,0,0,0.05) !important;background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e") !important;background-position: right 0.5rem center !important;background-repeat: no-repeat !important;background-size: 1.5em 1.5em !important;}#fv-chart-1789662446064-xfo8dug44-slideshow .fv-slideshow-select:focus {outline: 2px solid #2E6E93 !important;border-color: #2E6E93 !important;}#fv-chart-1789662446064-xfo8dug44 .fv-chart-title {font-weight: bold !important;text-align: center !important;margin-bottom: 0.5rem !important;color: var(--riv-primary) !important;font-size: 20px !important;line-height: 1.2 !important;font-family: 'Open Sans', sans-serif !important;text-transform: none !important;white-space: normal !important;overflow-wrap: break-word !important;padding: 0 20px !important;}#fv-chart-1789662446064-xfo8dug44 .fv-chart-subhead {font-size: 18px !important;font-weight: 500 !important;text-align: center !important;margin-bottom: 2rem !important;color: #374151 !important;line-height: 1.7 !important;font-family: 'Open Sans', sans-serif !important;display: block !important;text-transform: none !important;padding: 0 20px !important;}#fv-chart-1789662446064-xfo8dug44 .rv-chart-caption { font-size: 15px !important; color: #374151 !important; text-align: center !important; font-style: normal !important; font-weight: normal !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; }#fv-chart-1789662446064-xfo8dug44 .fv-versus-chart { display: flex; flex-direction: column; width: 100%; margin-top: 1rem; }#fv-chart-1789662446064-xfo8dug44 .fv-versus-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding: 0 1rem; }#fv-chart-1789662446064-xfo8dug44 .fv-versus-select-wrapper { flex: 1; min-width: 0; }#fv-chart-1789662446064-xfo8dug44 .fv-versus-select-wrapper.fv-left { text-align: center; padding-right: 1rem; }#fv-chart-1789662446064-xfo8dug44 .fv-versus-select-wrapper.fv-right { text-align: center; padding-left: 1rem; }#fv-chart-1789662446064-xfo8dug44 .fv-versus-select-container { position: relative; display: inline-block; max-width: 100%; width: 100%; }#fv-chart-1789662446064-xfo8dug44 .fv-versus-chevron { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; width: 16px; height: 16px; flex-shrink: 0; }#fv-chart-1789662446064-xfo8dug44 .fv-versus-select-wrapper.fv-left .fv-versus-chevron { right: 0; }#fv-chart-1789662446064-xfo8dug44 .fv-versus-select-wrapper.fv-right .fv-versus-chevron { right: 0; }#fv-chart-1789662446064-xfo8dug44 .fv-versus-select { background: transparent; border: none; border-bottom: 2px solid; font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; padding: 0.25rem 0; cursor: pointer; outline: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; max-width: 100%; width: 100%; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; }#fv-chart-1789662446064-xfo8dug44 .fv-versus-select.fv-select-left { text-align: center; direction: ltr; padding-right: 1.25rem; }#fv-chart-1789662446064-xfo8dug44 .fv-versus-select.fv-select-right { text-align: center; padding-right: 1.25rem; }#fv-chart-1789662446064-xfo8dug44 .fv-versus-select option { font-family: 'Open Sans', sans-serif; font-weight: 400; font-size: 14px; color: #374151; direction: ltr; text-align: left; }#fv-chart-1789662446064-xfo8dug44 .fv-versus-vs { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; color: #374151; letter-spacing: 0.1em; padding: 0 1rem; }#fv-chart-1789662446064-xfo8dug44 .fv-versus-body { display: flex; flex-direction: column; gap: 1.5rem; }#fv-chart-1789662446064-xfo8dug44 .fv-versus-row { position: relative; height: auto; padding-top: 20px; margin-bottom: 0.25rem; display: block; }#fv-chart-1789662446064-xfo8dug44 .fv-versus-bar-container { position: relative; height: 32px; display: flex; align-items: center; }#fv-chart-1789662446064-xfo8dug44 .fv-versus-bar-left-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-end; align-items: center; }#fv-chart-1789662446064-xfo8dug44 .fv-versus-bar-right-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-start; align-items: center; }#fv-chart-1789662446064-xfo8dug44 .fv-versus-bar { height: 32px; width: var(--target-width); transition: width 0.8s ease-out; animation: fv-grow-max-width 0.8s ease-out forwards; display: flex; align-items: center; overflow: hidden; color: #ffffff; }#fv-chart-1789662446064-xfo8dug44 .fv-versus-bar-left { border-radius: 4px 0 0 4px; justify-content: flex-end; padding: 0 8px; }#fv-chart-1789662446064-xfo8dug44 .fv-versus-bar-right { border-radius: 0 4px 4px 0; justify-content: flex-start; padding: 0 8px; }@keyframes fv-grow-max-width {from { max-width: 0; }to { max-width: 100%; }}#fv-chart-1789662446064-xfo8dug44 .fv-versus-center-line { position: absolute; left: 50%; top: 0; bottom: 0; width: 4px; background-color: #ffffff; transform: translateX(-50%); z-index: 1; }#fv-chart-1789662446064-xfo8dug44 .fv-inside-left { white-space: nowrap; flex-shrink: 0; }#fv-chart-1789662446064-xfo8dug44 .fv-inside-right { white-space: nowrap; flex-shrink: 0; }#fv-chart-1789662446064-xfo8dug44 .fv-versus-val-text { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; }#fv-chart-1789662446064-xfo8dug44 .fv-versus-pct-diff { font-size: 12px; font-weight: 600; }#fv-chart-1789662446064-xfo8dug44 .fv-versus-label { position: absolute; left: 50%; transform: translateX(-50%); top: 0; background-color: transparent; border: none; box-shadow: none; padding: 0; font-family: 'Open Sans', sans-serif; font-weight: 700; font-size: 14px; color: #374151; white-space: nowrap; }#fv-chart-1789662446064-xfo8dug44 .sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }#fv-chart-1789662446064-xfo8dug44 .fv-image-compare-container { width: auto !important; margin-left: -1.5rem !important; margin-right: -1.5rem !important; margin-bottom: 2rem !important; }#fv-chart-1789662446064-xfo8dug44.fv-full-bleed .fv-image-compare-container { width: 100% !important; max-width: none !important; margin: 0 auto !important; }#fv-chart-1789662446064-xfo8dug44 .fv-image-compare-wrapper { position: relative !important; width: 100% !important; overflow: hidden !important; border-radius: 0 !important; background-color: #000 !important; touch-action: pan-y !important; user-select: none !important; -webkit-user-select: none !important; }#fv-chart-1789662446064-xfo8dug44 .fv-image-compare-inner { position: relative !important; width: 100% !important; height: 100% !important; display: block !important; transform-origin: center center !important; transition: transform 0.1s ease-out !important; }#fv-chart-1789662446064-xfo8dug44 .fv-image-compare-bg { display: block !important; width: 100% !important; height: auto !important; pointer-events: none !important; user-select: none !important; -webkit-user-select: none !important; -webkit-user-drag: none !important; }#fv-chart-1789662446064-xfo8dug44 .fv-image-compare-fg { position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; object-fit: cover !important; clip-path: polygon(0 0, 50% 0, 50% 100%, 0 100%) !important; pointer-events: none !important; user-select: none !important; -webkit-user-select: none !important; -webkit-user-drag: none !important; }#fv-chart-1789662446064-xfo8dug44 .fv-image-compare-slider { position: absolute !important; top: 0 !important; bottom: 0 !important; left: 50% !important; width: 32px !important; transform: translateX(-50%) !important; cursor: ew-resize !important; z-index: 10 !important; user-select: none !important; -webkit-user-select: none !important; }#fv-chart-1789662446064-xfo8dug44 .fv-image-compare-slider-line { position: absolute !important; top: 0 !important; bottom: 0 !important; left: 50% !important; width: 4px !important; background-color: white !important; transform: translateX(-50%) !important; box-shadow: 0 0 10px rgba(0,0,0,0.5) !important; pointer-events: none !important; }#fv-chart-1789662446064-xfo8dug44 .fv-image-compare-handle { position: absolute !important; top: 50% !important; left: 50% !important; transform: translate(-50%, -50%) !important; width: 32px !important; height: 32px !important; background-color: white !important; border-radius: 50% !important; box-shadow: 0 2px 6px rgba(0,0,0,0.3) !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 4px !important; pointer-events: none !important; z-index: 11 !important; overflow: hidden !important; }#fv-chart-1789662446064-xfo8dug44 .fv-image-compare-handle.fv-image-compare-handle-square { border-radius: 6px !important; }#fv-chart-1789662446064-xfo8dug44 .fv-image-compare-arrow-left { width: 0 !important; height: 0 !important; border-top: 4px solid transparent !important; border-bottom: 4px solid transparent !important; border-right: 4px solid #4b5563 !important; }#fv-chart-1789662446064-xfo8dug44 .fv-image-compare-arrow-right { width: 0 !important; height: 0 !important; border-top: 4px solid transparent !important; border-bottom: 4px solid transparent !important; border-left: 4px solid #4b5563 !important; }#fv-chart-1789662446064-xfo8dug44 .fv-image-compare-label { position: absolute !important; top: 1rem !important; background-color: rgba(0, 0, 0, 0.5) !important; color: white !important; padding: 0.25rem 0.75rem !important; border-radius: 0.25rem !important; font-size: 0.875rem !important; font-weight: 500 !important; pointer-events: none !important; backdrop-filter: blur(4px) !important; z-index: 5 !important; transition: right 0.3s ease, opacity 0.2s ease !important; }#fv-chart-1789662446064-xfo8dug44 .fv-image-compare-label-left { left: 1rem !important; }#fv-chart-1789662446064-xfo8dug44 .fv-image-compare-label-right { right: 1rem !important; }#fv-chart-1789662446064-xfo8dug44 .fv-image-compare-expand-btn, #fv-chart-1789662446064-xfo8dug44 .fv-image-compare-close-btn { position: absolute !important; bottom: 1rem !important; right: 1rem !important; background-color: rgba(0, 0, 0, 0.5) !important; color: white !important; border: none !important; border-radius: 0.25rem !important; padding: 0.5rem !important; cursor: pointer !important; z-index: 20 !important; display: flex !important; align-items: center !important; justify-content: center !important; backdrop-filter: blur(4px) !important; transition: background-color 0.2s !important; }#fv-chart-1789662446064-xfo8dug44 .fv-image-compare-expand-btn:hover, #fv-chart-1789662446064-xfo8dug44 .fv-image-compare-close-btn:hover { background-color: rgba(0, 0, 0, 0.7) !important; }#fv-chart-1789662446064-xfo8dug44 .fv-image-compare-close-btn { display: none !important; top: 1rem !important; bottom: auto !important; }#fv-chart-1789662446064-xfo8dug44 .fv-image-compare-wrapper.fv-image-compare-fullscreen { position: fixed !important; top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important; width: 100% !important; height: 100% !important; z-index: 999999 !important; display: flex !important; align-items: center !important; justify-content: center !important; background-color: rgba(0, 0, 0, 0.9) !important; margin: 0 !important; touch-action: none !important; }#fv-chart-1789662446064-xfo8dug44 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-inner { width: 100% !important; height: 100% !important; display: flex !important; align-items: center !important; justify-content: center !important; cursor: grab !important; }#fv-chart-1789662446064-xfo8dug44 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-inner:active { cursor: grabbing !important; }#fv-chart-1789662446064-xfo8dug44 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-bg { position: absolute !important; top: 0 !important; left: 0 !important; max-width: 100% !important; max-height: 100% !important; width: 100% !important; height: 100% !important; object-fit: contain !important; }#fv-chart-1789662446064-xfo8dug44 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-fg { max-width: 100% !important; max-height: 100% !important; width: 100% !important; height: 100% !important; object-fit: contain !important; }#fv-chart-1789662446064-xfo8dug44 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-expand-btn { display: none !important; }#fv-chart-1789662446064-xfo8dug44 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-close-btn { display: flex !important; }#fv-chart-1789662446064-xfo8dug44 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-label-right { right: 4rem !important; }#fv-chart-1789662446064-xfo8dug44 .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; }#fv-chart-1789662446064-xfo8dug44 .fv-footer-content { text-align: center !important; width: 100% !important; }#fv-chart-1789662446064-xfo8dug44 .fv-logo {display: block !important;margin: 0 auto !important;width: 120px !important;min-width: 120px !important;max-width: 120px !important;height: auto !important;object-fit: contain !important;flex-shrink: 0 !important;}#fv-chart-1789662446064-xfo8dug44 .fv-dropdown-wrapper { text-align: center !important; margin-bottom: 16px !important; margin-top: 0 !important; }#fv-chart-1789662446064-xfo8dug44 .fv-dropdown-title-container { position: relative !important; display: inline-block !important; max-width: 100% !important; }#fv-chart-1789662446064-xfo8dug44 .fv-dropdown-title {appearance: none !important;-webkit-appearance: none !important;-moz-appearance: none !important;background: transparent !important;border: none !important;font-size: 18px !important;font-weight: 600 !important;color: var(--riv-primary) !important;padding-right: 28px !important;padding-left: 10px !important;cursor: pointer !important;text-align: center !important;text-align-last: center !important;width: auto !important;max-width: 100% !important;font-family: 'Open Sans', sans-serif !important;line-height: 1.3 !important;margin: 0 !important;text-overflow: ellipsis !important;overflow: hidden !important;white-space: nowrap !important;}#fv-chart-1789662446064-xfo8dug44 .fv-dropdown-title:focus { outline: none !important; }#fv-chart-1789662446064-xfo8dug44 .fv-dropdown-title::-ms-expand { display: none !important; }#fv-chart-1789662446064-xfo8dug44 .fv-dropdown-chevron {position: absolute !important;right: 0 !important;top: 50% !important;transform: translateY(-50%) !important;pointer-events: none !important;color: var(--riv-primary) !important;display: flex !important;align-items: center !important;}#fv-chart-1789662446064-xfo8dug44 .fv-carousel-title-controls { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 16px !important; width: 100% !important; gap: 12px !important; }#fv-chart-1789662446064-xfo8dug44 .fv-carousel-nav-btn {background: transparent !important; border: 1px solid #d1d5db !important; border-radius: 6px !important; padding: 6px 10px !important;cursor: pointer !important; font-size: 14px !important; color: #374151 !important; display: flex !important; align-items: center !important; gap: 4px !important; font-family: 'Open Sans', sans-serif !important;}#fv-chart-1789662446064-xfo8dug44 .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; }#fv-chart-1789662446064-xfo8dug44 .fv-carousel-counter { font-size: 14px !important; color: #374151 !important; text-align: center !important; margin-top: 1rem !important; }#fv-chart-1789662446064-xfo8dug44 .fv-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 8px 16px !important; margin: 0 !important; padding: 0 !important; margin-top: 1rem !important; }#fv-chart-1789662446064-xfo8dug44 .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #374151 !important; }#fv-chart-1789662446064-xfo8dug44 .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; }#fv-chart-1789662446064-xfo8dug44 .fv-multi-value-legend {display: flex !important;justify-content: center !important;flex-wrap: wrap !important;gap: 12px 24px !important;margin-bottom: 1.5rem !important;padding: 0 !important;}#fv-chart-1789662446064-xfo8dug44 .fv-multi-legend-item { display: flex !important; align-items: center !important; gap: 8px !important; font-size: 14px !important; color: #374151 !important; font-weight: 500 !important; }#fv-chart-1789662446064-xfo8dug44 .fv-multi-legend-swatch { width: 16px !important; height: 16px !important; border-radius: 3px !important; }#fv-chart-1789662446064-xfo8dug44 .fv-benchmark-group { margin-bottom: 1rem !important; }#fv-chart-1789662446064-xfo8dug44 .fv-benchmark-title {font-size: 18px !important; font-weight: 600 !important; margin-bottom: 16px !important; margin-top: 0 !important; padding: 0 !important;text-align: center !important; color: var(--riv-primary) !important; flex: 1 !important; min-width: 0 !important;font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important;text-transform: none !important;white-space: normal !important;overflow-wrap: break-word !important;word-wrap: break-word !important;max-width: 100% !important;}#fv-chart-1789662446064-xfo8dug44 .fv-bar-row, #fv-chart-1789662446064-xfo8dug44 .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; position: relative !important; }#fv-chart-1789662446064-xfo8dug44 .fv-bar-label { width: 150px !important; flex-shrink: 0 !important; font-size: 14px !important; color: #374151 !important; padding-right: 10px !important; text-align: right !important; font-weight: 500 !important; display: block !important; }#fv-chart-1789662446064-xfo8dug44 .fv-bar-container { flex-grow: 1 !important; background-color: #E5E7EB !important; border-radius: 4px !important; min-height: 25px !important; border: 1px solid #D1D5DB !important; position: relative !important; display: flex !important; align-items: center !important; }#fv-chart-1789662446064-xfo8dug44 .fv-bar-commentary-inline { display: none !important; position: absolute !important; left: 150px !important; top: 0 !important; bottom: 0 !important; right: 0 !important; width: calc(100% - 150px) !important; margin: 0 !important; padding: 0 8px !important; font-size: 13px !important; color: #fff !important; background: rgba(0,0,0,0.8) !important; border-radius: 4px !important; line-height: 1.4 !important; font-weight: normal !important; text-transform: none !important; word-wrap: break-word !important; z-index: 10 !important; align-items: center !important; overflow-y: auto !important; }#fv-chart-1789662446064-xfo8dug44.preview-wrapper .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1789662446064-xfo8dug44.preview-wrapper .fv-bar-commentary-inline:focus, #fv-chart-1789662446064-xfo8dug44.preview-wrapper .fv-bar-commentary-inline:focus-within, #fv-chart-1789662446064-xfo8dug44.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1789662446064-xfo8dug44.mobile-view .fv-bar-commentary-inline:focus, #fv-chart-1789662446064-xfo8dug44.mobile-view .fv-bar-commentary-inline:focus-within { display: flex !important; }#fv-chart-1789662446064-xfo8dug44 .fv-bar { height: 100% !important; border-radius: 3px !important; display: flex !important; align-items: center !important; transition: opacity 0.2s ease, width 0.8s ease-out !important; min-height: 23px !important; }#fv-chart-1789662446064-xfo8dug44 .fv-bar:hover { opacity: 0.8 !important; }#fv-chart-1789662446064-xfo8dug44 .fv-bar-inner-content { display: flex !important; justify-content: space-between !important; align-items: center !important; width: 100% !important; height: 100% !important; padding: 0 8px !important; font-size: 14px !important; font-weight: bold !important; overflow: hidden !important; }#fv-chart-1789662446064-xfo8dug44 .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; }#fv-chart-1789662446064-xfo8dug44 .fv-bar-inner-value { flex-shrink: 0 !important; }#fv-chart-1789662446064-xfo8dug44 .fv-bar-value-outside { padding-left: 8px !important; font-size: 14px !important; font-weight: bold !important; color: #374151 !important; white-space: nowrap !important; }#fv-chart-1789662446064-xfo8dug44 .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; }#fv-chart-1789662446064-xfo8dug44 .fv-multi-bar-container { flex-direction: column !important; padding: 4px !important; align-items: stretch !important; gap: 4px !important; height: auto !important; }#fv-chart-1789662446064-xfo8dug44 .fv-multi-bar-item { display: flex !important; align-items: center !important; height: 25px !important; width: 100% !important; }#fv-chart-1789662446064-xfo8dug44 .fv-stacked-bar { display: flex !important; overflow: hidden !important; }#fv-chart-1789662446064-xfo8dug44 .fv-stacked-segment { height: 100% !important; display: flex !important; align-items: center !important; justify-content: flex-end !important; padding-right: 8px !important; border-right: 1px solid rgba(255,255,255,0.3) !important; }#fv-chart-1789662446064-xfo8dug44 .fv-stacked-segment:last-child { border-right: none !important; }#fv-chart-1789662446064-xfo8dug44 .fv-segment-value { font-size: 14px !important; font-weight: bold !important; }#fv-chart-1789662446064-xfo8dug44 .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; }#fv-chart-1789662446064-xfo8dug44 .fv-grouped-product-title-wrapper { padding-left: 150px !important; }#fv-chart-1789662446064-xfo8dug44 .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.5rem !important; font-weight: 700 !important; font-size: 14px !important; color: #374151 !important; text-transform: none !important; }#fv-chart-1789662446064-xfo8dug44 .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; }#fv-chart-1789662446064-xfo8dug44 .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; }#fv-chart-1789662446064-xfo8dug44 .fv-bar-cluster .fv-bar-container { height: 20px !important; }#fv-chart-1789662446064-xfo8dug44 .riv-grid line {stroke: #D1D5DB !important;stroke-dasharray: 3 3 !important;}#fv-chart-1789662446064-xfo8dug44 .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; }#fv-chart-1789662446064-xfo8dug44 .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; }#fv-chart-1789662446064-xfo8dug44 .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; }#fv-chart-1789662446064-xfo8dug44 .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; }#fv-chart-1789662446064-xfo8dug44 .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; }#fv-chart-1789662446064-xfo8dug44 .fv-x-axis-ticks { display: flex !important; justify-content: space-between !important; padding-top: 4px !important; font-size: 13px !important; color: #374151 !important; }#fv-chart-1789662446064-xfo8dug44 .fv-x-axis-ticks span { position: relative !important; }#fv-chart-1789662446064-xfo8dug44 .fv-x-axis-ticks span::before { content: '' !important; position: absolute !important; top: -6px !important; left: 50% !important; transform: translateX(-50%) !important; width: 2px !important; height: 4px !important; background-color: #D1D5DB !important; border-radius: 1px !important; }#fv-chart-1789662446064-xfo8dug44 .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #374151 !important; margin-top: 8px !important; display: block !important; }#fv-chart-1789662446064-xfo8dug44 .fv-x-axis-title { text-align: center !important; font-size: 15px !important; color: #374151 !important; margin-top: 8px !important; margin-bottom: 16px !important; line-height: 1.5 !important; padding: 0 1rem !important; display: block !important; font-weight: bold !important; }#fv-chart-1789662446064-xfo8dug44 .fv-y-axis-title {font-size: 15px !important;color: #374151 !important;line-height: 1.5 !important;text-align: left !important;padding-left: 5.83% !important;margin-bottom: 4px !important;display: block !important;font-weight: bold !important;}#fv-chart-1789662446064-xfo8dug44.mobile-view .fv-pie-container,#fv-chart-1789662446064-xfo8dug44.labels-on-top .fv-pie-container {flex-direction: column !important; gap: 1rem !important;}#fv-chart-1789662446064-xfo8dug44.mobile-view .fv-grouped-product-title-wrapper,#fv-chart-1789662446064-xfo8dug44.labels-on-top .fv-grouped-product-title-wrapper {padding-left: 0 !important;}#fv-chart-1789662446064-xfo8dug44.mobile-view .fv-bar-row,#fv-chart-1789662446064-xfo8dug44.mobile-view .fv-stacked-product,#fv-chart-1789662446064-xfo8dug44.mobile-view .fv-grouped-bar-product,#fv-chart-1789662446064-xfo8dug44.labels-on-top .fv-bar-row,#fv-chart-1789662446064-xfo8dug44.labels-on-top .fv-stacked-product,#fv-chart-1789662446064-xfo8dug44.labels-on-top .fv-grouped-bar-product {flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important;}#fv-chart-1789662446064-xfo8dug44.mobile-view .fv-bar-label:not(.fv-grouped-product-title),#fv-chart-1789662446064-xfo8dug44.labels-on-top .fv-bar-label:not(.fv-grouped-product-title) {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1789662446064-xfo8dug44.mobile-view .fv-bar-label,#fv-chart-1789662446064-xfo8dug44.mobile-view .fv-grouped-product-title,#fv-chart-1789662446064-xfo8dug44.labels-on-top .fv-bar-label,#fv-chart-1789662446064-xfo8dug44.labels-on-top .fv-grouped-product-title {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1789662446064-xfo8dug44.mobile-view .fv-bar-container,#fv-chart-1789662446064-xfo8dug44.mobile-view .fv-bar-cluster,#fv-chart-1789662446064-xfo8dug44.labels-on-top .fv-bar-container,#fv-chart-1789662446064-xfo8dug44.labels-on-top .fv-bar-cluster {width: 100% !important;}#fv-chart-1789662446064-xfo8dug44.mobile-view .fv-bar-row .fv-bar-commentary-inline,#fv-chart-1789662446064-xfo8dug44.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline,#fv-chart-1789662446064-xfo8dug44.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus,#fv-chart-1789662446064-xfo8dug44.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus-within,#fv-chart-1789662446064-xfo8dug44.labels-on-top .fv-bar-row .fv-bar-commentary-inline,#fv-chart-1789662446064-xfo8dug44.labels-on-top .fv-bar-row:hover .fv-bar-commentary-inline,#fv-chart-1789662446064-xfo8dug44.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus,#fv-chart-1789662446064-xfo8dug44.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus-within {position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important;}#fv-chart-1789662446064-xfo8dug44.mobile-view .fv-x-axis-wrapper,#fv-chart-1789662446064-xfo8dug44.labels-on-top .fv-x-axis-wrapper {margin-left: 0 !important;}#fv-chart-1789662446064-xfo8dug44.mobile-view .fv-x-axis-label-space,#fv-chart-1789662446064-xfo8dug44.labels-on-top .fv-x-axis-label-space {display: none !important;}#fv-chart-1789662446064-xfo8dug44.mobile-view .fv-x-axis-chart-space,#fv-chart-1789662446064-xfo8dug44.labels-on-top .fv-x-axis-chart-space {padding-right: 0 !important;}#fv-chart-1789662446064-xfo8dug44.mobile-view .fv-benchmark-title,#fv-chart-1789662446064-xfo8dug44.labels-on-top .fv-benchmark-title {font-size: 16px !important;}#fv-chart-1789662446064-xfo8dug44.mobile-view .fv-dropdown-title,#fv-chart-1789662446064-xfo8dug44.labels-on-top .fv-dropdown-title {font-size: 16px !important;}#fv-chart-1789662446064-xfo8dug44.mobile-view .fv-carousel-nav-btn,#fv-chart-1789662446064-xfo8dug44.labels-on-top .fv-carousel-nav-btn {padding: 8px 12px !important; font-size: 14px !important;}#fv-chart-1789662446064-xfo8dug44.mobile-view .fv-chart-title,#fv-chart-1789662446064-xfo8dug44.labels-on-top .fv-chart-title {padding: 0 8px !important;}#fv-chart-1789662446064-xfo8dug44.mobile-view .fv-chart-subhead,#fv-chart-1789662446064-xfo8dug44.labels-on-top .fv-chart-subhead {padding: 0 8px !important;}#fv-chart-1789662446064-xfo8dug44.mobile-view .fv-versus-header,#fv-chart-1789662446064-xfo8dug44.labels-on-top .fv-versus-header {flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important;}#fv-chart-1789662446064-xfo8dug44.mobile-view .fv-versus-select-wrapper,#fv-chart-1789662446064-xfo8dug44.labels-on-top .fv-versus-select-wrapper {flex: 1 !important; min-width: 0 !important; width: 100% !important;}#fv-chart-1789662446064-xfo8dug44.mobile-view .fv-versus-select-wrapper.fv-left,#fv-chart-1789662446064-xfo8dug44.labels-on-top .fv-versus-select-wrapper.fv-left {text-align: center !important; padding-right: 0 !important;}#fv-chart-1789662446064-xfo8dug44.mobile-view .fv-versus-select-wrapper.fv-right,#fv-chart-1789662446064-xfo8dug44.labels-on-top .fv-versus-select-wrapper.fv-right {text-align: center !important; padding-left: 0 !important;}#fv-chart-1789662446064-xfo8dug44.mobile-view .fv-versus-select.fv-select-left,#fv-chart-1789662446064-xfo8dug44.labels-on-top .fv-versus-select.fv-select-left {text-align: center !important;}#fv-chart-1789662446064-xfo8dug44.mobile-view .fv-versus-select.fv-select-right,#fv-chart-1789662446064-xfo8dug44.labels-on-top .fv-versus-select.fv-select-right {text-align: center !important;}#fv-chart-1789662446064-xfo8dug44.mobile-view .fv-versus-vs,#fv-chart-1789662446064-xfo8dug44.labels-on-top .fv-versus-vs {text-align: center !important; padding: 0.25rem 0 !important;}#fv-chart-1789662446064-xfo8dug44.mobile-view .fv-versus-select-container,#fv-chart-1789662446064-xfo8dug44.labels-on-top .fv-versus-select-container {max-width: 100% !important; width: 100% !important;}#fv-chart-1789662446064-xfo8dug44.mobile-view .fv-versus-select,#fv-chart-1789662446064-xfo8dug44.labels-on-top .fv-versus-select {font-size: 14px !important; width: 100% !important;}#fv-chart-1789662446064-xfo8dug44.mobile-view .fv-stl-shop-all-btn,#fv-chart-1789662446064-xfo8dug44.labels-on-top .fv-stl-shop-all-btn {bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important;}#fv-chart-1789662446064-xfo8dug44.mobile-view .fv-stl-shop-all-logo,#fv-chart-1789662446064-xfo8dug44.mobile-view .fv-stl-shop-all-icon,#fv-chart-1789662446064-xfo8dug44.labels-on-top .fv-stl-shop-all-logo,#fv-chart-1789662446064-xfo8dug44.labels-on-top .fv-stl-shop-all-icon {width: 2rem !important; height: 2rem !important;}#fv-chart-1789662446064-xfo8dug44.mobile-view .fv-stl-shop-all-icon svg,#fv-chart-1789662446064-xfo8dug44.labels-on-top .fv-stl-shop-all-icon svg {width: 14px !important; height: 14px !important;}#fv-chart-1789662446064-xfo8dug44.mobile-view .fv-bar-commentary-inline,#fv-chart-1789662446064-xfo8dug44.labels-on-top .fv-bar-commentary-inline {display: block !important; margin-left: 0 !important; width: 100% !important;}#fv-chart-1789662446064-xfo8dug44.mobile-view .fv-y-axis-title { padding-left: 5% !important;  }#fv-chart-1789662446064-xfo8dug44.mobile-view.fv-contains-line-chart .fv-footer-content {margin-left: -1rem !important;margin-right: -1rem !important;}@media (max-width: 599px) {#fv-chart-1789662446064-xfo8dug44 .fv-pie-container {flex-direction: column !important; gap: 1rem !important;}#fv-chart-1789662446064-xfo8dug44 .fv-grouped-product-title-wrapper {padding-left: 0 !important;}#fv-chart-1789662446064-xfo8dug44 .fv-bar-row,#fv-chart-1789662446064-xfo8dug44 .fv-stacked-product,#fv-chart-1789662446064-xfo8dug44 .fv-grouped-bar-product {flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important;}#fv-chart-1789662446064-xfo8dug44 .fv-bar-label:not(.fv-grouped-product-title) {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1789662446064-xfo8dug44 .fv-bar-label,#fv-chart-1789662446064-xfo8dug44 .fv-grouped-product-title {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1789662446064-xfo8dug44 .fv-bar-container,#fv-chart-1789662446064-xfo8dug44 .fv-bar-cluster {width: 100% !important;}#fv-chart-1789662446064-xfo8dug44 .fv-bar-row .fv-bar-commentary-inline,#fv-chart-1789662446064-xfo8dug44 .fv-bar-row:hover .fv-bar-commentary-inline,#fv-chart-1789662446064-xfo8dug44 .fv-bar-row .fv-bar-commentary-inline:focus,#fv-chart-1789662446064-xfo8dug44 .fv-bar-row .fv-bar-commentary-inline:focus-within {position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important;}#fv-chart-1789662446064-xfo8dug44 .fv-x-axis-wrapper {margin-left: 0 !important;}#fv-chart-1789662446064-xfo8dug44 .fv-x-axis-label-space {display: none !important;}#fv-chart-1789662446064-xfo8dug44 .fv-x-axis-chart-space {padding-right: 0 !important;}#fv-chart-1789662446064-xfo8dug44 .fv-benchmark-title {font-size: 16px !important;}#fv-chart-1789662446064-xfo8dug44 .fv-dropdown-title {font-size: 16px !important;}#fv-chart-1789662446064-xfo8dug44 .fv-carousel-nav-btn {padding: 8px 12px !important; font-size: 14px !important;}#fv-chart-1789662446064-xfo8dug44 .fv-chart-title {padding: 0 8px !important;}#fv-chart-1789662446064-xfo8dug44 .fv-chart-subhead {padding: 0 8px !important;}#fv-chart-1789662446064-xfo8dug44 .fv-versus-header {flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important;}#fv-chart-1789662446064-xfo8dug44 .fv-versus-select-wrapper {flex: 1 !important; min-width: 0 !important; width: 100% !important;}#fv-chart-1789662446064-xfo8dug44 .fv-versus-select-wrapper.fv-left {text-align: center !important; padding-right: 0 !important;}#fv-chart-1789662446064-xfo8dug44 .fv-versus-select-wrapper.fv-right {text-align: center !important; padding-left: 0 !important;}#fv-chart-1789662446064-xfo8dug44 .fv-versus-select.fv-select-left {text-align: center !important;}#fv-chart-1789662446064-xfo8dug44 .fv-versus-select.fv-select-right {text-align: center !important;}#fv-chart-1789662446064-xfo8dug44 .fv-versus-vs {text-align: center !important; padding: 0.25rem 0 !important;}#fv-chart-1789662446064-xfo8dug44 .fv-versus-select-container {max-width: 100% !important; width: 100% !important;}#fv-chart-1789662446064-xfo8dug44 .fv-versus-select {font-size: 14px !important; width: 100% !important;}#fv-chart-1789662446064-xfo8dug44 .fv-stl-shop-all-btn {bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important;}#fv-chart-1789662446064-xfo8dug44 .fv-stl-shop-all-logo,#fv-chart-1789662446064-xfo8dug44 .fv-stl-shop-all-icon {width: 2rem !important; height: 2rem !important;}#fv-chart-1789662446064-xfo8dug44 .fv-stl-shop-all-icon svg {width: 14px !important; height: 14px !important;}#fv-chart-1789662446064-xfo8dug44 .fv-bar-commentary-inline {display: block !important; margin-left: 0 !important; width: 100% !important;}#fv-chart-1789662446064-xfo8dug44 .fv-y-axis-title { padding-left: 5% !important;  }#fv-chart-1789662446064-xfo8dug44.fv-contains-line-chart .fv-footer-content {margin-left: -1rem !important;margin-right: -1rem !important;}}</style><script type="application/ld+json">{"@context": "https://schema.org","@type": "Dataset","name": "Hard floor cleaning test 1","description": "Vacuuming crumbs from hard floor using Eufy Omni E35","creator": {"@type": "Organization","name": "TechRadar","logo": "https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png"},"isAccessibleForFree": true,"dateCreated": "2026-09-17T16:27:26.064Z","citation": "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized","keywords": ["Image Comparison","benchmark","comparison","performance","review","TechRadar"],"measurementTechnique": "Performance Benchmarking","variableMeasured": []}</script><div id="fv-chart-1789662446064-xfo8dug44" class="fv-chart-wrapper   " data-bar-labels-on-top="false" data-iframe-height="true" data-vizualizer-embed="true"><div class="fv-inner-wrapper fv-no-header fv-is-image-compare  "><div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1789662446064-xfo8dug44-image-compare-1" data-chart-type="Image Comparison" data-title="Image Comparison" data-subhead="Vacuuming crumbs from hard floor using Eufy Omni E35" data-caption="" style=""><div class="fv-benchmark-group"><div class="fv-image-compare-container"><div class="fv-image-compare-wrapper" data-image-compare="true"><div class="fv-image-compare-inner"><img src="https://cdn.mos.cms.futurecdn.net/HKqcgwBNo6BdQZw5hg7CWe.jpg" data-highres-src="https://cdn.mos.cms.futurecdn.net/HKqcgwBNo6BdQZw5hg7CWe.jpg" alt="After" class="fv-image-compare-bg" loading="lazy" referrerpolicy="no-referrer" draggable="false" /><img src="https://cdn.mos.cms.futurecdn.net/ExaAxwKBXgFzbAJP7sSSSe.jpg" data-highres-src="https://cdn.mos.cms.futurecdn.net/ExaAxwKBXgFzbAJP7sSSSe.jpg" alt="Before" class="fv-image-compare-fg" loading="lazy" referrerpolicy="no-referrer" draggable="false" /><div class="fv-image-compare-slider"><div class="fv-image-compare-slider-line"></div><div class="fv-image-compare-handle "><img src="https://proof.vanilla.tools/media/images/brandLogos/techradar.png" alt="Brand Logo" style="width: 100%; height: 100%; object-fit: cover;" /></div></div></div><div class="fv-image-compare-label fv-image-compare-label-left">Before</div><div class="fv-image-compare-label fv-image-compare-label-right">After</div><button class="fv-image-compare-expand-btn" aria-label="Expand Image"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 8V4h4"/><path d="M20 8V4h-4"/><path d="M4 16v4h4"/><path d="M20 16v4h-4"/><circle cx="11.5" cy="11.5" r="3.5"/><path d="m14 14 3 3"/></svg></button><button class="fv-image-compare-close-btn" aria-label="Close Fullscreen"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg></button></div></div></div></div></div><div class="fv-bottom-bar"><div class="fv-footer-content" style="display: none;"><div class="rv-chart-caption" style="display: block;"><span class="fv-original-caption" style="display: block;"></span><span class="fv-ia-dynamic-caption" style="display: none;"></span></div></div><div class="fv-logo-explore-bar"><img class="fv-logo" src="https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png" alt="TechRadar Logo"></div></div></div></div><script>window.iFrameResizer = {heightCalculationMethod: 'taggedElement'};</script><script src="https://cdnjs.cloudflare.com/ajax/libs/iframe-resizer/4.2.11/iframeResizer.contentWindow.min.js" async></script><script>(function() {window.fvAnimateCharts = function(chartWrapper) {if (!chartWrapper) return;function animateBars(chartElement) {if (!chartElement) return;var bars = chartElement.querySelectorAll('.fv-bar, .fv-stacked-segment');bars.forEach(function(bar, index) {bar.style.setProperty('width', '0%', 'important');bar.style.setProperty('transition', 'none', 'important');var targetWidth = bar.dataset.targetWidth;if (targetWidth === undefined) return;void bar.offsetWidth;var targetMargin = bar.dataset.targetMargin;var baseMargin = bar.dataset.baseMargin;if (baseMargin !== undefined) {bar.style.setProperty('margin-left', baseMargin + '%', 'important');}setTimeout(function() {var marginTransition = baseMargin !== undefined ? ', margin-left 0.8s ease-out' : '';bar.style.setProperty('transition', 'opacity 0.2s ease, width 0.8s ease-out' + marginTransition, 'important');bar.style.setProperty('width', targetWidth + '%', 'important');if (targetMargin !== undefined && baseMargin !== undefined) {bar.style.setProperty('margin-left', targetMargin + '%', 'important');}}, index * 50 + 50);});}function animateLineChart(chartElement) {if (!chartElement) return;var lineSvg = chartElement.querySelector('svg');if (!lineSvg) return;var paths = lineSvg.querySelectorAll('.riv-line-path');paths.forEach(function(p, i) {if (typeof p.getTotalLength === 'function') {var len = p.getTotalLength();p.style.transition = 'none';p.style.strokeDasharray = len;p.style.strokeDashoffset = len;p.getBoundingClientRect();setTimeout(function() {p.style.transition = 'stroke-dashoffset 1s ease-out ' + (i * 0.1) + 's, stroke-width 0.2s, opacity 0.2s';p.style.strokeDashoffset = '0';}, 100);}});var dots = lineSvg.querySelectorAll('.riv-dot');dots.forEach(function(dot, i) {dot.style.opacity = '0';setTimeout(function() {dot.style.transition = 'opacity 0.3s ease';dot.style.opacity = '1';}, 500 + i * 10);});}var charts = chartWrapper.querySelectorAll('.fv-chart-item');charts.forEach(function(chart) {if (window.getComputedStyle(chart).display === 'none') return;var chartType = chart.dataset.chartType;if (chartType === 'Line') {animateLineChart(chart);} else if (chartType !== 'Pie') {animateBars(chart);}});};function initialize(uniqueId, isSlideshow) {var root = document.getElementById(uniqueId);if (!root && !isSlideshow) return;function setupWrapper(chartWrapper) {if (!chartWrapper) return;function checkMobileView() {var width = chartWrapper.getBoundingClientRect().width;var isMobileDevice = window.screen && Math.min(window.screen.width, window.screen.height) <= 599;var isMobile;if (width === 0) {isMobile = isMobileDevice || window.matchMedia('(max-width: 599px)').matches;} else {isMobile = isMobileDevice || width < 600;}if (isMobile) {chartWrapper.classList.add('mobile-view');} else {chartWrapper.classList.remove('mobile-view');}}checkMobileView();if (typeof ResizeObserver !== 'undefined') {var ro = new ResizeObserver(function() {checkMobileView();});ro.observe(chartWrapper);}window.addEventListener('resize', checkMobileView);var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';if (labelsOnTop) {var charts = chartWrapper.querySelectorAll('.fv-chart-item');var hasVisibleBarChart = false;charts.forEach(function(c) {if (window.getComputedStyle(c).display !== 'none') {var cType = c.dataset.chartType;if (cType === 'Bar' || cType === 'Stacked Bar' || cType === 'Versus') {hasVisibleBarChart = true;}}});if (hasVisibleBarChart) {chartWrapper.classList.add('labels-on-top');} else {chartWrapper.classList.remove('labels-on-top');}} else {chartWrapper.classList.remove('labels-on-top');}chartWrapper.querySelectorAll('.riv-line-legend').forEach(function(legend) {var chartId = legend.dataset.chart;var chart = chartWrapper.querySelector('[id="' + chartId + '"]');if (!chart) return;var lines = chart.querySelectorAll('.riv-line-path');var dots = chart.querySelectorAll('.riv-dot');var legendItems = legend.querySelectorAll('.riv-legend-item');legendItems.forEach(function(item) {var productName = item.dataset.product;var safeProductName = productName.replace(/"/g, '\"');var line = chart.querySelector('.riv-line-path[data-product="' + safeProductName + '"]');var productDots = chart.querySelectorAll('.riv-dot[data-product="' + safeProductName + '"]');if (line && !line.dataset.origStroke) {line.dataset.origStroke = line.getAttribute('stroke-width') || '2';}var highlight = function() {if (legend.querySelector('.isolated')) return;lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '0.2'; });legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });if (line) {line.style.opacity = '1';line.setAttribute('stroke-width', '4');}productDots.forEach(function(d) { d.style.opacity = '1'; });item.style.opacity = '1';};var clearHighlight = function() {if (legend.querySelector('.isolated')) return;lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '1'; });legendItems.forEach(function(i) { i.style.opacity = '1'; });};var toggleIsolate = function() {var isIsolated = item.classList.contains('isolated');legendItems.forEach(function(i) { i.classList.remove('isolated'); });if (isIsolated) {lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '1'; });legendItems.forEach(function(i) { i.style.opacity = '1'; });} else {item.classList.add('isolated');lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '0.2'; });legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });if (line) {line.style.opacity = '1';line.setAttribute('stroke-width', '4');}productDots.forEach(function(d) { d.style.opacity = '1'; });item.style.opacity = '1';}};item.addEventListener('mouseenter', highlight);item.addEventListener('focus', highlight);item.addEventListener('mouseleave', clearHighlight);item.addEventListener('blur', clearHighlight);item.addEventListener('click', toggleIsolate);if (line) {line.style.cursor = 'pointer';line.addEventListener('mouseenter', highlight);line.addEventListener('mouseleave', clearHighlight);line.addEventListener('click', toggleIsolate);}});});var versusCharts = chartWrapper.querySelectorAll('.fv-versus-chart');versusCharts.forEach(function(vc) {var dataJson = vc.getAttribute('data-versus-data');var leftColor = vc.getAttribute('data-left-color') || '#E53935';var rightColor = vc.getAttribute('data-right-color') || '#FFB300';if (!dataJson) return;var versusData = JSON.parse(dataJson);var leftSelect = vc.querySelector('.fv-select-left');var rightSelect = vc.querySelector('.fv-select-right');var rows = vc.querySelectorAll('.fv-versus-row');function updateVersusChart() {var leftProduct = leftSelect.value;var rightProduct = rightSelect.value;leftSelect.style.color = leftColor;leftSelect.style.borderColor = leftColor;rightSelect.style.color = rightColor;rightSelect.style.borderColor = rightColor;rows.forEach(function(row) {var index = parseInt(row.getAttribute('data-index'));var data = versusData[index];if (!data) return;var leftVal = data.productData[leftProduct] ? data.productData[leftProduct].value : undefined;var rightVal = data.productData[rightProduct] ? data.productData[rightProduct].value : undefined;var leftIsNum = typeof leftVal === 'number';var rightIsNum = typeof rightVal === 'number';var leftNum = leftIsNum ? leftVal : 0;var rightNum = rightIsNum ? rightVal : 0;var maxVal = Math.max(leftNum, rightNum, 0.0001);var leftWidth = leftIsNum ? (leftNum / maxVal) * 95 : 0;var rightWidth = rightIsNum ? (rightNum / maxVal) * 85 : 0;var winner = null;var pctDiffStr = null;if (leftIsNum && rightIsNum) {if (leftNum > rightNum) {winner = 'left';if (rightNum > 0) {var diff = Math.round(((leftNum - rightNum) / rightNum) * 100);pctDiffStr = '+' + diff.toLocaleString() + '%';}} else if (rightNum > leftNum) {winner = 'right';if (leftNum > 0) {var diff = Math.round(((rightNum - leftNum) / leftNum) * 100);pctDiffStr = '+' + diff.toLocaleString() + '%';}}}var leftDisplay = data.productData[leftProduct] && data.productData[leftProduct].displayValue !== undefined ? data.productData[leftProduct].displayValue : (leftIsNum ? leftNum.toLocaleString() : (leftVal !== undefined ? leftVal : '-'));var rightDisplay = data.productData[rightProduct] && data.productData[rightProduct].displayValue !== undefined ? data.productData[rightProduct].displayValue : (rightIsNum ? rightNum.toLocaleString() : (rightVal !== undefined ? rightVal : '-'));var unit = (data.productData[leftProduct] && data.productData[leftProduct].unit) ||(data.productData[rightProduct] && data.productData[rightProduct].unit) || '';var leftTextStr = leftDisplay;var rightTextStr = rightDisplay;var leftBar = row.querySelector('.fv-versus-bar-left');var rightBar = row.querySelector('.fv-versus-bar-right');var leftText = row.querySelector('.fv-inside-left');var rightText = row.querySelector('.fv-inside-right');var labelText = row.querySelector('.fv-versus-label span');var leftWrapper = row.querySelector('.fv-versus-bar-left-wrapper');var rightWrapper = row.querySelector('.fv-versus-bar-right-wrapper');var existingPctDiffs = row.querySelectorAll('.fv-versus-pct-diff');existingPctDiffs.forEach(function(el) { el.remove(); });if (winner === 'left' && pctDiffStr) {var pctSpan = document.createElement('span');pctSpan.className = 'fv-versus-pct-diff';pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';pctSpan.textContent = pctDiffStr;if (leftBar) leftBar.insertBefore(pctSpan, leftBar.firstChild);} else if (winner === 'right' && pctDiffStr) {var pctSpan = document.createElement('span');pctSpan.className = 'fv-versus-pct-diff';pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';pctSpan.textContent = pctDiffStr;if (rightBar) rightBar.appendChild(pctSpan);}if (leftBar) {leftBar.style.backgroundColor = leftColor;leftBar.dataset.targetWidth = leftWidth;leftBar.style.setProperty('--target-width', leftWidth + '%');leftBar.style.width = leftWidth + '%';}if (rightBar) {rightBar.style.backgroundColor = rightColor;rightBar.dataset.targetWidth = rightWidth;rightBar.style.setProperty('--target-width', rightWidth + '%');rightBar.style.width = rightWidth + '%';}if (leftText) {leftText.innerHTML = leftTextStr;}if (rightText) {rightText.innerHTML = rightTextStr;}if (labelText) {labelText.textContent = data.attribute + (unit ? ' (' + unit + ')' : '');}});}if (leftSelect) leftSelect.addEventListener('change', updateVersusChart);if (rightSelect) rightSelect.addEventListener('change', updateVersusChart);});var barRows = chartWrapper.querySelectorAll('.fv-bar-row');var globalCaptionEl = chartWrapper.querySelector('.rv-chart-caption');var fallbackCaptionHtml = globalCaptionEl ? globalCaptionEl.innerHTML : '';barRows.forEach(function(row) {var commentaryEl = row.querySelector('[data-commentary-key]');if (commentaryEl) {var commentaryText = commentaryEl.textContent;if (commentaryText && commentaryText.trim().length > 0) {row.addEventListener('mouseenter', function() {if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {globalCaptionEl.innerHTML = commentaryText;globalCaptionEl.classList.add('fv-bar-active-caption');}});row.addEventListener('mouseleave', function() {if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {globalCaptionEl.innerHTML = fallbackCaptionHtml;globalCaptionEl.classList.remove('fv-bar-active-caption');}});}}});var charts = chartWrapper.querySelectorAll('.fv-chart-item');var dropdown = chartWrapper.querySelector('.fv-dropdown-title');var prevBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.prev');var nextBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.next');var carouselTitle = chartWrapper.querySelector('.fv-carousel-title-controls .fv-benchmark-title');var counter = chartWrapper.querySelector('.fv-carousel-counter');var subheadEl = chartWrapper.querySelector('.fv-chart-subhead');var captionEl = chartWrapper.querySelector('.rv-chart-caption');var footerContentEl = chartWrapper.querySelector('.fv-footer-content');var bottomBarEl = chartWrapper.querySelector('.fv-bottom-bar');var logoEl = chartWrapper.querySelector('.fv-logo');if (charts.length > 1 && (dropdown || prevBtn)) {var currentChartIndex = 0;var titles = [];if (dropdown) {titles = Array.from(dropdown.options).map(function(o) { return o.text; });} else {charts.forEach(function(c) {titles.push(c.getAttribute('data-title') || '');});}function showInternalChart(index) {if (index < 0) index = charts.length - 1;if (index >= charts.length) index = 0;currentChartIndex = index;charts.forEach(function(c, i) {c.style.display = i === index ? 'block' : 'none';if (i === index) {var cType = c.dataset.chartType;if (cType === 'Line') {} else if (cType !== 'Pie') {window.fvAnimateCharts(chartWrapper);}var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';if (labelsOnTop && (cType === 'Bar' || cType === 'Stacked Bar' || cType === 'Versus')) {chartWrapper.classList.add('labels-on-top');} else {chartWrapper.classList.remove('labels-on-top');}}});if (dropdown) dropdown.value = index;if (carouselTitle && titles[index]) carouselTitle.textContent = titles[index];if (counter) counter.textContent = (index + 1) + ' of ' + charts.length;var activeChart = charts[index];if (activeChart) {var newSubhead = activeChart.getAttribute('data-subhead');var newCaption = activeChart.getAttribute('data-caption');var currentChartType = activeChart.getAttribute('data-chart-type');var hideGlobalCaption = currentChartType === 'Countdown' || currentChartType === 'Image Comparison' || currentChartType === 'Shop the Collection';if (subheadEl) subheadEl.textContent = newSubhead || '';if (captionEl) {captionEl.textContent = newCaption || '';fallbackCaptionHtml = newCaption || '';}if (footerContentEl) {if (newCaption && newCaption.trim().length > 0 && !hideGlobalCaption) {footerContentEl.style.display = 'block';if (bottomBarEl) bottomBarEl.style.display = 'flex';} else {footerContentEl.style.display = 'none';if (bottomBarEl && !logoEl) {bottomBarEl.style.display = 'none';}}}}}if (dropdown) dropdown.addEventListener('change', function(e) { showInternalChart(parseInt(e.target.value)); });if (prevBtn) prevBtn.addEventListener('click', function() { showInternalChart(currentChartIndex - 1); });if (nextBtn) nextBtn.addEventListener('click', function() { showInternalChart(currentChartIndex + 1); });}var imageCompareWrappers = chartWrapper.querySelectorAll('.fv-image-compare-wrapper');imageCompareWrappers.forEach(function(wrapper) {var inner = wrapper.querySelector('.fv-image-compare-inner') || wrapper;var slider = wrapper.querySelector('.fv-image-compare-slider');var fgImage = wrapper.querySelector('.fv-image-compare-fg');var bgImage = wrapper.querySelector('.fv-image-compare-bg');var labelLeft = wrapper.querySelector('.fv-image-compare-label-left');var labelRight = wrapper.querySelector('.fv-image-compare-label-right');var isDragging = false;var scale = 1;var panX = 0;var panY = 0;var isPanning = false;var hasPanned = false;var lastClientX = 0;var lastClientY = 0;var initialDistance = null;var lastCenterX = null;var lastCenterY = null;function updateTransform() {if (wrapper.classList.contains('fv-image-compare-fullscreen')) {inner.style.setProperty('transform', 'translate(' + panX + 'px, ' + panY + 'px) scale(' + scale + ')', 'important');} else {inner.style.removeProperty('transform');scale = 1;panX = 0;panY = 0;}}function constrainPan() {var rect = wrapper.getBoundingClientRect();var maxPanX = Math.max(0, (rect.width * scale - rect.width) / 2);var maxPanY = Math.max(0, (rect.height * scale - rect.height) / 2);panX = Math.max(-maxPanX, Math.min(panX, maxPanX));panY = Math.max(-maxPanY, Math.min(panY, maxPanY));}wrapper.addEventListener('wheel', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;e.preventDefault();var zoomSensitivity = 0.005;var zoomFactor = Math.exp(-e.deltaY * zoomSensitivity);var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));if (newScale === scale) return;var rect = wrapper.getBoundingClientRect();var mouseX = e.clientX - rect.left - rect.width / 2;var mouseY = e.clientY - rect.top - rect.height / 2;var ratio = newScale / scale;panX = mouseX - (mouseX - panX) * ratio;panY = mouseY - (mouseY - panY) * ratio;scale = newScale;constrainPan();updateTransform();}, { passive: false });wrapper.addEventListener('mousedown', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen') || scale <= 1) return;if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;isPanning = true;hasPanned = false;lastClientX = e.clientX;lastClientY = e.clientY;});window.addEventListener('mousemove', function(e) {if (!isPanning) return;var dx = e.clientX - lastClientX;var dy = e.clientY - lastClientY;if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {hasPanned = true;}lastClientX = e.clientX;lastClientY = e.clientY;panX += dx;panY += dy;constrainPan();updateTransform();});window.addEventListener('mouseup', function() {isPanning = false;});wrapper.addEventListener('touchstart', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;if (e.touches.length === 2) {e.preventDefault();var dx = e.touches[0].clientX - e.touches[1].clientX;var dy = e.touches[0].clientY - e.touches[1].clientY;initialDistance = Math.sqrt(dx * dx + dy * dy);var rect = wrapper.getBoundingClientRect();lastCenterX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;lastCenterY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;hasPanned = true;} else if (e.touches.length === 1 && scale > 1) {if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;isPanning = true;hasPanned = false;lastClientX = e.touches[0].clientX;lastClientY = e.touches[0].clientY;}}, { passive: false });wrapper.addEventListener('touchmove', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;if (e.touches.length === 2 && initialDistance !== null) {e.preventDefault();var dx = e.touches[0].clientX - e.touches[1].clientX;var dy = e.touches[0].clientY - e.touches[1].clientY;var distance = Math.sqrt(dx * dx + dy * dy);if (initialDistance > 0) {var zoomFactor = distance / initialDistance;var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));var rect = wrapper.getBoundingClientRect();var centerX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;var centerY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;var ratio = newScale / scale;panX = centerX - (centerX - panX) * ratio;panY = centerY - (centerY - panY) * ratio;if (lastCenterX !== null && lastCenterY !== null) {panX += (centerX - lastCenterX);panY += (centerY - lastCenterY);}scale = newScale;lastCenterX = centerX;lastCenterY = centerY;constrainPan();updateTransform();}initialDistance = distance;} else if (e.touches.length === 1 && isPanning) {e.preventDefault();var dx = e.touches[0].clientX - lastClientX;var dy = e.touches[0].clientY - lastClientY;if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {hasPanned = true;}lastClientX = e.touches[0].clientX;lastClientY = e.touches[0].clientY;panX += dx;panY += dy;constrainPan();updateTransform();}}, { passive: false });wrapper.addEventListener('touchend', function(e) {if (e.touches.length < 2) {initialDistance = null;}if (e.touches.length === 0) {isPanning = false;}});function handleMove(clientX) {var rect = inner.getBoundingClientRect();var x = Math.max(0, Math.min(clientX - rect.left, rect.width));var percent = Math.max(0, Math.min((x / rect.width) * 100, 100));if (slider) slider.style.setProperty('left', percent + '%', 'important');if (fgImage) fgImage.style.setProperty('clip-path', 'polygon(0 0, ' + percent + '% 0, ' + percent + '% 100%, 0 100%)', 'important');if (labelLeft) {if (percent < 10) {labelLeft.style.setProperty('opacity', '0', 'important');} else {labelLeft.style.setProperty('opacity', '1', 'important');}}if (labelRight) {if (percent > 90) {labelRight.style.setProperty('opacity', '0', 'important');} else {labelRight.style.setProperty('opacity', '1', 'important');}}}function onMouseMove(e) {if (!isDragging) return;handleMove(e.clientX);}function onTouchMove(e) {if (!isDragging) return;e.preventDefault();handleMove(e.touches[0].clientX);}function stopDragging() {isDragging = false;window.removeEventListener('mousemove', onMouseMove);window.removeEventListener('mouseup', stopDragging);window.removeEventListener('touchmove', onTouchMove);window.removeEventListener('touchend', stopDragging);}if (slider) {var startDrag = function(clientX) {isDragging = true;handleMove(clientX);window.addEventListener('mousemove', onMouseMove);window.addEventListener('mouseup', stopDragging);};var startTouchDrag = function(clientX) {isDragging = true;handleMove(clientX);window.addEventListener('touchmove', onTouchMove, { passive: false });window.addEventListener('touchend', stopDragging);};slider.addEventListener('mousedown', function(e) {e.preventDefault();startDrag(e.clientX);});slider.addEventListener('touchstart', function(e) {e.preventDefault();startTouchDrag(e.touches[0].clientX);}, { passive: false });}var expandBtn = wrapper.querySelector('.fv-image-compare-expand-btn');var closeBtn = wrapper.querySelector('.fv-image-compare-close-btn');if (expandBtn) {if (window !== window.parent) {expandBtn.style.display = 'none';} else {expandBtn.addEventListener('click', function(e) {e.stopPropagation();wrapper.classList.add('fv-image-compare-fullscreen');document.body.style.overflow = 'hidden';if (fgImage && fgImage.dataset.highresSrc) {fgImage.src = fgImage.dataset.highresSrc;fgImage.removeAttribute('srcset');fgImage.removeAttribute('sizes');}if (bgImage && bgImage.dataset.highresSrc) {bgImage.src = bgImage.dataset.highresSrc;bgImage.removeAttribute('srcset');bgImage.removeAttribute('sizes');}});}}if (closeBtn) {closeBtn.addEventListener('click', function(e) {e.stopPropagation();wrapper.classList.remove('fv-image-compare-fullscreen');document.body.style.overflow = '';updateTransform();});}document.addEventListener('keydown', function(e) {if (e.key === 'Escape' && wrapper.classList.contains('fv-image-compare-fullscreen')) {wrapper.classList.remove('fv-image-compare-fullscreen');document.body.style.overflow = '';updateTransform();}});});var hotspots = chartWrapper.querySelectorAll('.fv-stl-hotspot-btn');var allProductsModal = chartWrapper.querySelector('.fv-stl-all-products-modal');var shopAllBtn = chartWrapper.querySelector('.fv-stl-shop-all-btn');var allProductsList = chartWrapper.querySelector('.fv-stl-all-products-list');var stlContainer = chartWrapper.querySelector('.fv-stl-container');function closeAllModals() {if (allProductsModal) {allProductsModal.classList.remove('is-active');var items = allProductsModal.querySelectorAll('.fv-stl-all-products-item');items.forEach(function(item) {item.classList.remove('is-highlighted');});if (stlContainer) {setTimeout(function() {if (!allProductsModal.classList.contains('is-active')) {stlContainer.style.minHeight = '';if ('parentIFrame' in window) {window.parentIFrame.size();}}}, 300);}}hotspots.forEach(function(btn) { btn.setAttribute('aria-expanded', 'false'); });if ('parentIFrame' in window) {window.parentIFrame.size();}}hotspots.forEach(function(btn) {btn.addEventListener('click', function(e) {e.stopPropagation();var hotspotId = btn.getAttribute('data-hotspot-id');var isExpanded = btn.getAttribute('aria-expanded') === 'true';closeAllModals();if (!isExpanded && allProductsModal) {btn.setAttribute('aria-expanded', 'true');allProductsModal.classList.add('is-active');var container = btn.closest('.fv-stl-container');if (container && container.offsetHeight < 450) {container.style.minHeight = '450px';}var targetItem = allProductsModal.querySelector('.fv-stl-all-products-item[data-product-id="' + hotspotId + '"]');if (targetItem) {targetItem.classList.add('is-highlighted');setTimeout(function() {targetItem.scrollIntoView({ behavior: 'smooth', block: 'center' });}, 100);}if ('parentIFrame' in window) {window.parentIFrame.size();}}});});if (shopAllBtn && allProductsModal) {shopAllBtn.addEventListener('click', function(e) {e.stopPropagation();closeAllModals();allProductsModal.classList.add('is-active');var container = shopAllBtn.closest('.fv-stl-container');if (container && container.offsetHeight < 450) {container.style.minHeight = '450px';}if ('parentIFrame' in window) {window.parentIFrame.size();}});}if (allProductsModal) {var closeAllBtn = allProductsModal.querySelector('.fv-stl-all-products-close');if (closeAllBtn) {closeAllBtn.addEventListener('click', function(e) {e.stopPropagation();closeAllModals();});}}chartWrapper.addEventListener('click', function(e) {if (!e.target.closest('.fv-stl-all-products-content')) {closeAllModals();}});if (allProductsModal) {allProductsModal.addEventListener('click', function(e) {if (!e.target.closest('.fv-stl-all-products-content')) {closeAllModals();}});}var iaNodes = chartWrapper.querySelectorAll('.fv-ia-node-button');var iaWrapper = chartWrapper.querySelector('.fv-ia-wrapper');var originalCaption = chartWrapper.querySelector('.fv-original-caption') || captionEl;var dynamicCaption = chartWrapper.querySelector('.fv-ia-dynamic-caption');var exploreBtn = chartWrapper.querySelector('.fv-ia-explore-btn');var currentIaIndex = -1;function closeAllIANodes() {iaNodes.forEach(function(btn) { btn.classList.remove('is-active'); });if (originalCaption) originalCaption.style.display = 'block';if (dynamicCaption) dynamicCaption.style.display = 'none';}function resetExploreBtn() {currentIaIndex = -1;if (exploreBtn) {var exploreSpan = exploreBtn.querySelector('span');if (exploreSpan) exploreSpan.textContent = 'Explore';}}iaNodes.forEach(function(btn, index) {btn.addEventListener('click', function(e) {e.stopPropagation();var isActive = btn.classList.contains('is-active');closeAllIANodes();if (!isActive) {currentIaIndex = index;if (exploreBtn) {var exploreSpan = exploreBtn.querySelector('span');if (exploreSpan) exploreSpan.textContent = 'Next';}btn.classList.add('is-active');if (dynamicCaption) {var title = btn.getAttribute('data-title') || '';var desc = btn.getAttribute('data-desc') || '';dynamicCaption.innerHTML = '';var strongTag = document.createElement('strong');strongTag.textContent = title;dynamicCaption.appendChild(strongTag);if (desc) {dynamicCaption.appendChild(document.createTextNode(' - ' + desc));}if (originalCaption) originalCaption.style.display = 'none';dynamicCaption.style.display = 'block';if (footerContentEl) footerContentEl.style.display = 'block';}} else {resetExploreBtn();}});});if (exploreBtn) {exploreBtn.addEventListener('click', function(e) {e.stopPropagation();if (iaNodes.length === 0) return;var nextIndex = currentIaIndex + 1;if (nextIndex >= iaNodes.length) {closeAllIANodes();resetExploreBtn();} else {currentIaIndex = nextIndex;var targetBtn = iaNodes[currentIaIndex];if (targetBtn) {if(targetBtn.classList.contains('is-active')) {targetBtn.click();}targetBtn.click();}}});}if (iaWrapper) {iaWrapper.addEventListener('click', function(e) {if (!e.target.closest('.fv-ia-node-button') && !e.target.closest('.fv-ia-explore-btn')) {closeAllIANodes();resetExploreBtn();}});}window.fvAnimateCharts(chartWrapper);var countdownContainer = chartWrapper.querySelector('.fv-countdown-container');if (countdownContainer) {var targetDateAttr = countdownContainer.getAttribute('data-target-date');if (targetDateAttr) {var targetDate = new Date(targetDateAttr);var primaryColor = countdownContainer.getAttribute('data-primary-color') || '#f97316';var subheadColor = countdownContainer.getAttribute('data-subhead-color') || '#ffffff';var pad = function(n) { return (n < 10 ? '0' : '') + n; };var updateCountdown = function() {var difference = +targetDate - +new Date();var d = 0, h = 0, m = 0, s = 0;if (difference > 0) {d = Math.floor(difference / (1000 * 60 * 60 * 24));h = Math.floor((difference / (1000 * 60 * 60)) % 24);m = Math.floor((difference / 1000 / 60) % 60);s = Math.floor((difference / 1000) % 60);}var daysEl = countdownContainer.querySelector('[data-time="days"]');var hoursEl = countdownContainer.querySelector('[data-time="hours"]');var minsEl = countdownContainer.querySelector('[data-time="minutes"]');var secsEl = countdownContainer.querySelector('[data-time="seconds"]');if (daysEl) daysEl.textContent = d;if (hoursEl) hoursEl.textContent = pad(h);if (minsEl) minsEl.textContent = pad(m);if (secsEl) secsEl.textContent = pad(s);};updateCountdown();setInterval(updateCountdown, 1000);}}}if (false) {var slideshowContainer = document.getElementById(uniqueId + '-slideshow');if (slideshowContainer) {var slides = slideshowContainer.querySelectorAll('.fv-slide');slides.forEach(function(slide) {setupWrapper(slide.querySelector('.fv-chart-wrapper'));});}} else {setupWrapper(root);}}if (document.readyState === 'loading') {document.addEventListener('DOMContentLoaded', function() { initialize('fv-chart-1789662446064-xfo8dug44', false); });} else {initialize('fv-chart-1789662446064-xfo8dug44', false);}})();</script></div><p>The Omni E35’s quietest mode — which I recorded at just 60 decibels – was very fast, but left noticeable tracks of the crumb mix behind. The same happened when ramping up to Turbo mode (64 decibels) and switching to a more thorough clean. But, thankfully, the carpet was left absolutely flawless by using the ultra-powerful Max mode (67 decibels), along with the Deep intensity option and with two passes of the target area. This took longer, but the results absolutely justified the extra time and energy.</p><p>(While talking about noise levels, I recorded the dust bin emptying process at 85 dB from about two feet away.)</p><div class="vizualizer-embed"><style>@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap');#fv-chart-1789662456772-bndieyrs9 *, #fv-chart-1789662456772-bndieyrs9 *:before, #fv-chart-1789662456772-bndieyrs9 *:after, #fv-chart-1789662456772-bndieyrs9-slideshow *, #fv-chart-1789662456772-bndieyrs9-slideshow *:before, #fv-chart-1789662456772-bndieyrs9-slideshow *:after {box-sizing: border-box !important; margin: 0; padding: 0; border: 0;font-size: 100%; font: inherit; vertical-align: baseline;}#fv-chart-1789662456772-bndieyrs9, #fv-chart-1789662456772-bndieyrs9-slideshow { font-family: 'Open Sans', sans-serif !important; }#fv-chart-1789662456772-bndieyrs9 {position: relative !important; overflow: visible !important;--riv-primary: #2E6E93;}#fv-chart-1789662456772-bndieyrs9 .fv-inner-wrapper {color: #1F2937 !important; background-color: #ffffff !important;padding: 1.5rem 1.5rem 2rem !important; border-radius: 0.5rem !important;box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important;margin: 1rem 0 !important; display: flex !important; flex-direction: column !important;overflow: hidden !important;}#fv-chart-1789662456772-bndieyrs9 .fv-inner-wrapper.fv-no-header.fv-is-image-compare {padding-top: 0 !important;}#fv-chart-1789662456772-bndieyrs9.fv-full-bleed {width: 100vw !important;margin-left: calc(50% - 50vw) !important;}body {overflow-x: clip !important;}#fv-chart-1789662456772-bndieyrs9.fv-full-bleed .fv-inner-wrapper {padding: 0 !important;border-radius: 0 !important;box-shadow: none !important;margin: 0 !important;background-color: transparent !important;}#fv-chart-1789662456772-bndieyrs9 .fv-inner-wrapper.fv-is-shop-the-look {padding: 0 !important;border-radius: 0 !important;box-shadow: none !important;margin: 0 !important;background-color: transparent !important;}#fv-chart-1789662456772-bndieyrs9-slideshow {position: relative !important;width: 100% !important;margin: 1rem 0 !important;--riv-primary: #2E6E93;}#fv-chart-1789662456772-bndieyrs9-slideshow .fv-slides-wrapper {position: relative !important;width: 100% !important;}#fv-chart-1789662456772-bndieyrs9-slideshow .fv-slide {width: 100% !important;animation: fv-fade-in 0.3s ease-in-out;}@keyframes fv-fade-in {from { opacity: 0; }to { opacity: 1; }}#fv-chart-1789662456772-bndieyrs9-slideshow .fv-slideshow-nav-row {position: relative !important;display: flex !important;justify-content: space-between !important;align-items: center !important;padding: 0 0 16px 0 !important;width: 100% !important;z-index: 20 !important;}#fv-chart-1789662456772-bndieyrs9-slideshow .fv-nav-btn {background-color: var(--riv-primary) !important;color: #ffffff !important;border: none !important;border-radius: 4px !important;padding: 8px 16px !important;font-size: 14px !important;font-weight: 700 !important;cursor: pointer !important;display: flex !important;align-items: center !important;justify-content: center !important;gap: 6px !important;transition: opacity 0.2s, background-color 0.2s !important;height: 36px !important;text-transform: none !important;box-shadow: 0 1px 2px rgba(0,0,0,0.1) !important;}#fv-chart-1789662456772-bndieyrs9-slideshow .fv-nav-btn svg {width: 18px !important;height: 18px !important;stroke-width: 3px !important;filter: none !important;}#fv-chart-1789662456772-bndieyrs9-slideshow .fv-nav-btn:hover {opacity: 0.9 !important;transform: translateY(-1px) !important;}#fv-chart-1789662456772-bndieyrs9-slideshow .fv-nav-btn.disabled {background-color: #E5E7EB !important;color: #9CA3AF !important;cursor: default !important;pointer-events: none !important;box-shadow: none !important;}#fv-chart-1789662456772-bndieyrs9-slideshow .fv-slide-counter {font-family: 'Poppins', sans-serif !important;font-size: 14px !important;font-weight: 600 !important;color: #374151 !important;text-align: center !important;min-width: 40px !important;background-color: rgba(255,255,255,0.8) !important;padding: 2px 8px !important;border-radius: 10px !important;}#fv-chart-1789662456772-bndieyrs9-slideshow .fv-slideshow-select {position: absolute !important;top: 10px !important;right: 10px !important;z-index: 20 !important;appearance: none !important;-webkit-appearance: none !important;-moz-appearance: none !important;background-color: white !important;border: 1px solid #d1d5db !important;color: #1F2937 !important;font-family: 'Open Sans', sans-serif !important;font-size: 14px !important;font-weight: 600 !important;padding: 6px 32px 6px 12px !important;border-radius: 4px !important;cursor: pointer !important;box-shadow: 0 1px 2px rgba(0,0,0,0.05) !important;background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e") !important;background-position: right 0.5rem center !important;background-repeat: no-repeat !important;background-size: 1.5em 1.5em !important;}#fv-chart-1789662456772-bndieyrs9-slideshow .fv-slideshow-select:focus {outline: 2px solid #2E6E93 !important;border-color: #2E6E93 !important;}#fv-chart-1789662456772-bndieyrs9 .fv-chart-title {font-weight: bold !important;text-align: center !important;margin-bottom: 0.5rem !important;color: var(--riv-primary) !important;font-size: 20px !important;line-height: 1.2 !important;font-family: 'Open Sans', sans-serif !important;text-transform: none !important;white-space: normal !important;overflow-wrap: break-word !important;padding: 0 20px !important;}#fv-chart-1789662456772-bndieyrs9 .fv-chart-subhead {font-size: 18px !important;font-weight: 500 !important;text-align: center !important;margin-bottom: 2rem !important;color: #374151 !important;line-height: 1.7 !important;font-family: 'Open Sans', sans-serif !important;display: block !important;text-transform: none !important;padding: 0 20px !important;}#fv-chart-1789662456772-bndieyrs9 .rv-chart-caption { font-size: 15px !important; color: #374151 !important; text-align: center !important; font-style: normal !important; font-weight: normal !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; }#fv-chart-1789662456772-bndieyrs9 .fv-versus-chart { display: flex; flex-direction: column; width: 100%; margin-top: 1rem; }#fv-chart-1789662456772-bndieyrs9 .fv-versus-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding: 0 1rem; }#fv-chart-1789662456772-bndieyrs9 .fv-versus-select-wrapper { flex: 1; min-width: 0; }#fv-chart-1789662456772-bndieyrs9 .fv-versus-select-wrapper.fv-left { text-align: center; padding-right: 1rem; }#fv-chart-1789662456772-bndieyrs9 .fv-versus-select-wrapper.fv-right { text-align: center; padding-left: 1rem; }#fv-chart-1789662456772-bndieyrs9 .fv-versus-select-container { position: relative; display: inline-block; max-width: 100%; width: 100%; }#fv-chart-1789662456772-bndieyrs9 .fv-versus-chevron { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; width: 16px; height: 16px; flex-shrink: 0; }#fv-chart-1789662456772-bndieyrs9 .fv-versus-select-wrapper.fv-left .fv-versus-chevron { right: 0; }#fv-chart-1789662456772-bndieyrs9 .fv-versus-select-wrapper.fv-right .fv-versus-chevron { right: 0; }#fv-chart-1789662456772-bndieyrs9 .fv-versus-select { background: transparent; border: none; border-bottom: 2px solid; font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; padding: 0.25rem 0; cursor: pointer; outline: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; max-width: 100%; width: 100%; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; }#fv-chart-1789662456772-bndieyrs9 .fv-versus-select.fv-select-left { text-align: center; direction: ltr; padding-right: 1.25rem; }#fv-chart-1789662456772-bndieyrs9 .fv-versus-select.fv-select-right { text-align: center; padding-right: 1.25rem; }#fv-chart-1789662456772-bndieyrs9 .fv-versus-select option { font-family: 'Open Sans', sans-serif; font-weight: 400; font-size: 14px; color: #374151; direction: ltr; text-align: left; }#fv-chart-1789662456772-bndieyrs9 .fv-versus-vs { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; color: #374151; letter-spacing: 0.1em; padding: 0 1rem; }#fv-chart-1789662456772-bndieyrs9 .fv-versus-body { display: flex; flex-direction: column; gap: 1.5rem; }#fv-chart-1789662456772-bndieyrs9 .fv-versus-row { position: relative; height: auto; padding-top: 20px; margin-bottom: 0.25rem; display: block; }#fv-chart-1789662456772-bndieyrs9 .fv-versus-bar-container { position: relative; height: 32px; display: flex; align-items: center; }#fv-chart-1789662456772-bndieyrs9 .fv-versus-bar-left-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-end; align-items: center; }#fv-chart-1789662456772-bndieyrs9 .fv-versus-bar-right-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-start; align-items: center; }#fv-chart-1789662456772-bndieyrs9 .fv-versus-bar { height: 32px; width: var(--target-width); transition: width 0.8s ease-out; animation: fv-grow-max-width 0.8s ease-out forwards; display: flex; align-items: center; overflow: hidden; color: #ffffff; }#fv-chart-1789662456772-bndieyrs9 .fv-versus-bar-left { border-radius: 4px 0 0 4px; justify-content: flex-end; padding: 0 8px; }#fv-chart-1789662456772-bndieyrs9 .fv-versus-bar-right { border-radius: 0 4px 4px 0; justify-content: flex-start; padding: 0 8px; }@keyframes fv-grow-max-width {from { max-width: 0; }to { max-width: 100%; }}#fv-chart-1789662456772-bndieyrs9 .fv-versus-center-line { position: absolute; left: 50%; top: 0; bottom: 0; width: 4px; background-color: #ffffff; transform: translateX(-50%); z-index: 1; }#fv-chart-1789662456772-bndieyrs9 .fv-inside-left { white-space: nowrap; flex-shrink: 0; }#fv-chart-1789662456772-bndieyrs9 .fv-inside-right { white-space: nowrap; flex-shrink: 0; }#fv-chart-1789662456772-bndieyrs9 .fv-versus-val-text { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; }#fv-chart-1789662456772-bndieyrs9 .fv-versus-pct-diff { font-size: 12px; font-weight: 600; }#fv-chart-1789662456772-bndieyrs9 .fv-versus-label { position: absolute; left: 50%; transform: translateX(-50%); top: 0; background-color: transparent; border: none; box-shadow: none; padding: 0; font-family: 'Open Sans', sans-serif; font-weight: 700; font-size: 14px; color: #374151; white-space: nowrap; }#fv-chart-1789662456772-bndieyrs9 .sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }#fv-chart-1789662456772-bndieyrs9 .fv-image-compare-container { width: auto !important; margin-left: -1.5rem !important; margin-right: -1.5rem !important; margin-bottom: 2rem !important; }#fv-chart-1789662456772-bndieyrs9.fv-full-bleed .fv-image-compare-container { width: 100% !important; max-width: none !important; margin: 0 auto !important; }#fv-chart-1789662456772-bndieyrs9 .fv-image-compare-wrapper { position: relative !important; width: 100% !important; overflow: hidden !important; border-radius: 0 !important; background-color: #000 !important; touch-action: pan-y !important; user-select: none !important; -webkit-user-select: none !important; }#fv-chart-1789662456772-bndieyrs9 .fv-image-compare-inner { position: relative !important; width: 100% !important; height: 100% !important; display: block !important; transform-origin: center center !important; transition: transform 0.1s ease-out !important; }#fv-chart-1789662456772-bndieyrs9 .fv-image-compare-bg { display: block !important; width: 100% !important; height: auto !important; pointer-events: none !important; user-select: none !important; -webkit-user-select: none !important; -webkit-user-drag: none !important; }#fv-chart-1789662456772-bndieyrs9 .fv-image-compare-fg { position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; object-fit: cover !important; clip-path: polygon(0 0, 50% 0, 50% 100%, 0 100%) !important; pointer-events: none !important; user-select: none !important; -webkit-user-select: none !important; -webkit-user-drag: none !important; }#fv-chart-1789662456772-bndieyrs9 .fv-image-compare-slider { position: absolute !important; top: 0 !important; bottom: 0 !important; left: 50% !important; width: 32px !important; transform: translateX(-50%) !important; cursor: ew-resize !important; z-index: 10 !important; user-select: none !important; -webkit-user-select: none !important; }#fv-chart-1789662456772-bndieyrs9 .fv-image-compare-slider-line { position: absolute !important; top: 0 !important; bottom: 0 !important; left: 50% !important; width: 4px !important; background-color: white !important; transform: translateX(-50%) !important; box-shadow: 0 0 10px rgba(0,0,0,0.5) !important; pointer-events: none !important; }#fv-chart-1789662456772-bndieyrs9 .fv-image-compare-handle { position: absolute !important; top: 50% !important; left: 50% !important; transform: translate(-50%, -50%) !important; width: 32px !important; height: 32px !important; background-color: white !important; border-radius: 50% !important; box-shadow: 0 2px 6px rgba(0,0,0,0.3) !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 4px !important; pointer-events: none !important; z-index: 11 !important; overflow: hidden !important; }#fv-chart-1789662456772-bndieyrs9 .fv-image-compare-handle.fv-image-compare-handle-square { border-radius: 6px !important; }#fv-chart-1789662456772-bndieyrs9 .fv-image-compare-arrow-left { width: 0 !important; height: 0 !important; border-top: 4px solid transparent !important; border-bottom: 4px solid transparent !important; border-right: 4px solid #4b5563 !important; }#fv-chart-1789662456772-bndieyrs9 .fv-image-compare-arrow-right { width: 0 !important; height: 0 !important; border-top: 4px solid transparent !important; border-bottom: 4px solid transparent !important; border-left: 4px solid #4b5563 !important; }#fv-chart-1789662456772-bndieyrs9 .fv-image-compare-label { position: absolute !important; top: 1rem !important; background-color: rgba(0, 0, 0, 0.5) !important; color: white !important; padding: 0.25rem 0.75rem !important; border-radius: 0.25rem !important; font-size: 0.875rem !important; font-weight: 500 !important; pointer-events: none !important; backdrop-filter: blur(4px) !important; z-index: 5 !important; transition: right 0.3s ease, opacity 0.2s ease !important; }#fv-chart-1789662456772-bndieyrs9 .fv-image-compare-label-left { left: 1rem !important; }#fv-chart-1789662456772-bndieyrs9 .fv-image-compare-label-right { right: 1rem !important; }#fv-chart-1789662456772-bndieyrs9 .fv-image-compare-expand-btn, #fv-chart-1789662456772-bndieyrs9 .fv-image-compare-close-btn { position: absolute !important; bottom: 1rem !important; right: 1rem !important; background-color: rgba(0, 0, 0, 0.5) !important; color: white !important; border: none !important; border-radius: 0.25rem !important; padding: 0.5rem !important; cursor: pointer !important; z-index: 20 !important; display: flex !important; align-items: center !important; justify-content: center !important; backdrop-filter: blur(4px) !important; transition: background-color 0.2s !important; }#fv-chart-1789662456772-bndieyrs9 .fv-image-compare-expand-btn:hover, #fv-chart-1789662456772-bndieyrs9 .fv-image-compare-close-btn:hover { background-color: rgba(0, 0, 0, 0.7) !important; }#fv-chart-1789662456772-bndieyrs9 .fv-image-compare-close-btn { display: none !important; top: 1rem !important; bottom: auto !important; }#fv-chart-1789662456772-bndieyrs9 .fv-image-compare-wrapper.fv-image-compare-fullscreen { position: fixed !important; top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important; width: 100% !important; height: 100% !important; z-index: 999999 !important; display: flex !important; align-items: center !important; justify-content: center !important; background-color: rgba(0, 0, 0, 0.9) !important; margin: 0 !important; touch-action: none !important; }#fv-chart-1789662456772-bndieyrs9 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-inner { width: 100% !important; height: 100% !important; display: flex !important; align-items: center !important; justify-content: center !important; cursor: grab !important; }#fv-chart-1789662456772-bndieyrs9 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-inner:active { cursor: grabbing !important; }#fv-chart-1789662456772-bndieyrs9 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-bg { position: absolute !important; top: 0 !important; left: 0 !important; max-width: 100% !important; max-height: 100% !important; width: 100% !important; height: 100% !important; object-fit: contain !important; }#fv-chart-1789662456772-bndieyrs9 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-fg { max-width: 100% !important; max-height: 100% !important; width: 100% !important; height: 100% !important; object-fit: contain !important; }#fv-chart-1789662456772-bndieyrs9 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-expand-btn { display: none !important; }#fv-chart-1789662456772-bndieyrs9 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-close-btn { display: flex !important; }#fv-chart-1789662456772-bndieyrs9 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-label-right { right: 4rem !important; }#fv-chart-1789662456772-bndieyrs9 .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; }#fv-chart-1789662456772-bndieyrs9 .fv-footer-content { text-align: center !important; width: 100% !important; }#fv-chart-1789662456772-bndieyrs9 .fv-logo {display: block !important;margin: 0 auto !important;width: 120px !important;min-width: 120px !important;max-width: 120px !important;height: auto !important;object-fit: contain !important;flex-shrink: 0 !important;}#fv-chart-1789662456772-bndieyrs9 .fv-dropdown-wrapper { text-align: center !important; margin-bottom: 16px !important; margin-top: 0 !important; }#fv-chart-1789662456772-bndieyrs9 .fv-dropdown-title-container { position: relative !important; display: inline-block !important; max-width: 100% !important; }#fv-chart-1789662456772-bndieyrs9 .fv-dropdown-title {appearance: none !important;-webkit-appearance: none !important;-moz-appearance: none !important;background: transparent !important;border: none !important;font-size: 18px !important;font-weight: 600 !important;color: var(--riv-primary) !important;padding-right: 28px !important;padding-left: 10px !important;cursor: pointer !important;text-align: center !important;text-align-last: center !important;width: auto !important;max-width: 100% !important;font-family: 'Open Sans', sans-serif !important;line-height: 1.3 !important;margin: 0 !important;text-overflow: ellipsis !important;overflow: hidden !important;white-space: nowrap !important;}#fv-chart-1789662456772-bndieyrs9 .fv-dropdown-title:focus { outline: none !important; }#fv-chart-1789662456772-bndieyrs9 .fv-dropdown-title::-ms-expand { display: none !important; }#fv-chart-1789662456772-bndieyrs9 .fv-dropdown-chevron {position: absolute !important;right: 0 !important;top: 50% !important;transform: translateY(-50%) !important;pointer-events: none !important;color: var(--riv-primary) !important;display: flex !important;align-items: center !important;}#fv-chart-1789662456772-bndieyrs9 .fv-carousel-title-controls { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 16px !important; width: 100% !important; gap: 12px !important; }#fv-chart-1789662456772-bndieyrs9 .fv-carousel-nav-btn {background: transparent !important; border: 1px solid #d1d5db !important; border-radius: 6px !important; padding: 6px 10px !important;cursor: pointer !important; font-size: 14px !important; color: #374151 !important; display: flex !important; align-items: center !important; gap: 4px !important; font-family: 'Open Sans', sans-serif !important;}#fv-chart-1789662456772-bndieyrs9 .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; }#fv-chart-1789662456772-bndieyrs9 .fv-carousel-counter { font-size: 14px !important; color: #374151 !important; text-align: center !important; margin-top: 1rem !important; }#fv-chart-1789662456772-bndieyrs9 .fv-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 8px 16px !important; margin: 0 !important; padding: 0 !important; margin-top: 1rem !important; }#fv-chart-1789662456772-bndieyrs9 .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #374151 !important; }#fv-chart-1789662456772-bndieyrs9 .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; }#fv-chart-1789662456772-bndieyrs9 .fv-multi-value-legend {display: flex !important;justify-content: center !important;flex-wrap: wrap !important;gap: 12px 24px !important;margin-bottom: 1.5rem !important;padding: 0 !important;}#fv-chart-1789662456772-bndieyrs9 .fv-multi-legend-item { display: flex !important; align-items: center !important; gap: 8px !important; font-size: 14px !important; color: #374151 !important; font-weight: 500 !important; }#fv-chart-1789662456772-bndieyrs9 .fv-multi-legend-swatch { width: 16px !important; height: 16px !important; border-radius: 3px !important; }#fv-chart-1789662456772-bndieyrs9 .fv-benchmark-group { margin-bottom: 1rem !important; }#fv-chart-1789662456772-bndieyrs9 .fv-benchmark-title {font-size: 18px !important; font-weight: 600 !important; margin-bottom: 16px !important; margin-top: 0 !important; padding: 0 !important;text-align: center !important; color: var(--riv-primary) !important; flex: 1 !important; min-width: 0 !important;font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important;text-transform: none !important;white-space: normal !important;overflow-wrap: break-word !important;word-wrap: break-word !important;max-width: 100% !important;}#fv-chart-1789662456772-bndieyrs9 .fv-bar-row, #fv-chart-1789662456772-bndieyrs9 .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; position: relative !important; }#fv-chart-1789662456772-bndieyrs9 .fv-bar-label { width: 150px !important; flex-shrink: 0 !important; font-size: 14px !important; color: #374151 !important; padding-right: 10px !important; text-align: right !important; font-weight: 500 !important; display: block !important; }#fv-chart-1789662456772-bndieyrs9 .fv-bar-container { flex-grow: 1 !important; background-color: #E5E7EB !important; border-radius: 4px !important; min-height: 25px !important; border: 1px solid #D1D5DB !important; position: relative !important; display: flex !important; align-items: center !important; }#fv-chart-1789662456772-bndieyrs9 .fv-bar-commentary-inline { display: none !important; position: absolute !important; left: 150px !important; top: 0 !important; bottom: 0 !important; right: 0 !important; width: calc(100% - 150px) !important; margin: 0 !important; padding: 0 8px !important; font-size: 13px !important; color: #fff !important; background: rgba(0,0,0,0.8) !important; border-radius: 4px !important; line-height: 1.4 !important; font-weight: normal !important; text-transform: none !important; word-wrap: break-word !important; z-index: 10 !important; align-items: center !important; overflow-y: auto !important; }#fv-chart-1789662456772-bndieyrs9.preview-wrapper .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1789662456772-bndieyrs9.preview-wrapper .fv-bar-commentary-inline:focus, #fv-chart-1789662456772-bndieyrs9.preview-wrapper .fv-bar-commentary-inline:focus-within, #fv-chart-1789662456772-bndieyrs9.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1789662456772-bndieyrs9.mobile-view .fv-bar-commentary-inline:focus, #fv-chart-1789662456772-bndieyrs9.mobile-view .fv-bar-commentary-inline:focus-within { display: flex !important; }#fv-chart-1789662456772-bndieyrs9 .fv-bar { height: 100% !important; border-radius: 3px !important; display: flex !important; align-items: center !important; transition: opacity 0.2s ease, width 0.8s ease-out !important; min-height: 23px !important; }#fv-chart-1789662456772-bndieyrs9 .fv-bar:hover { opacity: 0.8 !important; }#fv-chart-1789662456772-bndieyrs9 .fv-bar-inner-content { display: flex !important; justify-content: space-between !important; align-items: center !important; width: 100% !important; height: 100% !important; padding: 0 8px !important; font-size: 14px !important; font-weight: bold !important; overflow: hidden !important; }#fv-chart-1789662456772-bndieyrs9 .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; }#fv-chart-1789662456772-bndieyrs9 .fv-bar-inner-value { flex-shrink: 0 !important; }#fv-chart-1789662456772-bndieyrs9 .fv-bar-value-outside { padding-left: 8px !important; font-size: 14px !important; font-weight: bold !important; color: #374151 !important; white-space: nowrap !important; }#fv-chart-1789662456772-bndieyrs9 .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; }#fv-chart-1789662456772-bndieyrs9 .fv-multi-bar-container { flex-direction: column !important; padding: 4px !important; align-items: stretch !important; gap: 4px !important; height: auto !important; }#fv-chart-1789662456772-bndieyrs9 .fv-multi-bar-item { display: flex !important; align-items: center !important; height: 25px !important; width: 100% !important; }#fv-chart-1789662456772-bndieyrs9 .fv-stacked-bar { display: flex !important; overflow: hidden !important; }#fv-chart-1789662456772-bndieyrs9 .fv-stacked-segment { height: 100% !important; display: flex !important; align-items: center !important; justify-content: flex-end !important; padding-right: 8px !important; border-right: 1px solid rgba(255,255,255,0.3) !important; }#fv-chart-1789662456772-bndieyrs9 .fv-stacked-segment:last-child { border-right: none !important; }#fv-chart-1789662456772-bndieyrs9 .fv-segment-value { font-size: 14px !important; font-weight: bold !important; }#fv-chart-1789662456772-bndieyrs9 .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; }#fv-chart-1789662456772-bndieyrs9 .fv-grouped-product-title-wrapper { padding-left: 150px !important; }#fv-chart-1789662456772-bndieyrs9 .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.5rem !important; font-weight: 700 !important; font-size: 14px !important; color: #374151 !important; text-transform: none !important; }#fv-chart-1789662456772-bndieyrs9 .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; }#fv-chart-1789662456772-bndieyrs9 .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; }#fv-chart-1789662456772-bndieyrs9 .fv-bar-cluster .fv-bar-container { height: 20px !important; }#fv-chart-1789662456772-bndieyrs9 .riv-grid line {stroke: #D1D5DB !important;stroke-dasharray: 3 3 !important;}#fv-chart-1789662456772-bndieyrs9 .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; }#fv-chart-1789662456772-bndieyrs9 .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; }#fv-chart-1789662456772-bndieyrs9 .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; }#fv-chart-1789662456772-bndieyrs9 .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; }#fv-chart-1789662456772-bndieyrs9 .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; }#fv-chart-1789662456772-bndieyrs9 .fv-x-axis-ticks { display: flex !important; justify-content: space-between !important; padding-top: 4px !important; font-size: 13px !important; color: #374151 !important; }#fv-chart-1789662456772-bndieyrs9 .fv-x-axis-ticks span { position: relative !important; }#fv-chart-1789662456772-bndieyrs9 .fv-x-axis-ticks span::before { content: '' !important; position: absolute !important; top: -6px !important; left: 50% !important; transform: translateX(-50%) !important; width: 2px !important; height: 4px !important; background-color: #D1D5DB !important; border-radius: 1px !important; }#fv-chart-1789662456772-bndieyrs9 .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #374151 !important; margin-top: 8px !important; display: block !important; }#fv-chart-1789662456772-bndieyrs9 .fv-x-axis-title { text-align: center !important; font-size: 15px !important; color: #374151 !important; margin-top: 8px !important; margin-bottom: 16px !important; line-height: 1.5 !important; padding: 0 1rem !important; display: block !important; font-weight: bold !important; }#fv-chart-1789662456772-bndieyrs9 .fv-y-axis-title {font-size: 15px !important;color: #374151 !important;line-height: 1.5 !important;text-align: left !important;padding-left: 5.83% !important;margin-bottom: 4px !important;display: block !important;font-weight: bold !important;}#fv-chart-1789662456772-bndieyrs9.mobile-view .fv-pie-container,#fv-chart-1789662456772-bndieyrs9.labels-on-top .fv-pie-container {flex-direction: column !important; gap: 1rem !important;}#fv-chart-1789662456772-bndieyrs9.mobile-view .fv-grouped-product-title-wrapper,#fv-chart-1789662456772-bndieyrs9.labels-on-top .fv-grouped-product-title-wrapper {padding-left: 0 !important;}#fv-chart-1789662456772-bndieyrs9.mobile-view .fv-bar-row,#fv-chart-1789662456772-bndieyrs9.mobile-view .fv-stacked-product,#fv-chart-1789662456772-bndieyrs9.mobile-view .fv-grouped-bar-product,#fv-chart-1789662456772-bndieyrs9.labels-on-top .fv-bar-row,#fv-chart-1789662456772-bndieyrs9.labels-on-top .fv-stacked-product,#fv-chart-1789662456772-bndieyrs9.labels-on-top .fv-grouped-bar-product {flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important;}#fv-chart-1789662456772-bndieyrs9.mobile-view .fv-bar-label:not(.fv-grouped-product-title),#fv-chart-1789662456772-bndieyrs9.labels-on-top .fv-bar-label:not(.fv-grouped-product-title) {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1789662456772-bndieyrs9.mobile-view .fv-bar-label,#fv-chart-1789662456772-bndieyrs9.mobile-view .fv-grouped-product-title,#fv-chart-1789662456772-bndieyrs9.labels-on-top .fv-bar-label,#fv-chart-1789662456772-bndieyrs9.labels-on-top .fv-grouped-product-title {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1789662456772-bndieyrs9.mobile-view .fv-bar-container,#fv-chart-1789662456772-bndieyrs9.mobile-view .fv-bar-cluster,#fv-chart-1789662456772-bndieyrs9.labels-on-top .fv-bar-container,#fv-chart-1789662456772-bndieyrs9.labels-on-top .fv-bar-cluster {width: 100% !important;}#fv-chart-1789662456772-bndieyrs9.mobile-view .fv-bar-row .fv-bar-commentary-inline,#fv-chart-1789662456772-bndieyrs9.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline,#fv-chart-1789662456772-bndieyrs9.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus,#fv-chart-1789662456772-bndieyrs9.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus-within,#fv-chart-1789662456772-bndieyrs9.labels-on-top .fv-bar-row .fv-bar-commentary-inline,#fv-chart-1789662456772-bndieyrs9.labels-on-top .fv-bar-row:hover .fv-bar-commentary-inline,#fv-chart-1789662456772-bndieyrs9.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus,#fv-chart-1789662456772-bndieyrs9.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus-within {position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important;}#fv-chart-1789662456772-bndieyrs9.mobile-view .fv-x-axis-wrapper,#fv-chart-1789662456772-bndieyrs9.labels-on-top .fv-x-axis-wrapper {margin-left: 0 !important;}#fv-chart-1789662456772-bndieyrs9.mobile-view .fv-x-axis-label-space,#fv-chart-1789662456772-bndieyrs9.labels-on-top .fv-x-axis-label-space {display: none !important;}#fv-chart-1789662456772-bndieyrs9.mobile-view .fv-x-axis-chart-space,#fv-chart-1789662456772-bndieyrs9.labels-on-top .fv-x-axis-chart-space {padding-right: 0 !important;}#fv-chart-1789662456772-bndieyrs9.mobile-view .fv-benchmark-title,#fv-chart-1789662456772-bndieyrs9.labels-on-top .fv-benchmark-title {font-size: 16px !important;}#fv-chart-1789662456772-bndieyrs9.mobile-view .fv-dropdown-title,#fv-chart-1789662456772-bndieyrs9.labels-on-top .fv-dropdown-title {font-size: 16px !important;}#fv-chart-1789662456772-bndieyrs9.mobile-view .fv-carousel-nav-btn,#fv-chart-1789662456772-bndieyrs9.labels-on-top .fv-carousel-nav-btn {padding: 8px 12px !important; font-size: 14px !important;}#fv-chart-1789662456772-bndieyrs9.mobile-view .fv-chart-title,#fv-chart-1789662456772-bndieyrs9.labels-on-top .fv-chart-title {padding: 0 8px !important;}#fv-chart-1789662456772-bndieyrs9.mobile-view .fv-chart-subhead,#fv-chart-1789662456772-bndieyrs9.labels-on-top .fv-chart-subhead {padding: 0 8px !important;}#fv-chart-1789662456772-bndieyrs9.mobile-view .fv-versus-header,#fv-chart-1789662456772-bndieyrs9.labels-on-top .fv-versus-header {flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important;}#fv-chart-1789662456772-bndieyrs9.mobile-view .fv-versus-select-wrapper,#fv-chart-1789662456772-bndieyrs9.labels-on-top .fv-versus-select-wrapper {flex: 1 !important; min-width: 0 !important; width: 100% !important;}#fv-chart-1789662456772-bndieyrs9.mobile-view .fv-versus-select-wrapper.fv-left,#fv-chart-1789662456772-bndieyrs9.labels-on-top .fv-versus-select-wrapper.fv-left {text-align: center !important; padding-right: 0 !important;}#fv-chart-1789662456772-bndieyrs9.mobile-view .fv-versus-select-wrapper.fv-right,#fv-chart-1789662456772-bndieyrs9.labels-on-top .fv-versus-select-wrapper.fv-right {text-align: center !important; padding-left: 0 !important;}#fv-chart-1789662456772-bndieyrs9.mobile-view .fv-versus-select.fv-select-left,#fv-chart-1789662456772-bndieyrs9.labels-on-top .fv-versus-select.fv-select-left {text-align: center !important;}#fv-chart-1789662456772-bndieyrs9.mobile-view .fv-versus-select.fv-select-right,#fv-chart-1789662456772-bndieyrs9.labels-on-top .fv-versus-select.fv-select-right {text-align: center !important;}#fv-chart-1789662456772-bndieyrs9.mobile-view .fv-versus-vs,#fv-chart-1789662456772-bndieyrs9.labels-on-top .fv-versus-vs {text-align: center !important; padding: 0.25rem 0 !important;}#fv-chart-1789662456772-bndieyrs9.mobile-view .fv-versus-select-container,#fv-chart-1789662456772-bndieyrs9.labels-on-top .fv-versus-select-container {max-width: 100% !important; width: 100% !important;}#fv-chart-1789662456772-bndieyrs9.mobile-view .fv-versus-select,#fv-chart-1789662456772-bndieyrs9.labels-on-top .fv-versus-select {font-size: 14px !important; width: 100% !important;}#fv-chart-1789662456772-bndieyrs9.mobile-view .fv-stl-shop-all-btn,#fv-chart-1789662456772-bndieyrs9.labels-on-top .fv-stl-shop-all-btn {bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important;}#fv-chart-1789662456772-bndieyrs9.mobile-view .fv-stl-shop-all-logo,#fv-chart-1789662456772-bndieyrs9.mobile-view .fv-stl-shop-all-icon,#fv-chart-1789662456772-bndieyrs9.labels-on-top .fv-stl-shop-all-logo,#fv-chart-1789662456772-bndieyrs9.labels-on-top .fv-stl-shop-all-icon {width: 2rem !important; height: 2rem !important;}#fv-chart-1789662456772-bndieyrs9.mobile-view .fv-stl-shop-all-icon svg,#fv-chart-1789662456772-bndieyrs9.labels-on-top .fv-stl-shop-all-icon svg {width: 14px !important; height: 14px !important;}#fv-chart-1789662456772-bndieyrs9.mobile-view .fv-bar-commentary-inline,#fv-chart-1789662456772-bndieyrs9.labels-on-top .fv-bar-commentary-inline {display: block !important; margin-left: 0 !important; width: 100% !important;}#fv-chart-1789662456772-bndieyrs9.mobile-view .fv-y-axis-title { padding-left: 5% !important;  }#fv-chart-1789662456772-bndieyrs9.mobile-view.fv-contains-line-chart .fv-footer-content {margin-left: -1rem !important;margin-right: -1rem !important;}@media (max-width: 599px) {#fv-chart-1789662456772-bndieyrs9 .fv-pie-container {flex-direction: column !important; gap: 1rem !important;}#fv-chart-1789662456772-bndieyrs9 .fv-grouped-product-title-wrapper {padding-left: 0 !important;}#fv-chart-1789662456772-bndieyrs9 .fv-bar-row,#fv-chart-1789662456772-bndieyrs9 .fv-stacked-product,#fv-chart-1789662456772-bndieyrs9 .fv-grouped-bar-product {flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important;}#fv-chart-1789662456772-bndieyrs9 .fv-bar-label:not(.fv-grouped-product-title) {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1789662456772-bndieyrs9 .fv-bar-label,#fv-chart-1789662456772-bndieyrs9 .fv-grouped-product-title {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1789662456772-bndieyrs9 .fv-bar-container,#fv-chart-1789662456772-bndieyrs9 .fv-bar-cluster {width: 100% !important;}#fv-chart-1789662456772-bndieyrs9 .fv-bar-row .fv-bar-commentary-inline,#fv-chart-1789662456772-bndieyrs9 .fv-bar-row:hover .fv-bar-commentary-inline,#fv-chart-1789662456772-bndieyrs9 .fv-bar-row .fv-bar-commentary-inline:focus,#fv-chart-1789662456772-bndieyrs9 .fv-bar-row .fv-bar-commentary-inline:focus-within {position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important;}#fv-chart-1789662456772-bndieyrs9 .fv-x-axis-wrapper {margin-left: 0 !important;}#fv-chart-1789662456772-bndieyrs9 .fv-x-axis-label-space {display: none !important;}#fv-chart-1789662456772-bndieyrs9 .fv-x-axis-chart-space {padding-right: 0 !important;}#fv-chart-1789662456772-bndieyrs9 .fv-benchmark-title {font-size: 16px !important;}#fv-chart-1789662456772-bndieyrs9 .fv-dropdown-title {font-size: 16px !important;}#fv-chart-1789662456772-bndieyrs9 .fv-carousel-nav-btn {padding: 8px 12px !important; font-size: 14px !important;}#fv-chart-1789662456772-bndieyrs9 .fv-chart-title {padding: 0 8px !important;}#fv-chart-1789662456772-bndieyrs9 .fv-chart-subhead {padding: 0 8px !important;}#fv-chart-1789662456772-bndieyrs9 .fv-versus-header {flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important;}#fv-chart-1789662456772-bndieyrs9 .fv-versus-select-wrapper {flex: 1 !important; min-width: 0 !important; width: 100% !important;}#fv-chart-1789662456772-bndieyrs9 .fv-versus-select-wrapper.fv-left {text-align: center !important; padding-right: 0 !important;}#fv-chart-1789662456772-bndieyrs9 .fv-versus-select-wrapper.fv-right {text-align: center !important; padding-left: 0 !important;}#fv-chart-1789662456772-bndieyrs9 .fv-versus-select.fv-select-left {text-align: center !important;}#fv-chart-1789662456772-bndieyrs9 .fv-versus-select.fv-select-right {text-align: center !important;}#fv-chart-1789662456772-bndieyrs9 .fv-versus-vs {text-align: center !important; padding: 0.25rem 0 !important;}#fv-chart-1789662456772-bndieyrs9 .fv-versus-select-container {max-width: 100% !important; width: 100% !important;}#fv-chart-1789662456772-bndieyrs9 .fv-versus-select {font-size: 14px !important; width: 100% !important;}#fv-chart-1789662456772-bndieyrs9 .fv-stl-shop-all-btn {bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important;}#fv-chart-1789662456772-bndieyrs9 .fv-stl-shop-all-logo,#fv-chart-1789662456772-bndieyrs9 .fv-stl-shop-all-icon {width: 2rem !important; height: 2rem !important;}#fv-chart-1789662456772-bndieyrs9 .fv-stl-shop-all-icon svg {width: 14px !important; height: 14px !important;}#fv-chart-1789662456772-bndieyrs9 .fv-bar-commentary-inline {display: block !important; margin-left: 0 !important; width: 100% !important;}#fv-chart-1789662456772-bndieyrs9 .fv-y-axis-title { padding-left: 5% !important;  }#fv-chart-1789662456772-bndieyrs9.fv-contains-line-chart .fv-footer-content {margin-left: -1rem !important;margin-right: -1rem !important;}}</style><script type="application/ld+json">{"@context": "https://schema.org","@type": "Dataset","name": "Hard floor cleaning test 2","description": "Vacuuming oats from hard floor using Eufy Omni E35","creator": {"@type": "Organization","name": "TechRadar","logo": "https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png"},"isAccessibleForFree": true,"dateCreated": "2026-09-17T16:27:36.773Z","citation": "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized","keywords": ["Image Comparison","benchmark","comparison","performance","review","TechRadar"],"measurementTechnique": "Performance Benchmarking","variableMeasured": []}</script><div id="fv-chart-1789662456772-bndieyrs9" class="fv-chart-wrapper   " data-bar-labels-on-top="false" data-iframe-height="true" data-vizualizer-embed="true"><div class="fv-inner-wrapper fv-no-header fv-is-image-compare  "><div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1789662456772-bndieyrs9-image-compare-1" data-chart-type="Image Comparison" data-title="Image Comparison" data-subhead="Vacuuming oats from hard floor using Eufy Omni E35" data-caption="" style=""><div class="fv-benchmark-group"><div class="fv-image-compare-container"><div class="fv-image-compare-wrapper" data-image-compare="true"><div class="fv-image-compare-inner"><img src="https://cdn.mos.cms.futurecdn.net/C4BRHaU4Hv9XqEbDu6gCie.jpg" data-highres-src="https://cdn.mos.cms.futurecdn.net/C4BRHaU4Hv9XqEbDu6gCie.jpg" alt="Oats cleaned from hard floor" class="fv-image-compare-bg" loading="lazy" referrerpolicy="no-referrer" draggable="false" /><img src="https://cdn.mos.cms.futurecdn.net/ELLq7VJRgyR9k9uxfx49ke.jpg" data-highres-src="https://cdn.mos.cms.futurecdn.net/ELLq7VJRgyR9k9uxfx49ke.jpg" alt="Oats on hard floor" class="fv-image-compare-fg" loading="lazy" referrerpolicy="no-referrer" draggable="false" /><div class="fv-image-compare-slider"><div class="fv-image-compare-slider-line"></div><div class="fv-image-compare-handle "><img src="https://proof.vanilla.tools/media/images/brandLogos/techradar.png" alt="Brand Logo" style="width: 100%; height: 100%; object-fit: cover;" /></div></div></div><div class="fv-image-compare-label fv-image-compare-label-left">Before</div><div class="fv-image-compare-label fv-image-compare-label-right">After</div><button class="fv-image-compare-expand-btn" aria-label="Expand Image"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 8V4h4"/><path d="M20 8V4h-4"/><path d="M4 16v4h4"/><path d="M20 16v4h-4"/><circle cx="11.5" cy="11.5" r="3.5"/><path d="m14 14 3 3"/></svg></button><button class="fv-image-compare-close-btn" aria-label="Close Fullscreen"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg></button></div></div></div></div></div><div class="fv-bottom-bar"><div class="fv-footer-content" style="display: none;"><div class="rv-chart-caption" style="display: block;"><span class="fv-original-caption" style="display: block;"></span><span class="fv-ia-dynamic-caption" style="display: none;"></span></div></div><div class="fv-logo-explore-bar"><img class="fv-logo" src="https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png" alt="TechRadar Logo"></div></div></div></div><script>window.iFrameResizer = {heightCalculationMethod: 'taggedElement'};</script><script src="https://cdnjs.cloudflare.com/ajax/libs/iframe-resizer/4.2.11/iframeResizer.contentWindow.min.js" async></script><script>(function() {window.fvAnimateCharts = function(chartWrapper) {if (!chartWrapper) return;function animateBars(chartElement) {if (!chartElement) return;var bars = chartElement.querySelectorAll('.fv-bar, .fv-stacked-segment');bars.forEach(function(bar, index) {bar.style.setProperty('width', '0%', 'important');bar.style.setProperty('transition', 'none', 'important');var targetWidth = bar.dataset.targetWidth;if (targetWidth === undefined) return;void bar.offsetWidth;var targetMargin = bar.dataset.targetMargin;var baseMargin = bar.dataset.baseMargin;if (baseMargin !== undefined) {bar.style.setProperty('margin-left', baseMargin + '%', 'important');}setTimeout(function() {var marginTransition = baseMargin !== undefined ? ', margin-left 0.8s ease-out' : '';bar.style.setProperty('transition', 'opacity 0.2s ease, width 0.8s ease-out' + marginTransition, 'important');bar.style.setProperty('width', targetWidth + '%', 'important');if (targetMargin !== undefined && baseMargin !== undefined) {bar.style.setProperty('margin-left', targetMargin + '%', 'important');}}, index * 50 + 50);});}function animateLineChart(chartElement) {if (!chartElement) return;var lineSvg = chartElement.querySelector('svg');if (!lineSvg) return;var paths = lineSvg.querySelectorAll('.riv-line-path');paths.forEach(function(p, i) {if (typeof p.getTotalLength === 'function') {var len = p.getTotalLength();p.style.transition = 'none';p.style.strokeDasharray = len;p.style.strokeDashoffset = len;p.getBoundingClientRect();setTimeout(function() {p.style.transition = 'stroke-dashoffset 1s ease-out ' + (i * 0.1) + 's, stroke-width 0.2s, opacity 0.2s';p.style.strokeDashoffset = '0';}, 100);}});var dots = lineSvg.querySelectorAll('.riv-dot');dots.forEach(function(dot, i) {dot.style.opacity = '0';setTimeout(function() {dot.style.transition = 'opacity 0.3s ease';dot.style.opacity = '1';}, 500 + i * 10);});}var charts = chartWrapper.querySelectorAll('.fv-chart-item');charts.forEach(function(chart) {if (window.getComputedStyle(chart).display === 'none') return;var chartType = chart.dataset.chartType;if (chartType === 'Line') {animateLineChart(chart);} else if (chartType !== 'Pie') {animateBars(chart);}});};function initialize(uniqueId, isSlideshow) {var root = document.getElementById(uniqueId);if (!root && !isSlideshow) return;function setupWrapper(chartWrapper) {if (!chartWrapper) return;function checkMobileView() {var width = chartWrapper.getBoundingClientRect().width;var isMobileDevice = window.screen && Math.min(window.screen.width, window.screen.height) <= 599;var isMobile;if (width === 0) {isMobile = isMobileDevice || window.matchMedia('(max-width: 599px)').matches;} else {isMobile = isMobileDevice || width < 600;}if (isMobile) {chartWrapper.classList.add('mobile-view');} else {chartWrapper.classList.remove('mobile-view');}}checkMobileView();if (typeof ResizeObserver !== 'undefined') {var ro = new ResizeObserver(function() {checkMobileView();});ro.observe(chartWrapper);}window.addEventListener('resize', checkMobileView);var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';if (labelsOnTop) {var charts = chartWrapper.querySelectorAll('.fv-chart-item');var hasVisibleBarChart = false;charts.forEach(function(c) {if (window.getComputedStyle(c).display !== 'none') {var cType = c.dataset.chartType;if (cType === 'Bar' || cType === 'Stacked Bar' || cType === 'Versus') {hasVisibleBarChart = true;}}});if (hasVisibleBarChart) {chartWrapper.classList.add('labels-on-top');} else {chartWrapper.classList.remove('labels-on-top');}} else {chartWrapper.classList.remove('labels-on-top');}chartWrapper.querySelectorAll('.riv-line-legend').forEach(function(legend) {var chartId = legend.dataset.chart;var chart = chartWrapper.querySelector('[id="' + chartId + '"]');if (!chart) return;var lines = chart.querySelectorAll('.riv-line-path');var dots = chart.querySelectorAll('.riv-dot');var legendItems = legend.querySelectorAll('.riv-legend-item');legendItems.forEach(function(item) {var productName = item.dataset.product;var safeProductName = productName.replace(/"/g, '\"');var line = chart.querySelector('.riv-line-path[data-product="' + safeProductName + '"]');var productDots = chart.querySelectorAll('.riv-dot[data-product="' + safeProductName + '"]');if (line && !line.dataset.origStroke) {line.dataset.origStroke = line.getAttribute('stroke-width') || '2';}var highlight = function() {if (legend.querySelector('.isolated')) return;lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '0.2'; });legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });if (line) {line.style.opacity = '1';line.setAttribute('stroke-width', '4');}productDots.forEach(function(d) { d.style.opacity = '1'; });item.style.opacity = '1';};var clearHighlight = function() {if (legend.querySelector('.isolated')) return;lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '1'; });legendItems.forEach(function(i) { i.style.opacity = '1'; });};var toggleIsolate = function() {var isIsolated = item.classList.contains('isolated');legendItems.forEach(function(i) { i.classList.remove('isolated'); });if (isIsolated) {lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '1'; });legendItems.forEach(function(i) { i.style.opacity = '1'; });} else {item.classList.add('isolated');lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '0.2'; });legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });if (line) {line.style.opacity = '1';line.setAttribute('stroke-width', '4');}productDots.forEach(function(d) { d.style.opacity = '1'; });item.style.opacity = '1';}};item.addEventListener('mouseenter', highlight);item.addEventListener('focus', highlight);item.addEventListener('mouseleave', clearHighlight);item.addEventListener('blur', clearHighlight);item.addEventListener('click', toggleIsolate);if (line) {line.style.cursor = 'pointer';line.addEventListener('mouseenter', highlight);line.addEventListener('mouseleave', clearHighlight);line.addEventListener('click', toggleIsolate);}});});var versusCharts = chartWrapper.querySelectorAll('.fv-versus-chart');versusCharts.forEach(function(vc) {var dataJson = vc.getAttribute('data-versus-data');var leftColor = vc.getAttribute('data-left-color') || '#E53935';var rightColor = vc.getAttribute('data-right-color') || '#FFB300';if (!dataJson) return;var versusData = JSON.parse(dataJson);var leftSelect = vc.querySelector('.fv-select-left');var rightSelect = vc.querySelector('.fv-select-right');var rows = vc.querySelectorAll('.fv-versus-row');function updateVersusChart() {var leftProduct = leftSelect.value;var rightProduct = rightSelect.value;leftSelect.style.color = leftColor;leftSelect.style.borderColor = leftColor;rightSelect.style.color = rightColor;rightSelect.style.borderColor = rightColor;rows.forEach(function(row) {var index = parseInt(row.getAttribute('data-index'));var data = versusData[index];if (!data) return;var leftVal = data.productData[leftProduct] ? data.productData[leftProduct].value : undefined;var rightVal = data.productData[rightProduct] ? data.productData[rightProduct].value : undefined;var leftIsNum = typeof leftVal === 'number';var rightIsNum = typeof rightVal === 'number';var leftNum = leftIsNum ? leftVal : 0;var rightNum = rightIsNum ? rightVal : 0;var maxVal = Math.max(leftNum, rightNum, 0.0001);var leftWidth = leftIsNum ? (leftNum / maxVal) * 95 : 0;var rightWidth = rightIsNum ? (rightNum / maxVal) * 85 : 0;var winner = null;var pctDiffStr = null;if (leftIsNum && rightIsNum) {if (leftNum > rightNum) {winner = 'left';if (rightNum > 0) {var diff = Math.round(((leftNum - rightNum) / rightNum) * 100);pctDiffStr = '+' + diff.toLocaleString() + '%';}} else if (rightNum > leftNum) {winner = 'right';if (leftNum > 0) {var diff = Math.round(((rightNum - leftNum) / leftNum) * 100);pctDiffStr = '+' + diff.toLocaleString() + '%';}}}var leftDisplay = data.productData[leftProduct] && data.productData[leftProduct].displayValue !== undefined ? data.productData[leftProduct].displayValue : (leftIsNum ? leftNum.toLocaleString() : (leftVal !== undefined ? leftVal : '-'));var rightDisplay = data.productData[rightProduct] && data.productData[rightProduct].displayValue !== undefined ? data.productData[rightProduct].displayValue : (rightIsNum ? rightNum.toLocaleString() : (rightVal !== undefined ? rightVal : '-'));var unit = (data.productData[leftProduct] && data.productData[leftProduct].unit) ||(data.productData[rightProduct] && data.productData[rightProduct].unit) || '';var leftTextStr = leftDisplay;var rightTextStr = rightDisplay;var leftBar = row.querySelector('.fv-versus-bar-left');var rightBar = row.querySelector('.fv-versus-bar-right');var leftText = row.querySelector('.fv-inside-left');var rightText = row.querySelector('.fv-inside-right');var labelText = row.querySelector('.fv-versus-label span');var leftWrapper = row.querySelector('.fv-versus-bar-left-wrapper');var rightWrapper = row.querySelector('.fv-versus-bar-right-wrapper');var existingPctDiffs = row.querySelectorAll('.fv-versus-pct-diff');existingPctDiffs.forEach(function(el) { el.remove(); });if (winner === 'left' && pctDiffStr) {var pctSpan = document.createElement('span');pctSpan.className = 'fv-versus-pct-diff';pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';pctSpan.textContent = pctDiffStr;if (leftBar) leftBar.insertBefore(pctSpan, leftBar.firstChild);} else if (winner === 'right' && pctDiffStr) {var pctSpan = document.createElement('span');pctSpan.className = 'fv-versus-pct-diff';pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';pctSpan.textContent = pctDiffStr;if (rightBar) rightBar.appendChild(pctSpan);}if (leftBar) {leftBar.style.backgroundColor = leftColor;leftBar.dataset.targetWidth = leftWidth;leftBar.style.setProperty('--target-width', leftWidth + '%');leftBar.style.width = leftWidth + '%';}if (rightBar) {rightBar.style.backgroundColor = rightColor;rightBar.dataset.targetWidth = rightWidth;rightBar.style.setProperty('--target-width', rightWidth + '%');rightBar.style.width = rightWidth + '%';}if (leftText) {leftText.innerHTML = leftTextStr;}if (rightText) {rightText.innerHTML = rightTextStr;}if (labelText) {labelText.textContent = data.attribute + (unit ? ' (' + unit + ')' : '');}});}if (leftSelect) leftSelect.addEventListener('change', updateVersusChart);if (rightSelect) rightSelect.addEventListener('change', updateVersusChart);});var barRows = chartWrapper.querySelectorAll('.fv-bar-row');var globalCaptionEl = chartWrapper.querySelector('.rv-chart-caption');var fallbackCaptionHtml = globalCaptionEl ? globalCaptionEl.innerHTML : '';barRows.forEach(function(row) {var commentaryEl = row.querySelector('[data-commentary-key]');if (commentaryEl) {var commentaryText = commentaryEl.textContent;if (commentaryText && commentaryText.trim().length > 0) {row.addEventListener('mouseenter', function() {if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {globalCaptionEl.innerHTML = commentaryText;globalCaptionEl.classList.add('fv-bar-active-caption');}});row.addEventListener('mouseleave', function() {if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {globalCaptionEl.innerHTML = fallbackCaptionHtml;globalCaptionEl.classList.remove('fv-bar-active-caption');}});}}});var charts = chartWrapper.querySelectorAll('.fv-chart-item');var dropdown = chartWrapper.querySelector('.fv-dropdown-title');var prevBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.prev');var nextBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.next');var carouselTitle = chartWrapper.querySelector('.fv-carousel-title-controls .fv-benchmark-title');var counter = chartWrapper.querySelector('.fv-carousel-counter');var subheadEl = chartWrapper.querySelector('.fv-chart-subhead');var captionEl = chartWrapper.querySelector('.rv-chart-caption');var footerContentEl = chartWrapper.querySelector('.fv-footer-content');var bottomBarEl = chartWrapper.querySelector('.fv-bottom-bar');var logoEl = chartWrapper.querySelector('.fv-logo');if (charts.length > 1 && (dropdown || prevBtn)) {var currentChartIndex = 0;var titles = [];if (dropdown) {titles = Array.from(dropdown.options).map(function(o) { return o.text; });} else {charts.forEach(function(c) {titles.push(c.getAttribute('data-title') || '');});}function showInternalChart(index) {if (index < 0) index = charts.length - 1;if (index >= charts.length) index = 0;currentChartIndex = index;charts.forEach(function(c, i) {c.style.display = i === index ? 'block' : 'none';if (i === index) {var cType = c.dataset.chartType;if (cType === 'Line') {} else if (cType !== 'Pie') {window.fvAnimateCharts(chartWrapper);}var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';if (labelsOnTop && (cType === 'Bar' || cType === 'Stacked Bar' || cType === 'Versus')) {chartWrapper.classList.add('labels-on-top');} else {chartWrapper.classList.remove('labels-on-top');}}});if (dropdown) dropdown.value = index;if (carouselTitle && titles[index]) carouselTitle.textContent = titles[index];if (counter) counter.textContent = (index + 1) + ' of ' + charts.length;var activeChart = charts[index];if (activeChart) {var newSubhead = activeChart.getAttribute('data-subhead');var newCaption = activeChart.getAttribute('data-caption');var currentChartType = activeChart.getAttribute('data-chart-type');var hideGlobalCaption = currentChartType === 'Countdown' || currentChartType === 'Image Comparison' || currentChartType === 'Shop the Collection';if (subheadEl) subheadEl.textContent = newSubhead || '';if (captionEl) {captionEl.textContent = newCaption || '';fallbackCaptionHtml = newCaption || '';}if (footerContentEl) {if (newCaption && newCaption.trim().length > 0 && !hideGlobalCaption) {footerContentEl.style.display = 'block';if (bottomBarEl) bottomBarEl.style.display = 'flex';} else {footerContentEl.style.display = 'none';if (bottomBarEl && !logoEl) {bottomBarEl.style.display = 'none';}}}}}if (dropdown) dropdown.addEventListener('change', function(e) { showInternalChart(parseInt(e.target.value)); });if (prevBtn) prevBtn.addEventListener('click', function() { showInternalChart(currentChartIndex - 1); });if (nextBtn) nextBtn.addEventListener('click', function() { showInternalChart(currentChartIndex + 1); });}var imageCompareWrappers = chartWrapper.querySelectorAll('.fv-image-compare-wrapper');imageCompareWrappers.forEach(function(wrapper) {var inner = wrapper.querySelector('.fv-image-compare-inner') || wrapper;var slider = wrapper.querySelector('.fv-image-compare-slider');var fgImage = wrapper.querySelector('.fv-image-compare-fg');var bgImage = wrapper.querySelector('.fv-image-compare-bg');var labelLeft = wrapper.querySelector('.fv-image-compare-label-left');var labelRight = wrapper.querySelector('.fv-image-compare-label-right');var isDragging = false;var scale = 1;var panX = 0;var panY = 0;var isPanning = false;var hasPanned = false;var lastClientX = 0;var lastClientY = 0;var initialDistance = null;var lastCenterX = null;var lastCenterY = null;function updateTransform() {if (wrapper.classList.contains('fv-image-compare-fullscreen')) {inner.style.setProperty('transform', 'translate(' + panX + 'px, ' + panY + 'px) scale(' + scale + ')', 'important');} else {inner.style.removeProperty('transform');scale = 1;panX = 0;panY = 0;}}function constrainPan() {var rect = wrapper.getBoundingClientRect();var maxPanX = Math.max(0, (rect.width * scale - rect.width) / 2);var maxPanY = Math.max(0, (rect.height * scale - rect.height) / 2);panX = Math.max(-maxPanX, Math.min(panX, maxPanX));panY = Math.max(-maxPanY, Math.min(panY, maxPanY));}wrapper.addEventListener('wheel', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;e.preventDefault();var zoomSensitivity = 0.005;var zoomFactor = Math.exp(-e.deltaY * zoomSensitivity);var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));if (newScale === scale) return;var rect = wrapper.getBoundingClientRect();var mouseX = e.clientX - rect.left - rect.width / 2;var mouseY = e.clientY - rect.top - rect.height / 2;var ratio = newScale / scale;panX = mouseX - (mouseX - panX) * ratio;panY = mouseY - (mouseY - panY) * ratio;scale = newScale;constrainPan();updateTransform();}, { passive: false });wrapper.addEventListener('mousedown', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen') || scale <= 1) return;if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;isPanning = true;hasPanned = false;lastClientX = e.clientX;lastClientY = e.clientY;});window.addEventListener('mousemove', function(e) {if (!isPanning) return;var dx = e.clientX - lastClientX;var dy = e.clientY - lastClientY;if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {hasPanned = true;}lastClientX = e.clientX;lastClientY = e.clientY;panX += dx;panY += dy;constrainPan();updateTransform();});window.addEventListener('mouseup', function() {isPanning = false;});wrapper.addEventListener('touchstart', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;if (e.touches.length === 2) {e.preventDefault();var dx = e.touches[0].clientX - e.touches[1].clientX;var dy = e.touches[0].clientY - e.touches[1].clientY;initialDistance = Math.sqrt(dx * dx + dy * dy);var rect = wrapper.getBoundingClientRect();lastCenterX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;lastCenterY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;hasPanned = true;} else if (e.touches.length === 1 && scale > 1) {if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;isPanning = true;hasPanned = false;lastClientX = e.touches[0].clientX;lastClientY = e.touches[0].clientY;}}, { passive: false });wrapper.addEventListener('touchmove', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;if (e.touches.length === 2 && initialDistance !== null) {e.preventDefault();var dx = e.touches[0].clientX - e.touches[1].clientX;var dy = e.touches[0].clientY - e.touches[1].clientY;var distance = Math.sqrt(dx * dx + dy * dy);if (initialDistance > 0) {var zoomFactor = distance / initialDistance;var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));var rect = wrapper.getBoundingClientRect();var centerX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;var centerY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;var ratio = newScale / scale;panX = centerX - (centerX - panX) * ratio;panY = centerY - (centerY - panY) * ratio;if (lastCenterX !== null && lastCenterY !== null) {panX += (centerX - lastCenterX);panY += (centerY - lastCenterY);}scale = newScale;lastCenterX = centerX;lastCenterY = centerY;constrainPan();updateTransform();}initialDistance = distance;} else if (e.touches.length === 1 && isPanning) {e.preventDefault();var dx = e.touches[0].clientX - lastClientX;var dy = e.touches[0].clientY - lastClientY;if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {hasPanned = true;}lastClientX = e.touches[0].clientX;lastClientY = e.touches[0].clientY;panX += dx;panY += dy;constrainPan();updateTransform();}}, { passive: false });wrapper.addEventListener('touchend', function(e) {if (e.touches.length < 2) {initialDistance = null;}if (e.touches.length === 0) {isPanning = false;}});function handleMove(clientX) {var rect = inner.getBoundingClientRect();var x = Math.max(0, Math.min(clientX - rect.left, rect.width));var percent = Math.max(0, Math.min((x / rect.width) * 100, 100));if (slider) slider.style.setProperty('left', percent + '%', 'important');if (fgImage) fgImage.style.setProperty('clip-path', 'polygon(0 0, ' + percent + '% 0, ' + percent + '% 100%, 0 100%)', 'important');if (labelLeft) {if (percent < 10) {labelLeft.style.setProperty('opacity', '0', 'important');} else {labelLeft.style.setProperty('opacity', '1', 'important');}}if (labelRight) {if (percent > 90) {labelRight.style.setProperty('opacity', '0', 'important');} else {labelRight.style.setProperty('opacity', '1', 'important');}}}function onMouseMove(e) {if (!isDragging) return;handleMove(e.clientX);}function onTouchMove(e) {if (!isDragging) return;e.preventDefault();handleMove(e.touches[0].clientX);}function stopDragging() {isDragging = false;window.removeEventListener('mousemove', onMouseMove);window.removeEventListener('mouseup', stopDragging);window.removeEventListener('touchmove', onTouchMove);window.removeEventListener('touchend', stopDragging);}if (slider) {var startDrag = function(clientX) {isDragging = true;handleMove(clientX);window.addEventListener('mousemove', onMouseMove);window.addEventListener('mouseup', stopDragging);};var startTouchDrag = function(clientX) {isDragging = true;handleMove(clientX);window.addEventListener('touchmove', onTouchMove, { passive: false });window.addEventListener('touchend', stopDragging);};slider.addEventListener('mousedown', function(e) {e.preventDefault();startDrag(e.clientX);});slider.addEventListener('touchstart', function(e) {e.preventDefault();startTouchDrag(e.touches[0].clientX);}, { passive: false });}var expandBtn = wrapper.querySelector('.fv-image-compare-expand-btn');var closeBtn = wrapper.querySelector('.fv-image-compare-close-btn');if (expandBtn) {if (window !== window.parent) {expandBtn.style.display = 'none';} else {expandBtn.addEventListener('click', function(e) {e.stopPropagation();wrapper.classList.add('fv-image-compare-fullscreen');document.body.style.overflow = 'hidden';if (fgImage && fgImage.dataset.highresSrc) {fgImage.src = fgImage.dataset.highresSrc;fgImage.removeAttribute('srcset');fgImage.removeAttribute('sizes');}if (bgImage && bgImage.dataset.highresSrc) {bgImage.src = bgImage.dataset.highresSrc;bgImage.removeAttribute('srcset');bgImage.removeAttribute('sizes');}});}}if (closeBtn) {closeBtn.addEventListener('click', function(e) {e.stopPropagation();wrapper.classList.remove('fv-image-compare-fullscreen');document.body.style.overflow = '';updateTransform();});}document.addEventListener('keydown', function(e) {if (e.key === 'Escape' && wrapper.classList.contains('fv-image-compare-fullscreen')) {wrapper.classList.remove('fv-image-compare-fullscreen');document.body.style.overflow = '';updateTransform();}});});var hotspots = chartWrapper.querySelectorAll('.fv-stl-hotspot-btn');var allProductsModal = chartWrapper.querySelector('.fv-stl-all-products-modal');var shopAllBtn = chartWrapper.querySelector('.fv-stl-shop-all-btn');var allProductsList = chartWrapper.querySelector('.fv-stl-all-products-list');var stlContainer = chartWrapper.querySelector('.fv-stl-container');function closeAllModals() {if (allProductsModal) {allProductsModal.classList.remove('is-active');var items = allProductsModal.querySelectorAll('.fv-stl-all-products-item');items.forEach(function(item) {item.classList.remove('is-highlighted');});if (stlContainer) {setTimeout(function() {if (!allProductsModal.classList.contains('is-active')) {stlContainer.style.minHeight = '';if ('parentIFrame' in window) {window.parentIFrame.size();}}}, 300);}}hotspots.forEach(function(btn) { btn.setAttribute('aria-expanded', 'false'); });if ('parentIFrame' in window) {window.parentIFrame.size();}}hotspots.forEach(function(btn) {btn.addEventListener('click', function(e) {e.stopPropagation();var hotspotId = btn.getAttribute('data-hotspot-id');var isExpanded = btn.getAttribute('aria-expanded') === 'true';closeAllModals();if (!isExpanded && allProductsModal) {btn.setAttribute('aria-expanded', 'true');allProductsModal.classList.add('is-active');var container = btn.closest('.fv-stl-container');if (container && container.offsetHeight < 450) {container.style.minHeight = '450px';}var targetItem = allProductsModal.querySelector('.fv-stl-all-products-item[data-product-id="' + hotspotId + '"]');if (targetItem) {targetItem.classList.add('is-highlighted');setTimeout(function() {targetItem.scrollIntoView({ behavior: 'smooth', block: 'center' });}, 100);}if ('parentIFrame' in window) {window.parentIFrame.size();}}});});if (shopAllBtn && allProductsModal) {shopAllBtn.addEventListener('click', function(e) {e.stopPropagation();closeAllModals();allProductsModal.classList.add('is-active');var container = shopAllBtn.closest('.fv-stl-container');if (container && container.offsetHeight < 450) {container.style.minHeight = '450px';}if ('parentIFrame' in window) {window.parentIFrame.size();}});}if (allProductsModal) {var closeAllBtn = allProductsModal.querySelector('.fv-stl-all-products-close');if (closeAllBtn) {closeAllBtn.addEventListener('click', function(e) {e.stopPropagation();closeAllModals();});}}chartWrapper.addEventListener('click', function(e) {if (!e.target.closest('.fv-stl-all-products-content')) {closeAllModals();}});if (allProductsModal) {allProductsModal.addEventListener('click', function(e) {if (!e.target.closest('.fv-stl-all-products-content')) {closeAllModals();}});}var iaNodes = chartWrapper.querySelectorAll('.fv-ia-node-button');var iaWrapper = chartWrapper.querySelector('.fv-ia-wrapper');var originalCaption = chartWrapper.querySelector('.fv-original-caption') || captionEl;var dynamicCaption = chartWrapper.querySelector('.fv-ia-dynamic-caption');var exploreBtn = chartWrapper.querySelector('.fv-ia-explore-btn');var currentIaIndex = -1;function closeAllIANodes() {iaNodes.forEach(function(btn) { btn.classList.remove('is-active'); });if (originalCaption) originalCaption.style.display = 'block';if (dynamicCaption) dynamicCaption.style.display = 'none';}function resetExploreBtn() {currentIaIndex = -1;if (exploreBtn) {var exploreSpan = exploreBtn.querySelector('span');if (exploreSpan) exploreSpan.textContent = 'Explore';}}iaNodes.forEach(function(btn, index) {btn.addEventListener('click', function(e) {e.stopPropagation();var isActive = btn.classList.contains('is-active');closeAllIANodes();if (!isActive) {currentIaIndex = index;if (exploreBtn) {var exploreSpan = exploreBtn.querySelector('span');if (exploreSpan) exploreSpan.textContent = 'Next';}btn.classList.add('is-active');if (dynamicCaption) {var title = btn.getAttribute('data-title') || '';var desc = btn.getAttribute('data-desc') || '';dynamicCaption.innerHTML = '';var strongTag = document.createElement('strong');strongTag.textContent = title;dynamicCaption.appendChild(strongTag);if (desc) {dynamicCaption.appendChild(document.createTextNode(' - ' + desc));}if (originalCaption) originalCaption.style.display = 'none';dynamicCaption.style.display = 'block';if (footerContentEl) footerContentEl.style.display = 'block';}} else {resetExploreBtn();}});});if (exploreBtn) {exploreBtn.addEventListener('click', function(e) {e.stopPropagation();if (iaNodes.length === 0) return;var nextIndex = currentIaIndex + 1;if (nextIndex >= iaNodes.length) {closeAllIANodes();resetExploreBtn();} else {currentIaIndex = nextIndex;var targetBtn = iaNodes[currentIaIndex];if (targetBtn) {if(targetBtn.classList.contains('is-active')) {targetBtn.click();}targetBtn.click();}}});}if (iaWrapper) {iaWrapper.addEventListener('click', function(e) {if (!e.target.closest('.fv-ia-node-button') && !e.target.closest('.fv-ia-explore-btn')) {closeAllIANodes();resetExploreBtn();}});}window.fvAnimateCharts(chartWrapper);var countdownContainer = chartWrapper.querySelector('.fv-countdown-container');if (countdownContainer) {var targetDateAttr = countdownContainer.getAttribute('data-target-date');if (targetDateAttr) {var targetDate = new Date(targetDateAttr);var primaryColor = countdownContainer.getAttribute('data-primary-color') || '#f97316';var subheadColor = countdownContainer.getAttribute('data-subhead-color') || '#ffffff';var pad = function(n) { return (n < 10 ? '0' : '') + n; };var updateCountdown = function() {var difference = +targetDate - +new Date();var d = 0, h = 0, m = 0, s = 0;if (difference > 0) {d = Math.floor(difference / (1000 * 60 * 60 * 24));h = Math.floor((difference / (1000 * 60 * 60)) % 24);m = Math.floor((difference / 1000 / 60) % 60);s = Math.floor((difference / 1000) % 60);}var daysEl = countdownContainer.querySelector('[data-time="days"]');var hoursEl = countdownContainer.querySelector('[data-time="hours"]');var minsEl = countdownContainer.querySelector('[data-time="minutes"]');var secsEl = countdownContainer.querySelector('[data-time="seconds"]');if (daysEl) daysEl.textContent = d;if (hoursEl) hoursEl.textContent = pad(h);if (minsEl) minsEl.textContent = pad(m);if (secsEl) secsEl.textContent = pad(s);};updateCountdown();setInterval(updateCountdown, 1000);}}}if (false) {var slideshowContainer = document.getElementById(uniqueId + '-slideshow');if (slideshowContainer) {var slides = slideshowContainer.querySelectorAll('.fv-slide');slides.forEach(function(slide) {setupWrapper(slide.querySelector('.fv-chart-wrapper'));});}} else {setupWrapper(root);}}if (document.readyState === 'loading') {document.addEventListener('DOMContentLoaded', function() { initialize('fv-chart-1789662456772-bndieyrs9', false); });} else {initialize('fv-chart-1789662456772-bndieyrs9', false);}})();</script></div><p>The oat test is usually more difficult, because robovacs tend to flick them across hard floors with their rotating side brushes. But the E35 performed surprisingly well, with Turbo mode paired with the Deep intensity and two passes being enough to completely clear the debris. The Max power option wasn’t required. Oats scattered on carpet were tackled even more successfully, as a single pass with the least power, least thorough setting did the job perfectly.</p><p>Moving to the mop, and the Omni E35 continues to impress. It’s a similar system to that of Eufy’s flagship Omni S2, with a roller that cleans itself during use, then is washed and dried when back at the docking station. Eufy claims its HydroJet 2.0 system removes 99.99 percent of bacteria “for a TÜV-certified baby-friendly clean” – in other words, it has been assessed and certified by a group of independent German testing organizations.</p><div class="vizualizer-embed"><style>@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap');#fv-chart-1789662465216-rhj1ydqa6 *, #fv-chart-1789662465216-rhj1ydqa6 *:before, #fv-chart-1789662465216-rhj1ydqa6 *:after, #fv-chart-1789662465216-rhj1ydqa6-slideshow *, #fv-chart-1789662465216-rhj1ydqa6-slideshow *:before, #fv-chart-1789662465216-rhj1ydqa6-slideshow *:after {box-sizing: border-box !important; margin: 0; padding: 0; border: 0;font-size: 100%; font: inherit; vertical-align: baseline;}#fv-chart-1789662465216-rhj1ydqa6, #fv-chart-1789662465216-rhj1ydqa6-slideshow { font-family: 'Open Sans', sans-serif !important; }#fv-chart-1789662465216-rhj1ydqa6 {position: relative !important; overflow: visible !important;--riv-primary: #2E6E93;}#fv-chart-1789662465216-rhj1ydqa6 .fv-inner-wrapper {color: #1F2937 !important; background-color: #ffffff !important;padding: 1.5rem 1.5rem 2rem !important; border-radius: 0.5rem !important;box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important;margin: 1rem 0 !important; display: flex !important; flex-direction: column !important;overflow: hidden !important;}#fv-chart-1789662465216-rhj1ydqa6 .fv-inner-wrapper.fv-no-header.fv-is-image-compare {padding-top: 0 !important;}#fv-chart-1789662465216-rhj1ydqa6.fv-full-bleed {width: 100vw !important;margin-left: calc(50% - 50vw) !important;}body {overflow-x: clip !important;}#fv-chart-1789662465216-rhj1ydqa6.fv-full-bleed .fv-inner-wrapper {padding: 0 !important;border-radius: 0 !important;box-shadow: none !important;margin: 0 !important;background-color: transparent !important;}#fv-chart-1789662465216-rhj1ydqa6 .fv-inner-wrapper.fv-is-shop-the-look {padding: 0 !important;border-radius: 0 !important;box-shadow: none !important;margin: 0 !important;background-color: transparent !important;}#fv-chart-1789662465216-rhj1ydqa6-slideshow {position: relative !important;width: 100% !important;margin: 1rem 0 !important;--riv-primary: #2E6E93;}#fv-chart-1789662465216-rhj1ydqa6-slideshow .fv-slides-wrapper {position: relative !important;width: 100% !important;}#fv-chart-1789662465216-rhj1ydqa6-slideshow .fv-slide {width: 100% !important;animation: fv-fade-in 0.3s ease-in-out;}@keyframes fv-fade-in {from { opacity: 0; }to { opacity: 1; }}#fv-chart-1789662465216-rhj1ydqa6-slideshow .fv-slideshow-nav-row {position: relative !important;display: flex !important;justify-content: space-between !important;align-items: center !important;padding: 0 0 16px 0 !important;width: 100% !important;z-index: 20 !important;}#fv-chart-1789662465216-rhj1ydqa6-slideshow .fv-nav-btn {background-color: var(--riv-primary) !important;color: #ffffff !important;border: none !important;border-radius: 4px !important;padding: 8px 16px !important;font-size: 14px !important;font-weight: 700 !important;cursor: pointer !important;display: flex !important;align-items: center !important;justify-content: center !important;gap: 6px !important;transition: opacity 0.2s, background-color 0.2s !important;height: 36px !important;text-transform: none !important;box-shadow: 0 1px 2px rgba(0,0,0,0.1) !important;}#fv-chart-1789662465216-rhj1ydqa6-slideshow .fv-nav-btn svg {width: 18px !important;height: 18px !important;stroke-width: 3px !important;filter: none !important;}#fv-chart-1789662465216-rhj1ydqa6-slideshow .fv-nav-btn:hover {opacity: 0.9 !important;transform: translateY(-1px) !important;}#fv-chart-1789662465216-rhj1ydqa6-slideshow .fv-nav-btn.disabled {background-color: #E5E7EB !important;color: #9CA3AF !important;cursor: default !important;pointer-events: none !important;box-shadow: none !important;}#fv-chart-1789662465216-rhj1ydqa6-slideshow .fv-slide-counter {font-family: 'Poppins', sans-serif !important;font-size: 14px !important;font-weight: 600 !important;color: #374151 !important;text-align: center !important;min-width: 40px !important;background-color: rgba(255,255,255,0.8) !important;padding: 2px 8px !important;border-radius: 10px !important;}#fv-chart-1789662465216-rhj1ydqa6-slideshow .fv-slideshow-select {position: absolute !important;top: 10px !important;right: 10px !important;z-index: 20 !important;appearance: none !important;-webkit-appearance: none !important;-moz-appearance: none !important;background-color: white !important;border: 1px solid #d1d5db !important;color: #1F2937 !important;font-family: 'Open Sans', sans-serif !important;font-size: 14px !important;font-weight: 600 !important;padding: 6px 32px 6px 12px !important;border-radius: 4px !important;cursor: pointer !important;box-shadow: 0 1px 2px rgba(0,0,0,0.05) !important;background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e") !important;background-position: right 0.5rem center !important;background-repeat: no-repeat !important;background-size: 1.5em 1.5em !important;}#fv-chart-1789662465216-rhj1ydqa6-slideshow .fv-slideshow-select:focus {outline: 2px solid #2E6E93 !important;border-color: #2E6E93 !important;}#fv-chart-1789662465216-rhj1ydqa6 .fv-chart-title {font-weight: bold !important;text-align: center !important;margin-bottom: 0.5rem !important;color: var(--riv-primary) !important;font-size: 20px !important;line-height: 1.2 !important;font-family: 'Open Sans', sans-serif !important;text-transform: none !important;white-space: normal !important;overflow-wrap: break-word !important;padding: 0 20px !important;}#fv-chart-1789662465216-rhj1ydqa6 .fv-chart-subhead {font-size: 18px !important;font-weight: 500 !important;text-align: center !important;margin-bottom: 2rem !important;color: #374151 !important;line-height: 1.7 !important;font-family: 'Open Sans', sans-serif !important;display: block !important;text-transform: none !important;padding: 0 20px !important;}#fv-chart-1789662465216-rhj1ydqa6 .rv-chart-caption { font-size: 15px !important; color: #374151 !important; text-align: center !important; font-style: normal !important; font-weight: normal !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-versus-chart { display: flex; flex-direction: column; width: 100%; margin-top: 1rem; }#fv-chart-1789662465216-rhj1ydqa6 .fv-versus-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding: 0 1rem; }#fv-chart-1789662465216-rhj1ydqa6 .fv-versus-select-wrapper { flex: 1; min-width: 0; }#fv-chart-1789662465216-rhj1ydqa6 .fv-versus-select-wrapper.fv-left { text-align: center; padding-right: 1rem; }#fv-chart-1789662465216-rhj1ydqa6 .fv-versus-select-wrapper.fv-right { text-align: center; padding-left: 1rem; }#fv-chart-1789662465216-rhj1ydqa6 .fv-versus-select-container { position: relative; display: inline-block; max-width: 100%; width: 100%; }#fv-chart-1789662465216-rhj1ydqa6 .fv-versus-chevron { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; width: 16px; height: 16px; flex-shrink: 0; }#fv-chart-1789662465216-rhj1ydqa6 .fv-versus-select-wrapper.fv-left .fv-versus-chevron { right: 0; }#fv-chart-1789662465216-rhj1ydqa6 .fv-versus-select-wrapper.fv-right .fv-versus-chevron { right: 0; }#fv-chart-1789662465216-rhj1ydqa6 .fv-versus-select { background: transparent; border: none; border-bottom: 2px solid; font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; padding: 0.25rem 0; cursor: pointer; outline: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; max-width: 100%; width: 100%; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; }#fv-chart-1789662465216-rhj1ydqa6 .fv-versus-select.fv-select-left { text-align: center; direction: ltr; padding-right: 1.25rem; }#fv-chart-1789662465216-rhj1ydqa6 .fv-versus-select.fv-select-right { text-align: center; padding-right: 1.25rem; }#fv-chart-1789662465216-rhj1ydqa6 .fv-versus-select option { font-family: 'Open Sans', sans-serif; font-weight: 400; font-size: 14px; color: #374151; direction: ltr; text-align: left; }#fv-chart-1789662465216-rhj1ydqa6 .fv-versus-vs { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; color: #374151; letter-spacing: 0.1em; padding: 0 1rem; }#fv-chart-1789662465216-rhj1ydqa6 .fv-versus-body { display: flex; flex-direction: column; gap: 1.5rem; }#fv-chart-1789662465216-rhj1ydqa6 .fv-versus-row { position: relative; height: auto; padding-top: 20px; margin-bottom: 0.25rem; display: block; }#fv-chart-1789662465216-rhj1ydqa6 .fv-versus-bar-container { position: relative; height: 32px; display: flex; align-items: center; }#fv-chart-1789662465216-rhj1ydqa6 .fv-versus-bar-left-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-end; align-items: center; }#fv-chart-1789662465216-rhj1ydqa6 .fv-versus-bar-right-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-start; align-items: center; }#fv-chart-1789662465216-rhj1ydqa6 .fv-versus-bar { height: 32px; width: var(--target-width); transition: width 0.8s ease-out; animation: fv-grow-max-width 0.8s ease-out forwards; display: flex; align-items: center; overflow: hidden; color: #ffffff; }#fv-chart-1789662465216-rhj1ydqa6 .fv-versus-bar-left { border-radius: 4px 0 0 4px; justify-content: flex-end; padding: 0 8px; }#fv-chart-1789662465216-rhj1ydqa6 .fv-versus-bar-right { border-radius: 0 4px 4px 0; justify-content: flex-start; padding: 0 8px; }@keyframes fv-grow-max-width {from { max-width: 0; }to { max-width: 100%; }}#fv-chart-1789662465216-rhj1ydqa6 .fv-versus-center-line { position: absolute; left: 50%; top: 0; bottom: 0; width: 4px; background-color: #ffffff; transform: translateX(-50%); z-index: 1; }#fv-chart-1789662465216-rhj1ydqa6 .fv-inside-left { white-space: nowrap; flex-shrink: 0; }#fv-chart-1789662465216-rhj1ydqa6 .fv-inside-right { white-space: nowrap; flex-shrink: 0; }#fv-chart-1789662465216-rhj1ydqa6 .fv-versus-val-text { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; }#fv-chart-1789662465216-rhj1ydqa6 .fv-versus-pct-diff { font-size: 12px; font-weight: 600; }#fv-chart-1789662465216-rhj1ydqa6 .fv-versus-label { position: absolute; left: 50%; transform: translateX(-50%); top: 0; background-color: transparent; border: none; box-shadow: none; padding: 0; font-family: 'Open Sans', sans-serif; font-weight: 700; font-size: 14px; color: #374151; white-space: nowrap; }#fv-chart-1789662465216-rhj1ydqa6 .sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-image-compare-container { width: auto !important; margin-left: -1.5rem !important; margin-right: -1.5rem !important; margin-bottom: 2rem !important; }#fv-chart-1789662465216-rhj1ydqa6.fv-full-bleed .fv-image-compare-container { width: 100% !important; max-width: none !important; margin: 0 auto !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-image-compare-wrapper { position: relative !important; width: 100% !important; overflow: hidden !important; border-radius: 0 !important; background-color: #000 !important; touch-action: pan-y !important; user-select: none !important; -webkit-user-select: none !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-image-compare-inner { position: relative !important; width: 100% !important; height: 100% !important; display: block !important; transform-origin: center center !important; transition: transform 0.1s ease-out !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-image-compare-bg { display: block !important; width: 100% !important; height: auto !important; pointer-events: none !important; user-select: none !important; -webkit-user-select: none !important; -webkit-user-drag: none !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-image-compare-fg { position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; object-fit: cover !important; clip-path: polygon(0 0, 50% 0, 50% 100%, 0 100%) !important; pointer-events: none !important; user-select: none !important; -webkit-user-select: none !important; -webkit-user-drag: none !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-image-compare-slider { position: absolute !important; top: 0 !important; bottom: 0 !important; left: 50% !important; width: 32px !important; transform: translateX(-50%) !important; cursor: ew-resize !important; z-index: 10 !important; user-select: none !important; -webkit-user-select: none !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-image-compare-slider-line { position: absolute !important; top: 0 !important; bottom: 0 !important; left: 50% !important; width: 4px !important; background-color: white !important; transform: translateX(-50%) !important; box-shadow: 0 0 10px rgba(0,0,0,0.5) !important; pointer-events: none !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-image-compare-handle { position: absolute !important; top: 50% !important; left: 50% !important; transform: translate(-50%, -50%) !important; width: 32px !important; height: 32px !important; background-color: white !important; border-radius: 50% !important; box-shadow: 0 2px 6px rgba(0,0,0,0.3) !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 4px !important; pointer-events: none !important; z-index: 11 !important; overflow: hidden !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-image-compare-handle.fv-image-compare-handle-square { border-radius: 6px !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-image-compare-arrow-left { width: 0 !important; height: 0 !important; border-top: 4px solid transparent !important; border-bottom: 4px solid transparent !important; border-right: 4px solid #4b5563 !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-image-compare-arrow-right { width: 0 !important; height: 0 !important; border-top: 4px solid transparent !important; border-bottom: 4px solid transparent !important; border-left: 4px solid #4b5563 !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-image-compare-label { position: absolute !important; top: 1rem !important; background-color: rgba(0, 0, 0, 0.5) !important; color: white !important; padding: 0.25rem 0.75rem !important; border-radius: 0.25rem !important; font-size: 0.875rem !important; font-weight: 500 !important; pointer-events: none !important; backdrop-filter: blur(4px) !important; z-index: 5 !important; transition: right 0.3s ease, opacity 0.2s ease !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-image-compare-label-left { left: 1rem !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-image-compare-label-right { right: 1rem !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-image-compare-expand-btn, #fv-chart-1789662465216-rhj1ydqa6 .fv-image-compare-close-btn { position: absolute !important; bottom: 1rem !important; right: 1rem !important; background-color: rgba(0, 0, 0, 0.5) !important; color: white !important; border: none !important; border-radius: 0.25rem !important; padding: 0.5rem !important; cursor: pointer !important; z-index: 20 !important; display: flex !important; align-items: center !important; justify-content: center !important; backdrop-filter: blur(4px) !important; transition: background-color 0.2s !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-image-compare-expand-btn:hover, #fv-chart-1789662465216-rhj1ydqa6 .fv-image-compare-close-btn:hover { background-color: rgba(0, 0, 0, 0.7) !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-image-compare-close-btn { display: none !important; top: 1rem !important; bottom: auto !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-image-compare-wrapper.fv-image-compare-fullscreen { position: fixed !important; top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important; width: 100% !important; height: 100% !important; z-index: 999999 !important; display: flex !important; align-items: center !important; justify-content: center !important; background-color: rgba(0, 0, 0, 0.9) !important; margin: 0 !important; touch-action: none !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-inner { width: 100% !important; height: 100% !important; display: flex !important; align-items: center !important; justify-content: center !important; cursor: grab !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-inner:active { cursor: grabbing !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-bg { position: absolute !important; top: 0 !important; left: 0 !important; max-width: 100% !important; max-height: 100% !important; width: 100% !important; height: 100% !important; object-fit: contain !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-fg { max-width: 100% !important; max-height: 100% !important; width: 100% !important; height: 100% !important; object-fit: contain !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-expand-btn { display: none !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-close-btn { display: flex !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-label-right { right: 4rem !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-footer-content { text-align: center !important; width: 100% !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-logo {display: block !important;margin: 0 auto !important;width: 120px !important;min-width: 120px !important;max-width: 120px !important;height: auto !important;object-fit: contain !important;flex-shrink: 0 !important;}#fv-chart-1789662465216-rhj1ydqa6 .fv-dropdown-wrapper { text-align: center !important; margin-bottom: 16px !important; margin-top: 0 !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-dropdown-title-container { position: relative !important; display: inline-block !important; max-width: 100% !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-dropdown-title {appearance: none !important;-webkit-appearance: none !important;-moz-appearance: none !important;background: transparent !important;border: none !important;font-size: 18px !important;font-weight: 600 !important;color: var(--riv-primary) !important;padding-right: 28px !important;padding-left: 10px !important;cursor: pointer !important;text-align: center !important;text-align-last: center !important;width: auto !important;max-width: 100% !important;font-family: 'Open Sans', sans-serif !important;line-height: 1.3 !important;margin: 0 !important;text-overflow: ellipsis !important;overflow: hidden !important;white-space: nowrap !important;}#fv-chart-1789662465216-rhj1ydqa6 .fv-dropdown-title:focus { outline: none !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-dropdown-title::-ms-expand { display: none !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-dropdown-chevron {position: absolute !important;right: 0 !important;top: 50% !important;transform: translateY(-50%) !important;pointer-events: none !important;color: var(--riv-primary) !important;display: flex !important;align-items: center !important;}#fv-chart-1789662465216-rhj1ydqa6 .fv-carousel-title-controls { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 16px !important; width: 100% !important; gap: 12px !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-carousel-nav-btn {background: transparent !important; border: 1px solid #d1d5db !important; border-radius: 6px !important; padding: 6px 10px !important;cursor: pointer !important; font-size: 14px !important; color: #374151 !important; display: flex !important; align-items: center !important; gap: 4px !important; font-family: 'Open Sans', sans-serif !important;}#fv-chart-1789662465216-rhj1ydqa6 .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-carousel-counter { font-size: 14px !important; color: #374151 !important; text-align: center !important; margin-top: 1rem !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 8px 16px !important; margin: 0 !important; padding: 0 !important; margin-top: 1rem !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #374151 !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-multi-value-legend {display: flex !important;justify-content: center !important;flex-wrap: wrap !important;gap: 12px 24px !important;margin-bottom: 1.5rem !important;padding: 0 !important;}#fv-chart-1789662465216-rhj1ydqa6 .fv-multi-legend-item { display: flex !important; align-items: center !important; gap: 8px !important; font-size: 14px !important; color: #374151 !important; font-weight: 500 !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-multi-legend-swatch { width: 16px !important; height: 16px !important; border-radius: 3px !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-benchmark-group { margin-bottom: 1rem !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-benchmark-title {font-size: 18px !important; font-weight: 600 !important; margin-bottom: 16px !important; margin-top: 0 !important; padding: 0 !important;text-align: center !important; color: var(--riv-primary) !important; flex: 1 !important; min-width: 0 !important;font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important;text-transform: none !important;white-space: normal !important;overflow-wrap: break-word !important;word-wrap: break-word !important;max-width: 100% !important;}#fv-chart-1789662465216-rhj1ydqa6 .fv-bar-row, #fv-chart-1789662465216-rhj1ydqa6 .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; position: relative !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-bar-label { width: 150px !important; flex-shrink: 0 !important; font-size: 14px !important; color: #374151 !important; padding-right: 10px !important; text-align: right !important; font-weight: 500 !important; display: block !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-bar-container { flex-grow: 1 !important; background-color: #E5E7EB !important; border-radius: 4px !important; min-height: 25px !important; border: 1px solid #D1D5DB !important; position: relative !important; display: flex !important; align-items: center !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-bar-commentary-inline { display: none !important; position: absolute !important; left: 150px !important; top: 0 !important; bottom: 0 !important; right: 0 !important; width: calc(100% - 150px) !important; margin: 0 !important; padding: 0 8px !important; font-size: 13px !important; color: #fff !important; background: rgba(0,0,0,0.8) !important; border-radius: 4px !important; line-height: 1.4 !important; font-weight: normal !important; text-transform: none !important; word-wrap: break-word !important; z-index: 10 !important; align-items: center !important; overflow-y: auto !important; }#fv-chart-1789662465216-rhj1ydqa6.preview-wrapper .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1789662465216-rhj1ydqa6.preview-wrapper .fv-bar-commentary-inline:focus, #fv-chart-1789662465216-rhj1ydqa6.preview-wrapper .fv-bar-commentary-inline:focus-within, #fv-chart-1789662465216-rhj1ydqa6.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1789662465216-rhj1ydqa6.mobile-view .fv-bar-commentary-inline:focus, #fv-chart-1789662465216-rhj1ydqa6.mobile-view .fv-bar-commentary-inline:focus-within { display: flex !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-bar { height: 100% !important; border-radius: 3px !important; display: flex !important; align-items: center !important; transition: opacity 0.2s ease, width 0.8s ease-out !important; min-height: 23px !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-bar:hover { opacity: 0.8 !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-bar-inner-content { display: flex !important; justify-content: space-between !important; align-items: center !important; width: 100% !important; height: 100% !important; padding: 0 8px !important; font-size: 14px !important; font-weight: bold !important; overflow: hidden !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-bar-inner-value { flex-shrink: 0 !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-bar-value-outside { padding-left: 8px !important; font-size: 14px !important; font-weight: bold !important; color: #374151 !important; white-space: nowrap !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-multi-bar-container { flex-direction: column !important; padding: 4px !important; align-items: stretch !important; gap: 4px !important; height: auto !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-multi-bar-item { display: flex !important; align-items: center !important; height: 25px !important; width: 100% !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-stacked-bar { display: flex !important; overflow: hidden !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-stacked-segment { height: 100% !important; display: flex !important; align-items: center !important; justify-content: flex-end !important; padding-right: 8px !important; border-right: 1px solid rgba(255,255,255,0.3) !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-stacked-segment:last-child { border-right: none !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-segment-value { font-size: 14px !important; font-weight: bold !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-grouped-product-title-wrapper { padding-left: 150px !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.5rem !important; font-weight: 700 !important; font-size: 14px !important; color: #374151 !important; text-transform: none !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-bar-cluster .fv-bar-container { height: 20px !important; }#fv-chart-1789662465216-rhj1ydqa6 .riv-grid line {stroke: #D1D5DB !important;stroke-dasharray: 3 3 !important;}#fv-chart-1789662465216-rhj1ydqa6 .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-x-axis-ticks { display: flex !important; justify-content: space-between !important; padding-top: 4px !important; font-size: 13px !important; color: #374151 !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-x-axis-ticks span { position: relative !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-x-axis-ticks span::before { content: '' !important; position: absolute !important; top: -6px !important; left: 50% !important; transform: translateX(-50%) !important; width: 2px !important; height: 4px !important; background-color: #D1D5DB !important; border-radius: 1px !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #374151 !important; margin-top: 8px !important; display: block !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-x-axis-title { text-align: center !important; font-size: 15px !important; color: #374151 !important; margin-top: 8px !important; margin-bottom: 16px !important; line-height: 1.5 !important; padding: 0 1rem !important; display: block !important; font-weight: bold !important; }#fv-chart-1789662465216-rhj1ydqa6 .fv-y-axis-title {font-size: 15px !important;color: #374151 !important;line-height: 1.5 !important;text-align: left !important;padding-left: 5.83% !important;margin-bottom: 4px !important;display: block !important;font-weight: bold !important;}#fv-chart-1789662465216-rhj1ydqa6.mobile-view .fv-pie-container,#fv-chart-1789662465216-rhj1ydqa6.labels-on-top .fv-pie-container {flex-direction: column !important; gap: 1rem !important;}#fv-chart-1789662465216-rhj1ydqa6.mobile-view .fv-grouped-product-title-wrapper,#fv-chart-1789662465216-rhj1ydqa6.labels-on-top .fv-grouped-product-title-wrapper {padding-left: 0 !important;}#fv-chart-1789662465216-rhj1ydqa6.mobile-view .fv-bar-row,#fv-chart-1789662465216-rhj1ydqa6.mobile-view .fv-stacked-product,#fv-chart-1789662465216-rhj1ydqa6.mobile-view .fv-grouped-bar-product,#fv-chart-1789662465216-rhj1ydqa6.labels-on-top .fv-bar-row,#fv-chart-1789662465216-rhj1ydqa6.labels-on-top .fv-stacked-product,#fv-chart-1789662465216-rhj1ydqa6.labels-on-top .fv-grouped-bar-product {flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important;}#fv-chart-1789662465216-rhj1ydqa6.mobile-view .fv-bar-label:not(.fv-grouped-product-title),#fv-chart-1789662465216-rhj1ydqa6.labels-on-top .fv-bar-label:not(.fv-grouped-product-title) {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1789662465216-rhj1ydqa6.mobile-view .fv-bar-label,#fv-chart-1789662465216-rhj1ydqa6.mobile-view .fv-grouped-product-title,#fv-chart-1789662465216-rhj1ydqa6.labels-on-top .fv-bar-label,#fv-chart-1789662465216-rhj1ydqa6.labels-on-top .fv-grouped-product-title {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1789662465216-rhj1ydqa6.mobile-view .fv-bar-container,#fv-chart-1789662465216-rhj1ydqa6.mobile-view .fv-bar-cluster,#fv-chart-1789662465216-rhj1ydqa6.labels-on-top .fv-bar-container,#fv-chart-1789662465216-rhj1ydqa6.labels-on-top .fv-bar-cluster {width: 100% !important;}#fv-chart-1789662465216-rhj1ydqa6.mobile-view .fv-bar-row .fv-bar-commentary-inline,#fv-chart-1789662465216-rhj1ydqa6.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline,#fv-chart-1789662465216-rhj1ydqa6.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus,#fv-chart-1789662465216-rhj1ydqa6.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus-within,#fv-chart-1789662465216-rhj1ydqa6.labels-on-top .fv-bar-row .fv-bar-commentary-inline,#fv-chart-1789662465216-rhj1ydqa6.labels-on-top .fv-bar-row:hover .fv-bar-commentary-inline,#fv-chart-1789662465216-rhj1ydqa6.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus,#fv-chart-1789662465216-rhj1ydqa6.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus-within {position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important;}#fv-chart-1789662465216-rhj1ydqa6.mobile-view .fv-x-axis-wrapper,#fv-chart-1789662465216-rhj1ydqa6.labels-on-top .fv-x-axis-wrapper {margin-left: 0 !important;}#fv-chart-1789662465216-rhj1ydqa6.mobile-view .fv-x-axis-label-space,#fv-chart-1789662465216-rhj1ydqa6.labels-on-top .fv-x-axis-label-space {display: none !important;}#fv-chart-1789662465216-rhj1ydqa6.mobile-view .fv-x-axis-chart-space,#fv-chart-1789662465216-rhj1ydqa6.labels-on-top .fv-x-axis-chart-space {padding-right: 0 !important;}#fv-chart-1789662465216-rhj1ydqa6.mobile-view .fv-benchmark-title,#fv-chart-1789662465216-rhj1ydqa6.labels-on-top .fv-benchmark-title {font-size: 16px !important;}#fv-chart-1789662465216-rhj1ydqa6.mobile-view .fv-dropdown-title,#fv-chart-1789662465216-rhj1ydqa6.labels-on-top .fv-dropdown-title {font-size: 16px !important;}#fv-chart-1789662465216-rhj1ydqa6.mobile-view .fv-carousel-nav-btn,#fv-chart-1789662465216-rhj1ydqa6.labels-on-top .fv-carousel-nav-btn {padding: 8px 12px !important; font-size: 14px !important;}#fv-chart-1789662465216-rhj1ydqa6.mobile-view .fv-chart-title,#fv-chart-1789662465216-rhj1ydqa6.labels-on-top .fv-chart-title {padding: 0 8px !important;}#fv-chart-1789662465216-rhj1ydqa6.mobile-view .fv-chart-subhead,#fv-chart-1789662465216-rhj1ydqa6.labels-on-top .fv-chart-subhead {padding: 0 8px !important;}#fv-chart-1789662465216-rhj1ydqa6.mobile-view .fv-versus-header,#fv-chart-1789662465216-rhj1ydqa6.labels-on-top .fv-versus-header {flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important;}#fv-chart-1789662465216-rhj1ydqa6.mobile-view .fv-versus-select-wrapper,#fv-chart-1789662465216-rhj1ydqa6.labels-on-top .fv-versus-select-wrapper {flex: 1 !important; min-width: 0 !important; width: 100% !important;}#fv-chart-1789662465216-rhj1ydqa6.mobile-view .fv-versus-select-wrapper.fv-left,#fv-chart-1789662465216-rhj1ydqa6.labels-on-top .fv-versus-select-wrapper.fv-left {text-align: center !important; padding-right: 0 !important;}#fv-chart-1789662465216-rhj1ydqa6.mobile-view .fv-versus-select-wrapper.fv-right,#fv-chart-1789662465216-rhj1ydqa6.labels-on-top .fv-versus-select-wrapper.fv-right {text-align: center !important; padding-left: 0 !important;}#fv-chart-1789662465216-rhj1ydqa6.mobile-view .fv-versus-select.fv-select-left,#fv-chart-1789662465216-rhj1ydqa6.labels-on-top .fv-versus-select.fv-select-left {text-align: center !important;}#fv-chart-1789662465216-rhj1ydqa6.mobile-view .fv-versus-select.fv-select-right,#fv-chart-1789662465216-rhj1ydqa6.labels-on-top .fv-versus-select.fv-select-right {text-align: center !important;}#fv-chart-1789662465216-rhj1ydqa6.mobile-view .fv-versus-vs,#fv-chart-1789662465216-rhj1ydqa6.labels-on-top .fv-versus-vs {text-align: center !important; padding: 0.25rem 0 !important;}#fv-chart-1789662465216-rhj1ydqa6.mobile-view .fv-versus-select-container,#fv-chart-1789662465216-rhj1ydqa6.labels-on-top .fv-versus-select-container {max-width: 100% !important; width: 100% !important;}#fv-chart-1789662465216-rhj1ydqa6.mobile-view .fv-versus-select,#fv-chart-1789662465216-rhj1ydqa6.labels-on-top .fv-versus-select {font-size: 14px !important; width: 100% !important;}#fv-chart-1789662465216-rhj1ydqa6.mobile-view .fv-stl-shop-all-btn,#fv-chart-1789662465216-rhj1ydqa6.labels-on-top .fv-stl-shop-all-btn {bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important;}#fv-chart-1789662465216-rhj1ydqa6.mobile-view .fv-stl-shop-all-logo,#fv-chart-1789662465216-rhj1ydqa6.mobile-view .fv-stl-shop-all-icon,#fv-chart-1789662465216-rhj1ydqa6.labels-on-top .fv-stl-shop-all-logo,#fv-chart-1789662465216-rhj1ydqa6.labels-on-top .fv-stl-shop-all-icon {width: 2rem !important; height: 2rem !important;}#fv-chart-1789662465216-rhj1ydqa6.mobile-view .fv-stl-shop-all-icon svg,#fv-chart-1789662465216-rhj1ydqa6.labels-on-top .fv-stl-shop-all-icon svg {width: 14px !important; height: 14px !important;}#fv-chart-1789662465216-rhj1ydqa6.mobile-view .fv-bar-commentary-inline,#fv-chart-1789662465216-rhj1ydqa6.labels-on-top .fv-bar-commentary-inline {display: block !important; margin-left: 0 !important; width: 100% !important;}#fv-chart-1789662465216-rhj1ydqa6.mobile-view .fv-y-axis-title { padding-left: 5% !important;  }#fv-chart-1789662465216-rhj1ydqa6.mobile-view.fv-contains-line-chart .fv-footer-content {margin-left: -1rem !important;margin-right: -1rem !important;}@media (max-width: 599px) {#fv-chart-1789662465216-rhj1ydqa6 .fv-pie-container {flex-direction: column !important; gap: 1rem !important;}#fv-chart-1789662465216-rhj1ydqa6 .fv-grouped-product-title-wrapper {padding-left: 0 !important;}#fv-chart-1789662465216-rhj1ydqa6 .fv-bar-row,#fv-chart-1789662465216-rhj1ydqa6 .fv-stacked-product,#fv-chart-1789662465216-rhj1ydqa6 .fv-grouped-bar-product {flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important;}#fv-chart-1789662465216-rhj1ydqa6 .fv-bar-label:not(.fv-grouped-product-title) {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1789662465216-rhj1ydqa6 .fv-bar-label,#fv-chart-1789662465216-rhj1ydqa6 .fv-grouped-product-title {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1789662465216-rhj1ydqa6 .fv-bar-container,#fv-chart-1789662465216-rhj1ydqa6 .fv-bar-cluster {width: 100% !important;}#fv-chart-1789662465216-rhj1ydqa6 .fv-bar-row .fv-bar-commentary-inline,#fv-chart-1789662465216-rhj1ydqa6 .fv-bar-row:hover .fv-bar-commentary-inline,#fv-chart-1789662465216-rhj1ydqa6 .fv-bar-row .fv-bar-commentary-inline:focus,#fv-chart-1789662465216-rhj1ydqa6 .fv-bar-row .fv-bar-commentary-inline:focus-within {position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important;}#fv-chart-1789662465216-rhj1ydqa6 .fv-x-axis-wrapper {margin-left: 0 !important;}#fv-chart-1789662465216-rhj1ydqa6 .fv-x-axis-label-space {display: none !important;}#fv-chart-1789662465216-rhj1ydqa6 .fv-x-axis-chart-space {padding-right: 0 !important;}#fv-chart-1789662465216-rhj1ydqa6 .fv-benchmark-title {font-size: 16px !important;}#fv-chart-1789662465216-rhj1ydqa6 .fv-dropdown-title {font-size: 16px !important;}#fv-chart-1789662465216-rhj1ydqa6 .fv-carousel-nav-btn {padding: 8px 12px !important; font-size: 14px !important;}#fv-chart-1789662465216-rhj1ydqa6 .fv-chart-title {padding: 0 8px !important;}#fv-chart-1789662465216-rhj1ydqa6 .fv-chart-subhead {padding: 0 8px !important;}#fv-chart-1789662465216-rhj1ydqa6 .fv-versus-header {flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important;}#fv-chart-1789662465216-rhj1ydqa6 .fv-versus-select-wrapper {flex: 1 !important; min-width: 0 !important; width: 100% !important;}#fv-chart-1789662465216-rhj1ydqa6 .fv-versus-select-wrapper.fv-left {text-align: center !important; padding-right: 0 !important;}#fv-chart-1789662465216-rhj1ydqa6 .fv-versus-select-wrapper.fv-right {text-align: center !important; padding-left: 0 !important;}#fv-chart-1789662465216-rhj1ydqa6 .fv-versus-select.fv-select-left {text-align: center !important;}#fv-chart-1789662465216-rhj1ydqa6 .fv-versus-select.fv-select-right {text-align: center !important;}#fv-chart-1789662465216-rhj1ydqa6 .fv-versus-vs {text-align: center !important; padding: 0.25rem 0 !important;}#fv-chart-1789662465216-rhj1ydqa6 .fv-versus-select-container {max-width: 100% !important; width: 100% !important;}#fv-chart-1789662465216-rhj1ydqa6 .fv-versus-select {font-size: 14px !important; width: 100% !important;}#fv-chart-1789662465216-rhj1ydqa6 .fv-stl-shop-all-btn {bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important;}#fv-chart-1789662465216-rhj1ydqa6 .fv-stl-shop-all-logo,#fv-chart-1789662465216-rhj1ydqa6 .fv-stl-shop-all-icon {width: 2rem !important; height: 2rem !important;}#fv-chart-1789662465216-rhj1ydqa6 .fv-stl-shop-all-icon svg {width: 14px !important; height: 14px !important;}#fv-chart-1789662465216-rhj1ydqa6 .fv-bar-commentary-inline {display: block !important; margin-left: 0 !important; width: 100% !important;}#fv-chart-1789662465216-rhj1ydqa6 .fv-y-axis-title { padding-left: 5% !important;  }#fv-chart-1789662465216-rhj1ydqa6.fv-contains-line-chart .fv-footer-content {margin-left: -1rem !important;margin-right: -1rem !important;}}</style><script type="application/ld+json">{"@context": "https://schema.org","@type": "Dataset","name": "Hard floor mopping test","description": "Mopping ketchup from hard floor using Eufy Omni E35","creator": {"@type": "Organization","name": "TechRadar","logo": "https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png"},"isAccessibleForFree": true,"dateCreated": "2026-09-17T16:27:45.216Z","citation": "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized","keywords": ["Image Comparison","benchmark","comparison","performance","review","TechRadar"],"measurementTechnique": "Performance Benchmarking","variableMeasured": []}</script><div id="fv-chart-1789662465216-rhj1ydqa6" class="fv-chart-wrapper   " data-bar-labels-on-top="false" data-iframe-height="true" data-vizualizer-embed="true"><div class="fv-inner-wrapper fv-no-header fv-is-image-compare  "><div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1789662465216-rhj1ydqa6-image-compare-1" data-chart-type="Image Comparison" data-title="Image Comparison" data-subhead="Mopping ketchup from hard floor using Eufy Omni E35" data-caption="" style=""><div class="fv-benchmark-group"><div class="fv-image-compare-container"><div class="fv-image-compare-wrapper" data-image-compare="true"><div class="fv-image-compare-inner"><img src="https://cdn.mos.cms.futurecdn.net/q48Q728d3eNziFYCfN9yKA.jpg" data-highres-src="https://cdn.mos.cms.futurecdn.net/q48Q728d3eNziFYCfN9yKA.jpg" alt="After" class="fv-image-compare-bg" loading="lazy" referrerpolicy="no-referrer" draggable="false" /><img src="https://cdn.mos.cms.futurecdn.net/wvyDCjj5SzH7ckzDqhcmNA.jpg" data-highres-src="https://cdn.mos.cms.futurecdn.net/wvyDCjj5SzH7ckzDqhcmNA.jpg" alt="Before" class="fv-image-compare-fg" loading="lazy" referrerpolicy="no-referrer" draggable="false" /><div class="fv-image-compare-slider"><div class="fv-image-compare-slider-line"></div><div class="fv-image-compare-handle "><img src="https://proof.vanilla.tools/media/images/brandLogos/techradar.png" alt="Brand Logo" style="width: 100%; height: 100%; object-fit: cover;" /></div></div></div><div class="fv-image-compare-label fv-image-compare-label-left">Before</div><div class="fv-image-compare-label fv-image-compare-label-right">After</div><button class="fv-image-compare-expand-btn" aria-label="Expand Image"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 8V4h4"/><path d="M20 8V4h-4"/><path d="M4 16v4h4"/><path d="M20 16v4h-4"/><circle cx="11.5" cy="11.5" r="3.5"/><path d="m14 14 3 3"/></svg></button><button class="fv-image-compare-close-btn" aria-label="Close Fullscreen"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg></button></div></div></div></div></div><div class="fv-bottom-bar"><div class="fv-footer-content" style="display: none;"><div class="rv-chart-caption" style="display: block;"><span class="fv-original-caption" style="display: block;"></span><span class="fv-ia-dynamic-caption" style="display: none;"></span></div></div><div class="fv-logo-explore-bar"><img class="fv-logo" src="https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png" alt="TechRadar Logo"></div></div></div></div><script>window.iFrameResizer = {heightCalculationMethod: 'taggedElement'};</script><script src="https://cdnjs.cloudflare.com/ajax/libs/iframe-resizer/4.2.11/iframeResizer.contentWindow.min.js" async></script><script>(function() {window.fvAnimateCharts = function(chartWrapper) {if (!chartWrapper) return;function animateBars(chartElement) {if (!chartElement) return;var bars = chartElement.querySelectorAll('.fv-bar, .fv-stacked-segment');bars.forEach(function(bar, index) {bar.style.setProperty('width', '0%', 'important');bar.style.setProperty('transition', 'none', 'important');var targetWidth = bar.dataset.targetWidth;if (targetWidth === undefined) return;void bar.offsetWidth;var targetMargin = bar.dataset.targetMargin;var baseMargin = bar.dataset.baseMargin;if (baseMargin !== undefined) {bar.style.setProperty('margin-left', baseMargin + '%', 'important');}setTimeout(function() {var marginTransition = baseMargin !== undefined ? ', margin-left 0.8s ease-out' : '';bar.style.setProperty('transition', 'opacity 0.2s ease, width 0.8s ease-out' + marginTransition, 'important');bar.style.setProperty('width', targetWidth + '%', 'important');if (targetMargin !== undefined && baseMargin !== undefined) {bar.style.setProperty('margin-left', targetMargin + '%', 'important');}}, index * 50 + 50);});}function animateLineChart(chartElement) {if (!chartElement) return;var lineSvg = chartElement.querySelector('svg');if (!lineSvg) return;var paths = lineSvg.querySelectorAll('.riv-line-path');paths.forEach(function(p, i) {if (typeof p.getTotalLength === 'function') {var len = p.getTotalLength();p.style.transition = 'none';p.style.strokeDasharray = len;p.style.strokeDashoffset = len;p.getBoundingClientRect();setTimeout(function() {p.style.transition = 'stroke-dashoffset 1s ease-out ' + (i * 0.1) + 's, stroke-width 0.2s, opacity 0.2s';p.style.strokeDashoffset = '0';}, 100);}});var dots = lineSvg.querySelectorAll('.riv-dot');dots.forEach(function(dot, i) {dot.style.opacity = '0';setTimeout(function() {dot.style.transition = 'opacity 0.3s ease';dot.style.opacity = '1';}, 500 + i * 10);});}var charts = chartWrapper.querySelectorAll('.fv-chart-item');charts.forEach(function(chart) {if (window.getComputedStyle(chart).display === 'none') return;var chartType = chart.dataset.chartType;if (chartType === 'Line') {animateLineChart(chart);} else if (chartType !== 'Pie') {animateBars(chart);}});};function initialize(uniqueId, isSlideshow) {var root = document.getElementById(uniqueId);if (!root && !isSlideshow) return;function setupWrapper(chartWrapper) {if (!chartWrapper) return;function checkMobileView() {var width = chartWrapper.getBoundingClientRect().width;var isMobileDevice = window.screen && Math.min(window.screen.width, window.screen.height) <= 599;var isMobile;if (width === 0) {isMobile = isMobileDevice || window.matchMedia('(max-width: 599px)').matches;} else {isMobile = isMobileDevice || width < 600;}if (isMobile) {chartWrapper.classList.add('mobile-view');} else {chartWrapper.classList.remove('mobile-view');}}checkMobileView();if (typeof ResizeObserver !== 'undefined') {var ro = new ResizeObserver(function() {checkMobileView();});ro.observe(chartWrapper);}window.addEventListener('resize', checkMobileView);var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';if (labelsOnTop) {var charts = chartWrapper.querySelectorAll('.fv-chart-item');var hasVisibleBarChart = false;charts.forEach(function(c) {if (window.getComputedStyle(c).display !== 'none') {var cType = c.dataset.chartType;if (cType === 'Bar' || cType === 'Stacked Bar' || cType === 'Versus') {hasVisibleBarChart = true;}}});if (hasVisibleBarChart) {chartWrapper.classList.add('labels-on-top');} else {chartWrapper.classList.remove('labels-on-top');}} else {chartWrapper.classList.remove('labels-on-top');}chartWrapper.querySelectorAll('.riv-line-legend').forEach(function(legend) {var chartId = legend.dataset.chart;var chart = chartWrapper.querySelector('[id="' + chartId + '"]');if (!chart) return;var lines = chart.querySelectorAll('.riv-line-path');var dots = chart.querySelectorAll('.riv-dot');var legendItems = legend.querySelectorAll('.riv-legend-item');legendItems.forEach(function(item) {var productName = item.dataset.product;var safeProductName = productName.replace(/"/g, '\"');var line = chart.querySelector('.riv-line-path[data-product="' + safeProductName + '"]');var productDots = chart.querySelectorAll('.riv-dot[data-product="' + safeProductName + '"]');if (line && !line.dataset.origStroke) {line.dataset.origStroke = line.getAttribute('stroke-width') || '2';}var highlight = function() {if (legend.querySelector('.isolated')) return;lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '0.2'; });legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });if (line) {line.style.opacity = '1';line.setAttribute('stroke-width', '4');}productDots.forEach(function(d) { d.style.opacity = '1'; });item.style.opacity = '1';};var clearHighlight = function() {if (legend.querySelector('.isolated')) return;lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '1'; });legendItems.forEach(function(i) { i.style.opacity = '1'; });};var toggleIsolate = function() {var isIsolated = item.classList.contains('isolated');legendItems.forEach(function(i) { i.classList.remove('isolated'); });if (isIsolated) {lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '1'; });legendItems.forEach(function(i) { i.style.opacity = '1'; });} else {item.classList.add('isolated');lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '0.2'; });legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });if (line) {line.style.opacity = '1';line.setAttribute('stroke-width', '4');}productDots.forEach(function(d) { d.style.opacity = '1'; });item.style.opacity = '1';}};item.addEventListener('mouseenter', highlight);item.addEventListener('focus', highlight);item.addEventListener('mouseleave', clearHighlight);item.addEventListener('blur', clearHighlight);item.addEventListener('click', toggleIsolate);if (line) {line.style.cursor = 'pointer';line.addEventListener('mouseenter', highlight);line.addEventListener('mouseleave', clearHighlight);line.addEventListener('click', toggleIsolate);}});});var versusCharts = chartWrapper.querySelectorAll('.fv-versus-chart');versusCharts.forEach(function(vc) {var dataJson = vc.getAttribute('data-versus-data');var leftColor = vc.getAttribute('data-left-color') || '#E53935';var rightColor = vc.getAttribute('data-right-color') || '#FFB300';if (!dataJson) return;var versusData = JSON.parse(dataJson);var leftSelect = vc.querySelector('.fv-select-left');var rightSelect = vc.querySelector('.fv-select-right');var rows = vc.querySelectorAll('.fv-versus-row');function updateVersusChart() {var leftProduct = leftSelect.value;var rightProduct = rightSelect.value;leftSelect.style.color = leftColor;leftSelect.style.borderColor = leftColor;rightSelect.style.color = rightColor;rightSelect.style.borderColor = rightColor;rows.forEach(function(row) {var index = parseInt(row.getAttribute('data-index'));var data = versusData[index];if (!data) return;var leftVal = data.productData[leftProduct] ? data.productData[leftProduct].value : undefined;var rightVal = data.productData[rightProduct] ? data.productData[rightProduct].value : undefined;var leftIsNum = typeof leftVal === 'number';var rightIsNum = typeof rightVal === 'number';var leftNum = leftIsNum ? leftVal : 0;var rightNum = rightIsNum ? rightVal : 0;var maxVal = Math.max(leftNum, rightNum, 0.0001);var leftWidth = leftIsNum ? (leftNum / maxVal) * 95 : 0;var rightWidth = rightIsNum ? (rightNum / maxVal) * 85 : 0;var winner = null;var pctDiffStr = null;if (leftIsNum && rightIsNum) {if (leftNum > rightNum) {winner = 'left';if (rightNum > 0) {var diff = Math.round(((leftNum - rightNum) / rightNum) * 100);pctDiffStr = '+' + diff.toLocaleString() + '%';}} else if (rightNum > leftNum) {winner = 'right';if (leftNum > 0) {var diff = Math.round(((rightNum - leftNum) / leftNum) * 100);pctDiffStr = '+' + diff.toLocaleString() + '%';}}}var leftDisplay = data.productData[leftProduct] && data.productData[leftProduct].displayValue !== undefined ? data.productData[leftProduct].displayValue : (leftIsNum ? leftNum.toLocaleString() : (leftVal !== undefined ? leftVal : '-'));var rightDisplay = data.productData[rightProduct] && data.productData[rightProduct].displayValue !== undefined ? data.productData[rightProduct].displayValue : (rightIsNum ? rightNum.toLocaleString() : (rightVal !== undefined ? rightVal : '-'));var unit = (data.productData[leftProduct] && data.productData[leftProduct].unit) ||(data.productData[rightProduct] && data.productData[rightProduct].unit) || '';var leftTextStr = leftDisplay;var rightTextStr = rightDisplay;var leftBar = row.querySelector('.fv-versus-bar-left');var rightBar = row.querySelector('.fv-versus-bar-right');var leftText = row.querySelector('.fv-inside-left');var rightText = row.querySelector('.fv-inside-right');var labelText = row.querySelector('.fv-versus-label span');var leftWrapper = row.querySelector('.fv-versus-bar-left-wrapper');var rightWrapper = row.querySelector('.fv-versus-bar-right-wrapper');var existingPctDiffs = row.querySelectorAll('.fv-versus-pct-diff');existingPctDiffs.forEach(function(el) { el.remove(); });if (winner === 'left' && pctDiffStr) {var pctSpan = document.createElement('span');pctSpan.className = 'fv-versus-pct-diff';pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';pctSpan.textContent = pctDiffStr;if (leftBar) leftBar.insertBefore(pctSpan, leftBar.firstChild);} else if (winner === 'right' && pctDiffStr) {var pctSpan = document.createElement('span');pctSpan.className = 'fv-versus-pct-diff';pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';pctSpan.textContent = pctDiffStr;if (rightBar) rightBar.appendChild(pctSpan);}if (leftBar) {leftBar.style.backgroundColor = leftColor;leftBar.dataset.targetWidth = leftWidth;leftBar.style.setProperty('--target-width', leftWidth + '%');leftBar.style.width = leftWidth + '%';}if (rightBar) {rightBar.style.backgroundColor = rightColor;rightBar.dataset.targetWidth = rightWidth;rightBar.style.setProperty('--target-width', rightWidth + '%');rightBar.style.width = rightWidth + '%';}if (leftText) {leftText.innerHTML = leftTextStr;}if (rightText) {rightText.innerHTML = rightTextStr;}if (labelText) {labelText.textContent = data.attribute + (unit ? ' (' + unit + ')' : '');}});}if (leftSelect) leftSelect.addEventListener('change', updateVersusChart);if (rightSelect) rightSelect.addEventListener('change', updateVersusChart);});var barRows = chartWrapper.querySelectorAll('.fv-bar-row');var globalCaptionEl = chartWrapper.querySelector('.rv-chart-caption');var fallbackCaptionHtml = globalCaptionEl ? globalCaptionEl.innerHTML : '';barRows.forEach(function(row) {var commentaryEl = row.querySelector('[data-commentary-key]');if (commentaryEl) {var commentaryText = commentaryEl.textContent;if (commentaryText && commentaryText.trim().length > 0) {row.addEventListener('mouseenter', function() {if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {globalCaptionEl.innerHTML = commentaryText;globalCaptionEl.classList.add('fv-bar-active-caption');}});row.addEventListener('mouseleave', function() {if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {globalCaptionEl.innerHTML = fallbackCaptionHtml;globalCaptionEl.classList.remove('fv-bar-active-caption');}});}}});var charts = chartWrapper.querySelectorAll('.fv-chart-item');var dropdown = chartWrapper.querySelector('.fv-dropdown-title');var prevBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.prev');var nextBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.next');var carouselTitle = chartWrapper.querySelector('.fv-carousel-title-controls .fv-benchmark-title');var counter = chartWrapper.querySelector('.fv-carousel-counter');var subheadEl = chartWrapper.querySelector('.fv-chart-subhead');var captionEl = chartWrapper.querySelector('.rv-chart-caption');var footerContentEl = chartWrapper.querySelector('.fv-footer-content');var bottomBarEl = chartWrapper.querySelector('.fv-bottom-bar');var logoEl = chartWrapper.querySelector('.fv-logo');if (charts.length > 1 && (dropdown || prevBtn)) {var currentChartIndex = 0;var titles = [];if (dropdown) {titles = Array.from(dropdown.options).map(function(o) { return o.text; });} else {charts.forEach(function(c) {titles.push(c.getAttribute('data-title') || '');});}function showInternalChart(index) {if (index < 0) index = charts.length - 1;if (index >= charts.length) index = 0;currentChartIndex = index;charts.forEach(function(c, i) {c.style.display = i === index ? 'block' : 'none';if (i === index) {var cType = c.dataset.chartType;if (cType === 'Line') {} else if (cType !== 'Pie') {window.fvAnimateCharts(chartWrapper);}var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';if (labelsOnTop && (cType === 'Bar' || cType === 'Stacked Bar' || cType === 'Versus')) {chartWrapper.classList.add('labels-on-top');} else {chartWrapper.classList.remove('labels-on-top');}}});if (dropdown) dropdown.value = index;if (carouselTitle && titles[index]) carouselTitle.textContent = titles[index];if (counter) counter.textContent = (index + 1) + ' of ' + charts.length;var activeChart = charts[index];if (activeChart) {var newSubhead = activeChart.getAttribute('data-subhead');var newCaption = activeChart.getAttribute('data-caption');var currentChartType = activeChart.getAttribute('data-chart-type');var hideGlobalCaption = currentChartType === 'Countdown' || currentChartType === 'Image Comparison' || currentChartType === 'Shop the Collection';if (subheadEl) subheadEl.textContent = newSubhead || '';if (captionEl) {captionEl.textContent = newCaption || '';fallbackCaptionHtml = newCaption || '';}if (footerContentEl) {if (newCaption && newCaption.trim().length > 0 && !hideGlobalCaption) {footerContentEl.style.display = 'block';if (bottomBarEl) bottomBarEl.style.display = 'flex';} else {footerContentEl.style.display = 'none';if (bottomBarEl && !logoEl) {bottomBarEl.style.display = 'none';}}}}}if (dropdown) dropdown.addEventListener('change', function(e) { showInternalChart(parseInt(e.target.value)); });if (prevBtn) prevBtn.addEventListener('click', function() { showInternalChart(currentChartIndex - 1); });if (nextBtn) nextBtn.addEventListener('click', function() { showInternalChart(currentChartIndex + 1); });}var imageCompareWrappers = chartWrapper.querySelectorAll('.fv-image-compare-wrapper');imageCompareWrappers.forEach(function(wrapper) {var inner = wrapper.querySelector('.fv-image-compare-inner') || wrapper;var slider = wrapper.querySelector('.fv-image-compare-slider');var fgImage = wrapper.querySelector('.fv-image-compare-fg');var bgImage = wrapper.querySelector('.fv-image-compare-bg');var labelLeft = wrapper.querySelector('.fv-image-compare-label-left');var labelRight = wrapper.querySelector('.fv-image-compare-label-right');var isDragging = false;var scale = 1;var panX = 0;var panY = 0;var isPanning = false;var hasPanned = false;var lastClientX = 0;var lastClientY = 0;var initialDistance = null;var lastCenterX = null;var lastCenterY = null;function updateTransform() {if (wrapper.classList.contains('fv-image-compare-fullscreen')) {inner.style.setProperty('transform', 'translate(' + panX + 'px, ' + panY + 'px) scale(' + scale + ')', 'important');} else {inner.style.removeProperty('transform');scale = 1;panX = 0;panY = 0;}}function constrainPan() {var rect = wrapper.getBoundingClientRect();var maxPanX = Math.max(0, (rect.width * scale - rect.width) / 2);var maxPanY = Math.max(0, (rect.height * scale - rect.height) / 2);panX = Math.max(-maxPanX, Math.min(panX, maxPanX));panY = Math.max(-maxPanY, Math.min(panY, maxPanY));}wrapper.addEventListener('wheel', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;e.preventDefault();var zoomSensitivity = 0.005;var zoomFactor = Math.exp(-e.deltaY * zoomSensitivity);var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));if (newScale === scale) return;var rect = wrapper.getBoundingClientRect();var mouseX = e.clientX - rect.left - rect.width / 2;var mouseY = e.clientY - rect.top - rect.height / 2;var ratio = newScale / scale;panX = mouseX - (mouseX - panX) * ratio;panY = mouseY - (mouseY - panY) * ratio;scale = newScale;constrainPan();updateTransform();}, { passive: false });wrapper.addEventListener('mousedown', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen') || scale <= 1) return;if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;isPanning = true;hasPanned = false;lastClientX = e.clientX;lastClientY = e.clientY;});window.addEventListener('mousemove', function(e) {if (!isPanning) return;var dx = e.clientX - lastClientX;var dy = e.clientY - lastClientY;if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {hasPanned = true;}lastClientX = e.clientX;lastClientY = e.clientY;panX += dx;panY += dy;constrainPan();updateTransform();});window.addEventListener('mouseup', function() {isPanning = false;});wrapper.addEventListener('touchstart', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;if (e.touches.length === 2) {e.preventDefault();var dx = e.touches[0].clientX - e.touches[1].clientX;var dy = e.touches[0].clientY - e.touches[1].clientY;initialDistance = Math.sqrt(dx * dx + dy * dy);var rect = wrapper.getBoundingClientRect();lastCenterX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;lastCenterY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;hasPanned = true;} else if (e.touches.length === 1 && scale > 1) {if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;isPanning = true;hasPanned = false;lastClientX = e.touches[0].clientX;lastClientY = e.touches[0].clientY;}}, { passive: false });wrapper.addEventListener('touchmove', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;if (e.touches.length === 2 && initialDistance !== null) {e.preventDefault();var dx = e.touches[0].clientX - e.touches[1].clientX;var dy = e.touches[0].clientY - e.touches[1].clientY;var distance = Math.sqrt(dx * dx + dy * dy);if (initialDistance > 0) {var zoomFactor = distance / initialDistance;var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));var rect = wrapper.getBoundingClientRect();var centerX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;var centerY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;var ratio = newScale / scale;panX = centerX - (centerX - panX) * ratio;panY = centerY - (centerY - panY) * ratio;if (lastCenterX !== null && lastCenterY !== null) {panX += (centerX - lastCenterX);panY += (centerY - lastCenterY);}scale = newScale;lastCenterX = centerX;lastCenterY = centerY;constrainPan();updateTransform();}initialDistance = distance;} else if (e.touches.length === 1 && isPanning) {e.preventDefault();var dx = e.touches[0].clientX - lastClientX;var dy = e.touches[0].clientY - lastClientY;if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {hasPanned = true;}lastClientX = e.touches[0].clientX;lastClientY = e.touches[0].clientY;panX += dx;panY += dy;constrainPan();updateTransform();}}, { passive: false });wrapper.addEventListener('touchend', function(e) {if (e.touches.length < 2) {initialDistance = null;}if (e.touches.length === 0) {isPanning = false;}});function handleMove(clientX) {var rect = inner.getBoundingClientRect();var x = Math.max(0, Math.min(clientX - rect.left, rect.width));var percent = Math.max(0, Math.min((x / rect.width) * 100, 100));if (slider) slider.style.setProperty('left', percent + '%', 'important');if (fgImage) fgImage.style.setProperty('clip-path', 'polygon(0 0, ' + percent + '% 0, ' + percent + '% 100%, 0 100%)', 'important');if (labelLeft) {if (percent < 10) {labelLeft.style.setProperty('opacity', '0', 'important');} else {labelLeft.style.setProperty('opacity', '1', 'important');}}if (labelRight) {if (percent > 90) {labelRight.style.setProperty('opacity', '0', 'important');} else {labelRight.style.setProperty('opacity', '1', 'important');}}}function onMouseMove(e) {if (!isDragging) return;handleMove(e.clientX);}function onTouchMove(e) {if (!isDragging) return;e.preventDefault();handleMove(e.touches[0].clientX);}function stopDragging() {isDragging = false;window.removeEventListener('mousemove', onMouseMove);window.removeEventListener('mouseup', stopDragging);window.removeEventListener('touchmove', onTouchMove);window.removeEventListener('touchend', stopDragging);}if (slider) {var startDrag = function(clientX) {isDragging = true;handleMove(clientX);window.addEventListener('mousemove', onMouseMove);window.addEventListener('mouseup', stopDragging);};var startTouchDrag = function(clientX) {isDragging = true;handleMove(clientX);window.addEventListener('touchmove', onTouchMove, { passive: false });window.addEventListener('touchend', stopDragging);};slider.addEventListener('mousedown', function(e) {e.preventDefault();startDrag(e.clientX);});slider.addEventListener('touchstart', function(e) {e.preventDefault();startTouchDrag(e.touches[0].clientX);}, { passive: false });}var expandBtn = wrapper.querySelector('.fv-image-compare-expand-btn');var closeBtn = wrapper.querySelector('.fv-image-compare-close-btn');if (expandBtn) {if (window !== window.parent) {expandBtn.style.display = 'none';} else {expandBtn.addEventListener('click', function(e) {e.stopPropagation();wrapper.classList.add('fv-image-compare-fullscreen');document.body.style.overflow = 'hidden';if (fgImage && fgImage.dataset.highresSrc) {fgImage.src = fgImage.dataset.highresSrc;fgImage.removeAttribute('srcset');fgImage.removeAttribute('sizes');}if (bgImage && bgImage.dataset.highresSrc) {bgImage.src = bgImage.dataset.highresSrc;bgImage.removeAttribute('srcset');bgImage.removeAttribute('sizes');}});}}if (closeBtn) {closeBtn.addEventListener('click', function(e) {e.stopPropagation();wrapper.classList.remove('fv-image-compare-fullscreen');document.body.style.overflow = '';updateTransform();});}document.addEventListener('keydown', function(e) {if (e.key === 'Escape' && wrapper.classList.contains('fv-image-compare-fullscreen')) {wrapper.classList.remove('fv-image-compare-fullscreen');document.body.style.overflow = '';updateTransform();}});});var hotspots = chartWrapper.querySelectorAll('.fv-stl-hotspot-btn');var allProductsModal = chartWrapper.querySelector('.fv-stl-all-products-modal');var shopAllBtn = chartWrapper.querySelector('.fv-stl-shop-all-btn');var allProductsList = chartWrapper.querySelector('.fv-stl-all-products-list');var stlContainer = chartWrapper.querySelector('.fv-stl-container');function closeAllModals() {if (allProductsModal) {allProductsModal.classList.remove('is-active');var items = allProductsModal.querySelectorAll('.fv-stl-all-products-item');items.forEach(function(item) {item.classList.remove('is-highlighted');});if (stlContainer) {setTimeout(function() {if (!allProductsModal.classList.contains('is-active')) {stlContainer.style.minHeight = '';if ('parentIFrame' in window) {window.parentIFrame.size();}}}, 300);}}hotspots.forEach(function(btn) { btn.setAttribute('aria-expanded', 'false'); });if ('parentIFrame' in window) {window.parentIFrame.size();}}hotspots.forEach(function(btn) {btn.addEventListener('click', function(e) {e.stopPropagation();var hotspotId = btn.getAttribute('data-hotspot-id');var isExpanded = btn.getAttribute('aria-expanded') === 'true';closeAllModals();if (!isExpanded && allProductsModal) {btn.setAttribute('aria-expanded', 'true');allProductsModal.classList.add('is-active');var container = btn.closest('.fv-stl-container');if (container && container.offsetHeight < 450) {container.style.minHeight = '450px';}var targetItem = allProductsModal.querySelector('.fv-stl-all-products-item[data-product-id="' + hotspotId + '"]');if (targetItem) {targetItem.classList.add('is-highlighted');setTimeout(function() {targetItem.scrollIntoView({ behavior: 'smooth', block: 'center' });}, 100);}if ('parentIFrame' in window) {window.parentIFrame.size();}}});});if (shopAllBtn && allProductsModal) {shopAllBtn.addEventListener('click', function(e) {e.stopPropagation();closeAllModals();allProductsModal.classList.add('is-active');var container = shopAllBtn.closest('.fv-stl-container');if (container && container.offsetHeight < 450) {container.style.minHeight = '450px';}if ('parentIFrame' in window) {window.parentIFrame.size();}});}if (allProductsModal) {var closeAllBtn = allProductsModal.querySelector('.fv-stl-all-products-close');if (closeAllBtn) {closeAllBtn.addEventListener('click', function(e) {e.stopPropagation();closeAllModals();});}}chartWrapper.addEventListener('click', function(e) {if (!e.target.closest('.fv-stl-all-products-content')) {closeAllModals();}});if (allProductsModal) {allProductsModal.addEventListener('click', function(e) {if (!e.target.closest('.fv-stl-all-products-content')) {closeAllModals();}});}var iaNodes = chartWrapper.querySelectorAll('.fv-ia-node-button');var iaWrapper = chartWrapper.querySelector('.fv-ia-wrapper');var originalCaption = chartWrapper.querySelector('.fv-original-caption') || captionEl;var dynamicCaption = chartWrapper.querySelector('.fv-ia-dynamic-caption');var exploreBtn = chartWrapper.querySelector('.fv-ia-explore-btn');var currentIaIndex = -1;function closeAllIANodes() {iaNodes.forEach(function(btn) { btn.classList.remove('is-active'); });if (originalCaption) originalCaption.style.display = 'block';if (dynamicCaption) dynamicCaption.style.display = 'none';}function resetExploreBtn() {currentIaIndex = -1;if (exploreBtn) {var exploreSpan = exploreBtn.querySelector('span');if (exploreSpan) exploreSpan.textContent = 'Explore';}}iaNodes.forEach(function(btn, index) {btn.addEventListener('click', function(e) {e.stopPropagation();var isActive = btn.classList.contains('is-active');closeAllIANodes();if (!isActive) {currentIaIndex = index;if (exploreBtn) {var exploreSpan = exploreBtn.querySelector('span');if (exploreSpan) exploreSpan.textContent = 'Next';}btn.classList.add('is-active');if (dynamicCaption) {var title = btn.getAttribute('data-title') || '';var desc = btn.getAttribute('data-desc') || '';dynamicCaption.innerHTML = '';var strongTag = document.createElement('strong');strongTag.textContent = title;dynamicCaption.appendChild(strongTag);if (desc) {dynamicCaption.appendChild(document.createTextNode(' - ' + desc));}if (originalCaption) originalCaption.style.display = 'none';dynamicCaption.style.display = 'block';if (footerContentEl) footerContentEl.style.display = 'block';}} else {resetExploreBtn();}});});if (exploreBtn) {exploreBtn.addEventListener('click', function(e) {e.stopPropagation();if (iaNodes.length === 0) return;var nextIndex = currentIaIndex + 1;if (nextIndex >= iaNodes.length) {closeAllIANodes();resetExploreBtn();} else {currentIaIndex = nextIndex;var targetBtn = iaNodes[currentIaIndex];if (targetBtn) {if(targetBtn.classList.contains('is-active')) {targetBtn.click();}targetBtn.click();}}});}if (iaWrapper) {iaWrapper.addEventListener('click', function(e) {if (!e.target.closest('.fv-ia-node-button') && !e.target.closest('.fv-ia-explore-btn')) {closeAllIANodes();resetExploreBtn();}});}window.fvAnimateCharts(chartWrapper);var countdownContainer = chartWrapper.querySelector('.fv-countdown-container');if (countdownContainer) {var targetDateAttr = countdownContainer.getAttribute('data-target-date');if (targetDateAttr) {var targetDate = new Date(targetDateAttr);var primaryColor = countdownContainer.getAttribute('data-primary-color') || '#f97316';var subheadColor = countdownContainer.getAttribute('data-subhead-color') || '#ffffff';var pad = function(n) { return (n < 10 ? '0' : '') + n; };var updateCountdown = function() {var difference = +targetDate - +new Date();var d = 0, h = 0, m = 0, s = 0;if (difference > 0) {d = Math.floor(difference / (1000 * 60 * 60 * 24));h = Math.floor((difference / (1000 * 60 * 60)) % 24);m = Math.floor((difference / 1000 / 60) % 60);s = Math.floor((difference / 1000) % 60);}var daysEl = countdownContainer.querySelector('[data-time="days"]');var hoursEl = countdownContainer.querySelector('[data-time="hours"]');var minsEl = countdownContainer.querySelector('[data-time="minutes"]');var secsEl = countdownContainer.querySelector('[data-time="seconds"]');if (daysEl) daysEl.textContent = d;if (hoursEl) hoursEl.textContent = pad(h);if (minsEl) minsEl.textContent = pad(m);if (secsEl) secsEl.textContent = pad(s);};updateCountdown();setInterval(updateCountdown, 1000);}}}if (false) {var slideshowContainer = document.getElementById(uniqueId + '-slideshow');if (slideshowContainer) {var slides = slideshowContainer.querySelectorAll('.fv-slide');slides.forEach(function(slide) {setupWrapper(slide.querySelector('.fv-chart-wrapper'));});}} else {setupWrapper(root);}}if (document.readyState === 'loading') {document.addEventListener('DOMContentLoaded', function() { initialize('fv-chart-1789662465216-rhj1ydqa6', false); });} else {initialize('fv-chart-1789662465216-rhj1ydqa6', false);}})();</script></div><p>The 290 mm (11.4 inch) mop pushes down with 1.6 kg (3.53 lb) of pressure, so it isn’t merely wiping across the floor, but giving it a good scrub too, and is cleaned by a pair of scrapers eight times per second to stop dirt getting trapped in its fibers. The roller can slide outwards by 32 mm (1.26 inches), ensuring it cleans right up to the wall, while dirty water is moved away from the mop and into an onboard tank, ready to be deposited into the charge station.</p><p>Even without quantitative testing, I know the E35’s mop works extremely well, because the dirty water held in the charge station tank is properly filthy. As I found with the Eufy Omni S2, it’s worth emptying this tank quite frequently, because if you wait until it’s full you’ll be dealing with some seriously stinky water when you pour it down the sink.</p><p>During TechRadar’s standard mopping test – which involves a small amount of dried-on ketchup – the Omni E35 at first struggled to clean the stain from a wooden floor. But upping the water supply to 100 percent soon fixed this, and the ketchup was entirely lifted on the second pass.</p><p>Interestingly, the E35 does not have the ClearMind AI function of the pricier S2, which recognizes floor types, stains and different kinds of mess, then cleans appropriately. Instead, the E35 lets you decide what’s best – and, in my experience, that’s almost always a whole-room clean with the middle or most powerful suction, about 75 percent of the maximum water flow for mopping, the most intense cleaning pattern, and everything done twice.</p><p>The S2’s AI system is clever, and sees the robot work harder to clean messier areas, but the end result — at least on my carpets and wooden floors — was perfectly comparable between the two robots. It also lacks the S2’s water ozonization feature, but that’s by no means a dealbreaker.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2224px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="wX8g2ZpZspEniDirYhEchZ" name="Eufy Omni E35-20" alt="Eufy Omni E35 robot vacuum navigating around obstacles on a floor" src="https://cdn.mos.cms.futurecdn.net/wX8g2ZpZspEniDirYhEchZ-1920-80.jpg" mos="" align="middle" fullscreen="" width="2224" height="1251" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Finally, I tested the E35’s obstacle avoidance tech by having it clean an area littered with a shoe, a sock and a USB cable. The robot performed perfectly, driving neatly around each object but not touching any of them. I was particularly impressed by its ability to dodge the USB cable, since this is something even high-end robovacs can struggle with. Eufy says the robot can recognize over 280 common household objects, and can navigate fine in darkness as well as daylight. </p><p>It isn’t perfect though. The E35 sometimes navigated too confidently, driving up and over obstacles that should be avoided. I have a vinyl record stand on the floor, the front of which stands about an inch off the ground; the E35 frequently drove up onto this, pushing some records around in the process.</p><ul><li><strong>Performance score: 4.5 out of 5</strong></li></ul><h3 class="article-body__section" id="section-eufy-omni-e35-app"><span>Eufy Omni E35: app</span></h3><ul><li><strong>Straightforward mapping </strong></li><li><strong>Good use of shortcuts</strong></li><li><strong>Lacks a mop-only mode</strong></li></ul><p>The Omni E35 uses the same app as all other Eufy robotic vacuums, and it’s an app shared by the company’s home security products too. The app has matured nicely over the past few years into something that works very well, giving you access to just the right amount of customization without it feeling overwhelming.</p><p>The creation and editing of maps works well (albeit with the phantom room I mentioned earlier), and it’s easy to select the right parameters for each clean. Or, you can set up a clean (kitchen with intense mopping and two passes, for example) and save that as a commonly used chore. This can then be added to the home screen of the app, where it’s ready to activate with one tap.</p><p>It’s also possible to create a home screen widget, where a single tap fires up the E35 and sets it to work.</p><p>Other useful app settings include the child lock, which stops small people (and pets!) from pressing the robot’s two buttons, and off-peak charging, which you can program to coincide with cheaper overnight electricity rates. Since I have an electric car tariff, I set the Eufy to charge overnight when power is significantly cheaper.</p><p>All that’s missing is a mop-only mode. This is a little frustrating for Eufy to omit, since I’d prefer to have my robot tackle a dried-on hard floor stain with its mop first, rather than vacuum the floor. Ideally, the robot should approach such a stain in reverse, mop-first, rather than risk it transferring onto the brushes before applying water and detergent.</p><ul><li><strong>App score: 4.5 out of 5</strong></li></ul><h3 class="article-body__section" id="section-should-you-buy-the-eufy-omni-e35"><span>Should you buy the Eufy Omni E35?</span></h3><div ><table><caption>Eufy Omni E35 score card</caption><thead><tr><th class="firstcol " ><p>Attribute</p></th><th  ><p>Notes</p></th><th  ><p>Score</p></th></tr></thead><tbody><tr><td class="firstcol " ><p>Value</p></td><td  ><p>The Omni E35 feels like much better value than some of Eufy’s more expensive robotic vacuum cleaners, especially from its flagship S family. The E35 offers superb vacuuming and strong mopping performance, with smart navigation and a compact design at a more accessible price than models with superfluous bells and whistles.</p></td><td  ><p>4.5</p></td></tr><tr><td class="firstcol " ><p>Design</p></td><td  ><p>Compact and relatively attractive, as far as robovacs go, the E35 benefits from a clever anti-tangle brush design, along with a high-performance mop that washes and dries itself. It cleans right into the corners of every room, but can’t raise itself up to clear raised rugs as well as the more expensive Omni S2.</p></td><td  ><p>4.5/5</p></td></tr><tr><td class="firstcol " ><p>Performance</p></td><td  ><p>Its superb vacuuming performance is reason enough to buy this robovac. It really does leave your carpets spotless, while also mopping hard floors well, navigating reliably, and thoroughly cleaning itself after every use. It also works quickly, quietly, and reliably, not once getting stuck or lost during my testing.</p></td><td  ><p>4.5/5</p></td></tr><tr><td class="firstcol " ><p>App</p></td><td  ><p>Eufy’s app continues to impress, with a clean interface that is easy to navigate. It offers just the right amount of functionality and customization without being overwhelming. Shortcuts and iOS widget functionality are welcome additions, along with a child lock and off-peak charging.</p></td><td  ><p>4.5/5</p></td></tr></tbody></table></div><h2 id="buy-it-if-4">Buy it if</h2><div class="product"><p><strong>You want a hands-off robovac</strong></p><p>Eufy says this robot can operate hands-free for up to 60 days – and even after that, you’ll likely only need to replenish the water and perhaps replace the dust bag. The self-cleaning really is that good.</p></div><p>I set up the Eufy Omni E35 in my own home and lived with it for a couple of weeks. During this time it was my only vacuum cleaner and mop, tackling every room of my home and cleaning up after an energetic puppy too.</p><p>After that fortnight, I conducted TechRadar’s standard robovac tests to analyze its suction, mopping and navigation skills, as well as monitoring how loud it is and checking the performance of its self-cleaning system.</p><div class="product"><p><strong>You don’t need the flagship</strong></p><p>Eufy’s Omni S2 is phenomenally good, but it’s also much more expensive than this model. Do you really need a fragrance diffuser and ozonated water? If not, save the money and buy this one instead.</p></div><div class="product"><p><strong>You value mopping as much as vacuuming</strong></p><p>If your floors are evenly split between hard floors and carpet, this robot could be perfect for you, since it manages both surfaces equally well.</p></div><h2 id="don-39-t-buy-it-if-3">Don't buy it if</h2><div class="product"><p><strong>You’re on a budget</strong></p><p>Despite being much less expensive than Eufy’s top-end S2, the E35 is still a pricey robovac. If you’re on a tighter budget, consider a more affordable model with less powerful suction or a less comprehensive mopping and self-cleaning system.</p></div><div class="product"><p><strong>You have large doorway thresholds or thick rugs</strong></p><p>Although the E35’s ability to clear 1.2-inch thresholds is good, some models can climb higher. So if you have significant differences in floor height between rooms you might want to look elsewhere.</p></div><h3 class="article-body__section" id="section-how-i-tested-the-eufy-omni-e35"><span>How I tested the Eufy Omni E35</span></h3><div class="vizualizer-embed"><style>@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap');#fv-chart-1789660635467-0b8tnk56l *, #fv-chart-1789660635467-0b8tnk56l *:before, #fv-chart-1789660635467-0b8tnk56l *:after, #fv-chart-1789660635467-0b8tnk56l-slideshow *, #fv-chart-1789660635467-0b8tnk56l-slideshow *:before, #fv-chart-1789660635467-0b8tnk56l-slideshow *:after {box-sizing: border-box !important; margin: 0; padding: 0; border: 0;font-size: 100%; font: inherit; vertical-align: baseline;}#fv-chart-1789660635467-0b8tnk56l, #fv-chart-1789660635467-0b8tnk56l-slideshow { font-family: 'Open Sans', sans-serif !important; }#fv-chart-1789660635467-0b8tnk56l {position: relative !important; overflow: visible !important;--riv-primary: #2E6E93;}#fv-chart-1789660635467-0b8tnk56l .fv-inner-wrapper {color: #1F2937 !important; background-color: #ffffff !important;padding: 1.5rem 1.5rem 2rem !important; border-radius: 0.5rem !important;box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important;margin: 1rem 0 !important; display: flex !important; flex-direction: column !important;overflow: hidden !important;}#fv-chart-1789660635467-0b8tnk56l .fv-inner-wrapper.fv-no-header.fv-is-image-compare {padding-top: 0 !important;}#fv-chart-1789660635467-0b8tnk56l.fv-full-bleed {width: 100vw !important;margin-left: calc(50% - 50vw) !important;}body {overflow-x: clip !important;}#fv-chart-1789660635467-0b8tnk56l.fv-full-bleed .fv-inner-wrapper {padding: 0 !important;border-radius: 0 !important;box-shadow: none !important;margin: 0 !important;background-color: transparent !important;}#fv-chart-1789660635467-0b8tnk56l .fv-inner-wrapper.fv-is-shop-the-look {padding: 0 !important;border-radius: 0 !important;box-shadow: none !important;margin: 0 !important;background-color: transparent !important;}#fv-chart-1789660635467-0b8tnk56l-slideshow {position: relative !important;width: 100% !important;margin: 1rem 0 !important;--riv-primary: #2E6E93;}#fv-chart-1789660635467-0b8tnk56l-slideshow .fv-slides-wrapper {position: relative !important;width: 100% !important;}#fv-chart-1789660635467-0b8tnk56l-slideshow .fv-slide {width: 100% !important;animation: fv-fade-in 0.3s ease-in-out;}@keyframes fv-fade-in {from { opacity: 0; }to { opacity: 1; }}#fv-chart-1789660635467-0b8tnk56l-slideshow .fv-slideshow-nav-row {position: relative !important;display: flex !important;justify-content: space-between !important;align-items: center !important;padding: 0 0 16px 0 !important;width: 100% !important;z-index: 20 !important;}#fv-chart-1789660635467-0b8tnk56l-slideshow .fv-nav-btn {background-color: var(--riv-primary) !important;color: #ffffff !important;border: none !important;border-radius: 4px !important;padding: 8px 16px !important;font-size: 14px !important;font-weight: 700 !important;cursor: pointer !important;display: flex !important;align-items: center !important;justify-content: center !important;gap: 6px !important;transition: opacity 0.2s, background-color 0.2s !important;height: 36px !important;text-transform: none !important;box-shadow: 0 1px 2px rgba(0,0,0,0.1) !important;}#fv-chart-1789660635467-0b8tnk56l-slideshow .fv-nav-btn svg {width: 18px !important;height: 18px !important;stroke-width: 3px !important;filter: none !important;}#fv-chart-1789660635467-0b8tnk56l-slideshow .fv-nav-btn:hover {opacity: 0.9 !important;transform: translateY(-1px) !important;}#fv-chart-1789660635467-0b8tnk56l-slideshow .fv-nav-btn.disabled {background-color: #E5E7EB !important;color: #9CA3AF !important;cursor: default !important;pointer-events: none !important;box-shadow: none !important;}#fv-chart-1789660635467-0b8tnk56l-slideshow .fv-slide-counter {font-family: 'Poppins', sans-serif !important;font-size: 14px !important;font-weight: 600 !important;color: #374151 !important;text-align: center !important;min-width: 40px !important;background-color: rgba(255,255,255,0.8) !important;padding: 2px 8px !important;border-radius: 10px !important;}#fv-chart-1789660635467-0b8tnk56l-slideshow .fv-slideshow-select {position: absolute !important;top: 10px !important;right: 10px !important;z-index: 20 !important;appearance: none !important;-webkit-appearance: none !important;-moz-appearance: none !important;background-color: white !important;border: 1px solid #d1d5db !important;color: #1F2937 !important;font-family: 'Open Sans', sans-serif !important;font-size: 14px !important;font-weight: 600 !important;padding: 6px 32px 6px 12px !important;border-radius: 4px !important;cursor: pointer !important;box-shadow: 0 1px 2px rgba(0,0,0,0.05) !important;background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e") !important;background-position: right 0.5rem center !important;background-repeat: no-repeat !important;background-size: 1.5em 1.5em !important;}#fv-chart-1789660635467-0b8tnk56l-slideshow .fv-slideshow-select:focus {outline: 2px solid #2E6E93 !important;border-color: #2E6E93 !important;}#fv-chart-1789660635467-0b8tnk56l .fv-chart-title {font-weight: bold !important;text-align: center !important;margin-bottom: 0.5rem !important;color: var(--riv-primary) !important;font-size: 20px !important;line-height: 1.2 !important;font-family: 'Open Sans', sans-serif !important;text-transform: none !important;white-space: normal !important;overflow-wrap: break-word !important;padding: 0 20px !important;}#fv-chart-1789660635467-0b8tnk56l .fv-chart-subhead {font-size: 18px !important;font-weight: 500 !important;text-align: center !important;margin-bottom: 2rem !important;color: #374151 !important;line-height: 1.7 !important;font-family: 'Open Sans', sans-serif !important;display: block !important;text-transform: none !important;padding: 0 20px !important;}#fv-chart-1789660635467-0b8tnk56l .rv-chart-caption { font-size: 15px !important; color: #374151 !important; text-align: center !important; font-style: normal !important; font-weight: normal !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; }#fv-chart-1789660635467-0b8tnk56l .fv-versus-chart { display: flex; flex-direction: column; width: 100%; margin-top: 1rem; }#fv-chart-1789660635467-0b8tnk56l .fv-versus-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding: 0 1rem; }#fv-chart-1789660635467-0b8tnk56l .fv-versus-select-wrapper { flex: 1; min-width: 0; }#fv-chart-1789660635467-0b8tnk56l .fv-versus-select-wrapper.fv-left { text-align: center; padding-right: 1rem; }#fv-chart-1789660635467-0b8tnk56l .fv-versus-select-wrapper.fv-right { text-align: center; padding-left: 1rem; }#fv-chart-1789660635467-0b8tnk56l .fv-versus-select-container { position: relative; display: inline-block; max-width: 100%; width: 100%; }#fv-chart-1789660635467-0b8tnk56l .fv-versus-chevron { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; width: 16px; height: 16px; flex-shrink: 0; }#fv-chart-1789660635467-0b8tnk56l .fv-versus-select-wrapper.fv-left .fv-versus-chevron { right: 0; }#fv-chart-1789660635467-0b8tnk56l .fv-versus-select-wrapper.fv-right .fv-versus-chevron { right: 0; }#fv-chart-1789660635467-0b8tnk56l .fv-versus-select { background: transparent; border: none; border-bottom: 2px solid; font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; padding: 0.25rem 0; cursor: pointer; outline: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; max-width: 100%; width: 100%; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; }#fv-chart-1789660635467-0b8tnk56l .fv-versus-select.fv-select-left { text-align: center; direction: ltr; padding-right: 1.25rem; }#fv-chart-1789660635467-0b8tnk56l .fv-versus-select.fv-select-right { text-align: center; padding-right: 1.25rem; }#fv-chart-1789660635467-0b8tnk56l .fv-versus-select option { font-family: 'Open Sans', sans-serif; font-weight: 400; font-size: 14px; color: #374151; direction: ltr; text-align: left; }#fv-chart-1789660635467-0b8tnk56l .fv-versus-vs { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; color: #374151; letter-spacing: 0.1em; padding: 0 1rem; }#fv-chart-1789660635467-0b8tnk56l .fv-versus-body { display: flex; flex-direction: column; gap: 1.5rem; }#fv-chart-1789660635467-0b8tnk56l .fv-versus-row { position: relative; height: auto; padding-top: 20px; margin-bottom: 0.25rem; display: block; }#fv-chart-1789660635467-0b8tnk56l .fv-versus-bar-container { position: relative; height: 32px; display: flex; align-items: center; }#fv-chart-1789660635467-0b8tnk56l .fv-versus-bar-left-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-end; align-items: center; }#fv-chart-1789660635467-0b8tnk56l .fv-versus-bar-right-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-start; align-items: center; }#fv-chart-1789660635467-0b8tnk56l .fv-versus-bar { height: 32px; width: var(--target-width); transition: width 0.8s ease-out; animation: fv-grow-max-width 0.8s ease-out forwards; display: flex; align-items: center; overflow: hidden; color: #ffffff; }#fv-chart-1789660635467-0b8tnk56l .fv-versus-bar-left { border-radius: 4px 0 0 4px; justify-content: flex-end; padding: 0 8px; }#fv-chart-1789660635467-0b8tnk56l .fv-versus-bar-right { border-radius: 0 4px 4px 0; justify-content: flex-start; padding: 0 8px; }@keyframes fv-grow-max-width {from { max-width: 0; }to { max-width: 100%; }}#fv-chart-1789660635467-0b8tnk56l .fv-versus-center-line { position: absolute; left: 50%; top: 0; bottom: 0; width: 4px; background-color: #ffffff; transform: translateX(-50%); z-index: 1; }#fv-chart-1789660635467-0b8tnk56l .fv-inside-left { white-space: nowrap; flex-shrink: 0; }#fv-chart-1789660635467-0b8tnk56l .fv-inside-right { white-space: nowrap; flex-shrink: 0; }#fv-chart-1789660635467-0b8tnk56l .fv-versus-val-text { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; }#fv-chart-1789660635467-0b8tnk56l .fv-versus-pct-diff { font-size: 12px; font-weight: 600; }#fv-chart-1789660635467-0b8tnk56l .fv-versus-label { position: absolute; left: 50%; transform: translateX(-50%); top: 0; background-color: transparent; border: none; box-shadow: none; padding: 0; font-family: 'Open Sans', sans-serif; font-weight: 700; font-size: 14px; color: #374151; white-space: nowrap; }#fv-chart-1789660635467-0b8tnk56l .sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }#fv-chart-1789660635467-0b8tnk56l .fv-image-compare-container { width: auto !important; margin-left: -1.5rem !important; margin-right: -1.5rem !important; margin-bottom: 2rem !important; }#fv-chart-1789660635467-0b8tnk56l.fv-full-bleed .fv-image-compare-container { width: 100% !important; max-width: none !important; margin: 0 auto !important; }#fv-chart-1789660635467-0b8tnk56l .fv-image-compare-wrapper { position: relative !important; width: 100% !important; overflow: hidden !important; border-radius: 0 !important; background-color: #000 !important; touch-action: pan-y !important; user-select: none !important; -webkit-user-select: none !important; }#fv-chart-1789660635467-0b8tnk56l .fv-image-compare-inner { position: relative !important; width: 100% !important; height: 100% !important; display: block !important; transform-origin: center center !important; transition: transform 0.1s ease-out !important; }#fv-chart-1789660635467-0b8tnk56l .fv-image-compare-bg { display: block !important; width: 100% !important; height: auto !important; pointer-events: none !important; user-select: none !important; -webkit-user-select: none !important; -webkit-user-drag: none !important; }#fv-chart-1789660635467-0b8tnk56l .fv-image-compare-fg { position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; object-fit: cover !important; clip-path: polygon(0 0, 50% 0, 50% 100%, 0 100%) !important; pointer-events: none !important; user-select: none !important; -webkit-user-select: none !important; -webkit-user-drag: none !important; }#fv-chart-1789660635467-0b8tnk56l .fv-image-compare-slider { position: absolute !important; top: 0 !important; bottom: 0 !important; left: 50% !important; width: 32px !important; transform: translateX(-50%) !important; cursor: ew-resize !important; z-index: 10 !important; user-select: none !important; -webkit-user-select: none !important; }#fv-chart-1789660635467-0b8tnk56l .fv-image-compare-slider-line { position: absolute !important; top: 0 !important; bottom: 0 !important; left: 50% !important; width: 4px !important; background-color: white !important; transform: translateX(-50%) !important; box-shadow: 0 0 10px rgba(0,0,0,0.5) !important; pointer-events: none !important; }#fv-chart-1789660635467-0b8tnk56l .fv-image-compare-handle { position: absolute !important; top: 50% !important; left: 50% !important; transform: translate(-50%, -50%) !important; width: 32px !important; height: 32px !important; background-color: white !important; border-radius: 50% !important; box-shadow: 0 2px 6px rgba(0,0,0,0.3) !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 4px !important; pointer-events: none !important; z-index: 11 !important; overflow: hidden !important; }#fv-chart-1789660635467-0b8tnk56l .fv-image-compare-handle.fv-image-compare-handle-square { border-radius: 6px !important; }#fv-chart-1789660635467-0b8tnk56l .fv-image-compare-arrow-left { width: 0 !important; height: 0 !important; border-top: 4px solid transparent !important; border-bottom: 4px solid transparent !important; border-right: 4px solid #4b5563 !important; }#fv-chart-1789660635467-0b8tnk56l .fv-image-compare-arrow-right { width: 0 !important; height: 0 !important; border-top: 4px solid transparent !important; border-bottom: 4px solid transparent !important; border-left: 4px solid #4b5563 !important; }#fv-chart-1789660635467-0b8tnk56l .fv-image-compare-label { position: absolute !important; top: 1rem !important; background-color: rgba(0, 0, 0, 0.5) !important; color: white !important; padding: 0.25rem 0.75rem !important; border-radius: 0.25rem !important; font-size: 0.875rem !important; font-weight: 500 !important; pointer-events: none !important; backdrop-filter: blur(4px) !important; z-index: 5 !important; transition: right 0.3s ease, opacity 0.2s ease !important; }#fv-chart-1789660635467-0b8tnk56l .fv-image-compare-label-left { left: 1rem !important; }#fv-chart-1789660635467-0b8tnk56l .fv-image-compare-label-right { right: 1rem !important; }#fv-chart-1789660635467-0b8tnk56l .fv-image-compare-expand-btn, #fv-chart-1789660635467-0b8tnk56l .fv-image-compare-close-btn { position: absolute !important; bottom: 1rem !important; right: 1rem !important; background-color: rgba(0, 0, 0, 0.5) !important; color: white !important; border: none !important; border-radius: 0.25rem !important; padding: 0.5rem !important; cursor: pointer !important; z-index: 20 !important; display: flex !important; align-items: center !important; justify-content: center !important; backdrop-filter: blur(4px) !important; transition: background-color 0.2s !important; }#fv-chart-1789660635467-0b8tnk56l .fv-image-compare-expand-btn:hover, #fv-chart-1789660635467-0b8tnk56l .fv-image-compare-close-btn:hover { background-color: rgba(0, 0, 0, 0.7) !important; }#fv-chart-1789660635467-0b8tnk56l .fv-image-compare-close-btn { display: none !important; top: 1rem !important; bottom: auto !important; }#fv-chart-1789660635467-0b8tnk56l .fv-image-compare-wrapper.fv-image-compare-fullscreen { position: fixed !important; top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important; width: 100% !important; height: 100% !important; z-index: 999999 !important; display: flex !important; align-items: center !important; justify-content: center !important; background-color: rgba(0, 0, 0, 0.9) !important; margin: 0 !important; touch-action: none !important; }#fv-chart-1789660635467-0b8tnk56l .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-inner { width: 100% !important; height: 100% !important; display: flex !important; align-items: center !important; justify-content: center !important; cursor: grab !important; }#fv-chart-1789660635467-0b8tnk56l .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-inner:active { cursor: grabbing !important; }#fv-chart-1789660635467-0b8tnk56l .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-bg { position: absolute !important; top: 0 !important; left: 0 !important; max-width: 100% !important; max-height: 100% !important; width: 100% !important; height: 100% !important; object-fit: contain !important; }#fv-chart-1789660635467-0b8tnk56l .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-fg { max-width: 100% !important; max-height: 100% !important; width: 100% !important; height: 100% !important; object-fit: contain !important; }#fv-chart-1789660635467-0b8tnk56l .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-expand-btn { display: none !important; }#fv-chart-1789660635467-0b8tnk56l .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-close-btn { display: flex !important; }#fv-chart-1789660635467-0b8tnk56l .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-label-right { right: 4rem !important; }#fv-chart-1789660635467-0b8tnk56l .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; }#fv-chart-1789660635467-0b8tnk56l .fv-footer-content { text-align: center !important; width: 100% !important; }#fv-chart-1789660635467-0b8tnk56l .fv-logo {display: block !important;margin: 0 auto !important;width: 120px !important;min-width: 120px !important;max-width: 120px !important;height: auto !important;object-fit: contain !important;flex-shrink: 0 !important;}#fv-chart-1789660635467-0b8tnk56l .fv-dropdown-wrapper { text-align: center !important; margin-bottom: 16px !important; margin-top: 0 !important; }#fv-chart-1789660635467-0b8tnk56l .fv-dropdown-title-container { position: relative !important; display: inline-block !important; max-width: 100% !important; }#fv-chart-1789660635467-0b8tnk56l .fv-dropdown-title {appearance: none !important;-webkit-appearance: none !important;-moz-appearance: none !important;background: transparent !important;border: none !important;font-size: 18px !important;font-weight: 600 !important;color: var(--riv-primary) !important;padding-right: 28px !important;padding-left: 10px !important;cursor: pointer !important;text-align: center !important;text-align-last: center !important;width: auto !important;max-width: 100% !important;font-family: 'Open Sans', sans-serif !important;line-height: 1.3 !important;margin: 0 !important;text-overflow: ellipsis !important;overflow: hidden !important;white-space: nowrap !important;}#fv-chart-1789660635467-0b8tnk56l .fv-dropdown-title:focus { outline: none !important; }#fv-chart-1789660635467-0b8tnk56l .fv-dropdown-title::-ms-expand { display: none !important; }#fv-chart-1789660635467-0b8tnk56l .fv-dropdown-chevron {position: absolute !important;right: 0 !important;top: 50% !important;transform: translateY(-50%) !important;pointer-events: none !important;color: var(--riv-primary) !important;display: flex !important;align-items: center !important;}#fv-chart-1789660635467-0b8tnk56l .fv-carousel-title-controls { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 16px !important; width: 100% !important; gap: 12px !important; }#fv-chart-1789660635467-0b8tnk56l .fv-carousel-nav-btn {background: transparent !important; border: 1px solid #d1d5db !important; border-radius: 6px !important; padding: 6px 10px !important;cursor: pointer !important; font-size: 14px !important; color: #374151 !important; display: flex !important; align-items: center !important; gap: 4px !important; font-family: 'Open Sans', sans-serif !important;}#fv-chart-1789660635467-0b8tnk56l .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; }#fv-chart-1789660635467-0b8tnk56l .fv-carousel-counter { font-size: 14px !important; color: #374151 !important; text-align: center !important; margin-top: 1rem !important; }#fv-chart-1789660635467-0b8tnk56l .fv-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 8px 16px !important; margin: 0 !important; padding: 0 !important; margin-top: 1rem !important; }#fv-chart-1789660635467-0b8tnk56l .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #374151 !important; }#fv-chart-1789660635467-0b8tnk56l .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; }#fv-chart-1789660635467-0b8tnk56l .fv-multi-value-legend {display: flex !important;justify-content: center !important;flex-wrap: wrap !important;gap: 12px 24px !important;margin-bottom: 1.5rem !important;padding: 0 !important;}#fv-chart-1789660635467-0b8tnk56l .fv-multi-legend-item { display: flex !important; align-items: center !important; gap: 8px !important; font-size: 14px !important; color: #374151 !important; font-weight: 500 !important; }#fv-chart-1789660635467-0b8tnk56l .fv-multi-legend-swatch { width: 16px !important; height: 16px !important; border-radius: 3px !important; }#fv-chart-1789660635467-0b8tnk56l .fv-benchmark-group { margin-bottom: 1rem !important; }#fv-chart-1789660635467-0b8tnk56l .fv-benchmark-title {font-size: 18px !important; font-weight: 600 !important; margin-bottom: 16px !important; margin-top: 0 !important; padding: 0 !important;text-align: center !important; color: var(--riv-primary) !important; flex: 1 !important; min-width: 0 !important;font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important;text-transform: none !important;white-space: normal !important;overflow-wrap: break-word !important;word-wrap: break-word !important;max-width: 100% !important;}#fv-chart-1789660635467-0b8tnk56l .fv-bar-row, #fv-chart-1789660635467-0b8tnk56l .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; position: relative !important; }#fv-chart-1789660635467-0b8tnk56l .fv-bar-label { width: 150px !important; flex-shrink: 0 !important; font-size: 14px !important; color: #374151 !important; padding-right: 10px !important; text-align: right !important; font-weight: 500 !important; display: block !important; }#fv-chart-1789660635467-0b8tnk56l .fv-bar-container { flex-grow: 1 !important; background-color: #E5E7EB !important; border-radius: 4px !important; min-height: 25px !important; border: 1px solid #D1D5DB !important; position: relative !important; display: flex !important; align-items: center !important; }#fv-chart-1789660635467-0b8tnk56l .fv-bar-commentary-inline { display: none !important; position: absolute !important; left: 150px !important; top: 0 !important; bottom: 0 !important; right: 0 !important; width: calc(100% - 150px) !important; margin: 0 !important; padding: 0 8px !important; font-size: 13px !important; color: #fff !important; background: rgba(0,0,0,0.8) !important; border-radius: 4px !important; line-height: 1.4 !important; font-weight: normal !important; text-transform: none !important; word-wrap: break-word !important; z-index: 10 !important; align-items: center !important; overflow-y: auto !important; }#fv-chart-1789660635467-0b8tnk56l.preview-wrapper .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1789660635467-0b8tnk56l.preview-wrapper .fv-bar-commentary-inline:focus, #fv-chart-1789660635467-0b8tnk56l.preview-wrapper .fv-bar-commentary-inline:focus-within, #fv-chart-1789660635467-0b8tnk56l.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1789660635467-0b8tnk56l.mobile-view .fv-bar-commentary-inline:focus, #fv-chart-1789660635467-0b8tnk56l.mobile-view .fv-bar-commentary-inline:focus-within { display: flex !important; }#fv-chart-1789660635467-0b8tnk56l .fv-bar { height: 100% !important; border-radius: 3px !important; display: flex !important; align-items: center !important; transition: opacity 0.2s ease, width 0.8s ease-out !important; min-height: 23px !important; }#fv-chart-1789660635467-0b8tnk56l .fv-bar:hover { opacity: 0.8 !important; }#fv-chart-1789660635467-0b8tnk56l .fv-bar-inner-content { display: flex !important; justify-content: space-between !important; align-items: center !important; width: 100% !important; height: 100% !important; padding: 0 8px !important; font-size: 14px !important; font-weight: bold !important; overflow: hidden !important; }#fv-chart-1789660635467-0b8tnk56l .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; }#fv-chart-1789660635467-0b8tnk56l .fv-bar-inner-value { flex-shrink: 0 !important; }#fv-chart-1789660635467-0b8tnk56l .fv-bar-value-outside { padding-left: 8px !important; font-size: 14px !important; font-weight: bold !important; color: #374151 !important; white-space: nowrap !important; }#fv-chart-1789660635467-0b8tnk56l .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; }#fv-chart-1789660635467-0b8tnk56l .fv-multi-bar-container { flex-direction: column !important; padding: 4px !important; align-items: stretch !important; gap: 4px !important; height: auto !important; }#fv-chart-1789660635467-0b8tnk56l .fv-multi-bar-item { display: flex !important; align-items: center !important; height: 25px !important; width: 100% !important; }#fv-chart-1789660635467-0b8tnk56l .fv-stacked-bar { display: flex !important; overflow: hidden !important; }#fv-chart-1789660635467-0b8tnk56l .fv-stacked-segment { height: 100% !important; display: flex !important; align-items: center !important; justify-content: flex-end !important; padding-right: 8px !important; border-right: 1px solid rgba(255,255,255,0.3) !important; }#fv-chart-1789660635467-0b8tnk56l .fv-stacked-segment:last-child { border-right: none !important; }#fv-chart-1789660635467-0b8tnk56l .fv-segment-value { font-size: 14px !important; font-weight: bold !important; }#fv-chart-1789660635467-0b8tnk56l .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; }#fv-chart-1789660635467-0b8tnk56l .fv-grouped-product-title-wrapper { padding-left: 150px !important; }#fv-chart-1789660635467-0b8tnk56l .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.5rem !important; font-weight: 700 !important; font-size: 14px !important; color: #374151 !important; text-transform: none !important; }#fv-chart-1789660635467-0b8tnk56l .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; }#fv-chart-1789660635467-0b8tnk56l .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; }#fv-chart-1789660635467-0b8tnk56l .fv-bar-cluster .fv-bar-container { height: 20px !important; }#fv-chart-1789660635467-0b8tnk56l .riv-grid line {stroke: #D1D5DB !important;stroke-dasharray: 3 3 !important;}#fv-chart-1789660635467-0b8tnk56l .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; }#fv-chart-1789660635467-0b8tnk56l .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; }#fv-chart-1789660635467-0b8tnk56l .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; }#fv-chart-1789660635467-0b8tnk56l .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; }#fv-chart-1789660635467-0b8tnk56l .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; }#fv-chart-1789660635467-0b8tnk56l .fv-x-axis-ticks { display: flex !important; justify-content: space-between !important; padding-top: 4px !important; font-size: 13px !important; color: #374151 !important; }#fv-chart-1789660635467-0b8tnk56l .fv-x-axis-ticks span { position: relative !important; }#fv-chart-1789660635467-0b8tnk56l .fv-x-axis-ticks span::before { content: '' !important; position: absolute !important; top: -6px !important; left: 50% !important; transform: translateX(-50%) !important; width: 2px !important; height: 4px !important; background-color: #D1D5DB !important; border-radius: 1px !important; }#fv-chart-1789660635467-0b8tnk56l .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #374151 !important; margin-top: 8px !important; display: block !important; }#fv-chart-1789660635467-0b8tnk56l .fv-x-axis-title { text-align: center !important; font-size: 15px !important; color: #374151 !important; margin-top: 8px !important; margin-bottom: 16px !important; line-height: 1.5 !important; padding: 0 1rem !important; display: block !important; font-weight: bold !important; }#fv-chart-1789660635467-0b8tnk56l .fv-y-axis-title {font-size: 15px !important;color: #374151 !important;line-height: 1.5 !important;text-align: left !important;padding-left: 5.83% !important;margin-bottom: 4px !important;display: block !important;font-weight: bold !important;}#fv-chart-1789660635467-0b8tnk56l.mobile-view .fv-pie-container,#fv-chart-1789660635467-0b8tnk56l.labels-on-top .fv-pie-container {flex-direction: column !important; gap: 1rem !important;}#fv-chart-1789660635467-0b8tnk56l.mobile-view .fv-grouped-product-title-wrapper,#fv-chart-1789660635467-0b8tnk56l.labels-on-top .fv-grouped-product-title-wrapper {padding-left: 0 !important;}#fv-chart-1789660635467-0b8tnk56l.mobile-view .fv-bar-row,#fv-chart-1789660635467-0b8tnk56l.mobile-view .fv-stacked-product,#fv-chart-1789660635467-0b8tnk56l.mobile-view .fv-grouped-bar-product,#fv-chart-1789660635467-0b8tnk56l.labels-on-top .fv-bar-row,#fv-chart-1789660635467-0b8tnk56l.labels-on-top .fv-stacked-product,#fv-chart-1789660635467-0b8tnk56l.labels-on-top .fv-grouped-bar-product {flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important;}#fv-chart-1789660635467-0b8tnk56l.mobile-view .fv-bar-label:not(.fv-grouped-product-title),#fv-chart-1789660635467-0b8tnk56l.labels-on-top .fv-bar-label:not(.fv-grouped-product-title) {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1789660635467-0b8tnk56l.mobile-view .fv-bar-label,#fv-chart-1789660635467-0b8tnk56l.mobile-view .fv-grouped-product-title,#fv-chart-1789660635467-0b8tnk56l.labels-on-top .fv-bar-label,#fv-chart-1789660635467-0b8tnk56l.labels-on-top .fv-grouped-product-title {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1789660635467-0b8tnk56l.mobile-view .fv-bar-container,#fv-chart-1789660635467-0b8tnk56l.mobile-view .fv-bar-cluster,#fv-chart-1789660635467-0b8tnk56l.labels-on-top .fv-bar-container,#fv-chart-1789660635467-0b8tnk56l.labels-on-top .fv-bar-cluster {width: 100% !important;}#fv-chart-1789660635467-0b8tnk56l.mobile-view .fv-bar-row .fv-bar-commentary-inline,#fv-chart-1789660635467-0b8tnk56l.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline,#fv-chart-1789660635467-0b8tnk56l.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus,#fv-chart-1789660635467-0b8tnk56l.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus-within,#fv-chart-1789660635467-0b8tnk56l.labels-on-top .fv-bar-row .fv-bar-commentary-inline,#fv-chart-1789660635467-0b8tnk56l.labels-on-top .fv-bar-row:hover .fv-bar-commentary-inline,#fv-chart-1789660635467-0b8tnk56l.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus,#fv-chart-1789660635467-0b8tnk56l.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus-within {position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important;}#fv-chart-1789660635467-0b8tnk56l.mobile-view .fv-x-axis-wrapper,#fv-chart-1789660635467-0b8tnk56l.labels-on-top .fv-x-axis-wrapper {margin-left: 0 !important;}#fv-chart-1789660635467-0b8tnk56l.mobile-view .fv-x-axis-label-space,#fv-chart-1789660635467-0b8tnk56l.labels-on-top .fv-x-axis-label-space {display: none !important;}#fv-chart-1789660635467-0b8tnk56l.mobile-view .fv-x-axis-chart-space,#fv-chart-1789660635467-0b8tnk56l.labels-on-top .fv-x-axis-chart-space {padding-right: 0 !important;}#fv-chart-1789660635467-0b8tnk56l.mobile-view .fv-benchmark-title,#fv-chart-1789660635467-0b8tnk56l.labels-on-top .fv-benchmark-title {font-size: 16px !important;}#fv-chart-1789660635467-0b8tnk56l.mobile-view .fv-dropdown-title,#fv-chart-1789660635467-0b8tnk56l.labels-on-top .fv-dropdown-title {font-size: 16px !important;}#fv-chart-1789660635467-0b8tnk56l.mobile-view .fv-carousel-nav-btn,#fv-chart-1789660635467-0b8tnk56l.labels-on-top .fv-carousel-nav-btn {padding: 8px 12px !important; font-size: 14px !important;}#fv-chart-1789660635467-0b8tnk56l.mobile-view .fv-chart-title,#fv-chart-1789660635467-0b8tnk56l.labels-on-top .fv-chart-title {padding: 0 8px !important;}#fv-chart-1789660635467-0b8tnk56l.mobile-view .fv-chart-subhead,#fv-chart-1789660635467-0b8tnk56l.labels-on-top .fv-chart-subhead {padding: 0 8px !important;}#fv-chart-1789660635467-0b8tnk56l.mobile-view .fv-versus-header,#fv-chart-1789660635467-0b8tnk56l.labels-on-top .fv-versus-header {flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important;}#fv-chart-1789660635467-0b8tnk56l.mobile-view .fv-versus-select-wrapper,#fv-chart-1789660635467-0b8tnk56l.labels-on-top .fv-versus-select-wrapper {flex: 1 !important; min-width: 0 !important; width: 100% !important;}#fv-chart-1789660635467-0b8tnk56l.mobile-view .fv-versus-select-wrapper.fv-left,#fv-chart-1789660635467-0b8tnk56l.labels-on-top .fv-versus-select-wrapper.fv-left {text-align: center !important; padding-right: 0 !important;}#fv-chart-1789660635467-0b8tnk56l.mobile-view .fv-versus-select-wrapper.fv-right,#fv-chart-1789660635467-0b8tnk56l.labels-on-top .fv-versus-select-wrapper.fv-right {text-align: center !important; padding-left: 0 !important;}#fv-chart-1789660635467-0b8tnk56l.mobile-view .fv-versus-select.fv-select-left,#fv-chart-1789660635467-0b8tnk56l.labels-on-top .fv-versus-select.fv-select-left {text-align: center !important;}#fv-chart-1789660635467-0b8tnk56l.mobile-view .fv-versus-select.fv-select-right,#fv-chart-1789660635467-0b8tnk56l.labels-on-top .fv-versus-select.fv-select-right {text-align: center !important;}#fv-chart-1789660635467-0b8tnk56l.mobile-view .fv-versus-vs,#fv-chart-1789660635467-0b8tnk56l.labels-on-top .fv-versus-vs {text-align: center !important; padding: 0.25rem 0 !important;}#fv-chart-1789660635467-0b8tnk56l.mobile-view .fv-versus-select-container,#fv-chart-1789660635467-0b8tnk56l.labels-on-top .fv-versus-select-container {max-width: 100% !important; width: 100% !important;}#fv-chart-1789660635467-0b8tnk56l.mobile-view .fv-versus-select,#fv-chart-1789660635467-0b8tnk56l.labels-on-top .fv-versus-select {font-size: 14px !important; width: 100% !important;}#fv-chart-1789660635467-0b8tnk56l.mobile-view .fv-stl-shop-all-btn,#fv-chart-1789660635467-0b8tnk56l.labels-on-top .fv-stl-shop-all-btn {bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important;}#fv-chart-1789660635467-0b8tnk56l.mobile-view .fv-stl-shop-all-logo,#fv-chart-1789660635467-0b8tnk56l.mobile-view .fv-stl-shop-all-icon,#fv-chart-1789660635467-0b8tnk56l.labels-on-top .fv-stl-shop-all-logo,#fv-chart-1789660635467-0b8tnk56l.labels-on-top .fv-stl-shop-all-icon {width: 2rem !important; height: 2rem !important;}#fv-chart-1789660635467-0b8tnk56l.mobile-view .fv-stl-shop-all-icon svg,#fv-chart-1789660635467-0b8tnk56l.labels-on-top .fv-stl-shop-all-icon svg {width: 14px !important; height: 14px !important;}#fv-chart-1789660635467-0b8tnk56l.mobile-view .fv-bar-commentary-inline,#fv-chart-1789660635467-0b8tnk56l.labels-on-top .fv-bar-commentary-inline {display: block !important; margin-left: 0 !important; width: 100% !important;}#fv-chart-1789660635467-0b8tnk56l.mobile-view .fv-y-axis-title { padding-left: 5% !important;  }#fv-chart-1789660635467-0b8tnk56l.mobile-view.fv-contains-line-chart .fv-footer-content {margin-left: -1rem !important;margin-right: -1rem !important;}@media (max-width: 599px) {#fv-chart-1789660635467-0b8tnk56l .fv-pie-container {flex-direction: column !important; gap: 1rem !important;}#fv-chart-1789660635467-0b8tnk56l .fv-grouped-product-title-wrapper {padding-left: 0 !important;}#fv-chart-1789660635467-0b8tnk56l .fv-bar-row,#fv-chart-1789660635467-0b8tnk56l .fv-stacked-product,#fv-chart-1789660635467-0b8tnk56l .fv-grouped-bar-product {flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important;}#fv-chart-1789660635467-0b8tnk56l .fv-bar-label:not(.fv-grouped-product-title) {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1789660635467-0b8tnk56l .fv-bar-label,#fv-chart-1789660635467-0b8tnk56l .fv-grouped-product-title {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1789660635467-0b8tnk56l .fv-bar-container,#fv-chart-1789660635467-0b8tnk56l .fv-bar-cluster {width: 100% !important;}#fv-chart-1789660635467-0b8tnk56l .fv-bar-row .fv-bar-commentary-inline,#fv-chart-1789660635467-0b8tnk56l .fv-bar-row:hover .fv-bar-commentary-inline,#fv-chart-1789660635467-0b8tnk56l .fv-bar-row .fv-bar-commentary-inline:focus,#fv-chart-1789660635467-0b8tnk56l .fv-bar-row .fv-bar-commentary-inline:focus-within {position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important;}#fv-chart-1789660635467-0b8tnk56l .fv-x-axis-wrapper {margin-left: 0 !important;}#fv-chart-1789660635467-0b8tnk56l .fv-x-axis-label-space {display: none !important;}#fv-chart-1789660635467-0b8tnk56l .fv-x-axis-chart-space {padding-right: 0 !important;}#fv-chart-1789660635467-0b8tnk56l .fv-benchmark-title {font-size: 16px !important;}#fv-chart-1789660635467-0b8tnk56l .fv-dropdown-title {font-size: 16px !important;}#fv-chart-1789660635467-0b8tnk56l .fv-carousel-nav-btn {padding: 8px 12px !important; font-size: 14px !important;}#fv-chart-1789660635467-0b8tnk56l .fv-chart-title {padding: 0 8px !important;}#fv-chart-1789660635467-0b8tnk56l .fv-chart-subhead {padding: 0 8px !important;}#fv-chart-1789660635467-0b8tnk56l .fv-versus-header {flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important;}#fv-chart-1789660635467-0b8tnk56l .fv-versus-select-wrapper {flex: 1 !important; min-width: 0 !important; width: 100% !important;}#fv-chart-1789660635467-0b8tnk56l .fv-versus-select-wrapper.fv-left {text-align: center !important; padding-right: 0 !important;}#fv-chart-1789660635467-0b8tnk56l .fv-versus-select-wrapper.fv-right {text-align: center !important; padding-left: 0 !important;}#fv-chart-1789660635467-0b8tnk56l .fv-versus-select.fv-select-left {text-align: center !important;}#fv-chart-1789660635467-0b8tnk56l .fv-versus-select.fv-select-right {text-align: center !important;}#fv-chart-1789660635467-0b8tnk56l .fv-versus-vs {text-align: center !important; padding: 0.25rem 0 !important;}#fv-chart-1789660635467-0b8tnk56l .fv-versus-select-container {max-width: 100% !important; width: 100% !important;}#fv-chart-1789660635467-0b8tnk56l .fv-versus-select {font-size: 14px !important; width: 100% !important;}#fv-chart-1789660635467-0b8tnk56l .fv-stl-shop-all-btn {bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important;}#fv-chart-1789660635467-0b8tnk56l .fv-stl-shop-all-logo,#fv-chart-1789660635467-0b8tnk56l .fv-stl-shop-all-icon {width: 2rem !important; height: 2rem !important;}#fv-chart-1789660635467-0b8tnk56l .fv-stl-shop-all-icon svg {width: 14px !important; height: 14px !important;}#fv-chart-1789660635467-0b8tnk56l .fv-bar-commentary-inline {display: block !important; margin-left: 0 !important; width: 100% !important;}#fv-chart-1789660635467-0b8tnk56l .fv-y-axis-title { padding-left: 5% !important;  }#fv-chart-1789660635467-0b8tnk56l.fv-contains-line-chart .fv-footer-content {margin-left: -1rem !important;margin-right: -1rem !important;}}</style><script type="application/ld+json">{"@context": "https://schema.org","@type": "Dataset","name": "Hard floor cleaning test","description": "Vacuuming oats from hard floor using Eufy Omni E35","creator": {"@type": "Organization","name": "TechRadar","logo": "https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png"},"isAccessibleForFree": true,"dateCreated": "2026-09-17T15:57:15.468Z","citation": "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized","keywords": ["Image Comparison","benchmark","comparison","performance","review","TechRadar"],"measurementTechnique": "Performance Benchmarking","variableMeasured": []}</script><div id="fv-chart-1789660635467-0b8tnk56l" class="fv-chart-wrapper   " data-bar-labels-on-top="false" data-iframe-height="true" data-vizualizer-embed="true"><div class="fv-inner-wrapper  fv-is-image-compare  "><h3 class="fv-chart-title">Hard floor cleaning test</h3><p class="fv-chart-subhead">Vacuuming oats from hard floor using Eufy Omni E35</p><div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1789660635467-0b8tnk56l-image-compare-1" data-chart-type="Image Comparison" data-title="Image Comparison" data-subhead="Vacuuming oats from hard floor using Eufy Omni E35" data-caption="" style=""><div class="fv-benchmark-group"><div class="fv-image-compare-container"><div class="fv-image-compare-wrapper" data-image-compare="true"><div class="fv-image-compare-inner"><img src="https://cdn.mos.cms.futurecdn.net/C4BRHaU4Hv9XqEbDu6gCie.jpg" data-highres-src="https://cdn.mos.cms.futurecdn.net/C4BRHaU4Hv9XqEbDu6gCie.jpg" alt="Oats cleaned from hard floor" class="fv-image-compare-bg" loading="lazy" referrerpolicy="no-referrer" draggable="false" /><img src="https://cdn.mos.cms.futurecdn.net/ELLq7VJRgyR9k9uxfx49ke.jpg" data-highres-src="https://cdn.mos.cms.futurecdn.net/ELLq7VJRgyR9k9uxfx49ke.jpg" alt="Oats on hard floor" class="fv-image-compare-fg" loading="lazy" referrerpolicy="no-referrer" draggable="false" /><div class="fv-image-compare-slider"><div class="fv-image-compare-slider-line"></div><div class="fv-image-compare-handle "><img src="https://proof.vanilla.tools/media/images/brandLogos/techradar.png" alt="Brand Logo" style="width: 100%; height: 100%; object-fit: cover;" /></div></div></div><div class="fv-image-compare-label fv-image-compare-label-left">Before</div><div class="fv-image-compare-label fv-image-compare-label-right">After</div><button class="fv-image-compare-expand-btn" aria-label="Expand Image"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 8V4h4"/><path d="M20 8V4h-4"/><path d="M4 16v4h4"/><path d="M20 16v4h-4"/><circle cx="11.5" cy="11.5" r="3.5"/><path d="m14 14 3 3"/></svg></button><button class="fv-image-compare-close-btn" aria-label="Close Fullscreen"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg></button></div></div></div></div></div><div class="fv-bottom-bar"><div class="fv-footer-content" style="display: none;"><div class="rv-chart-caption" style="display: block;"><span class="fv-original-caption" style="display: block;"></span><span class="fv-ia-dynamic-caption" style="display: none;"></span></div></div><div class="fv-logo-explore-bar"><img class="fv-logo" src="https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png" alt="TechRadar Logo"></div></div></div></div><script>window.iFrameResizer = {heightCalculationMethod: 'taggedElement'};</script><script src="https://cdnjs.cloudflare.com/ajax/libs/iframe-resizer/4.2.11/iframeResizer.contentWindow.min.js" async></script><script>(function() {window.fvAnimateCharts = function(chartWrapper) {if (!chartWrapper) return;function animateBars(chartElement) {if (!chartElement) return;var bars = chartElement.querySelectorAll('.fv-bar, .fv-stacked-segment');bars.forEach(function(bar, index) {bar.style.setProperty('width', '0%', 'important');bar.style.setProperty('transition', 'none', 'important');var targetWidth = bar.dataset.targetWidth;if (targetWidth === undefined) return;void bar.offsetWidth;var targetMargin = bar.dataset.targetMargin;var baseMargin = bar.dataset.baseMargin;if (baseMargin !== undefined) {bar.style.setProperty('margin-left', baseMargin + '%', 'important');}setTimeout(function() {var marginTransition = baseMargin !== undefined ? ', margin-left 0.8s ease-out' : '';bar.style.setProperty('transition', 'opacity 0.2s ease, width 0.8s ease-out' + marginTransition, 'important');bar.style.setProperty('width', targetWidth + '%', 'important');if (targetMargin !== undefined && baseMargin !== undefined) {bar.style.setProperty('margin-left', targetMargin + '%', 'important');}}, index * 50 + 50);});}function animateLineChart(chartElement) {if (!chartElement) return;var lineSvg = chartElement.querySelector('svg');if (!lineSvg) return;var paths = lineSvg.querySelectorAll('.riv-line-path');paths.forEach(function(p, i) {if (typeof p.getTotalLength === 'function') {var len = p.getTotalLength();p.style.transition = 'none';p.style.strokeDasharray = len;p.style.strokeDashoffset = len;p.getBoundingClientRect();setTimeout(function() {p.style.transition = 'stroke-dashoffset 1s ease-out ' + (i * 0.1) + 's, stroke-width 0.2s, opacity 0.2s';p.style.strokeDashoffset = '0';}, 100);}});var dots = lineSvg.querySelectorAll('.riv-dot');dots.forEach(function(dot, i) {dot.style.opacity = '0';setTimeout(function() {dot.style.transition = 'opacity 0.3s ease';dot.style.opacity = '1';}, 500 + i * 10);});}var charts = chartWrapper.querySelectorAll('.fv-chart-item');charts.forEach(function(chart) {if (window.getComputedStyle(chart).display === 'none') return;var chartType = chart.dataset.chartType;if (chartType === 'Line') {animateLineChart(chart);} else if (chartType !== 'Pie') {animateBars(chart);}});};function initialize(uniqueId, isSlideshow) {var root = document.getElementById(uniqueId);if (!root && !isSlideshow) return;function setupWrapper(chartWrapper) {if (!chartWrapper) return;function checkMobileView() {var width = chartWrapper.getBoundingClientRect().width;var isMobileDevice = window.screen && Math.min(window.screen.width, window.screen.height) <= 599;var isMobile;if (width === 0) {isMobile = isMobileDevice || window.matchMedia('(max-width: 599px)').matches;} else {isMobile = isMobileDevice || width < 600;}if (isMobile) {chartWrapper.classList.add('mobile-view');} else {chartWrapper.classList.remove('mobile-view');}}checkMobileView();if (typeof ResizeObserver !== 'undefined') {var ro = new ResizeObserver(function() {checkMobileView();});ro.observe(chartWrapper);}window.addEventListener('resize', checkMobileView);var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';if (labelsOnTop) {var charts = chartWrapper.querySelectorAll('.fv-chart-item');var hasVisibleBarChart = false;charts.forEach(function(c) {if (window.getComputedStyle(c).display !== 'none') {var cType = c.dataset.chartType;if (cType === 'Bar' || cType === 'Stacked Bar' || cType === 'Versus') {hasVisibleBarChart = true;}}});if (hasVisibleBarChart) {chartWrapper.classList.add('labels-on-top');} else {chartWrapper.classList.remove('labels-on-top');}} else {chartWrapper.classList.remove('labels-on-top');}chartWrapper.querySelectorAll('.riv-line-legend').forEach(function(legend) {var chartId = legend.dataset.chart;var chart = chartWrapper.querySelector('[id="' + chartId + '"]');if (!chart) return;var lines = chart.querySelectorAll('.riv-line-path');var dots = chart.querySelectorAll('.riv-dot');var legendItems = legend.querySelectorAll('.riv-legend-item');legendItems.forEach(function(item) {var productName = item.dataset.product;var safeProductName = productName.replace(/"/g, '\"');var line = chart.querySelector('.riv-line-path[data-product="' + safeProductName + '"]');var productDots = chart.querySelectorAll('.riv-dot[data-product="' + safeProductName + '"]');if (line && !line.dataset.origStroke) {line.dataset.origStroke = line.getAttribute('stroke-width') || '2';}var highlight = function() {if (legend.querySelector('.isolated')) return;lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '0.2'; });legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });if (line) {line.style.opacity = '1';line.setAttribute('stroke-width', '4');}productDots.forEach(function(d) { d.style.opacity = '1'; });item.style.opacity = '1';};var clearHighlight = function() {if (legend.querySelector('.isolated')) return;lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '1'; });legendItems.forEach(function(i) { i.style.opacity = '1'; });};var toggleIsolate = function() {var isIsolated = item.classList.contains('isolated');legendItems.forEach(function(i) { i.classList.remove('isolated'); });if (isIsolated) {lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '1'; });legendItems.forEach(function(i) { i.style.opacity = '1'; });} else {item.classList.add('isolated');lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '0.2'; });legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });if (line) {line.style.opacity = '1';line.setAttribute('stroke-width', '4');}productDots.forEach(function(d) { d.style.opacity = '1'; });item.style.opacity = '1';}};item.addEventListener('mouseenter', highlight);item.addEventListener('focus', highlight);item.addEventListener('mouseleave', clearHighlight);item.addEventListener('blur', clearHighlight);item.addEventListener('click', toggleIsolate);if (line) {line.style.cursor = 'pointer';line.addEventListener('mouseenter', highlight);line.addEventListener('mouseleave', clearHighlight);line.addEventListener('click', toggleIsolate);}});});var versusCharts = chartWrapper.querySelectorAll('.fv-versus-chart');versusCharts.forEach(function(vc) {var dataJson = vc.getAttribute('data-versus-data');var leftColor = vc.getAttribute('data-left-color') || '#E53935';var rightColor = vc.getAttribute('data-right-color') || '#FFB300';if (!dataJson) return;var versusData = JSON.parse(dataJson);var leftSelect = vc.querySelector('.fv-select-left');var rightSelect = vc.querySelector('.fv-select-right');var rows = vc.querySelectorAll('.fv-versus-row');function updateVersusChart() {var leftProduct = leftSelect.value;var rightProduct = rightSelect.value;leftSelect.style.color = leftColor;leftSelect.style.borderColor = leftColor;rightSelect.style.color = rightColor;rightSelect.style.borderColor = rightColor;rows.forEach(function(row) {var index = parseInt(row.getAttribute('data-index'));var data = versusData[index];if (!data) return;var leftVal = data.productData[leftProduct] ? data.productData[leftProduct].value : undefined;var rightVal = data.productData[rightProduct] ? data.productData[rightProduct].value : undefined;var leftIsNum = typeof leftVal === 'number';var rightIsNum = typeof rightVal === 'number';var leftNum = leftIsNum ? leftVal : 0;var rightNum = rightIsNum ? rightVal : 0;var maxVal = Math.max(leftNum, rightNum, 0.0001);var leftWidth = leftIsNum ? (leftNum / maxVal) * 95 : 0;var rightWidth = rightIsNum ? (rightNum / maxVal) * 85 : 0;var winner = null;var pctDiffStr = null;if (leftIsNum && rightIsNum) {if (leftNum > rightNum) {winner = 'left';if (rightNum > 0) {var diff = Math.round(((leftNum - rightNum) / rightNum) * 100);pctDiffStr = '+' + diff.toLocaleString() + '%';}} else if (rightNum > leftNum) {winner = 'right';if (leftNum > 0) {var diff = Math.round(((rightNum - leftNum) / leftNum) * 100);pctDiffStr = '+' + diff.toLocaleString() + '%';}}}var leftDisplay = data.productData[leftProduct] && data.productData[leftProduct].displayValue !== undefined ? data.productData[leftProduct].displayValue : (leftIsNum ? leftNum.toLocaleString() : (leftVal !== undefined ? leftVal : '-'));var rightDisplay = data.productData[rightProduct] && data.productData[rightProduct].displayValue !== undefined ? data.productData[rightProduct].displayValue : (rightIsNum ? rightNum.toLocaleString() : (rightVal !== undefined ? rightVal : '-'));var unit = (data.productData[leftProduct] && data.productData[leftProduct].unit) ||(data.productData[rightProduct] && data.productData[rightProduct].unit) || '';var leftTextStr = leftDisplay;var rightTextStr = rightDisplay;var leftBar = row.querySelector('.fv-versus-bar-left');var rightBar = row.querySelector('.fv-versus-bar-right');var leftText = row.querySelector('.fv-inside-left');var rightText = row.querySelector('.fv-inside-right');var labelText = row.querySelector('.fv-versus-label span');var leftWrapper = row.querySelector('.fv-versus-bar-left-wrapper');var rightWrapper = row.querySelector('.fv-versus-bar-right-wrapper');var existingPctDiffs = row.querySelectorAll('.fv-versus-pct-diff');existingPctDiffs.forEach(function(el) { el.remove(); });if (winner === 'left' && pctDiffStr) {var pctSpan = document.createElement('span');pctSpan.className = 'fv-versus-pct-diff';pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';pctSpan.textContent = pctDiffStr;if (leftBar) leftBar.insertBefore(pctSpan, leftBar.firstChild);} else if (winner === 'right' && pctDiffStr) {var pctSpan = document.createElement('span');pctSpan.className = 'fv-versus-pct-diff';pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';pctSpan.textContent = pctDiffStr;if (rightBar) rightBar.appendChild(pctSpan);}if (leftBar) {leftBar.style.backgroundColor = leftColor;leftBar.dataset.targetWidth = leftWidth;leftBar.style.setProperty('--target-width', leftWidth + '%');leftBar.style.width = leftWidth + '%';}if (rightBar) {rightBar.style.backgroundColor = rightColor;rightBar.dataset.targetWidth = rightWidth;rightBar.style.setProperty('--target-width', rightWidth + '%');rightBar.style.width = rightWidth + '%';}if (leftText) {leftText.innerHTML = leftTextStr;}if (rightText) {rightText.innerHTML = rightTextStr;}if (labelText) {labelText.textContent = data.attribute + (unit ? ' (' + unit + ')' : '');}});}if (leftSelect) leftSelect.addEventListener('change', updateVersusChart);if (rightSelect) rightSelect.addEventListener('change', updateVersusChart);});var barRows = chartWrapper.querySelectorAll('.fv-bar-row');var globalCaptionEl = chartWrapper.querySelector('.rv-chart-caption');var fallbackCaptionHtml = globalCaptionEl ? globalCaptionEl.innerHTML : '';barRows.forEach(function(row) {var commentaryEl = row.querySelector('[data-commentary-key]');if (commentaryEl) {var commentaryText = commentaryEl.textContent;if (commentaryText && commentaryText.trim().length > 0) {row.addEventListener('mouseenter', function() {if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {globalCaptionEl.innerHTML = commentaryText;globalCaptionEl.classList.add('fv-bar-active-caption');}});row.addEventListener('mouseleave', function() {if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {globalCaptionEl.innerHTML = fallbackCaptionHtml;globalCaptionEl.classList.remove('fv-bar-active-caption');}});}}});var charts = chartWrapper.querySelectorAll('.fv-chart-item');var dropdown = chartWrapper.querySelector('.fv-dropdown-title');var prevBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.prev');var nextBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.next');var carouselTitle = chartWrapper.querySelector('.fv-carousel-title-controls .fv-benchmark-title');var counter = chartWrapper.querySelector('.fv-carousel-counter');var subheadEl = chartWrapper.querySelector('.fv-chart-subhead');var captionEl = chartWrapper.querySelector('.rv-chart-caption');var footerContentEl = chartWrapper.querySelector('.fv-footer-content');var bottomBarEl = chartWrapper.querySelector('.fv-bottom-bar');var logoEl = chartWrapper.querySelector('.fv-logo');if (charts.length > 1 && (dropdown || prevBtn)) {var currentChartIndex = 0;var titles = [];if (dropdown) {titles = Array.from(dropdown.options).map(function(o) { return o.text; });} else {charts.forEach(function(c) {titles.push(c.getAttribute('data-title') || '');});}function showInternalChart(index) {if (index < 0) index = charts.length - 1;if (index >= charts.length) index = 0;currentChartIndex = index;charts.forEach(function(c, i) {c.style.display = i === index ? 'block' : 'none';if (i === index) {var cType = c.dataset.chartType;if (cType === 'Line') {} else if (cType !== 'Pie') {window.fvAnimateCharts(chartWrapper);}var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';if (labelsOnTop && (cType === 'Bar' || cType === 'Stacked Bar' || cType === 'Versus')) {chartWrapper.classList.add('labels-on-top');} else {chartWrapper.classList.remove('labels-on-top');}}});if (dropdown) dropdown.value = index;if (carouselTitle && titles[index]) carouselTitle.textContent = titles[index];if (counter) counter.textContent = (index + 1) + ' of ' + charts.length;var activeChart = charts[index];if (activeChart) {var newSubhead = activeChart.getAttribute('data-subhead');var newCaption = activeChart.getAttribute('data-caption');var currentChartType = activeChart.getAttribute('data-chart-type');var hideGlobalCaption = currentChartType === 'Countdown' || currentChartType === 'Image Comparison' || currentChartType === 'Shop the Collection';if (subheadEl) subheadEl.textContent = newSubhead || '';if (captionEl) {captionEl.textContent = newCaption || '';fallbackCaptionHtml = newCaption || '';}if (footerContentEl) {if (newCaption && newCaption.trim().length > 0 && !hideGlobalCaption) {footerContentEl.style.display = 'block';if (bottomBarEl) bottomBarEl.style.display = 'flex';} else {footerContentEl.style.display = 'none';if (bottomBarEl && !logoEl) {bottomBarEl.style.display = 'none';}}}}}if (dropdown) dropdown.addEventListener('change', function(e) { showInternalChart(parseInt(e.target.value)); });if (prevBtn) prevBtn.addEventListener('click', function() { showInternalChart(currentChartIndex - 1); });if (nextBtn) nextBtn.addEventListener('click', function() { showInternalChart(currentChartIndex + 1); });}var imageCompareWrappers = chartWrapper.querySelectorAll('.fv-image-compare-wrapper');imageCompareWrappers.forEach(function(wrapper) {var inner = wrapper.querySelector('.fv-image-compare-inner') || wrapper;var slider = wrapper.querySelector('.fv-image-compare-slider');var fgImage = wrapper.querySelector('.fv-image-compare-fg');var bgImage = wrapper.querySelector('.fv-image-compare-bg');var labelLeft = wrapper.querySelector('.fv-image-compare-label-left');var labelRight = wrapper.querySelector('.fv-image-compare-label-right');var isDragging = false;var scale = 1;var panX = 0;var panY = 0;var isPanning = false;var hasPanned = false;var lastClientX = 0;var lastClientY = 0;var initialDistance = null;var lastCenterX = null;var lastCenterY = null;function updateTransform() {if (wrapper.classList.contains('fv-image-compare-fullscreen')) {inner.style.setProperty('transform', 'translate(' + panX + 'px, ' + panY + 'px) scale(' + scale + ')', 'important');} else {inner.style.removeProperty('transform');scale = 1;panX = 0;panY = 0;}}function constrainPan() {var rect = wrapper.getBoundingClientRect();var maxPanX = Math.max(0, (rect.width * scale - rect.width) / 2);var maxPanY = Math.max(0, (rect.height * scale - rect.height) / 2);panX = Math.max(-maxPanX, Math.min(panX, maxPanX));panY = Math.max(-maxPanY, Math.min(panY, maxPanY));}wrapper.addEventListener('wheel', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;e.preventDefault();var zoomSensitivity = 0.005;var zoomFactor = Math.exp(-e.deltaY * zoomSensitivity);var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));if (newScale === scale) return;var rect = wrapper.getBoundingClientRect();var mouseX = e.clientX - rect.left - rect.width / 2;var mouseY = e.clientY - rect.top - rect.height / 2;var ratio = newScale / scale;panX = mouseX - (mouseX - panX) * ratio;panY = mouseY - (mouseY - panY) * ratio;scale = newScale;constrainPan();updateTransform();}, { passive: false });wrapper.addEventListener('mousedown', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen') || scale <= 1) return;if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;isPanning = true;hasPanned = false;lastClientX = e.clientX;lastClientY = e.clientY;});window.addEventListener('mousemove', function(e) {if (!isPanning) return;var dx = e.clientX - lastClientX;var dy = e.clientY - lastClientY;if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {hasPanned = true;}lastClientX = e.clientX;lastClientY = e.clientY;panX += dx;panY += dy;constrainPan();updateTransform();});window.addEventListener('mouseup', function() {isPanning = false;});wrapper.addEventListener('touchstart', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;if (e.touches.length === 2) {e.preventDefault();var dx = e.touches[0].clientX - e.touches[1].clientX;var dy = e.touches[0].clientY - e.touches[1].clientY;initialDistance = Math.sqrt(dx * dx + dy * dy);var rect = wrapper.getBoundingClientRect();lastCenterX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;lastCenterY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;hasPanned = true;} else if (e.touches.length === 1 && scale > 1) {if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;isPanning = true;hasPanned = false;lastClientX = e.touches[0].clientX;lastClientY = e.touches[0].clientY;}}, { passive: false });wrapper.addEventListener('touchmove', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;if (e.touches.length === 2 && initialDistance !== null) {e.preventDefault();var dx = e.touches[0].clientX - e.touches[1].clientX;var dy = e.touches[0].clientY - e.touches[1].clientY;var distance = Math.sqrt(dx * dx + dy * dy);if (initialDistance > 0) {var zoomFactor = distance / initialDistance;var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));var rect = wrapper.getBoundingClientRect();var centerX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;var centerY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;var ratio = newScale / scale;panX = centerX - (centerX - panX) * ratio;panY = centerY - (centerY - panY) * ratio;if (lastCenterX !== null && lastCenterY !== null) {panX += (centerX - lastCenterX);panY += (centerY - lastCenterY);}scale = newScale;lastCenterX = centerX;lastCenterY = centerY;constrainPan();updateTransform();}initialDistance = distance;} else if (e.touches.length === 1 && isPanning) {e.preventDefault();var dx = e.touches[0].clientX - lastClientX;var dy = e.touches[0].clientY - lastClientY;if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {hasPanned = true;}lastClientX = e.touches[0].clientX;lastClientY = e.touches[0].clientY;panX += dx;panY += dy;constrainPan();updateTransform();}}, { passive: false });wrapper.addEventListener('touchend', function(e) {if (e.touches.length < 2) {initialDistance = null;}if (e.touches.length === 0) {isPanning = false;}});function handleMove(clientX) {var rect = inner.getBoundingClientRect();var x = Math.max(0, Math.min(clientX - rect.left, rect.width));var percent = Math.max(0, Math.min((x / rect.width) * 100, 100));if (slider) slider.style.setProperty('left', percent + '%', 'important');if (fgImage) fgImage.style.setProperty('clip-path', 'polygon(0 0, ' + percent + '% 0, ' + percent + '% 100%, 0 100%)', 'important');if (labelLeft) {if (percent < 10) {labelLeft.style.setProperty('opacity', '0', 'important');} else {labelLeft.style.setProperty('opacity', '1', 'important');}}if (labelRight) {if (percent > 90) {labelRight.style.setProperty('opacity', '0', 'important');} else {labelRight.style.setProperty('opacity', '1', 'important');}}}function onMouseMove(e) {if (!isDragging) return;handleMove(e.clientX);}function onTouchMove(e) {if (!isDragging) return;e.preventDefault();handleMove(e.touches[0].clientX);}function stopDragging() {isDragging = false;window.removeEventListener('mousemove', onMouseMove);window.removeEventListener('mouseup', stopDragging);window.removeEventListener('touchmove', onTouchMove);window.removeEventListener('touchend', stopDragging);}if (slider) {var startDrag = function(clientX) {isDragging = true;handleMove(clientX);window.addEventListener('mousemove', onMouseMove);window.addEventListener('mouseup', stopDragging);};var startTouchDrag = function(clientX) {isDragging = true;handleMove(clientX);window.addEventListener('touchmove', onTouchMove, { passive: false });window.addEventListener('touchend', stopDragging);};slider.addEventListener('mousedown', function(e) {e.preventDefault();startDrag(e.clientX);});slider.addEventListener('touchstart', function(e) {e.preventDefault();startTouchDrag(e.touches[0].clientX);}, { passive: false });}var expandBtn = wrapper.querySelector('.fv-image-compare-expand-btn');var closeBtn = wrapper.querySelector('.fv-image-compare-close-btn');if (expandBtn) {if (window !== window.parent) {expandBtn.style.display = 'none';} else {expandBtn.addEventListener('click', function(e) {e.stopPropagation();wrapper.classList.add('fv-image-compare-fullscreen');document.body.style.overflow = 'hidden';if (fgImage && fgImage.dataset.highresSrc) {fgImage.src = fgImage.dataset.highresSrc;fgImage.removeAttribute('srcset');fgImage.removeAttribute('sizes');}if (bgImage && bgImage.dataset.highresSrc) {bgImage.src = bgImage.dataset.highresSrc;bgImage.removeAttribute('srcset');bgImage.removeAttribute('sizes');}});}}if (closeBtn) {closeBtn.addEventListener('click', function(e) {e.stopPropagation();wrapper.classList.remove('fv-image-compare-fullscreen');document.body.style.overflow = '';updateTransform();});}document.addEventListener('keydown', function(e) {if (e.key === 'Escape' && wrapper.classList.contains('fv-image-compare-fullscreen')) {wrapper.classList.remove('fv-image-compare-fullscreen');document.body.style.overflow = '';updateTransform();}});});var hotspots = chartWrapper.querySelectorAll('.fv-stl-hotspot-btn');var allProductsModal = chartWrapper.querySelector('.fv-stl-all-products-modal');var shopAllBtn = chartWrapper.querySelector('.fv-stl-shop-all-btn');var allProductsList = chartWrapper.querySelector('.fv-stl-all-products-list');var stlContainer = chartWrapper.querySelector('.fv-stl-container');function closeAllModals() {if (allProductsModal) {allProductsModal.classList.remove('is-active');var items = allProductsModal.querySelectorAll('.fv-stl-all-products-item');items.forEach(function(item) {item.classList.remove('is-highlighted');});if (stlContainer) {setTimeout(function() {if (!allProductsModal.classList.contains('is-active')) {stlContainer.style.minHeight = '';if ('parentIFrame' in window) {window.parentIFrame.size();}}}, 300);}}hotspots.forEach(function(btn) { btn.setAttribute('aria-expanded', 'false'); });if ('parentIFrame' in window) {window.parentIFrame.size();}}hotspots.forEach(function(btn) {btn.addEventListener('click', function(e) {e.stopPropagation();var hotspotId = btn.getAttribute('data-hotspot-id');var isExpanded = btn.getAttribute('aria-expanded') === 'true';closeAllModals();if (!isExpanded && allProductsModal) {btn.setAttribute('aria-expanded', 'true');allProductsModal.classList.add('is-active');var container = btn.closest('.fv-stl-container');if (container && container.offsetHeight < 450) {container.style.minHeight = '450px';}var targetItem = allProductsModal.querySelector('.fv-stl-all-products-item[data-product-id="' + hotspotId + '"]');if (targetItem) {targetItem.classList.add('is-highlighted');setTimeout(function() {targetItem.scrollIntoView({ behavior: 'smooth', block: 'center' });}, 100);}if ('parentIFrame' in window) {window.parentIFrame.size();}}});});if (shopAllBtn && allProductsModal) {shopAllBtn.addEventListener('click', function(e) {e.stopPropagation();closeAllModals();allProductsModal.classList.add('is-active');var container = shopAllBtn.closest('.fv-stl-container');if (container && container.offsetHeight < 450) {container.style.minHeight = '450px';}if ('parentIFrame' in window) {window.parentIFrame.size();}});}if (allProductsModal) {var closeAllBtn = allProductsModal.querySelector('.fv-stl-all-products-close');if (closeAllBtn) {closeAllBtn.addEventListener('click', function(e) {e.stopPropagation();closeAllModals();});}}chartWrapper.addEventListener('click', function(e) {if (!e.target.closest('.fv-stl-all-products-content')) {closeAllModals();}});if (allProductsModal) {allProductsModal.addEventListener('click', function(e) {if (!e.target.closest('.fv-stl-all-products-content')) {closeAllModals();}});}var iaNodes = chartWrapper.querySelectorAll('.fv-ia-node-button');var iaWrapper = chartWrapper.querySelector('.fv-ia-wrapper');var originalCaption = chartWrapper.querySelector('.fv-original-caption') || captionEl;var dynamicCaption = chartWrapper.querySelector('.fv-ia-dynamic-caption');var exploreBtn = chartWrapper.querySelector('.fv-ia-explore-btn');var currentIaIndex = -1;function closeAllIANodes() {iaNodes.forEach(function(btn) { btn.classList.remove('is-active'); });if (originalCaption) originalCaption.style.display = 'block';if (dynamicCaption) dynamicCaption.style.display = 'none';}function resetExploreBtn() {currentIaIndex = -1;if (exploreBtn) {var exploreSpan = exploreBtn.querySelector('span');if (exploreSpan) exploreSpan.textContent = 'Explore';}}iaNodes.forEach(function(btn, index) {btn.addEventListener('click', function(e) {e.stopPropagation();var isActive = btn.classList.contains('is-active');closeAllIANodes();if (!isActive) {currentIaIndex = index;if (exploreBtn) {var exploreSpan = exploreBtn.querySelector('span');if (exploreSpan) exploreSpan.textContent = 'Next';}btn.classList.add('is-active');if (dynamicCaption) {var title = btn.getAttribute('data-title') || '';var desc = btn.getAttribute('data-desc') || '';dynamicCaption.innerHTML = '';var strongTag = document.createElement('strong');strongTag.textContent = title;dynamicCaption.appendChild(strongTag);if (desc) {dynamicCaption.appendChild(document.createTextNode(' - ' + desc));}if (originalCaption) originalCaption.style.display = 'none';dynamicCaption.style.display = 'block';if (footerContentEl) footerContentEl.style.display = 'block';}} else {resetExploreBtn();}});});if (exploreBtn) {exploreBtn.addEventListener('click', function(e) {e.stopPropagation();if (iaNodes.length === 0) return;var nextIndex = currentIaIndex + 1;if (nextIndex >= iaNodes.length) {closeAllIANodes();resetExploreBtn();} else {currentIaIndex = nextIndex;var targetBtn = iaNodes[currentIaIndex];if (targetBtn) {if(targetBtn.classList.contains('is-active')) {targetBtn.click();}targetBtn.click();}}});}if (iaWrapper) {iaWrapper.addEventListener('click', function(e) {if (!e.target.closest('.fv-ia-node-button') && !e.target.closest('.fv-ia-explore-btn')) {closeAllIANodes();resetExploreBtn();}});}window.fvAnimateCharts(chartWrapper);var countdownContainer = chartWrapper.querySelector('.fv-countdown-container');if (countdownContainer) {var targetDateAttr = countdownContainer.getAttribute('data-target-date');if (targetDateAttr) {var targetDate = new Date(targetDateAttr);var primaryColor = countdownContainer.getAttribute('data-primary-color') || '#f97316';var subheadColor = countdownContainer.getAttribute('data-subhead-color') || '#ffffff';var pad = function(n) { return (n < 10 ? '0' : '') + n; };var updateCountdown = function() {var difference = +targetDate - +new Date();var d = 0, h = 0, m = 0, s = 0;if (difference > 0) {d = Math.floor(difference / (1000 * 60 * 60 * 24));h = Math.floor((difference / (1000 * 60 * 60)) % 24);m = Math.floor((difference / 1000 / 60) % 60);s = Math.floor((difference / 1000) % 60);}var daysEl = countdownContainer.querySelector('[data-time="days"]');var hoursEl = countdownContainer.querySelector('[data-time="hours"]');var minsEl = countdownContainer.querySelector('[data-time="minutes"]');var secsEl = countdownContainer.querySelector('[data-time="seconds"]');if (daysEl) daysEl.textContent = d;if (hoursEl) hoursEl.textContent = pad(h);if (minsEl) minsEl.textContent = pad(m);if (secsEl) secsEl.textContent = pad(s);};updateCountdown();setInterval(updateCountdown, 1000);}}}if (false) {var slideshowContainer = document.getElementById(uniqueId + '-slideshow');if (slideshowContainer) {var slides = slideshowContainer.querySelectorAll('.fv-slide');slides.forEach(function(slide) {setupWrapper(slide.querySelector('.fv-chart-wrapper'));});}} else {setupWrapper(root);}}if (document.readyState === 'loading') {document.addEventListener('DOMContentLoaded', function() { initialize('fv-chart-1789660635467-0b8tnk56l', false); });} else {initialize('fv-chart-1789660635467-0b8tnk56l', false);}})();</script></div><div class="vizualizer-embed"><style>@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap');#fv-chart-1789660646444-sr9dsdz95 *, #fv-chart-1789660646444-sr9dsdz95 *:before, #fv-chart-1789660646444-sr9dsdz95 *:after, #fv-chart-1789660646444-sr9dsdz95-slideshow *, #fv-chart-1789660646444-sr9dsdz95-slideshow *:before, #fv-chart-1789660646444-sr9dsdz95-slideshow *:after {box-sizing: border-box !important; margin: 0; padding: 0; border: 0;font-size: 100%; font: inherit; vertical-align: baseline;}#fv-chart-1789660646444-sr9dsdz95, #fv-chart-1789660646444-sr9dsdz95-slideshow { font-family: 'Open Sans', sans-serif !important; }#fv-chart-1789660646444-sr9dsdz95 {position: relative !important; overflow: visible !important;--riv-primary: #2E6E93;}#fv-chart-1789660646444-sr9dsdz95 .fv-inner-wrapper {color: #1F2937 !important; background-color: #ffffff !important;padding: 1.5rem 1.5rem 2rem !important; border-radius: 0.5rem !important;box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important;margin: 1rem 0 !important; display: flex !important; flex-direction: column !important;overflow: hidden !important;}#fv-chart-1789660646444-sr9dsdz95 .fv-inner-wrapper.fv-no-header.fv-is-image-compare {padding-top: 0 !important;}#fv-chart-1789660646444-sr9dsdz95.fv-full-bleed {width: 100vw !important;margin-left: calc(50% - 50vw) !important;}body {overflow-x: clip !important;}#fv-chart-1789660646444-sr9dsdz95.fv-full-bleed .fv-inner-wrapper {padding: 0 !important;border-radius: 0 !important;box-shadow: none !important;margin: 0 !important;background-color: transparent !important;}#fv-chart-1789660646444-sr9dsdz95 .fv-inner-wrapper.fv-is-shop-the-look {padding: 0 !important;border-radius: 0 !important;box-shadow: none !important;margin: 0 !important;background-color: transparent !important;}#fv-chart-1789660646444-sr9dsdz95-slideshow {position: relative !important;width: 100% !important;margin: 1rem 0 !important;--riv-primary: #2E6E93;}#fv-chart-1789660646444-sr9dsdz95-slideshow .fv-slides-wrapper {position: relative !important;width: 100% !important;}#fv-chart-1789660646444-sr9dsdz95-slideshow .fv-slide {width: 100% !important;animation: fv-fade-in 0.3s ease-in-out;}@keyframes fv-fade-in {from { opacity: 0; }to { opacity: 1; }}#fv-chart-1789660646444-sr9dsdz95-slideshow .fv-slideshow-nav-row {position: relative !important;display: flex !important;justify-content: space-between !important;align-items: center !important;padding: 0 0 16px 0 !important;width: 100% !important;z-index: 20 !important;}#fv-chart-1789660646444-sr9dsdz95-slideshow .fv-nav-btn {background-color: var(--riv-primary) !important;color: #ffffff !important;border: none !important;border-radius: 4px !important;padding: 8px 16px !important;font-size: 14px !important;font-weight: 700 !important;cursor: pointer !important;display: flex !important;align-items: center !important;justify-content: center !important;gap: 6px !important;transition: opacity 0.2s, background-color 0.2s !important;height: 36px !important;text-transform: none !important;box-shadow: 0 1px 2px rgba(0,0,0,0.1) !important;}#fv-chart-1789660646444-sr9dsdz95-slideshow .fv-nav-btn svg {width: 18px !important;height: 18px !important;stroke-width: 3px !important;filter: none !important;}#fv-chart-1789660646444-sr9dsdz95-slideshow .fv-nav-btn:hover {opacity: 0.9 !important;transform: translateY(-1px) !important;}#fv-chart-1789660646444-sr9dsdz95-slideshow .fv-nav-btn.disabled {background-color: #E5E7EB !important;color: #9CA3AF !important;cursor: default !important;pointer-events: none !important;box-shadow: none !important;}#fv-chart-1789660646444-sr9dsdz95-slideshow .fv-slide-counter {font-family: 'Poppins', sans-serif !important;font-size: 14px !important;font-weight: 600 !important;color: #374151 !important;text-align: center !important;min-width: 40px !important;background-color: rgba(255,255,255,0.8) !important;padding: 2px 8px !important;border-radius: 10px !important;}#fv-chart-1789660646444-sr9dsdz95-slideshow .fv-slideshow-select {position: absolute !important;top: 10px !important;right: 10px !important;z-index: 20 !important;appearance: none !important;-webkit-appearance: none !important;-moz-appearance: none !important;background-color: white !important;border: 1px solid #d1d5db !important;color: #1F2937 !important;font-family: 'Open Sans', sans-serif !important;font-size: 14px !important;font-weight: 600 !important;padding: 6px 32px 6px 12px !important;border-radius: 4px !important;cursor: pointer !important;box-shadow: 0 1px 2px rgba(0,0,0,0.05) !important;background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e") !important;background-position: right 0.5rem center !important;background-repeat: no-repeat !important;background-size: 1.5em 1.5em !important;}#fv-chart-1789660646444-sr9dsdz95-slideshow .fv-slideshow-select:focus {outline: 2px solid #2E6E93 !important;border-color: #2E6E93 !important;}#fv-chart-1789660646444-sr9dsdz95 .fv-chart-title {font-weight: bold !important;text-align: center !important;margin-bottom: 0.5rem !important;color: var(--riv-primary) !important;font-size: 20px !important;line-height: 1.2 !important;font-family: 'Open Sans', sans-serif !important;text-transform: none !important;white-space: normal !important;overflow-wrap: break-word !important;padding: 0 20px !important;}#fv-chart-1789660646444-sr9dsdz95 .fv-chart-subhead {font-size: 18px !important;font-weight: 500 !important;text-align: center !important;margin-bottom: 2rem !important;color: #374151 !important;line-height: 1.7 !important;font-family: 'Open Sans', sans-serif !important;display: block !important;text-transform: none !important;padding: 0 20px !important;}#fv-chart-1789660646444-sr9dsdz95 .rv-chart-caption { font-size: 15px !important; color: #374151 !important; text-align: center !important; font-style: normal !important; font-weight: normal !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-versus-chart { display: flex; flex-direction: column; width: 100%; margin-top: 1rem; }#fv-chart-1789660646444-sr9dsdz95 .fv-versus-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding: 0 1rem; }#fv-chart-1789660646444-sr9dsdz95 .fv-versus-select-wrapper { flex: 1; min-width: 0; }#fv-chart-1789660646444-sr9dsdz95 .fv-versus-select-wrapper.fv-left { text-align: center; padding-right: 1rem; }#fv-chart-1789660646444-sr9dsdz95 .fv-versus-select-wrapper.fv-right { text-align: center; padding-left: 1rem; }#fv-chart-1789660646444-sr9dsdz95 .fv-versus-select-container { position: relative; display: inline-block; max-width: 100%; width: 100%; }#fv-chart-1789660646444-sr9dsdz95 .fv-versus-chevron { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; width: 16px; height: 16px; flex-shrink: 0; }#fv-chart-1789660646444-sr9dsdz95 .fv-versus-select-wrapper.fv-left .fv-versus-chevron { right: 0; }#fv-chart-1789660646444-sr9dsdz95 .fv-versus-select-wrapper.fv-right .fv-versus-chevron { right: 0; }#fv-chart-1789660646444-sr9dsdz95 .fv-versus-select { background: transparent; border: none; border-bottom: 2px solid; font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; padding: 0.25rem 0; cursor: pointer; outline: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; max-width: 100%; width: 100%; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; }#fv-chart-1789660646444-sr9dsdz95 .fv-versus-select.fv-select-left { text-align: center; direction: ltr; padding-right: 1.25rem; }#fv-chart-1789660646444-sr9dsdz95 .fv-versus-select.fv-select-right { text-align: center; padding-right: 1.25rem; }#fv-chart-1789660646444-sr9dsdz95 .fv-versus-select option { font-family: 'Open Sans', sans-serif; font-weight: 400; font-size: 14px; color: #374151; direction: ltr; text-align: left; }#fv-chart-1789660646444-sr9dsdz95 .fv-versus-vs { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; color: #374151; letter-spacing: 0.1em; padding: 0 1rem; }#fv-chart-1789660646444-sr9dsdz95 .fv-versus-body { display: flex; flex-direction: column; gap: 1.5rem; }#fv-chart-1789660646444-sr9dsdz95 .fv-versus-row { position: relative; height: auto; padding-top: 20px; margin-bottom: 0.25rem; display: block; }#fv-chart-1789660646444-sr9dsdz95 .fv-versus-bar-container { position: relative; height: 32px; display: flex; align-items: center; }#fv-chart-1789660646444-sr9dsdz95 .fv-versus-bar-left-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-end; align-items: center; }#fv-chart-1789660646444-sr9dsdz95 .fv-versus-bar-right-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-start; align-items: center; }#fv-chart-1789660646444-sr9dsdz95 .fv-versus-bar { height: 32px; width: var(--target-width); transition: width 0.8s ease-out; animation: fv-grow-max-width 0.8s ease-out forwards; display: flex; align-items: center; overflow: hidden; color: #ffffff; }#fv-chart-1789660646444-sr9dsdz95 .fv-versus-bar-left { border-radius: 4px 0 0 4px; justify-content: flex-end; padding: 0 8px; }#fv-chart-1789660646444-sr9dsdz95 .fv-versus-bar-right { border-radius: 0 4px 4px 0; justify-content: flex-start; padding: 0 8px; }@keyframes fv-grow-max-width {from { max-width: 0; }to { max-width: 100%; }}#fv-chart-1789660646444-sr9dsdz95 .fv-versus-center-line { position: absolute; left: 50%; top: 0; bottom: 0; width: 4px; background-color: #ffffff; transform: translateX(-50%); z-index: 1; }#fv-chart-1789660646444-sr9dsdz95 .fv-inside-left { white-space: nowrap; flex-shrink: 0; }#fv-chart-1789660646444-sr9dsdz95 .fv-inside-right { white-space: nowrap; flex-shrink: 0; }#fv-chart-1789660646444-sr9dsdz95 .fv-versus-val-text { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; }#fv-chart-1789660646444-sr9dsdz95 .fv-versus-pct-diff { font-size: 12px; font-weight: 600; }#fv-chart-1789660646444-sr9dsdz95 .fv-versus-label { position: absolute; left: 50%; transform: translateX(-50%); top: 0; background-color: transparent; border: none; box-shadow: none; padding: 0; font-family: 'Open Sans', sans-serif; font-weight: 700; font-size: 14px; color: #374151; white-space: nowrap; }#fv-chart-1789660646444-sr9dsdz95 .sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-image-compare-container { width: auto !important; margin-left: -1.5rem !important; margin-right: -1.5rem !important; margin-bottom: 2rem !important; }#fv-chart-1789660646444-sr9dsdz95.fv-full-bleed .fv-image-compare-container { width: 100% !important; max-width: none !important; margin: 0 auto !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-image-compare-wrapper { position: relative !important; width: 100% !important; overflow: hidden !important; border-radius: 0 !important; background-color: #000 !important; touch-action: pan-y !important; user-select: none !important; -webkit-user-select: none !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-image-compare-inner { position: relative !important; width: 100% !important; height: 100% !important; display: block !important; transform-origin: center center !important; transition: transform 0.1s ease-out !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-image-compare-bg { display: block !important; width: 100% !important; height: auto !important; pointer-events: none !important; user-select: none !important; -webkit-user-select: none !important; -webkit-user-drag: none !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-image-compare-fg { position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; object-fit: cover !important; clip-path: polygon(0 0, 50% 0, 50% 100%, 0 100%) !important; pointer-events: none !important; user-select: none !important; -webkit-user-select: none !important; -webkit-user-drag: none !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-image-compare-slider { position: absolute !important; top: 0 !important; bottom: 0 !important; left: 50% !important; width: 32px !important; transform: translateX(-50%) !important; cursor: ew-resize !important; z-index: 10 !important; user-select: none !important; -webkit-user-select: none !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-image-compare-slider-line { position: absolute !important; top: 0 !important; bottom: 0 !important; left: 50% !important; width: 4px !important; background-color: white !important; transform: translateX(-50%) !important; box-shadow: 0 0 10px rgba(0,0,0,0.5) !important; pointer-events: none !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-image-compare-handle { position: absolute !important; top: 50% !important; left: 50% !important; transform: translate(-50%, -50%) !important; width: 32px !important; height: 32px !important; background-color: white !important; border-radius: 50% !important; box-shadow: 0 2px 6px rgba(0,0,0,0.3) !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 4px !important; pointer-events: none !important; z-index: 11 !important; overflow: hidden !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-image-compare-handle.fv-image-compare-handle-square { border-radius: 6px !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-image-compare-arrow-left { width: 0 !important; height: 0 !important; border-top: 4px solid transparent !important; border-bottom: 4px solid transparent !important; border-right: 4px solid #4b5563 !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-image-compare-arrow-right { width: 0 !important; height: 0 !important; border-top: 4px solid transparent !important; border-bottom: 4px solid transparent !important; border-left: 4px solid #4b5563 !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-image-compare-label { position: absolute !important; top: 1rem !important; background-color: rgba(0, 0, 0, 0.5) !important; color: white !important; padding: 0.25rem 0.75rem !important; border-radius: 0.25rem !important; font-size: 0.875rem !important; font-weight: 500 !important; pointer-events: none !important; backdrop-filter: blur(4px) !important; z-index: 5 !important; transition: right 0.3s ease, opacity 0.2s ease !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-image-compare-label-left { left: 1rem !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-image-compare-label-right { right: 1rem !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-image-compare-expand-btn, #fv-chart-1789660646444-sr9dsdz95 .fv-image-compare-close-btn { position: absolute !important; bottom: 1rem !important; right: 1rem !important; background-color: rgba(0, 0, 0, 0.5) !important; color: white !important; border: none !important; border-radius: 0.25rem !important; padding: 0.5rem !important; cursor: pointer !important; z-index: 20 !important; display: flex !important; align-items: center !important; justify-content: center !important; backdrop-filter: blur(4px) !important; transition: background-color 0.2s !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-image-compare-expand-btn:hover, #fv-chart-1789660646444-sr9dsdz95 .fv-image-compare-close-btn:hover { background-color: rgba(0, 0, 0, 0.7) !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-image-compare-close-btn { display: none !important; top: 1rem !important; bottom: auto !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-image-compare-wrapper.fv-image-compare-fullscreen { position: fixed !important; top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important; width: 100% !important; height: 100% !important; z-index: 999999 !important; display: flex !important; align-items: center !important; justify-content: center !important; background-color: rgba(0, 0, 0, 0.9) !important; margin: 0 !important; touch-action: none !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-inner { width: 100% !important; height: 100% !important; display: flex !important; align-items: center !important; justify-content: center !important; cursor: grab !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-inner:active { cursor: grabbing !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-bg { position: absolute !important; top: 0 !important; left: 0 !important; max-width: 100% !important; max-height: 100% !important; width: 100% !important; height: 100% !important; object-fit: contain !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-fg { max-width: 100% !important; max-height: 100% !important; width: 100% !important; height: 100% !important; object-fit: contain !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-expand-btn { display: none !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-close-btn { display: flex !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-label-right { right: 4rem !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-footer-content { text-align: center !important; width: 100% !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-logo {display: block !important;margin: 0 auto !important;width: 120px !important;min-width: 120px !important;max-width: 120px !important;height: auto !important;object-fit: contain !important;flex-shrink: 0 !important;}#fv-chart-1789660646444-sr9dsdz95 .fv-dropdown-wrapper { text-align: center !important; margin-bottom: 16px !important; margin-top: 0 !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-dropdown-title-container { position: relative !important; display: inline-block !important; max-width: 100% !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-dropdown-title {appearance: none !important;-webkit-appearance: none !important;-moz-appearance: none !important;background: transparent !important;border: none !important;font-size: 18px !important;font-weight: 600 !important;color: var(--riv-primary) !important;padding-right: 28px !important;padding-left: 10px !important;cursor: pointer !important;text-align: center !important;text-align-last: center !important;width: auto !important;max-width: 100% !important;font-family: 'Open Sans', sans-serif !important;line-height: 1.3 !important;margin: 0 !important;text-overflow: ellipsis !important;overflow: hidden !important;white-space: nowrap !important;}#fv-chart-1789660646444-sr9dsdz95 .fv-dropdown-title:focus { outline: none !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-dropdown-title::-ms-expand { display: none !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-dropdown-chevron {position: absolute !important;right: 0 !important;top: 50% !important;transform: translateY(-50%) !important;pointer-events: none !important;color: var(--riv-primary) !important;display: flex !important;align-items: center !important;}#fv-chart-1789660646444-sr9dsdz95 .fv-carousel-title-controls { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 16px !important; width: 100% !important; gap: 12px !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-carousel-nav-btn {background: transparent !important; border: 1px solid #d1d5db !important; border-radius: 6px !important; padding: 6px 10px !important;cursor: pointer !important; font-size: 14px !important; color: #374151 !important; display: flex !important; align-items: center !important; gap: 4px !important; font-family: 'Open Sans', sans-serif !important;}#fv-chart-1789660646444-sr9dsdz95 .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-carousel-counter { font-size: 14px !important; color: #374151 !important; text-align: center !important; margin-top: 1rem !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 8px 16px !important; margin: 0 !important; padding: 0 !important; margin-top: 1rem !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #374151 !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-multi-value-legend {display: flex !important;justify-content: center !important;flex-wrap: wrap !important;gap: 12px 24px !important;margin-bottom: 1.5rem !important;padding: 0 !important;}#fv-chart-1789660646444-sr9dsdz95 .fv-multi-legend-item { display: flex !important; align-items: center !important; gap: 8px !important; font-size: 14px !important; color: #374151 !important; font-weight: 500 !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-multi-legend-swatch { width: 16px !important; height: 16px !important; border-radius: 3px !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-benchmark-group { margin-bottom: 1rem !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-benchmark-title {font-size: 18px !important; font-weight: 600 !important; margin-bottom: 16px !important; margin-top: 0 !important; padding: 0 !important;text-align: center !important; color: var(--riv-primary) !important; flex: 1 !important; min-width: 0 !important;font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important;text-transform: none !important;white-space: normal !important;overflow-wrap: break-word !important;word-wrap: break-word !important;max-width: 100% !important;}#fv-chart-1789660646444-sr9dsdz95 .fv-bar-row, #fv-chart-1789660646444-sr9dsdz95 .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; position: relative !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-bar-label { width: 150px !important; flex-shrink: 0 !important; font-size: 14px !important; color: #374151 !important; padding-right: 10px !important; text-align: right !important; font-weight: 500 !important; display: block !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-bar-container { flex-grow: 1 !important; background-color: #E5E7EB !important; border-radius: 4px !important; min-height: 25px !important; border: 1px solid #D1D5DB !important; position: relative !important; display: flex !important; align-items: center !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-bar-commentary-inline { display: none !important; position: absolute !important; left: 150px !important; top: 0 !important; bottom: 0 !important; right: 0 !important; width: calc(100% - 150px) !important; margin: 0 !important; padding: 0 8px !important; font-size: 13px !important; color: #fff !important; background: rgba(0,0,0,0.8) !important; border-radius: 4px !important; line-height: 1.4 !important; font-weight: normal !important; text-transform: none !important; word-wrap: break-word !important; z-index: 10 !important; align-items: center !important; overflow-y: auto !important; }#fv-chart-1789660646444-sr9dsdz95.preview-wrapper .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1789660646444-sr9dsdz95.preview-wrapper .fv-bar-commentary-inline:focus, #fv-chart-1789660646444-sr9dsdz95.preview-wrapper .fv-bar-commentary-inline:focus-within, #fv-chart-1789660646444-sr9dsdz95.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1789660646444-sr9dsdz95.mobile-view .fv-bar-commentary-inline:focus, #fv-chart-1789660646444-sr9dsdz95.mobile-view .fv-bar-commentary-inline:focus-within { display: flex !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-bar { height: 100% !important; border-radius: 3px !important; display: flex !important; align-items: center !important; transition: opacity 0.2s ease, width 0.8s ease-out !important; min-height: 23px !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-bar:hover { opacity: 0.8 !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-bar-inner-content { display: flex !important; justify-content: space-between !important; align-items: center !important; width: 100% !important; height: 100% !important; padding: 0 8px !important; font-size: 14px !important; font-weight: bold !important; overflow: hidden !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-bar-inner-value { flex-shrink: 0 !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-bar-value-outside { padding-left: 8px !important; font-size: 14px !important; font-weight: bold !important; color: #374151 !important; white-space: nowrap !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-multi-bar-container { flex-direction: column !important; padding: 4px !important; align-items: stretch !important; gap: 4px !important; height: auto !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-multi-bar-item { display: flex !important; align-items: center !important; height: 25px !important; width: 100% !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-stacked-bar { display: flex !important; overflow: hidden !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-stacked-segment { height: 100% !important; display: flex !important; align-items: center !important; justify-content: flex-end !important; padding-right: 8px !important; border-right: 1px solid rgba(255,255,255,0.3) !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-stacked-segment:last-child { border-right: none !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-segment-value { font-size: 14px !important; font-weight: bold !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-grouped-product-title-wrapper { padding-left: 150px !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.5rem !important; font-weight: 700 !important; font-size: 14px !important; color: #374151 !important; text-transform: none !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-bar-cluster .fv-bar-container { height: 20px !important; }#fv-chart-1789660646444-sr9dsdz95 .riv-grid line {stroke: #D1D5DB !important;stroke-dasharray: 3 3 !important;}#fv-chart-1789660646444-sr9dsdz95 .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-x-axis-ticks { display: flex !important; justify-content: space-between !important; padding-top: 4px !important; font-size: 13px !important; color: #374151 !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-x-axis-ticks span { position: relative !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-x-axis-ticks span::before { content: '' !important; position: absolute !important; top: -6px !important; left: 50% !important; transform: translateX(-50%) !important; width: 2px !important; height: 4px !important; background-color: #D1D5DB !important; border-radius: 1px !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #374151 !important; margin-top: 8px !important; display: block !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-x-axis-title { text-align: center !important; font-size: 15px !important; color: #374151 !important; margin-top: 8px !important; margin-bottom: 16px !important; line-height: 1.5 !important; padding: 0 1rem !important; display: block !important; font-weight: bold !important; }#fv-chart-1789660646444-sr9dsdz95 .fv-y-axis-title {font-size: 15px !important;color: #374151 !important;line-height: 1.5 !important;text-align: left !important;padding-left: 5.83% !important;margin-bottom: 4px !important;display: block !important;font-weight: bold !important;}#fv-chart-1789660646444-sr9dsdz95.mobile-view .fv-pie-container,#fv-chart-1789660646444-sr9dsdz95.labels-on-top .fv-pie-container {flex-direction: column !important; gap: 1rem !important;}#fv-chart-1789660646444-sr9dsdz95.mobile-view .fv-grouped-product-title-wrapper,#fv-chart-1789660646444-sr9dsdz95.labels-on-top .fv-grouped-product-title-wrapper {padding-left: 0 !important;}#fv-chart-1789660646444-sr9dsdz95.mobile-view .fv-bar-row,#fv-chart-1789660646444-sr9dsdz95.mobile-view .fv-stacked-product,#fv-chart-1789660646444-sr9dsdz95.mobile-view .fv-grouped-bar-product,#fv-chart-1789660646444-sr9dsdz95.labels-on-top .fv-bar-row,#fv-chart-1789660646444-sr9dsdz95.labels-on-top .fv-stacked-product,#fv-chart-1789660646444-sr9dsdz95.labels-on-top .fv-grouped-bar-product {flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important;}#fv-chart-1789660646444-sr9dsdz95.mobile-view .fv-bar-label:not(.fv-grouped-product-title),#fv-chart-1789660646444-sr9dsdz95.labels-on-top .fv-bar-label:not(.fv-grouped-product-title) {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1789660646444-sr9dsdz95.mobile-view .fv-bar-label,#fv-chart-1789660646444-sr9dsdz95.mobile-view .fv-grouped-product-title,#fv-chart-1789660646444-sr9dsdz95.labels-on-top .fv-bar-label,#fv-chart-1789660646444-sr9dsdz95.labels-on-top .fv-grouped-product-title {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1789660646444-sr9dsdz95.mobile-view .fv-bar-container,#fv-chart-1789660646444-sr9dsdz95.mobile-view .fv-bar-cluster,#fv-chart-1789660646444-sr9dsdz95.labels-on-top .fv-bar-container,#fv-chart-1789660646444-sr9dsdz95.labels-on-top .fv-bar-cluster {width: 100% !important;}#fv-chart-1789660646444-sr9dsdz95.mobile-view .fv-bar-row .fv-bar-commentary-inline,#fv-chart-1789660646444-sr9dsdz95.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline,#fv-chart-1789660646444-sr9dsdz95.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus,#fv-chart-1789660646444-sr9dsdz95.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus-within,#fv-chart-1789660646444-sr9dsdz95.labels-on-top .fv-bar-row .fv-bar-commentary-inline,#fv-chart-1789660646444-sr9dsdz95.labels-on-top .fv-bar-row:hover .fv-bar-commentary-inline,#fv-chart-1789660646444-sr9dsdz95.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus,#fv-chart-1789660646444-sr9dsdz95.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus-within {position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important;}#fv-chart-1789660646444-sr9dsdz95.mobile-view .fv-x-axis-wrapper,#fv-chart-1789660646444-sr9dsdz95.labels-on-top .fv-x-axis-wrapper {margin-left: 0 !important;}#fv-chart-1789660646444-sr9dsdz95.mobile-view .fv-x-axis-label-space,#fv-chart-1789660646444-sr9dsdz95.labels-on-top .fv-x-axis-label-space {display: none !important;}#fv-chart-1789660646444-sr9dsdz95.mobile-view .fv-x-axis-chart-space,#fv-chart-1789660646444-sr9dsdz95.labels-on-top .fv-x-axis-chart-space {padding-right: 0 !important;}#fv-chart-1789660646444-sr9dsdz95.mobile-view .fv-benchmark-title,#fv-chart-1789660646444-sr9dsdz95.labels-on-top .fv-benchmark-title {font-size: 16px !important;}#fv-chart-1789660646444-sr9dsdz95.mobile-view .fv-dropdown-title,#fv-chart-1789660646444-sr9dsdz95.labels-on-top .fv-dropdown-title {font-size: 16px !important;}#fv-chart-1789660646444-sr9dsdz95.mobile-view .fv-carousel-nav-btn,#fv-chart-1789660646444-sr9dsdz95.labels-on-top .fv-carousel-nav-btn {padding: 8px 12px !important; font-size: 14px !important;}#fv-chart-1789660646444-sr9dsdz95.mobile-view .fv-chart-title,#fv-chart-1789660646444-sr9dsdz95.labels-on-top .fv-chart-title {padding: 0 8px !important;}#fv-chart-1789660646444-sr9dsdz95.mobile-view .fv-chart-subhead,#fv-chart-1789660646444-sr9dsdz95.labels-on-top .fv-chart-subhead {padding: 0 8px !important;}#fv-chart-1789660646444-sr9dsdz95.mobile-view .fv-versus-header,#fv-chart-1789660646444-sr9dsdz95.labels-on-top .fv-versus-header {flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important;}#fv-chart-1789660646444-sr9dsdz95.mobile-view .fv-versus-select-wrapper,#fv-chart-1789660646444-sr9dsdz95.labels-on-top .fv-versus-select-wrapper {flex: 1 !important; min-width: 0 !important; width: 100% !important;}#fv-chart-1789660646444-sr9dsdz95.mobile-view .fv-versus-select-wrapper.fv-left,#fv-chart-1789660646444-sr9dsdz95.labels-on-top .fv-versus-select-wrapper.fv-left {text-align: center !important; padding-right: 0 !important;}#fv-chart-1789660646444-sr9dsdz95.mobile-view .fv-versus-select-wrapper.fv-right,#fv-chart-1789660646444-sr9dsdz95.labels-on-top .fv-versus-select-wrapper.fv-right {text-align: center !important; padding-left: 0 !important;}#fv-chart-1789660646444-sr9dsdz95.mobile-view .fv-versus-select.fv-select-left,#fv-chart-1789660646444-sr9dsdz95.labels-on-top .fv-versus-select.fv-select-left {text-align: center !important;}#fv-chart-1789660646444-sr9dsdz95.mobile-view .fv-versus-select.fv-select-right,#fv-chart-1789660646444-sr9dsdz95.labels-on-top .fv-versus-select.fv-select-right {text-align: center !important;}#fv-chart-1789660646444-sr9dsdz95.mobile-view .fv-versus-vs,#fv-chart-1789660646444-sr9dsdz95.labels-on-top .fv-versus-vs {text-align: center !important; padding: 0.25rem 0 !important;}#fv-chart-1789660646444-sr9dsdz95.mobile-view .fv-versus-select-container,#fv-chart-1789660646444-sr9dsdz95.labels-on-top .fv-versus-select-container {max-width: 100% !important; width: 100% !important;}#fv-chart-1789660646444-sr9dsdz95.mobile-view .fv-versus-select,#fv-chart-1789660646444-sr9dsdz95.labels-on-top .fv-versus-select {font-size: 14px !important; width: 100% !important;}#fv-chart-1789660646444-sr9dsdz95.mobile-view .fv-stl-shop-all-btn,#fv-chart-1789660646444-sr9dsdz95.labels-on-top .fv-stl-shop-all-btn {bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important;}#fv-chart-1789660646444-sr9dsdz95.mobile-view .fv-stl-shop-all-logo,#fv-chart-1789660646444-sr9dsdz95.mobile-view .fv-stl-shop-all-icon,#fv-chart-1789660646444-sr9dsdz95.labels-on-top .fv-stl-shop-all-logo,#fv-chart-1789660646444-sr9dsdz95.labels-on-top .fv-stl-shop-all-icon {width: 2rem !important; height: 2rem !important;}#fv-chart-1789660646444-sr9dsdz95.mobile-view .fv-stl-shop-all-icon svg,#fv-chart-1789660646444-sr9dsdz95.labels-on-top .fv-stl-shop-all-icon svg {width: 14px !important; height: 14px !important;}#fv-chart-1789660646444-sr9dsdz95.mobile-view .fv-bar-commentary-inline,#fv-chart-1789660646444-sr9dsdz95.labels-on-top .fv-bar-commentary-inline {display: block !important; margin-left: 0 !important; width: 100% !important;}#fv-chart-1789660646444-sr9dsdz95.mobile-view .fv-y-axis-title { padding-left: 5% !important;  }#fv-chart-1789660646444-sr9dsdz95.mobile-view.fv-contains-line-chart .fv-footer-content {margin-left: -1rem !important;margin-right: -1rem !important;}@media (max-width: 599px) {#fv-chart-1789660646444-sr9dsdz95 .fv-pie-container {flex-direction: column !important; gap: 1rem !important;}#fv-chart-1789660646444-sr9dsdz95 .fv-grouped-product-title-wrapper {padding-left: 0 !important;}#fv-chart-1789660646444-sr9dsdz95 .fv-bar-row,#fv-chart-1789660646444-sr9dsdz95 .fv-stacked-product,#fv-chart-1789660646444-sr9dsdz95 .fv-grouped-bar-product {flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important;}#fv-chart-1789660646444-sr9dsdz95 .fv-bar-label:not(.fv-grouped-product-title) {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1789660646444-sr9dsdz95 .fv-bar-label,#fv-chart-1789660646444-sr9dsdz95 .fv-grouped-product-title {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1789660646444-sr9dsdz95 .fv-bar-container,#fv-chart-1789660646444-sr9dsdz95 .fv-bar-cluster {width: 100% !important;}#fv-chart-1789660646444-sr9dsdz95 .fv-bar-row .fv-bar-commentary-inline,#fv-chart-1789660646444-sr9dsdz95 .fv-bar-row:hover .fv-bar-commentary-inline,#fv-chart-1789660646444-sr9dsdz95 .fv-bar-row .fv-bar-commentary-inline:focus,#fv-chart-1789660646444-sr9dsdz95 .fv-bar-row .fv-bar-commentary-inline:focus-within {position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important;}#fv-chart-1789660646444-sr9dsdz95 .fv-x-axis-wrapper {margin-left: 0 !important;}#fv-chart-1789660646444-sr9dsdz95 .fv-x-axis-label-space {display: none !important;}#fv-chart-1789660646444-sr9dsdz95 .fv-x-axis-chart-space {padding-right: 0 !important;}#fv-chart-1789660646444-sr9dsdz95 .fv-benchmark-title {font-size: 16px !important;}#fv-chart-1789660646444-sr9dsdz95 .fv-dropdown-title {font-size: 16px !important;}#fv-chart-1789660646444-sr9dsdz95 .fv-carousel-nav-btn {padding: 8px 12px !important; font-size: 14px !important;}#fv-chart-1789660646444-sr9dsdz95 .fv-chart-title {padding: 0 8px !important;}#fv-chart-1789660646444-sr9dsdz95 .fv-chart-subhead {padding: 0 8px !important;}#fv-chart-1789660646444-sr9dsdz95 .fv-versus-header {flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important;}#fv-chart-1789660646444-sr9dsdz95 .fv-versus-select-wrapper {flex: 1 !important; min-width: 0 !important; width: 100% !important;}#fv-chart-1789660646444-sr9dsdz95 .fv-versus-select-wrapper.fv-left {text-align: center !important; padding-right: 0 !important;}#fv-chart-1789660646444-sr9dsdz95 .fv-versus-select-wrapper.fv-right {text-align: center !important; padding-left: 0 !important;}#fv-chart-1789660646444-sr9dsdz95 .fv-versus-select.fv-select-left {text-align: center !important;}#fv-chart-1789660646444-sr9dsdz95 .fv-versus-select.fv-select-right {text-align: center !important;}#fv-chart-1789660646444-sr9dsdz95 .fv-versus-vs {text-align: center !important; padding: 0.25rem 0 !important;}#fv-chart-1789660646444-sr9dsdz95 .fv-versus-select-container {max-width: 100% !important; width: 100% !important;}#fv-chart-1789660646444-sr9dsdz95 .fv-versus-select {font-size: 14px !important; width: 100% !important;}#fv-chart-1789660646444-sr9dsdz95 .fv-stl-shop-all-btn {bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important;}#fv-chart-1789660646444-sr9dsdz95 .fv-stl-shop-all-logo,#fv-chart-1789660646444-sr9dsdz95 .fv-stl-shop-all-icon {width: 2rem !important; height: 2rem !important;}#fv-chart-1789660646444-sr9dsdz95 .fv-stl-shop-all-icon svg {width: 14px !important; height: 14px !important;}#fv-chart-1789660646444-sr9dsdz95 .fv-bar-commentary-inline {display: block !important; margin-left: 0 !important; width: 100% !important;}#fv-chart-1789660646444-sr9dsdz95 .fv-y-axis-title { padding-left: 5% !important;  }#fv-chart-1789660646444-sr9dsdz95.fv-contains-line-chart .fv-footer-content {margin-left: -1rem !important;margin-right: -1rem !important;}}</style><script type="application/ld+json">{"@context": "https://schema.org","@type": "Dataset","name": "Hard floor cleaning test","description": "Vacuuming crumbs from hard floor using Eufy Omni E35","creator": {"@type": "Organization","name": "TechRadar","logo": "https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png"},"isAccessibleForFree": true,"dateCreated": "2026-09-17T15:57:26.444Z","citation": "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized","keywords": ["Image Comparison","benchmark","comparison","performance","review","TechRadar"],"measurementTechnique": "Performance Benchmarking","variableMeasured": []}</script><div id="fv-chart-1789660646444-sr9dsdz95" class="fv-chart-wrapper   " data-bar-labels-on-top="false" data-iframe-height="true" data-vizualizer-embed="true"><div class="fv-inner-wrapper  fv-is-image-compare  "><h3 class="fv-chart-title">Hard floor cleaning test</h3><p class="fv-chart-subhead">Vacuuming crumbs from hard floor using Eufy Omni E35</p><div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1789660646444-sr9dsdz95-image-compare-1" data-chart-type="Image Comparison" data-title="Image Comparison" data-subhead="Vacuuming crumbs from hard floor using Eufy Omni E35" data-caption="" style=""><div class="fv-benchmark-group"><div class="fv-image-compare-container"><div class="fv-image-compare-wrapper" data-image-compare="true"><div class="fv-image-compare-inner"><img src="https://cdn.mos.cms.futurecdn.net/HKqcgwBNo6BdQZw5hg7CWe.jpg" data-highres-src="https://cdn.mos.cms.futurecdn.net/HKqcgwBNo6BdQZw5hg7CWe.jpg" alt="After" class="fv-image-compare-bg" loading="lazy" referrerpolicy="no-referrer" draggable="false" /><img src="https://cdn.mos.cms.futurecdn.net/ExaAxwKBXgFzbAJP7sSSSe.jpg" data-highres-src="https://cdn.mos.cms.futurecdn.net/ExaAxwKBXgFzbAJP7sSSSe.jpg" alt="Before" class="fv-image-compare-fg" loading="lazy" referrerpolicy="no-referrer" draggable="false" /><div class="fv-image-compare-slider"><div class="fv-image-compare-slider-line"></div><div class="fv-image-compare-handle "><img src="https://proof.vanilla.tools/media/images/brandLogos/techradar.png" alt="Brand Logo" style="width: 100%; height: 100%; object-fit: cover;" /></div></div></div><div class="fv-image-compare-label fv-image-compare-label-left">Before</div><div class="fv-image-compare-label fv-image-compare-label-right">After</div><button class="fv-image-compare-expand-btn" aria-label="Expand Image"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 8V4h4"/><path d="M20 8V4h-4"/><path d="M4 16v4h4"/><path d="M20 16v4h-4"/><circle cx="11.5" cy="11.5" r="3.5"/><path d="m14 14 3 3"/></svg></button><button class="fv-image-compare-close-btn" aria-label="Close Fullscreen"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg></button></div></div></div></div></div><div class="fv-bottom-bar"><div class="fv-footer-content" style="display: none;"><div class="rv-chart-caption" style="display: block;"><span class="fv-original-caption" style="display: block;"></span><span class="fv-ia-dynamic-caption" style="display: none;"></span></div></div><div class="fv-logo-explore-bar"><img class="fv-logo" src="https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png" alt="TechRadar Logo"></div></div></div></div><script>window.iFrameResizer = {heightCalculationMethod: 'taggedElement'};</script><script src="https://cdnjs.cloudflare.com/ajax/libs/iframe-resizer/4.2.11/iframeResizer.contentWindow.min.js" async></script><script>(function() {window.fvAnimateCharts = function(chartWrapper) {if (!chartWrapper) return;function animateBars(chartElement) {if (!chartElement) return;var bars = chartElement.querySelectorAll('.fv-bar, .fv-stacked-segment');bars.forEach(function(bar, index) {bar.style.setProperty('width', '0%', 'important');bar.style.setProperty('transition', 'none', 'important');var targetWidth = bar.dataset.targetWidth;if (targetWidth === undefined) return;void bar.offsetWidth;var targetMargin = bar.dataset.targetMargin;var baseMargin = bar.dataset.baseMargin;if (baseMargin !== undefined) {bar.style.setProperty('margin-left', baseMargin + '%', 'important');}setTimeout(function() {var marginTransition = baseMargin !== undefined ? ', margin-left 0.8s ease-out' : '';bar.style.setProperty('transition', 'opacity 0.2s ease, width 0.8s ease-out' + marginTransition, 'important');bar.style.setProperty('width', targetWidth + '%', 'important');if (targetMargin !== undefined && baseMargin !== undefined) {bar.style.setProperty('margin-left', targetMargin + '%', 'important');}}, index * 50 + 50);});}function animateLineChart(chartElement) {if (!chartElement) return;var lineSvg = chartElement.querySelector('svg');if (!lineSvg) return;var paths = lineSvg.querySelectorAll('.riv-line-path');paths.forEach(function(p, i) {if (typeof p.getTotalLength === 'function') {var len = p.getTotalLength();p.style.transition = 'none';p.style.strokeDasharray = len;p.style.strokeDashoffset = len;p.getBoundingClientRect();setTimeout(function() {p.style.transition = 'stroke-dashoffset 1s ease-out ' + (i * 0.1) + 's, stroke-width 0.2s, opacity 0.2s';p.style.strokeDashoffset = '0';}, 100);}});var dots = lineSvg.querySelectorAll('.riv-dot');dots.forEach(function(dot, i) {dot.style.opacity = '0';setTimeout(function() {dot.style.transition = 'opacity 0.3s ease';dot.style.opacity = '1';}, 500 + i * 10);});}var charts = chartWrapper.querySelectorAll('.fv-chart-item');charts.forEach(function(chart) {if (window.getComputedStyle(chart).display === 'none') return;var chartType = chart.dataset.chartType;if (chartType === 'Line') {animateLineChart(chart);} else if (chartType !== 'Pie') {animateBars(chart);}});};function initialize(uniqueId, isSlideshow) {var root = document.getElementById(uniqueId);if (!root && !isSlideshow) return;function setupWrapper(chartWrapper) {if (!chartWrapper) return;function checkMobileView() {var width = chartWrapper.getBoundingClientRect().width;var isMobileDevice = window.screen && Math.min(window.screen.width, window.screen.height) <= 599;var isMobile;if (width === 0) {isMobile = isMobileDevice || window.matchMedia('(max-width: 599px)').matches;} else {isMobile = isMobileDevice || width < 600;}if (isMobile) {chartWrapper.classList.add('mobile-view');} else {chartWrapper.classList.remove('mobile-view');}}checkMobileView();if (typeof ResizeObserver !== 'undefined') {var ro = new ResizeObserver(function() {checkMobileView();});ro.observe(chartWrapper);}window.addEventListener('resize', checkMobileView);var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';if (labelsOnTop) {var charts = chartWrapper.querySelectorAll('.fv-chart-item');var hasVisibleBarChart = false;charts.forEach(function(c) {if (window.getComputedStyle(c).display !== 'none') {var cType = c.dataset.chartType;if (cType === 'Bar' || cType === 'Stacked Bar' || cType === 'Versus') {hasVisibleBarChart = true;}}});if (hasVisibleBarChart) {chartWrapper.classList.add('labels-on-top');} else {chartWrapper.classList.remove('labels-on-top');}} else {chartWrapper.classList.remove('labels-on-top');}chartWrapper.querySelectorAll('.riv-line-legend').forEach(function(legend) {var chartId = legend.dataset.chart;var chart = chartWrapper.querySelector('[id="' + chartId + '"]');if (!chart) return;var lines = chart.querySelectorAll('.riv-line-path');var dots = chart.querySelectorAll('.riv-dot');var legendItems = legend.querySelectorAll('.riv-legend-item');legendItems.forEach(function(item) {var productName = item.dataset.product;var safeProductName = productName.replace(/"/g, '\"');var line = chart.querySelector('.riv-line-path[data-product="' + safeProductName + '"]');var productDots = chart.querySelectorAll('.riv-dot[data-product="' + safeProductName + '"]');if (line && !line.dataset.origStroke) {line.dataset.origStroke = line.getAttribute('stroke-width') || '2';}var highlight = function() {if (legend.querySelector('.isolated')) return;lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '0.2'; });legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });if (line) {line.style.opacity = '1';line.setAttribute('stroke-width', '4');}productDots.forEach(function(d) { d.style.opacity = '1'; });item.style.opacity = '1';};var clearHighlight = function() {if (legend.querySelector('.isolated')) return;lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '1'; });legendItems.forEach(function(i) { i.style.opacity = '1'; });};var toggleIsolate = function() {var isIsolated = item.classList.contains('isolated');legendItems.forEach(function(i) { i.classList.remove('isolated'); });if (isIsolated) {lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '1'; });legendItems.forEach(function(i) { i.style.opacity = '1'; });} else {item.classList.add('isolated');lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '0.2'; });legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });if (line) {line.style.opacity = '1';line.setAttribute('stroke-width', '4');}productDots.forEach(function(d) { d.style.opacity = '1'; });item.style.opacity = '1';}};item.addEventListener('mouseenter', highlight);item.addEventListener('focus', highlight);item.addEventListener('mouseleave', clearHighlight);item.addEventListener('blur', clearHighlight);item.addEventListener('click', toggleIsolate);if (line) {line.style.cursor = 'pointer';line.addEventListener('mouseenter', highlight);line.addEventListener('mouseleave', clearHighlight);line.addEventListener('click', toggleIsolate);}});});var versusCharts = chartWrapper.querySelectorAll('.fv-versus-chart');versusCharts.forEach(function(vc) {var dataJson = vc.getAttribute('data-versus-data');var leftColor = vc.getAttribute('data-left-color') || '#E53935';var rightColor = vc.getAttribute('data-right-color') || '#FFB300';if (!dataJson) return;var versusData = JSON.parse(dataJson);var leftSelect = vc.querySelector('.fv-select-left');var rightSelect = vc.querySelector('.fv-select-right');var rows = vc.querySelectorAll('.fv-versus-row');function updateVersusChart() {var leftProduct = leftSelect.value;var rightProduct = rightSelect.value;leftSelect.style.color = leftColor;leftSelect.style.borderColor = leftColor;rightSelect.style.color = rightColor;rightSelect.style.borderColor = rightColor;rows.forEach(function(row) {var index = parseInt(row.getAttribute('data-index'));var data = versusData[index];if (!data) return;var leftVal = data.productData[leftProduct] ? data.productData[leftProduct].value : undefined;var rightVal = data.productData[rightProduct] ? data.productData[rightProduct].value : undefined;var leftIsNum = typeof leftVal === 'number';var rightIsNum = typeof rightVal === 'number';var leftNum = leftIsNum ? leftVal : 0;var rightNum = rightIsNum ? rightVal : 0;var maxVal = Math.max(leftNum, rightNum, 0.0001);var leftWidth = leftIsNum ? (leftNum / maxVal) * 95 : 0;var rightWidth = rightIsNum ? (rightNum / maxVal) * 85 : 0;var winner = null;var pctDiffStr = null;if (leftIsNum && rightIsNum) {if (leftNum > rightNum) {winner = 'left';if (rightNum > 0) {var diff = Math.round(((leftNum - rightNum) / rightNum) * 100);pctDiffStr = '+' + diff.toLocaleString() + '%';}} else if (rightNum > leftNum) {winner = 'right';if (leftNum > 0) {var diff = Math.round(((rightNum - leftNum) / leftNum) * 100);pctDiffStr = '+' + diff.toLocaleString() + '%';}}}var leftDisplay = data.productData[leftProduct] && data.productData[leftProduct].displayValue !== undefined ? data.productData[leftProduct].displayValue : (leftIsNum ? leftNum.toLocaleString() : (leftVal !== undefined ? leftVal : '-'));var rightDisplay = data.productData[rightProduct] && data.productData[rightProduct].displayValue !== undefined ? data.productData[rightProduct].displayValue : (rightIsNum ? rightNum.toLocaleString() : (rightVal !== undefined ? rightVal : '-'));var unit = (data.productData[leftProduct] && data.productData[leftProduct].unit) ||(data.productData[rightProduct] && data.productData[rightProduct].unit) || '';var leftTextStr = leftDisplay;var rightTextStr = rightDisplay;var leftBar = row.querySelector('.fv-versus-bar-left');var rightBar = row.querySelector('.fv-versus-bar-right');var leftText = row.querySelector('.fv-inside-left');var rightText = row.querySelector('.fv-inside-right');var labelText = row.querySelector('.fv-versus-label span');var leftWrapper = row.querySelector('.fv-versus-bar-left-wrapper');var rightWrapper = row.querySelector('.fv-versus-bar-right-wrapper');var existingPctDiffs = row.querySelectorAll('.fv-versus-pct-diff');existingPctDiffs.forEach(function(el) { el.remove(); });if (winner === 'left' && pctDiffStr) {var pctSpan = document.createElement('span');pctSpan.className = 'fv-versus-pct-diff';pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';pctSpan.textContent = pctDiffStr;if (leftBar) leftBar.insertBefore(pctSpan, leftBar.firstChild);} else if (winner === 'right' && pctDiffStr) {var pctSpan = document.createElement('span');pctSpan.className = 'fv-versus-pct-diff';pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';pctSpan.textContent = pctDiffStr;if (rightBar) rightBar.appendChild(pctSpan);}if (leftBar) {leftBar.style.backgroundColor = leftColor;leftBar.dataset.targetWidth = leftWidth;leftBar.style.setProperty('--target-width', leftWidth + '%');leftBar.style.width = leftWidth + '%';}if (rightBar) {rightBar.style.backgroundColor = rightColor;rightBar.dataset.targetWidth = rightWidth;rightBar.style.setProperty('--target-width', rightWidth + '%');rightBar.style.width = rightWidth + '%';}if (leftText) {leftText.innerHTML = leftTextStr;}if (rightText) {rightText.innerHTML = rightTextStr;}if (labelText) {labelText.textContent = data.attribute + (unit ? ' (' + unit + ')' : '');}});}if (leftSelect) leftSelect.addEventListener('change', updateVersusChart);if (rightSelect) rightSelect.addEventListener('change', updateVersusChart);});var barRows = chartWrapper.querySelectorAll('.fv-bar-row');var globalCaptionEl = chartWrapper.querySelector('.rv-chart-caption');var fallbackCaptionHtml = globalCaptionEl ? globalCaptionEl.innerHTML : '';barRows.forEach(function(row) {var commentaryEl = row.querySelector('[data-commentary-key]');if (commentaryEl) {var commentaryText = commentaryEl.textContent;if (commentaryText && commentaryText.trim().length > 0) {row.addEventListener('mouseenter', function() {if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {globalCaptionEl.innerHTML = commentaryText;globalCaptionEl.classList.add('fv-bar-active-caption');}});row.addEventListener('mouseleave', function() {if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {globalCaptionEl.innerHTML = fallbackCaptionHtml;globalCaptionEl.classList.remove('fv-bar-active-caption');}});}}});var charts = chartWrapper.querySelectorAll('.fv-chart-item');var dropdown = chartWrapper.querySelector('.fv-dropdown-title');var prevBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.prev');var nextBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.next');var carouselTitle = chartWrapper.querySelector('.fv-carousel-title-controls .fv-benchmark-title');var counter = chartWrapper.querySelector('.fv-carousel-counter');var subheadEl = chartWrapper.querySelector('.fv-chart-subhead');var captionEl = chartWrapper.querySelector('.rv-chart-caption');var footerContentEl = chartWrapper.querySelector('.fv-footer-content');var bottomBarEl = chartWrapper.querySelector('.fv-bottom-bar');var logoEl = chartWrapper.querySelector('.fv-logo');if (charts.length > 1 && (dropdown || prevBtn)) {var currentChartIndex = 0;var titles = [];if (dropdown) {titles = Array.from(dropdown.options).map(function(o) { return o.text; });} else {charts.forEach(function(c) {titles.push(c.getAttribute('data-title') || '');});}function showInternalChart(index) {if (index < 0) index = charts.length - 1;if (index >= charts.length) index = 0;currentChartIndex = index;charts.forEach(function(c, i) {c.style.display = i === index ? 'block' : 'none';if (i === index) {var cType = c.dataset.chartType;if (cType === 'Line') {} else if (cType !== 'Pie') {window.fvAnimateCharts(chartWrapper);}var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';if (labelsOnTop && (cType === 'Bar' || cType === 'Stacked Bar' || cType === 'Versus')) {chartWrapper.classList.add('labels-on-top');} else {chartWrapper.classList.remove('labels-on-top');}}});if (dropdown) dropdown.value = index;if (carouselTitle && titles[index]) carouselTitle.textContent = titles[index];if (counter) counter.textContent = (index + 1) + ' of ' + charts.length;var activeChart = charts[index];if (activeChart) {var newSubhead = activeChart.getAttribute('data-subhead');var newCaption = activeChart.getAttribute('data-caption');var currentChartType = activeChart.getAttribute('data-chart-type');var hideGlobalCaption = currentChartType === 'Countdown' || currentChartType === 'Image Comparison' || currentChartType === 'Shop the Collection';if (subheadEl) subheadEl.textContent = newSubhead || '';if (captionEl) {captionEl.textContent = newCaption || '';fallbackCaptionHtml = newCaption || '';}if (footerContentEl) {if (newCaption && newCaption.trim().length > 0 && !hideGlobalCaption) {footerContentEl.style.display = 'block';if (bottomBarEl) bottomBarEl.style.display = 'flex';} else {footerContentEl.style.display = 'none';if (bottomBarEl && !logoEl) {bottomBarEl.style.display = 'none';}}}}}if (dropdown) dropdown.addEventListener('change', function(e) { showInternalChart(parseInt(e.target.value)); });if (prevBtn) prevBtn.addEventListener('click', function() { showInternalChart(currentChartIndex - 1); });if (nextBtn) nextBtn.addEventListener('click', function() { showInternalChart(currentChartIndex + 1); });}var imageCompareWrappers = chartWrapper.querySelectorAll('.fv-image-compare-wrapper');imageCompareWrappers.forEach(function(wrapper) {var inner = wrapper.querySelector('.fv-image-compare-inner') || wrapper;var slider = wrapper.querySelector('.fv-image-compare-slider');var fgImage = wrapper.querySelector('.fv-image-compare-fg');var bgImage = wrapper.querySelector('.fv-image-compare-bg');var labelLeft = wrapper.querySelector('.fv-image-compare-label-left');var labelRight = wrapper.querySelector('.fv-image-compare-label-right');var isDragging = false;var scale = 1;var panX = 0;var panY = 0;var isPanning = false;var hasPanned = false;var lastClientX = 0;var lastClientY = 0;var initialDistance = null;var lastCenterX = null;var lastCenterY = null;function updateTransform() {if (wrapper.classList.contains('fv-image-compare-fullscreen')) {inner.style.setProperty('transform', 'translate(' + panX + 'px, ' + panY + 'px) scale(' + scale + ')', 'important');} else {inner.style.removeProperty('transform');scale = 1;panX = 0;panY = 0;}}function constrainPan() {var rect = wrapper.getBoundingClientRect();var maxPanX = Math.max(0, (rect.width * scale - rect.width) / 2);var maxPanY = Math.max(0, (rect.height * scale - rect.height) / 2);panX = Math.max(-maxPanX, Math.min(panX, maxPanX));panY = Math.max(-maxPanY, Math.min(panY, maxPanY));}wrapper.addEventListener('wheel', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;e.preventDefault();var zoomSensitivity = 0.005;var zoomFactor = Math.exp(-e.deltaY * zoomSensitivity);var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));if (newScale === scale) return;var rect = wrapper.getBoundingClientRect();var mouseX = e.clientX - rect.left - rect.width / 2;var mouseY = e.clientY - rect.top - rect.height / 2;var ratio = newScale / scale;panX = mouseX - (mouseX - panX) * ratio;panY = mouseY - (mouseY - panY) * ratio;scale = newScale;constrainPan();updateTransform();}, { passive: false });wrapper.addEventListener('mousedown', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen') || scale <= 1) return;if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;isPanning = true;hasPanned = false;lastClientX = e.clientX;lastClientY = e.clientY;});window.addEventListener('mousemove', function(e) {if (!isPanning) return;var dx = e.clientX - lastClientX;var dy = e.clientY - lastClientY;if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {hasPanned = true;}lastClientX = e.clientX;lastClientY = e.clientY;panX += dx;panY += dy;constrainPan();updateTransform();});window.addEventListener('mouseup', function() {isPanning = false;});wrapper.addEventListener('touchstart', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;if (e.touches.length === 2) {e.preventDefault();var dx = e.touches[0].clientX - e.touches[1].clientX;var dy = e.touches[0].clientY - e.touches[1].clientY;initialDistance = Math.sqrt(dx * dx + dy * dy);var rect = wrapper.getBoundingClientRect();lastCenterX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;lastCenterY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;hasPanned = true;} else if (e.touches.length === 1 && scale > 1) {if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;isPanning = true;hasPanned = false;lastClientX = e.touches[0].clientX;lastClientY = e.touches[0].clientY;}}, { passive: false });wrapper.addEventListener('touchmove', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;if (e.touches.length === 2 && initialDistance !== null) {e.preventDefault();var dx = e.touches[0].clientX - e.touches[1].clientX;var dy = e.touches[0].clientY - e.touches[1].clientY;var distance = Math.sqrt(dx * dx + dy * dy);if (initialDistance > 0) {var zoomFactor = distance / initialDistance;var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));var rect = wrapper.getBoundingClientRect();var centerX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;var centerY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;var ratio = newScale / scale;panX = centerX - (centerX - panX) * ratio;panY = centerY - (centerY - panY) * ratio;if (lastCenterX !== null && lastCenterY !== null) {panX += (centerX - lastCenterX);panY += (centerY - lastCenterY);}scale = newScale;lastCenterX = centerX;lastCenterY = centerY;constrainPan();updateTransform();}initialDistance = distance;} else if (e.touches.length === 1 && isPanning) {e.preventDefault();var dx = e.touches[0].clientX - lastClientX;var dy = e.touches[0].clientY - lastClientY;if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {hasPanned = true;}lastClientX = e.touches[0].clientX;lastClientY = e.touches[0].clientY;panX += dx;panY += dy;constrainPan();updateTransform();}}, { passive: false });wrapper.addEventListener('touchend', function(e) {if (e.touches.length < 2) {initialDistance = null;}if (e.touches.length === 0) {isPanning = false;}});function handleMove(clientX) {var rect = inner.getBoundingClientRect();var x = Math.max(0, Math.min(clientX - rect.left, rect.width));var percent = Math.max(0, Math.min((x / rect.width) * 100, 100));if (slider) slider.style.setProperty('left', percent + '%', 'important');if (fgImage) fgImage.style.setProperty('clip-path', 'polygon(0 0, ' + percent + '% 0, ' + percent + '% 100%, 0 100%)', 'important');if (labelLeft) {if (percent < 10) {labelLeft.style.setProperty('opacity', '0', 'important');} else {labelLeft.style.setProperty('opacity', '1', 'important');}}if (labelRight) {if (percent > 90) {labelRight.style.setProperty('opacity', '0', 'important');} else {labelRight.style.setProperty('opacity', '1', 'important');}}}function onMouseMove(e) {if (!isDragging) return;handleMove(e.clientX);}function onTouchMove(e) {if (!isDragging) return;e.preventDefault();handleMove(e.touches[0].clientX);}function stopDragging() {isDragging = false;window.removeEventListener('mousemove', onMouseMove);window.removeEventListener('mouseup', stopDragging);window.removeEventListener('touchmove', onTouchMove);window.removeEventListener('touchend', stopDragging);}if (slider) {var startDrag = function(clientX) {isDragging = true;handleMove(clientX);window.addEventListener('mousemove', onMouseMove);window.addEventListener('mouseup', stopDragging);};var startTouchDrag = function(clientX) {isDragging = true;handleMove(clientX);window.addEventListener('touchmove', onTouchMove, { passive: false });window.addEventListener('touchend', stopDragging);};slider.addEventListener('mousedown', function(e) {e.preventDefault();startDrag(e.clientX);});slider.addEventListener('touchstart', function(e) {e.preventDefault();startTouchDrag(e.touches[0].clientX);}, { passive: false });}var expandBtn = wrapper.querySelector('.fv-image-compare-expand-btn');var closeBtn = wrapper.querySelector('.fv-image-compare-close-btn');if (expandBtn) {if (window !== window.parent) {expandBtn.style.display = 'none';} else {expandBtn.addEventListener('click', function(e) {e.stopPropagation();wrapper.classList.add('fv-image-compare-fullscreen');document.body.style.overflow = 'hidden';if (fgImage && fgImage.dataset.highresSrc) {fgImage.src = fgImage.dataset.highresSrc;fgImage.removeAttribute('srcset');fgImage.removeAttribute('sizes');}if (bgImage && bgImage.dataset.highresSrc) {bgImage.src = bgImage.dataset.highresSrc;bgImage.removeAttribute('srcset');bgImage.removeAttribute('sizes');}});}}if (closeBtn) {closeBtn.addEventListener('click', function(e) {e.stopPropagation();wrapper.classList.remove('fv-image-compare-fullscreen');document.body.style.overflow = '';updateTransform();});}document.addEventListener('keydown', function(e) {if (e.key === 'Escape' && wrapper.classList.contains('fv-image-compare-fullscreen')) {wrapper.classList.remove('fv-image-compare-fullscreen');document.body.style.overflow = '';updateTransform();}});});var hotspots = chartWrapper.querySelectorAll('.fv-stl-hotspot-btn');var allProductsModal = chartWrapper.querySelector('.fv-stl-all-products-modal');var shopAllBtn = chartWrapper.querySelector('.fv-stl-shop-all-btn');var allProductsList = chartWrapper.querySelector('.fv-stl-all-products-list');var stlContainer = chartWrapper.querySelector('.fv-stl-container');function closeAllModals() {if (allProductsModal) {allProductsModal.classList.remove('is-active');var items = allProductsModal.querySelectorAll('.fv-stl-all-products-item');items.forEach(function(item) {item.classList.remove('is-highlighted');});if (stlContainer) {setTimeout(function() {if (!allProductsModal.classList.contains('is-active')) {stlContainer.style.minHeight = '';if ('parentIFrame' in window) {window.parentIFrame.size();}}}, 300);}}hotspots.forEach(function(btn) { btn.setAttribute('aria-expanded', 'false'); });if ('parentIFrame' in window) {window.parentIFrame.size();}}hotspots.forEach(function(btn) {btn.addEventListener('click', function(e) {e.stopPropagation();var hotspotId = btn.getAttribute('data-hotspot-id');var isExpanded = btn.getAttribute('aria-expanded') === 'true';closeAllModals();if (!isExpanded && allProductsModal) {btn.setAttribute('aria-expanded', 'true');allProductsModal.classList.add('is-active');var container = btn.closest('.fv-stl-container');if (container && container.offsetHeight < 450) {container.style.minHeight = '450px';}var targetItem = allProductsModal.querySelector('.fv-stl-all-products-item[data-product-id="' + hotspotId + '"]');if (targetItem) {targetItem.classList.add('is-highlighted');setTimeout(function() {targetItem.scrollIntoView({ behavior: 'smooth', block: 'center' });}, 100);}if ('parentIFrame' in window) {window.parentIFrame.size();}}});});if (shopAllBtn && allProductsModal) {shopAllBtn.addEventListener('click', function(e) {e.stopPropagation();closeAllModals();allProductsModal.classList.add('is-active');var container = shopAllBtn.closest('.fv-stl-container');if (container && container.offsetHeight < 450) {container.style.minHeight = '450px';}if ('parentIFrame' in window) {window.parentIFrame.size();}});}if (allProductsModal) {var closeAllBtn = allProductsModal.querySelector('.fv-stl-all-products-close');if (closeAllBtn) {closeAllBtn.addEventListener('click', function(e) {e.stopPropagation();closeAllModals();});}}chartWrapper.addEventListener('click', function(e) {if (!e.target.closest('.fv-stl-all-products-content')) {closeAllModals();}});if (allProductsModal) {allProductsModal.addEventListener('click', function(e) {if (!e.target.closest('.fv-stl-all-products-content')) {closeAllModals();}});}var iaNodes = chartWrapper.querySelectorAll('.fv-ia-node-button');var iaWrapper = chartWrapper.querySelector('.fv-ia-wrapper');var originalCaption = chartWrapper.querySelector('.fv-original-caption') || captionEl;var dynamicCaption = chartWrapper.querySelector('.fv-ia-dynamic-caption');var exploreBtn = chartWrapper.querySelector('.fv-ia-explore-btn');var currentIaIndex = -1;function closeAllIANodes() {iaNodes.forEach(function(btn) { btn.classList.remove('is-active'); });if (originalCaption) originalCaption.style.display = 'block';if (dynamicCaption) dynamicCaption.style.display = 'none';}function resetExploreBtn() {currentIaIndex = -1;if (exploreBtn) {var exploreSpan = exploreBtn.querySelector('span');if (exploreSpan) exploreSpan.textContent = 'Explore';}}iaNodes.forEach(function(btn, index) {btn.addEventListener('click', function(e) {e.stopPropagation();var isActive = btn.classList.contains('is-active');closeAllIANodes();if (!isActive) {currentIaIndex = index;if (exploreBtn) {var exploreSpan = exploreBtn.querySelector('span');if (exploreSpan) exploreSpan.textContent = 'Next';}btn.classList.add('is-active');if (dynamicCaption) {var title = btn.getAttribute('data-title') || '';var desc = btn.getAttribute('data-desc') || '';dynamicCaption.innerHTML = '';var strongTag = document.createElement('strong');strongTag.textContent = title;dynamicCaption.appendChild(strongTag);if (desc) {dynamicCaption.appendChild(document.createTextNode(' - ' + desc));}if (originalCaption) originalCaption.style.display = 'none';dynamicCaption.style.display = 'block';if (footerContentEl) footerContentEl.style.display = 'block';}} else {resetExploreBtn();}});});if (exploreBtn) {exploreBtn.addEventListener('click', function(e) {e.stopPropagation();if (iaNodes.length === 0) return;var nextIndex = currentIaIndex + 1;if (nextIndex >= iaNodes.length) {closeAllIANodes();resetExploreBtn();} else {currentIaIndex = nextIndex;var targetBtn = iaNodes[currentIaIndex];if (targetBtn) {if(targetBtn.classList.contains('is-active')) {targetBtn.click();}targetBtn.click();}}});}if (iaWrapper) {iaWrapper.addEventListener('click', function(e) {if (!e.target.closest('.fv-ia-node-button') && !e.target.closest('.fv-ia-explore-btn')) {closeAllIANodes();resetExploreBtn();}});}window.fvAnimateCharts(chartWrapper);var countdownContainer = chartWrapper.querySelector('.fv-countdown-container');if (countdownContainer) {var targetDateAttr = countdownContainer.getAttribute('data-target-date');if (targetDateAttr) {var targetDate = new Date(targetDateAttr);var primaryColor = countdownContainer.getAttribute('data-primary-color') || '#f97316';var subheadColor = countdownContainer.getAttribute('data-subhead-color') || '#ffffff';var pad = function(n) { return (n < 10 ? '0' : '') + n; };var updateCountdown = function() {var difference = +targetDate - +new Date();var d = 0, h = 0, m = 0, s = 0;if (difference > 0) {d = Math.floor(difference / (1000 * 60 * 60 * 24));h = Math.floor((difference / (1000 * 60 * 60)) % 24);m = Math.floor((difference / 1000 / 60) % 60);s = Math.floor((difference / 1000) % 60);}var daysEl = countdownContainer.querySelector('[data-time="days"]');var hoursEl = countdownContainer.querySelector('[data-time="hours"]');var minsEl = countdownContainer.querySelector('[data-time="minutes"]');var secsEl = countdownContainer.querySelector('[data-time="seconds"]');if (daysEl) daysEl.textContent = d;if (hoursEl) hoursEl.textContent = pad(h);if (minsEl) minsEl.textContent = pad(m);if (secsEl) secsEl.textContent = pad(s);};updateCountdown();setInterval(updateCountdown, 1000);}}}if (false) {var slideshowContainer = document.getElementById(uniqueId + '-slideshow');if (slideshowContainer) {var slides = slideshowContainer.querySelectorAll('.fv-slide');slides.forEach(function(slide) {setupWrapper(slide.querySelector('.fv-chart-wrapper'));});}} else {setupWrapper(root);}}if (document.readyState === 'loading') {document.addEventListener('DOMContentLoaded', function() { initialize('fv-chart-1789660646444-sr9dsdz95', false); });} else {initialize('fv-chart-1789660646444-sr9dsdz95', false);}})();</script></div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ How to make IKEA and Philips Hue smart lights play nicely together ]]></title>
                                                                                                <dc:content><![CDATA[ <p>IKEA is really making a name for itself in smart home tech. Its mobile app is clear and easy to navigate, its selection of smart switches (which my colleague Ruth Hamilton called "<a href="https://www.techradar.com/home/smart-home/3-reasons-why-you-shouldnt-sleep-on-these-usd6-gbp3-smart-switches-theyre-the-understated-hit-of-ikeas-new-gadget-range">the understated hit of IKEA's new gadget range</a>") are versatile and cheap, and <a href="https://www.techradar.com/tech-events/ikea-just-revealed-a-new-donut-shaped-smart-light-and-itll-look-sweet-on-your-table-or-wall">its stylish smart lamps</a> made a real splash at this year's CES technology show. </p><p>But what if you don't want to be limited to IKEA's own app? What if you like IKEA's lights, but already have a Philips Hue setup, or want to incorporate lights and devices from other brands as well?</p><p>Thankfully, there are lots of options to explore, from simple software solutions to crafty hardware hacks. Here are four ways to get all your smart lights to play along nicely.</p><h2 id="1-use-the-matter-standard">1. Use the Matter standard</h2><p>Last week, <a href="https://www.techradar.com/home/smart-lights/ikea-just-launched-a-matter-enabled-driver-that-makes-your-integrated-cabinet-lights-part-of-your-smart-home">IKEA launched a new driver for its integrated lights</a> (including the type of strips and spots you would install in cupboards and cabinets) that not only lets you control them remotely via the IKEA Home app, but is also compatible with the Matter smart home standard. That means you can combine these integrated lights into a larger smart home setup.</p><p>You can then control them using a Matter-compatible smart speaker, set a schedule, dim them, and much more. You aren't limited to IKEA's integrated lights, either. The brand also offers other Matter-compatible lights, including the color-shifting, donut-shaped Varmblixt, and Kajplats bulbs — and you can throw in lights from other brands like Nanoleaf, Govee, and (of course) Philips Hue, too.</p><p>But what if you don't want to use the Matter standard? What if you already have a Philips Hue setup and want to continue using the Hue app to control all your lights?</p><h2 id="2-connect-everything-to-your-hue-bridge">2. Connect everything to your Hue Bridge</h2><p>IKEA smart lights (such as the Varmblixt and Kajplats) support Zigbee Light Link, which is the same wireless protocol used by Philips Hue bulbs. You can therefore connect your IKEA lights directly to a Philips Hue Bridge by following these instructions:</p><ol start="1"><li>Ensure your IKEA smart light has software version 1.2.x or later</li><li>Keep the IKEA smart light close to the Philips Hue Bridge</li><li>Search for new devices in the Philips Hue app</li><li>Do a factory reset of the smart light by toggling the main switch six times</li></ol><p>Connecting your IKEA smart lights this way will let you control their basic functions through the Hue app, set schedules, add them to groups, and trigger them with Hue sensors and switches.</p><p>However, you won't get the same degree of control you would through a native Hue smart light. You won't be able to dim your IKEA lights using a Hue Tap Dial switch, for example, or incorporate them into a Philips Hue Play entertainment setup. For that, you'll need to get more creative.</p><h2 id="3-try-a-hardware-hack">3. Try a hardware hack</h2><p>If you like the look of an IKEA smart light, but want the full functionality of Philips Hue and are feeling brave, you could try a crafty hardware hack.</p><p>The Varmblixt lamp is a particularly popular choice for smart lighting DIYers, who have discovered that its frosted glass case is ideal for concealing a Philips Hue light strip. Reddit user K1uppy described the process of opening the IKEA lamp, removing its innards, and replacing them with a coiled Hue strip.</p><figure><blockquote class="reddit-card"  ><a href="https://www.reddit.com/r/Hue/comments/1wda1u2/ikea_varmblixt_repurposed_hue_lightstrip">IKEA VARMBLIXT + Repurposed Hue Lightstrip</a><figcaption><cite> from <a href="https://www.reddit.com/r/Hue">r/Hue</a></cite></figcaption></blockquote></figure><script async src="//embed.redditmedia.com/widgets/platform.js" charset="UTF-8"></script><p>It's an interesting idea, and another Redditor's experiment with a non-Hue LED strip demonstrates how dramatic the effect could be with a gradient. </p><figure><blockquote class="reddit-card"  ><a href="https://www.reddit.com/r/WLED/comments/1nfrwwt/donut_lamp_with_wled">Donut Lamp with WLed</a><figcaption><cite> from <a href="https://www.reddit.com/r/WLED">r/WLED</a></cite></figcaption></blockquote></figure><script async src="//embed.redditmedia.com/widgets/platform.js" charset="UTF-8"></script><p>However, you should remember that a coiled light strip could overheat, damaging the LEDs.</p><h2 id="4-pick-the-right-lamps">4. Pick the right lamps</h2><p>A safer (though less imaginative) alternative is to use Hue bulbs with IKEA lamps designed for standard light bulbs. Look out for ones that will diffuse light, such as the Fado table lamp, the ruffled Vindkast, or the striking multi-bulb Simrishamn. You can use the Philips Hue app to create a 'group' of these three bulbs, and control them together or apply a scene so they co-ordinate for an interesting effect.</p><p>There are Philips Hue bulbs for virtually all light fixtures, so you will be able to find one that fits your chosen IKEA lamp. Reddit users have suggested dialing down the brightness of your Hue bulbs to around 50% to create soft ambient lighting. You'll find a collection of suitable IKEA pendant, table, and floor lamps below.</p>        <div class="featured_product_block featured_block_hero" data-id="b394a47c-b0f2-11f1-90ae-5743704aa171">            <a href="https://www.ikea.com/gb/en/p/fado-table-lamp-white-10096375/" data-model-name="IKEA FADO Table Lamp" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/YBpZPGkBw59QK8wcBUoAvP.jpg" alt="IKEA table lamp"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>IKEA</div>                                        <div class="featured__title">Fado</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="b394a4fe-b0f2-11f1-804e-57c5a3b1d175">            <a href="https://www.ikea.com/gb/en/p/vindkast-table-lamp-white-00539203/" data-model-name="IKEA Vindkast Table Lamp" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/GRPJGj5nrMdjtU4u4MitwP.jpg" alt="IKEA table lamp"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>IKEA</div>                                        <div class="featured__title">Vindkast Table Lamp</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="b394a56c-b0f2-11f1-9b01-638e9e0bbc42">            <a href="https://www.ikea.com/gb/en/p/vindkast-floor-lamp-white-70539092/" data-model-name="IKEA Vindkast floor lamp" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/CMe9YbRTJJPrsquz7RpBtP.jpg" alt="IKEA floor lamp"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>IKEA</div>                                        <div class="featured__title">Vindkast floor lamp</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="b394a5d0-b0f2-11f1-8533-b7ef6b8befd3">            <a href="https://www.ikea.com/gb/en/p/simrishamn-floor-lamp-chrome-plated-opal-white-glass-50437768/" data-model-name="IKEA Simrishamn Floor Lamp" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/BK2M4xH54SqQcWDgX8vwtP.jpg" alt="IKEA floor lamp"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>IKEA</div>                                        <div class="featured__title">Simrishamn Floor Lamp</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="b394a63e-b0f2-11f1-be44-435c6b4e762b">            <a href="https://www.ikea.com/gb/en/p/simrishamn-pendant-lamp-3-armed-chrome-plated-opal-white-glass-80407835/" data-model-name="IKEA Simrishamn Pendant Lamp" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/FowfP89ycUXpXMmpZiNMuP.jpg" alt="IKEA pendant lamp"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>IKEA</div>                                        <div class="featured__title">Simrishamn Pendant Lamp</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="b394a6de-b0f2-11f1-b747-1963147c6f54">            <a href="https://www.ikea.com/gb/en/p/baecknate-pendant-lamp-shade-white-60578791/" data-model-name="IKEA Varmblixt Smart Lamp" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:100.00%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/GBU8iiVMVvcFvFZBFpJmca.jpg" alt="Varmblixt Led Table/wall Lamp - Dimmable Smart/white Glass Color and White Spectrum 12 ""></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>IKEA</div>                                        <div class="featured__title">Varmblixt Smart Lamp</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/home/smart-lights/how-to-make-ikea-and-philips-hue-smart-lights-play-nicely-together-from-simple-hub-pairing-to-fun-diy-hardware-hacks</link>
                                                                            <description>
                            <![CDATA[ From simple hub pairing to adventurous DIY hacks, here are four ways to use your Philips Hue and IKEA smart lights together in perfect harmony. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">8GH25Wu73hhNXsvUyDHnRG</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/k7rZtfba4HRRMKjq8yCmaf-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sat, 19 Sep 2026 08:30:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Smart Lights]]></category>
                                                    <category><![CDATA[Home]]></category>
                                                    <category><![CDATA[Smart Home]]></category>
                                                                                                <author><![CDATA[ catherine.ellis@futurenet.com (Cat Ellis) ]]></author>                    <dc:creator><![CDATA[ Cat Ellis ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/gxZz6rCoNR6sXhqL34MvML-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Cat is TechRadar&#039;s Homes Editor, covering smart home tech, kitchen appliances, vacuums, haircare and more. She&#039;s been a tech journalist for 15 years, having worked on print magazines including PC Plus and PC Format, and is a&lt;a href=&quot;https://sca.coffee/&quot;&gt; &lt;u&gt;Speciality Coffee Association&lt;/u&gt;&lt;/a&gt; (SCA) certified barista. Whether you want to invest in some smart lights, find your ideal hair styler, or pick the espresso machine of your dreams, she&#039;s the right person to help.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/k7rZtfba4HRRMKjq8yCmaf-1920-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Split image of Philips Hue light strip and IKEA Varmblixt smart lamp]]></media:description>                                                            <media:text><![CDATA[Split image of Philips Hue light strip and IKEA Varmblixt smart lamp]]></media:text>
                                <media:title type="plain"><![CDATA[Split image of Philips Hue light strip and IKEA Varmblixt smart lamp]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/k7rZtfba4HRRMKjq8yCmaf-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>IKEA is really making a name for itself in smart home tech. Its mobile app is clear and easy to navigate, its selection of smart switches (which my colleague Ruth Hamilton called "<a href="https://www.techradar.com/home/smart-home/3-reasons-why-you-shouldnt-sleep-on-these-usd6-gbp3-smart-switches-theyre-the-understated-hit-of-ikeas-new-gadget-range">the understated hit of IKEA's new gadget range</a>") are versatile and cheap, and <a href="https://www.techradar.com/tech-events/ikea-just-revealed-a-new-donut-shaped-smart-light-and-itll-look-sweet-on-your-table-or-wall">its stylish smart lamps</a> made a real splash at this year's CES technology show. </p><p>But what if you don't want to be limited to IKEA's own app? What if you like IKEA's lights, but already have a Philips Hue setup, or want to incorporate lights and devices from other brands as well?</p><p>Thankfully, there are lots of options to explore, from simple software solutions to crafty hardware hacks. Here are four ways to get all your smart lights to play along nicely.</p><h2 id="1-use-the-matter-standard">1. Use the Matter standard</h2><p>Last week, <a href="https://www.techradar.com/home/smart-lights/ikea-just-launched-a-matter-enabled-driver-that-makes-your-integrated-cabinet-lights-part-of-your-smart-home">IKEA launched a new driver for its integrated lights</a> (including the type of strips and spots you would install in cupboards and cabinets) that not only lets you control them remotely via the IKEA Home app, but is also compatible with the Matter smart home standard. That means you can combine these integrated lights into a larger smart home setup.</p><p>You can then control them using a Matter-compatible smart speaker, set a schedule, dim them, and much more. You aren't limited to IKEA's integrated lights, either. The brand also offers other Matter-compatible lights, including the color-shifting, donut-shaped Varmblixt, and Kajplats bulbs — and you can throw in lights from other brands like Nanoleaf, Govee, and (of course) Philips Hue, too.</p><p>But what if you don't want to use the Matter standard? What if you already have a Philips Hue setup and want to continue using the Hue app to control all your lights?</p><h2 id="2-connect-everything-to-your-hue-bridge">2. Connect everything to your Hue Bridge</h2><p>IKEA smart lights (such as the Varmblixt and Kajplats) support Zigbee Light Link, which is the same wireless protocol used by Philips Hue bulbs. You can therefore connect your IKEA lights directly to a Philips Hue Bridge by following these instructions:</p><ol start="1"><li>Ensure your IKEA smart light has software version 1.2.x or later</li><li>Keep the IKEA smart light close to the Philips Hue Bridge</li><li>Search for new devices in the Philips Hue app</li><li>Do a factory reset of the smart light by toggling the main switch six times</li></ol><p>Connecting your IKEA smart lights this way will let you control their basic functions through the Hue app, set schedules, add them to groups, and trigger them with Hue sensors and switches.</p><p>However, you won't get the same degree of control you would through a native Hue smart light. You won't be able to dim your IKEA lights using a Hue Tap Dial switch, for example, or incorporate them into a Philips Hue Play entertainment setup. For that, you'll need to get more creative.</p><h2 id="3-try-a-hardware-hack">3. Try a hardware hack</h2><p>If you like the look of an IKEA smart light, but want the full functionality of Philips Hue and are feeling brave, you could try a crafty hardware hack.</p><p>The Varmblixt lamp is a particularly popular choice for smart lighting DIYers, who have discovered that its frosted glass case is ideal for concealing a Philips Hue light strip. Reddit user K1uppy described the process of opening the IKEA lamp, removing its innards, and replacing them with a coiled Hue strip.</p><figure><blockquote class="reddit-card"  ><a href="https://www.reddit.com/r/Hue/comments/1wda1u2/ikea_varmblixt_repurposed_hue_lightstrip">IKEA VARMBLIXT + Repurposed Hue Lightstrip</a><figcaption><cite> from <a href="https://www.reddit.com/r/Hue">r/Hue</a></cite></figcaption></blockquote></figure><script async src="//embed.redditmedia.com/widgets/platform.js" charset="UTF-8"></script><p>It's an interesting idea, and another Redditor's experiment with a non-Hue LED strip demonstrates how dramatic the effect could be with a gradient. </p><figure><blockquote class="reddit-card"  ><a href="https://www.reddit.com/r/WLED/comments/1nfrwwt/donut_lamp_with_wled">Donut Lamp with WLed</a><figcaption><cite> from <a href="https://www.reddit.com/r/WLED">r/WLED</a></cite></figcaption></blockquote></figure><script async src="//embed.redditmedia.com/widgets/platform.js" charset="UTF-8"></script><p>However, you should remember that a coiled light strip could overheat, damaging the LEDs.</p><h2 id="4-pick-the-right-lamps">4. Pick the right lamps</h2><p>A safer (though less imaginative) alternative is to use Hue bulbs with IKEA lamps designed for standard light bulbs. Look out for ones that will diffuse light, such as the Fado table lamp, the ruffled Vindkast, or the striking multi-bulb Simrishamn. You can use the Philips Hue app to create a 'group' of these three bulbs, and control them together or apply a scene so they co-ordinate for an interesting effect.</p><p>There are Philips Hue bulbs for virtually all light fixtures, so you will be able to find one that fits your chosen IKEA lamp. Reddit users have suggested dialing down the brightness of your Hue bulbs to around 50% to create soft ambient lighting. You'll find a collection of suitable IKEA pendant, table, and floor lamps below.</p>        <div class="featured_product_block featured_block_hero" data-id="b394a47c-b0f2-11f1-90ae-5743704aa171">            <a href="https://www.ikea.com/gb/en/p/fado-table-lamp-white-10096375/" data-model-name="IKEA FADO Table Lamp" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/YBpZPGkBw59QK8wcBUoAvP.jpg" alt="IKEA table lamp"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>IKEA</div>                                        <div class="featured__title">Fado</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="b394a4fe-b0f2-11f1-804e-57c5a3b1d175">            <a href="https://www.ikea.com/gb/en/p/vindkast-table-lamp-white-00539203/" data-model-name="IKEA Vindkast Table Lamp" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/GRPJGj5nrMdjtU4u4MitwP.jpg" alt="IKEA table lamp"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>IKEA</div>                                        <div class="featured__title">Vindkast Table Lamp</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="b394a56c-b0f2-11f1-9b01-638e9e0bbc42">            <a href="https://www.ikea.com/gb/en/p/vindkast-floor-lamp-white-70539092/" data-model-name="IKEA Vindkast floor lamp" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/CMe9YbRTJJPrsquz7RpBtP.jpg" alt="IKEA floor lamp"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>IKEA</div>                                        <div class="featured__title">Vindkast floor lamp</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="b394a5d0-b0f2-11f1-8533-b7ef6b8befd3">            <a href="https://www.ikea.com/gb/en/p/simrishamn-floor-lamp-chrome-plated-opal-white-glass-50437768/" data-model-name="IKEA Simrishamn Floor Lamp" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/BK2M4xH54SqQcWDgX8vwtP.jpg" alt="IKEA floor lamp"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>IKEA</div>                                        <div class="featured__title">Simrishamn Floor Lamp</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="b394a63e-b0f2-11f1-be44-435c6b4e762b">            <a href="https://www.ikea.com/gb/en/p/simrishamn-pendant-lamp-3-armed-chrome-plated-opal-white-glass-80407835/" data-model-name="IKEA Simrishamn Pendant Lamp" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/FowfP89ycUXpXMmpZiNMuP.jpg" alt="IKEA pendant lamp"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>IKEA</div>                                        <div class="featured__title">Simrishamn Pendant Lamp</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="b394a6de-b0f2-11f1-b747-1963147c6f54">            <a href="https://www.ikea.com/gb/en/p/baecknate-pendant-lamp-shade-white-60578791/" data-model-name="IKEA Varmblixt Smart Lamp" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:100.00%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/GBU8iiVMVvcFvFZBFpJmca.jpg" alt="Varmblixt Led Table/wall Lamp - Dimmable Smart/white Glass Color and White Spectrum 12 ""></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>IKEA</div>                                        <div class="featured__title">Varmblixt Smart Lamp</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Withings BodyScan 2 review: the industry-leading body scale ]]></title>
                                                                                                <dc:content><![CDATA[ <h3 class="article-body__section" id="section-withings-bodyscan-2-body-scale-one-minute-review"><span>Withings BodyScan 2 Body Scale: One minute review</span></h3><p>Smart scales measure weight, body fat, muscle mass, and a whole host of other metrics through a collection of electrodes at the soles of your feet. The <a href="https://www.techradar.com/best/best-smart-scales">best smart scales</a> are perfect for fitness enthusiasts, family health monitoring, and those who want to track changes to their body over time, but Withings wants to push the boundaries of what is possible in the smart scale category. Not satisfied with simple measurements like the ones listed above, Withings has launched the BodyScan 2, and it represents a significant step in innovation.</p><p>According to Withings, the BodyScan 2 is “the world's first longevity station. It is the only consumer device that transforms your daily weigh-in into a complete cardiometabolic assessment, revealing whether your lifestyle is adding or taking years off your healthy life.” This scale is all about trends over time and those who care about optimizing their health now, for the reward of future gains.</p><p>Building on the original <a href="https://www.techradar.com/home/smart-scales/withings-body-scan-review">BodyScan</a> scale, version two introduces a number of new features and design changes. The display has been moved from the base to the handlebar, offering a more pleasing user experience. New features include SpO2 measurements, hypertension screening, heart and ‘vascular age’ estimations, and reporting on the risk of unstable glycaemia.</p><p>All of these improvements make the scale $200 / £100 more expensive than the original. That’s a significant increase given that even the most premium offerings from most other brands cost less than half the price, but I suppose electronics in all categories have been getting more expensive this year with the components crisis. And if you want access to the complete set of features, then you’ll have to part ways with $9.95 / £8.95 per month for a Withings+ subscription, making this a premium-only, money-no-object smart scale option.</p><p>That said, the BodyScan 2 offers the very best in features and build quality. The scale is able to track over 40 biomarkers and, through very clever processing, can report heart findings that no other scale is capable of. It also boasts a robust and premium build with the chassis being made from reinforced aluminum.</p><p>Withings has taken some of the most innovative hardware found in the <a href="https://www.techradar.com/news/wearables/best-smart-watches-what-s-the-best-wearable-tech-for-you-1154074">best smartwatches</a> and <a href="https://www.techradar.com/health-fitness/fitness-trackers/best-smart-ring">best smart rings</a> and combined it with traditional smart scale technology. The result is one of the most advanced smart scales on the consumer market.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="x3KtdoFAMGvHoou84ZXXVB" name="Withings BodyScan 2_5" alt="Withings BodyScan 2" src="https://cdn.mos.cms.futurecdn.net/x3KtdoFAMGvHoou84ZXXVB-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future / Paul Hatton)</span></figcaption></figure><h3 class="article-body__section" id="section-withings-bodyscan-2-body-scale-specifications"><span>Withings BodyScan 2 Body Scale: Specifications</span></h3><div ><table><tbody><tr><td class="firstcol " ><p>Component</p></td><td  ><p><strong>Withings BodyScan 2 Body Scale</strong></p></td></tr><tr><td class="firstcol " ><p>Price</p></td><td  ><p>$599.95 USD / £449.95 GBP / $895 AUS</p></td></tr><tr><td class="firstcol " ><p>Metrics</p></td><td  ><p>40+ Biomarkers with 6-zone body composition analysis, Metabolic Assessment, Cardiovascular Insights, and a Calories Tracker</p></td></tr><tr><td class="firstcol " ><p>Dimensions</p></td><td  ><p>12.8 x 14.1 x 0.7 in / 325 x 357 x 18.5 mm</p></td></tr><tr><td class="firstcol " ><p>Weight</p></td><td  ><p>11.9 lbs / 5.4 kg</p></td></tr><tr><td class="firstcol " ><p>Material</p></td><td  ><p>Glass and reinforced aluminum</p></td></tr><tr><td class="firstcol " ><p>Display</p></td><td  ><p>LCD</p></td></tr><tr><td class="firstcol " ><p>Battery</p></td><td  ><p>Rechargeable Li-ion battery, USB Type-C</p></td></tr><tr><td class="firstcol " ><p>Connection</p></td><td  ><p>WiFi</p></td></tr></tbody></table></div><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="aFUoH68XgM24xXRfaPJkbB" name="Withings BodyScan 2_13" alt="Withings BodyScan 2" src="https://cdn.mos.cms.futurecdn.net/aFUoH68XgM24xXRfaPJkbB-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future / Paul Hatton)</span></figcaption></figure><h3 class="article-body__section" id="section-withings-bodyscan-2-body-scale-price-and-availability"><span>Withings BodyScan 2 Body Scale: Price and availability</span></h3><ul><li><strong>$599.95 USD / £449.95 GBP / $895 AUS</strong></li><li><strong>The specs justify the high cost</strong></li><li><strong>More affordable alternatives exist</strong></li></ul><p>The BodyScan 2 is one of the most expensive scales on the market, period. At $599.95 / £449.95 / $$895 AUS, the scale is marketed at only the most serious of users who have the disposable income to match their health goals.</p><p>Unfortunately, the costs don’t end there. If you’d like to unlock the premium in-app experience, Withings+, then you’ll have to part with a further $9.95 / £8.95 per month. The membership provides clinical experts at your disposal, an AI health assistant to convert your history into future progress, and a long-term assessment of your aging.</p><p>The spec of the BodyScan 2 sets it apart from the rest of the competition. If you turn to the likes of RunStar, then you’ll find their most premium smart scale, the 8E Ultra, costing less than half the price of the BodyScan 2. This shows that unless you need features to measure and estimate heart age, vascular age, and risk of unstable glycaemia and hypertension, then you’ll be able to save a lot of money by going for one of the other options on our <a href="https://www.techradar.com/best/best-smart-scales">best smart scales</a> list.</p><ul><li><strong>Value score 4.5/5</strong></li></ul><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/8TRqaRPLRWv2cBLczqbeMB-1920-80.jpg" alt="Withings BodyScan 2" /><figcaption><small role="credit">Future / Paul Hatton</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/YyF8w6B2KviWVjZWBPY8GB-1920-80.jpg" alt="Withings BodyScan 2" /><figcaption><small role="credit">Future / Paul Hatton</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/4y35xc7SkVpWbkKoE8PEBB-1920-80.jpg" alt="Withings BodyScan 2" /><figcaption><small role="credit">Future / Paul Hatton</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/uZj6Rv5fi37QwebWfb2D3B-1920-80.jpg" alt="Withings BodyScan 2" /><figcaption><small role="credit">Future / Paul Hatton</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/KTZhditFVaUkm7riNHxFhB-1920-80.jpg" alt="Withings BodyScan 2" /><figcaption><small role="credit">Future / Paul Hatton</small></figcaption></figure></figure><h3 class="article-body__section" id="section-withings-bodyscan-2-body-scale-design"><span>Withings BodyScan 2 Body Scale: Design</span></h3><ul><li><strong>High-resolution LCD screen</strong></li><li><strong>ITO Glass Platform</strong></li><li><strong>Robust and durable</strong></li></ul><p>The BodyScan 2 exudes the premium build quality that you’d expect given its eye-watering price tag. The aesthetic is smart, professional, and well thought through. With a reinforced aluminum chassis, you also won’t have many concerns should it be dropped on a hard tiled floor or knocked against a sink pedestal.</p><p>At the heart of the experience is a 640 x 172px color LCD screen, which is bright, vibrant, and clear. With it, users can quickly and easily track their progress without even needing to launch the Withings app. This is neatly located in the retractable handle, if you choose to use it, so your data will be closer to your eye and more easily read.</p><p>The base is covered with a large-format glass platform that contains eight integrated Indium Tin Oxide (ITO) electrodes for high-precision accuracy and support for all foot sizes and up to 200 kg / 440 lb maximum capacity. The base features a black and blue hued striped pattern, which elevates the smart scale beyond looking like a glass slab.</p><p>Extruding out of the base is the smart retractable handle with an automatic locking mechanism. It works smoothly and reliably locks into position, and its length means it’ll cater to even the tallest of users. Withings has also integrated two buttons into the handle to allow for easy operation of the unit.</p><p>As well as housing the color screen, the handle comprises four stainless steel electrodes to take the total number across the scale up to 12. Through these sensors, the BodyScan 2 is capable of performing cardiometabolic assessments and a whole-body analysis. </p><ul><li><strong>Design Score: 5/5</strong></li></ul><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="cscFs4fSAFthgrsV9GXj2B" name="Withings BodyScan 2_10" alt="Withings BodyScan 2" src="https://cdn.mos.cms.futurecdn.net/cscFs4fSAFthgrsV9GXj2B-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future / Paul Hatton)</span></figcaption></figure><h3 class="article-body__section" id="section-withings-bodyscan-2-body-scale-features"><span>Withings BodyScan 2 Body Scale: Features</span></h3><ul><li><strong>Hypertension notifications</strong></li><li><strong>Blood oxygen level measurements</strong></li><li><strong>Heart age predictions</strong></li></ul><p>The BodyScan 2 represents a significant advancement in body tracking for the consumer market. It does, of course, continue to carry out the basics admirably, but beyond that, the scale introduces new measurements and features that have never been seen before in a home device. These features include hypertension, heart age, and blood oxygen level, with glucose resilience tracking coming soon.</p><p>First up, hypertension notifications. By analyzing patterns in the data collected by the BodyScan 2, Withings is able to detect signs associated with hypertension. The presence of these patterns is not a medical assessment that hypertension is present but rather the reporting of it as a heightened possibility, just like the <a href="https://www.techradar.com/news/best-apple-watch">best Apple Watches</a>. If it detects a pattern, you’ll receive a notification through the Withings app.</p><p>Then there’s the heart and vascular age predictors, which are unlocked with a Withings+ membership. According to Withings, this is an indicator of the “heart's mechanical efficiency, based on how quickly your heart reacts to each beat and how effectively it pumps blood.”</p><p>The final new feature to mention is blood oxygen tracking, which is achieved through a multi-wave PPG sensor built into the handle. Through this infrared technology, the smart scale measures SpO2 in the same way as the <a href="https://www.techradar.com/news/wearables/best-smart-watches-what-s-the-best-wearable-tech-for-you-1154074">best smartwatches</a>. These three features provide a complete cardiometabolic assessment, which sets the BodyScan 2 apart from the competition.</p><ul><li><strong>Features Score: 5/5</strong></li></ul><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="oGZMWn2dJnqpr6VxmLtH8B" name="Withings BodyScan 2_11" alt="Withings BodyScan 2" src="https://cdn.mos.cms.futurecdn.net/oGZMWn2dJnqpr6VxmLtH8B-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future / Paul Hatton)</span></figcaption></figure><h3 class="article-body__section" id="section-withings-bodyscan-2-body-scale-performance"><span>Withings BodyScan 2 Body Scale: Performance</span></h3><ul><li><strong>Solid accuracy for basic metrics</strong></li><li><strong>Variable vascular age results</strong></li><li><strong>Cluttered Withings app experience</strong></li></ul><p>To provide a comparison set of measurements, I compared the BodyScan 2 with the RunStar 8E Pro. Both brands claim over 98.5% DEXA validation and deliver a similar set of metrics, although the BodyScan 2 offers the most.</p><p>Let’s start with the basics. The BodyScan 2 recorded my weight at 61.23kg and BMI at 18.2 compared to 61.4 and 19 on the RunStar. Comparative measurements continued across muscle rate, subcutaneous fat, visceral fat, base metabolism, and a number of other fat and mass metrics.</p><p>All readings are quickly available on the Withings app, which allows for deeper interrogation and tracking over time. Body composition data is displayed on a 3D graphic, which is engaging. I did, however, find it difficult to navigate around the Withings app with the sheer amount of data and features causing the interface to feel cluttered.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="sYZzC8dFn2TyCSu7nBdGpL" name="Withings BodyScan 2_App_Final" alt="Withings BodyScan 2" src="https://cdn.mos.cms.futurecdn.net/sYZzC8dFn2TyCSu7nBdGpL-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future / Paul Hatton)</span></figcaption></figure><p>As accurate as the BodyScan 2 is for basic measurements, it is not these metrics that would cause someone to purchase a BodyScan 2. I was much more interested in the new features, including blood oxygen level measurements and heart age predictions. To test SpO2 readings, I compared it to my Garmin Tactix 8 and found that its readings were similar and consistent.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="BTLnDzCdKSEEVYoBxgvzgB" name="Withings BodyScan 2_18" alt="Withings BodyScan 2" src="https://cdn.mos.cms.futurecdn.net/BTLnDzCdKSEEVYoBxgvzgB-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future / Paul Hatton)</span></figcaption></figure><p>Vascular age reporting was less reliable. The first time I measured it, the app told me that my vascular age was four years older than my actual age. As you can imagine, that was a little bit of a shock. I measured it a week later, at a similar time of the day, and Withings reported only a one-year difference from my actual age. That’s a significant difference in a short space of time, which makes it difficult to entirely rely upon the findings and decide whether health changes are required.</p><p>Offering cardiometabolic measurements and estimations via a smart scale puts the BodyScan 2 at the forefront of the industry. They have introduced tech that has never before been seen in a smart scale, and the level of innovation is truly impressive. That said, I think we’re a few iterations off, seeing a smart scale delivering the necessary accuracy to make their estimations accurate enough to be relied upon to be highly accurate within some newer metrics, only a general trend indication.</p><ul><li><strong>Performance score: 4.5/5</strong></li></ul><h3 class="article-body__section" id="section-withings-bodyscan-2-body-scale-scorecard"><span>Withings BodyScan 2 Body Scale: Scorecard</span></h3><div ><table><tbody><tr><td class="firstcol " ><p>Category</p></td><td  ><p>Comment</p></td><td  ><p>Score</p></td></tr><tr><td class="firstcol " ><p>Value</p></td><td  ><p>The BodyScan 2 is extremely expensive, but for the money you get excellent build quality and a wide range of advanced features.</p></td><td  ><p>4.5/5</p></td></tr><tr><td class="firstcol " ><p>Design</p></td><td  ><p>A professional, modern-looking smart scale with a built-in LCD display. The retractable handle is well engineered and designed to endure years of use.</p></td><td  ><p>5/5</p></td></tr><tr><td class="firstcol " ><p>Features</p></td><td  ><p>This smart scale offers an array of advanced features, designed to provide a full cardiometabolic report.</p></td><td  ><p>5/5</p></td></tr><tr><td class="firstcol " ><p>Performance</p></td><td  ><p>Solid accuracy across standard metrics, although vascular age reporting was variable. The app is also a little cluttered. </p></td><td  ><p>4.5/5</p></td></tr></tbody></table></div><h3 class="article-body__section" id="section-runstar-4e-body-scale-should-i-buy"><span>RunStar 4E Body Scale: Should I buy?</span></h3><h2 id="buy-it-if-5">Buy it if...</h2><div class="product"><p><strong>You want full cardiometabolic tracking from the comfort of your own home</strong></p><p>The BodyScan 2 offers some of the most extensive body and heart tracking seen in any home device.</p></div><div class="product"><p><strong>You’re taking GLP-1s and want to maintain body mass</strong></p><p>The BodyScan 2 tracks lean mass across the whole body so you can see exactly where you’re losing mass and respond accordingly.</p></div><h2 id="don-39-t-buy-it-if-4">Don't buy it if...</h2><div class="product"><p><strong>You’ll only be casually measuring your weight and a few other metrics</strong></p><p>With full-body scanning capabilities and innovative heart tracking, the BodyScan 2 is only for the most serious of users.</p></div><div class="product"><p><strong>You’re looking for a budget-friendly scale</strong></p><p>At $599.95 USD / £449.95 GBP / $895 AUS, the BodyScan 2 is extremely expensive. Significantly more affordable alternatives exist.</p></div><h3 class="article-body__section" id="section-also-consider"><span>Also consider</span></h3><div class="product"><a data-dimension112="5a7c86fc-ade1-11f1-b8ba-6903eeb0b08a" data-action="Deal Block" data-label="RunStar 8E Pro Body ScaleA similarly DEXA-verified smart scale that’s significantly more affordable, although it tracks fewer metrics." data-dimension48="RunStar 8E Pro Body ScaleA similarly DEXA-verified smart scale that’s significantly more affordable, although it tracks fewer metrics." target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:800px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="Dqjy3XSeo2yDJYA5diMBF9" name="RunStar 8E SmartScan Pro" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/Dqjy3XSeo2yDJYA5diMBF9-1920-80.jpg" mos="" align="middle" fullscreen="" width="800" height="800" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong>RunStar 8E Pro Body Scale</strong></p><p>A similarly DEXA-verified smart scale that’s significantly more affordable, although it tracks fewer metrics.<a class="view-deal button" href="" target="_blank" rel="nofollow" data-dimension112="5a7c86fc-ade1-11f1-b8ba-6903eeb0b08a" data-action="Deal Block" data-label="RunStar 8E Pro Body ScaleA similarly DEXA-verified smart scale that’s significantly more affordable, although it tracks fewer metrics." data-dimension48="RunStar 8E Pro Body ScaleA similarly DEXA-verified smart scale that’s significantly more affordable, although it tracks fewer metrics." data-dimension25="">View Deal</a></p></div><div class="product"><a data-dimension112="5a7c8760-ade1-11f1-a017-07a1e3e08553" data-action="Deal Block" data-label="Vitafit Smart Bathroom Scale" data-dimension48="Vitafit Smart Bathroom Scale" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1500px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="QchpCHbkfy5UFpm6GtGccC" name="Vitafit Smart Bathroom Scale" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/QchpCHbkfy5UFpm6GtGccC-1920-80.jpg" mos="" align="middle" fullscreen="" width="1500" height="1500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong>Vitafit Smart Bathroom Scale</strong></p><p>A similarly priced smart scale with a comparable set of features. Boasts a slightly larger display and a more comprehensive app experience.</p><p><a href="https://www.techradar.com/health-fitness/vitafit-smart-bathroom-scale-review-a-usd20-health-hero" data-dimension112="5a7c8760-ade1-11f1-a017-07a1e3e08553" data-action="Deal Block" data-label="Vitafit Smart Bathroom Scale" data-dimension48="Vitafit Smart Bathroom Scale" data-dimension25="">Vitafit Smart Bathroom Scale</a><a class="view-deal button" href="" target="_blank" rel="nofollow" data-dimension112="5a7c8760-ade1-11f1-a017-07a1e3e08553" data-action="Deal Block" data-label="Vitafit Smart Bathroom Scale" data-dimension48="Vitafit Smart Bathroom Scale" data-dimension25="">View Deal</a></p></div><h3 class="article-body__section" id="section-how-i-tested"><span>How I tested</span></h3><p>My family (two adults and children) used the BodyScan 2 scale for several weeks. Having several family members made it possible to try out the multi-profile functionality, but most of the time I spent testing the scale using myself as a subject. I focused in on some of the new features that set the BodyScan 2 apart, such as vascular age and SpO2. Having the scale located in a busy family bathroom enabled me to determine the robustness and durability of the device.</p><p><em>First reviewed: September 2026</em></p> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/home/smart-scales/withings-bodyscan-2-review</link>
                                                                            <description>
                            <![CDATA[ The Withings BodyScan 2 provides features to help users make good lifestyle decisions, user profiles, and tons of cardiometabolic assessment tools. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">yzRiQruACBEH8wyWNUco7J</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/p6gdZW7MiwEwbcKBCurLhB-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sat, 19 Sep 2026 08:00:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Smart Scales]]></category>
                                                    <category><![CDATA[Home]]></category>
                                                    <category><![CDATA[Smart Home]]></category>
                                                                                                <author><![CDATA[ paulo.n.hatton@gmail.com (Paul Hatton) ]]></author>                    <dc:creator><![CDATA[ Paul Hatton ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/KH8owg4K7JgU8kjNPDsfYj-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/p6gdZW7MiwEwbcKBCurLhB-1920-80.jpg">
                                                            <media:credit><![CDATA[Future / Paul Hatton]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Withings BodyScan 2]]></media:description>                                                            <media:text><![CDATA[Withings BodyScan 2]]></media:text>
                                <media:title type="plain"><![CDATA[Withings BodyScan 2]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/p6gdZW7MiwEwbcKBCurLhB-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <h3 class="article-body__section" id="section-withings-bodyscan-2-body-scale-one-minute-review"><span>Withings BodyScan 2 Body Scale: One minute review</span></h3><p>Smart scales measure weight, body fat, muscle mass, and a whole host of other metrics through a collection of electrodes at the soles of your feet. The <a href="https://www.techradar.com/best/best-smart-scales">best smart scales</a> are perfect for fitness enthusiasts, family health monitoring, and those who want to track changes to their body over time, but Withings wants to push the boundaries of what is possible in the smart scale category. Not satisfied with simple measurements like the ones listed above, Withings has launched the BodyScan 2, and it represents a significant step in innovation.</p><p>According to Withings, the BodyScan 2 is “the world's first longevity station. It is the only consumer device that transforms your daily weigh-in into a complete cardiometabolic assessment, revealing whether your lifestyle is adding or taking years off your healthy life.” This scale is all about trends over time and those who care about optimizing their health now, for the reward of future gains.</p><p>Building on the original <a href="https://www.techradar.com/home/smart-scales/withings-body-scan-review">BodyScan</a> scale, version two introduces a number of new features and design changes. The display has been moved from the base to the handlebar, offering a more pleasing user experience. New features include SpO2 measurements, hypertension screening, heart and ‘vascular age’ estimations, and reporting on the risk of unstable glycaemia.</p><p>All of these improvements make the scale $200 / £100 more expensive than the original. That’s a significant increase given that even the most premium offerings from most other brands cost less than half the price, but I suppose electronics in all categories have been getting more expensive this year with the components crisis. And if you want access to the complete set of features, then you’ll have to part ways with $9.95 / £8.95 per month for a Withings+ subscription, making this a premium-only, money-no-object smart scale option.</p><p>That said, the BodyScan 2 offers the very best in features and build quality. The scale is able to track over 40 biomarkers and, through very clever processing, can report heart findings that no other scale is capable of. It also boasts a robust and premium build with the chassis being made from reinforced aluminum.</p><p>Withings has taken some of the most innovative hardware found in the <a href="https://www.techradar.com/news/wearables/best-smart-watches-what-s-the-best-wearable-tech-for-you-1154074">best smartwatches</a> and <a href="https://www.techradar.com/health-fitness/fitness-trackers/best-smart-ring">best smart rings</a> and combined it with traditional smart scale technology. The result is one of the most advanced smart scales on the consumer market.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="x3KtdoFAMGvHoou84ZXXVB" name="Withings BodyScan 2_5" alt="Withings BodyScan 2" src="https://cdn.mos.cms.futurecdn.net/x3KtdoFAMGvHoou84ZXXVB-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future / Paul Hatton)</span></figcaption></figure><h3 class="article-body__section" id="section-withings-bodyscan-2-body-scale-specifications"><span>Withings BodyScan 2 Body Scale: Specifications</span></h3><div ><table><tbody><tr><td class="firstcol " ><p>Component</p></td><td  ><p><strong>Withings BodyScan 2 Body Scale</strong></p></td></tr><tr><td class="firstcol " ><p>Price</p></td><td  ><p>$599.95 USD / £449.95 GBP / $895 AUS</p></td></tr><tr><td class="firstcol " ><p>Metrics</p></td><td  ><p>40+ Biomarkers with 6-zone body composition analysis, Metabolic Assessment, Cardiovascular Insights, and a Calories Tracker</p></td></tr><tr><td class="firstcol " ><p>Dimensions</p></td><td  ><p>12.8 x 14.1 x 0.7 in / 325 x 357 x 18.5 mm</p></td></tr><tr><td class="firstcol " ><p>Weight</p></td><td  ><p>11.9 lbs / 5.4 kg</p></td></tr><tr><td class="firstcol " ><p>Material</p></td><td  ><p>Glass and reinforced aluminum</p></td></tr><tr><td class="firstcol " ><p>Display</p></td><td  ><p>LCD</p></td></tr><tr><td class="firstcol " ><p>Battery</p></td><td  ><p>Rechargeable Li-ion battery, USB Type-C</p></td></tr><tr><td class="firstcol " ><p>Connection</p></td><td  ><p>WiFi</p></td></tr></tbody></table></div><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="aFUoH68XgM24xXRfaPJkbB" name="Withings BodyScan 2_13" alt="Withings BodyScan 2" src="https://cdn.mos.cms.futurecdn.net/aFUoH68XgM24xXRfaPJkbB-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future / Paul Hatton)</span></figcaption></figure><h3 class="article-body__section" id="section-withings-bodyscan-2-body-scale-price-and-availability"><span>Withings BodyScan 2 Body Scale: Price and availability</span></h3><ul><li><strong>$599.95 USD / £449.95 GBP / $895 AUS</strong></li><li><strong>The specs justify the high cost</strong></li><li><strong>More affordable alternatives exist</strong></li></ul><p>The BodyScan 2 is one of the most expensive scales on the market, period. At $599.95 / £449.95 / $$895 AUS, the scale is marketed at only the most serious of users who have the disposable income to match their health goals.</p><p>Unfortunately, the costs don’t end there. If you’d like to unlock the premium in-app experience, Withings+, then you’ll have to part with a further $9.95 / £8.95 per month. The membership provides clinical experts at your disposal, an AI health assistant to convert your history into future progress, and a long-term assessment of your aging.</p><p>The spec of the BodyScan 2 sets it apart from the rest of the competition. If you turn to the likes of RunStar, then you’ll find their most premium smart scale, the 8E Ultra, costing less than half the price of the BodyScan 2. This shows that unless you need features to measure and estimate heart age, vascular age, and risk of unstable glycaemia and hypertension, then you’ll be able to save a lot of money by going for one of the other options on our <a href="https://www.techradar.com/best/best-smart-scales">best smart scales</a> list.</p><ul><li><strong>Value score 4.5/5</strong></li></ul><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/8TRqaRPLRWv2cBLczqbeMB-1920-80.jpg" alt="Withings BodyScan 2" /><figcaption><small role="credit">Future / Paul Hatton</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/YyF8w6B2KviWVjZWBPY8GB-1920-80.jpg" alt="Withings BodyScan 2" /><figcaption><small role="credit">Future / Paul Hatton</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/4y35xc7SkVpWbkKoE8PEBB-1920-80.jpg" alt="Withings BodyScan 2" /><figcaption><small role="credit">Future / Paul Hatton</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/uZj6Rv5fi37QwebWfb2D3B-1920-80.jpg" alt="Withings BodyScan 2" /><figcaption><small role="credit">Future / Paul Hatton</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/KTZhditFVaUkm7riNHxFhB-1920-80.jpg" alt="Withings BodyScan 2" /><figcaption><small role="credit">Future / Paul Hatton</small></figcaption></figure></figure><h3 class="article-body__section" id="section-withings-bodyscan-2-body-scale-design"><span>Withings BodyScan 2 Body Scale: Design</span></h3><ul><li><strong>High-resolution LCD screen</strong></li><li><strong>ITO Glass Platform</strong></li><li><strong>Robust and durable</strong></li></ul><p>The BodyScan 2 exudes the premium build quality that you’d expect given its eye-watering price tag. The aesthetic is smart, professional, and well thought through. With a reinforced aluminum chassis, you also won’t have many concerns should it be dropped on a hard tiled floor or knocked against a sink pedestal.</p><p>At the heart of the experience is a 640 x 172px color LCD screen, which is bright, vibrant, and clear. With it, users can quickly and easily track their progress without even needing to launch the Withings app. This is neatly located in the retractable handle, if you choose to use it, so your data will be closer to your eye and more easily read.</p><p>The base is covered with a large-format glass platform that contains eight integrated Indium Tin Oxide (ITO) electrodes for high-precision accuracy and support for all foot sizes and up to 200 kg / 440 lb maximum capacity. The base features a black and blue hued striped pattern, which elevates the smart scale beyond looking like a glass slab.</p><p>Extruding out of the base is the smart retractable handle with an automatic locking mechanism. It works smoothly and reliably locks into position, and its length means it’ll cater to even the tallest of users. Withings has also integrated two buttons into the handle to allow for easy operation of the unit.</p><p>As well as housing the color screen, the handle comprises four stainless steel electrodes to take the total number across the scale up to 12. Through these sensors, the BodyScan 2 is capable of performing cardiometabolic assessments and a whole-body analysis. </p><ul><li><strong>Design Score: 5/5</strong></li></ul><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="cscFs4fSAFthgrsV9GXj2B" name="Withings BodyScan 2_10" alt="Withings BodyScan 2" src="https://cdn.mos.cms.futurecdn.net/cscFs4fSAFthgrsV9GXj2B-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future / Paul Hatton)</span></figcaption></figure><h3 class="article-body__section" id="section-withings-bodyscan-2-body-scale-features"><span>Withings BodyScan 2 Body Scale: Features</span></h3><ul><li><strong>Hypertension notifications</strong></li><li><strong>Blood oxygen level measurements</strong></li><li><strong>Heart age predictions</strong></li></ul><p>The BodyScan 2 represents a significant advancement in body tracking for the consumer market. It does, of course, continue to carry out the basics admirably, but beyond that, the scale introduces new measurements and features that have never been seen before in a home device. These features include hypertension, heart age, and blood oxygen level, with glucose resilience tracking coming soon.</p><p>First up, hypertension notifications. By analyzing patterns in the data collected by the BodyScan 2, Withings is able to detect signs associated with hypertension. The presence of these patterns is not a medical assessment that hypertension is present but rather the reporting of it as a heightened possibility, just like the <a href="https://www.techradar.com/news/best-apple-watch">best Apple Watches</a>. If it detects a pattern, you’ll receive a notification through the Withings app.</p><p>Then there’s the heart and vascular age predictors, which are unlocked with a Withings+ membership. According to Withings, this is an indicator of the “heart's mechanical efficiency, based on how quickly your heart reacts to each beat and how effectively it pumps blood.”</p><p>The final new feature to mention is blood oxygen tracking, which is achieved through a multi-wave PPG sensor built into the handle. Through this infrared technology, the smart scale measures SpO2 in the same way as the <a href="https://www.techradar.com/news/wearables/best-smart-watches-what-s-the-best-wearable-tech-for-you-1154074">best smartwatches</a>. These three features provide a complete cardiometabolic assessment, which sets the BodyScan 2 apart from the competition.</p><ul><li><strong>Features Score: 5/5</strong></li></ul><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="oGZMWn2dJnqpr6VxmLtH8B" name="Withings BodyScan 2_11" alt="Withings BodyScan 2" src="https://cdn.mos.cms.futurecdn.net/oGZMWn2dJnqpr6VxmLtH8B-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future / Paul Hatton)</span></figcaption></figure><h3 class="article-body__section" id="section-withings-bodyscan-2-body-scale-performance"><span>Withings BodyScan 2 Body Scale: Performance</span></h3><ul><li><strong>Solid accuracy for basic metrics</strong></li><li><strong>Variable vascular age results</strong></li><li><strong>Cluttered Withings app experience</strong></li></ul><p>To provide a comparison set of measurements, I compared the BodyScan 2 with the RunStar 8E Pro. Both brands claim over 98.5% DEXA validation and deliver a similar set of metrics, although the BodyScan 2 offers the most.</p><p>Let’s start with the basics. The BodyScan 2 recorded my weight at 61.23kg and BMI at 18.2 compared to 61.4 and 19 on the RunStar. Comparative measurements continued across muscle rate, subcutaneous fat, visceral fat, base metabolism, and a number of other fat and mass metrics.</p><p>All readings are quickly available on the Withings app, which allows for deeper interrogation and tracking over time. Body composition data is displayed on a 3D graphic, which is engaging. I did, however, find it difficult to navigate around the Withings app with the sheer amount of data and features causing the interface to feel cluttered.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="sYZzC8dFn2TyCSu7nBdGpL" name="Withings BodyScan 2_App_Final" alt="Withings BodyScan 2" src="https://cdn.mos.cms.futurecdn.net/sYZzC8dFn2TyCSu7nBdGpL-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future / Paul Hatton)</span></figcaption></figure><p>As accurate as the BodyScan 2 is for basic measurements, it is not these metrics that would cause someone to purchase a BodyScan 2. I was much more interested in the new features, including blood oxygen level measurements and heart age predictions. To test SpO2 readings, I compared it to my Garmin Tactix 8 and found that its readings were similar and consistent.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="BTLnDzCdKSEEVYoBxgvzgB" name="Withings BodyScan 2_18" alt="Withings BodyScan 2" src="https://cdn.mos.cms.futurecdn.net/BTLnDzCdKSEEVYoBxgvzgB-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future / Paul Hatton)</span></figcaption></figure><p>Vascular age reporting was less reliable. The first time I measured it, the app told me that my vascular age was four years older than my actual age. As you can imagine, that was a little bit of a shock. I measured it a week later, at a similar time of the day, and Withings reported only a one-year difference from my actual age. That’s a significant difference in a short space of time, which makes it difficult to entirely rely upon the findings and decide whether health changes are required.</p><p>Offering cardiometabolic measurements and estimations via a smart scale puts the BodyScan 2 at the forefront of the industry. They have introduced tech that has never before been seen in a smart scale, and the level of innovation is truly impressive. That said, I think we’re a few iterations off, seeing a smart scale delivering the necessary accuracy to make their estimations accurate enough to be relied upon to be highly accurate within some newer metrics, only a general trend indication.</p><ul><li><strong>Performance score: 4.5/5</strong></li></ul><h3 class="article-body__section" id="section-withings-bodyscan-2-body-scale-scorecard"><span>Withings BodyScan 2 Body Scale: Scorecard</span></h3><div ><table><tbody><tr><td class="firstcol " ><p>Category</p></td><td  ><p>Comment</p></td><td  ><p>Score</p></td></tr><tr><td class="firstcol " ><p>Value</p></td><td  ><p>The BodyScan 2 is extremely expensive, but for the money you get excellent build quality and a wide range of advanced features.</p></td><td  ><p>4.5/5</p></td></tr><tr><td class="firstcol " ><p>Design</p></td><td  ><p>A professional, modern-looking smart scale with a built-in LCD display. The retractable handle is well engineered and designed to endure years of use.</p></td><td  ><p>5/5</p></td></tr><tr><td class="firstcol " ><p>Features</p></td><td  ><p>This smart scale offers an array of advanced features, designed to provide a full cardiometabolic report.</p></td><td  ><p>5/5</p></td></tr><tr><td class="firstcol " ><p>Performance</p></td><td  ><p>Solid accuracy across standard metrics, although vascular age reporting was variable. The app is also a little cluttered. </p></td><td  ><p>4.5/5</p></td></tr></tbody></table></div><h3 class="article-body__section" id="section-runstar-4e-body-scale-should-i-buy"><span>RunStar 4E Body Scale: Should I buy?</span></h3><h2 id="buy-it-if-5">Buy it if...</h2><div class="product"><p><strong>You want full cardiometabolic tracking from the comfort of your own home</strong></p><p>The BodyScan 2 offers some of the most extensive body and heart tracking seen in any home device.</p></div><div class="product"><p><strong>You’re taking GLP-1s and want to maintain body mass</strong></p><p>The BodyScan 2 tracks lean mass across the whole body so you can see exactly where you’re losing mass and respond accordingly.</p></div><h2 id="don-39-t-buy-it-if-4">Don't buy it if...</h2><div class="product"><p><strong>You’ll only be casually measuring your weight and a few other metrics</strong></p><p>With full-body scanning capabilities and innovative heart tracking, the BodyScan 2 is only for the most serious of users.</p></div><div class="product"><p><strong>You’re looking for a budget-friendly scale</strong></p><p>At $599.95 USD / £449.95 GBP / $895 AUS, the BodyScan 2 is extremely expensive. Significantly more affordable alternatives exist.</p></div><h3 class="article-body__section" id="section-also-consider"><span>Also consider</span></h3><div class="product"><a data-dimension112="5a7c86fc-ade1-11f1-b8ba-6903eeb0b08a" data-action="Deal Block" data-label="RunStar 8E Pro Body ScaleA similarly DEXA-verified smart scale that’s significantly more affordable, although it tracks fewer metrics." data-dimension48="RunStar 8E Pro Body ScaleA similarly DEXA-verified smart scale that’s significantly more affordable, although it tracks fewer metrics." target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:800px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="Dqjy3XSeo2yDJYA5diMBF9" name="RunStar 8E SmartScan Pro" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/Dqjy3XSeo2yDJYA5diMBF9-1920-80.jpg" mos="" align="middle" fullscreen="" width="800" height="800" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong>RunStar 8E Pro Body Scale</strong></p><p>A similarly DEXA-verified smart scale that’s significantly more affordable, although it tracks fewer metrics.<a class="view-deal button" href="" target="_blank" rel="nofollow" data-dimension112="5a7c86fc-ade1-11f1-b8ba-6903eeb0b08a" data-action="Deal Block" data-label="RunStar 8E Pro Body ScaleA similarly DEXA-verified smart scale that’s significantly more affordable, although it tracks fewer metrics." data-dimension48="RunStar 8E Pro Body ScaleA similarly DEXA-verified smart scale that’s significantly more affordable, although it tracks fewer metrics." data-dimension25="">View Deal</a></p></div><div class="product"><a data-dimension112="5a7c8760-ade1-11f1-a017-07a1e3e08553" data-action="Deal Block" data-label="Vitafit Smart Bathroom Scale" data-dimension48="Vitafit Smart Bathroom Scale" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1500px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="QchpCHbkfy5UFpm6GtGccC" name="Vitafit Smart Bathroom Scale" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/QchpCHbkfy5UFpm6GtGccC-1920-80.jpg" mos="" align="middle" fullscreen="" width="1500" height="1500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong>Vitafit Smart Bathroom Scale</strong></p><p>A similarly priced smart scale with a comparable set of features. Boasts a slightly larger display and a more comprehensive app experience.</p><p><a href="https://www.techradar.com/health-fitness/vitafit-smart-bathroom-scale-review-a-usd20-health-hero" data-dimension112="5a7c8760-ade1-11f1-a017-07a1e3e08553" data-action="Deal Block" data-label="Vitafit Smart Bathroom Scale" data-dimension48="Vitafit Smart Bathroom Scale" data-dimension25="">Vitafit Smart Bathroom Scale</a><a class="view-deal button" href="" target="_blank" rel="nofollow" data-dimension112="5a7c8760-ade1-11f1-a017-07a1e3e08553" data-action="Deal Block" data-label="Vitafit Smart Bathroom Scale" data-dimension48="Vitafit Smart Bathroom Scale" data-dimension25="">View Deal</a></p></div><h3 class="article-body__section" id="section-how-i-tested"><span>How I tested</span></h3><p>My family (two adults and children) used the BodyScan 2 scale for several weeks. Having several family members made it possible to try out the multi-profile functionality, but most of the time I spent testing the scale using myself as a subject. I focused in on some of the new features that set the BodyScan 2 apart, such as vascular age and SpO2. Having the scale located in a busy family bathroom enabled me to determine the robustness and durability of the device.</p><p><em>First reviewed: September 2026</em></p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Philips Hue Bridge Pro prices increase as new update enables Bridgeless Sync ]]></title>
                                                                                                <dc:content><![CDATA[ <ul><li><strong>The Philips Hue Bridge Pro has increased in price by at least 40%</strong></li><li><strong>Hue Essential multi-packs have also gone up in price </strong></li><li><strong>However, a new software update supports 'Bridgeless Sync' for some devices</strong></li></ul><p>Philips Hue has had quite an illustrious few weeks, it’s<a href="https://www.techradar.com/home/smart-lights/philips-hue-just-launched-over-a-dozen-new-smart-lights-and-accessories-heres-every-syncing-device-light-strip-and-wall-panel-worth-your-money"> just launched over a dozen new smart lights and accessories</a>, but the latest product price hike could tarnish the company’s insane run of new announcements — and the Philips Hue Bridge Pro has received quite a shocking increase. </p><p>In the US, the Philips Hue Bridge Pro, a hub that unlocks advanced control features for the <a href="https://www.techradar.com/news/best-smart-lighting">best smart lights</a>, has risen in price from $99 to $139 — an increase of roughly 40%. In the UK, the Bridge Pro is £129.99 in the <a href="https://www.philips-hue.com/en-gb/p/hue-bridge-pro/8720169155091">Philips Hue Autumn Glow-Up sale</a>, up from its launch price of £79.99. That's an increase of around 35% (though the device is currently discounted to £90.80 on Amazon). </p><p>According to <a href="https://9to5google.com/2026/09/16/philips-hue-bridge-pro-price-hikes/" target="_blank">9to5Google</a>, the price changes rolled out in August, but it’s not just the US and UK that are bearing the brunt of these increases. </p><p>Eurozone regions are also affected, with the Philips Hue Bridge Pro spiking from €99 to €149. The device was €89 at launch and increased to €99 euros in March, so the latest change marks the second European price hike this year, and a total price increase of 51%.. </p><p>Other Hue products that have been hit by unexpected prices as well. As spotted by <a href="https://hueblog.com/2026/09/16/philips-hue-massively-raises-the-price-of-the-hue-bridge-pro/" target="_blank">Hue Blog</a>, multi-packs of Hue Essential lamps and spotlights have shot up to €69.99 from their previous €59.99 price point. It’s not ideal, but at least these increases aren’t as substantial as the Bridge Pro. </p><p>The most frustrating part is that the Philips Hue Bridge Pro, together with the Hue Essential devices, are relatively new products that were only released last year. But with the rising cost of manufacturing and memory alike, it was only a matter of time before Philips Hue succumbed to this upheaval. </p><h2 id="it-39-s-not-all-bad-news">It's not all bad news...</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:800px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="AhHmZUWRemw5FvZT2Nfvjm" name="Philips Hue Play Screen Sync 2" alt="Philips Hue smart light" src="https://cdn.mos.cms.futurecdn.net/AhHmZUWRemw5FvZT2Nfvjm-1920-80.jpg" mos="" align="middle" fullscreen="" width="800" height="450" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Signify)</span></figcaption></figure><p>Philips Hue’s latest stunt is quite the kick in the teeth if you were just about to embark on your new smart home journey with the brand. </p><p>However amid the price hike chaos, a new software update supports ‘Bridgeless Sync’ for Philips Hue lights with the Hue Play Screen Sync TV camera and Hue Play HDMI Sync Box 4K. </p><p>What that means is that both devices can now communicate with a single Hue light via Bluetooth without the need for a Bridge or Bridge Pro hub. Additionally, <a href="https://www.techradar.com/home/smart-lights/no-hdmi-needed-philips-hues-new-camera-based-screen-sync-system-works-with-any-source-including-your-tvs-native-streaming-apps">the new camera-based Screen Sync system </a>works with any TV source, removing the need for a HDMI Sync Box. </p><p>Ultimately, this removes a handful of tedious steps and significantly reduces the price for setting up your own Hue ecosystem. It also comes in handy if you want to seriously upgrade your TV viewing, but aren’t too concerned about having the entire Hue smart home experience. </p> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/home/smart-lights/thought-the-philips-hue-bridge-pro-was-expensive-its-just-been-hit-with-a-huge-global-price-hike-but-theres-a-new-software-update-that-cushions-the-blow</link>
                                                                            <description>
                            <![CDATA[ Prices for the Philips Hue Bridge Pro have gone up by $40, but new 'Bridgeless Sync' could be a game-changer. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">7TBtpag4RC4sstHRjTLxsQ</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/HhwDShSv98bUNMHiW8EJHo-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 17 Sep 2026 11:23:09 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Smart Lights]]></category>
                                                    <category><![CDATA[Home]]></category>
                                                    <category><![CDATA[Smart Home]]></category>
                                                                                                <author><![CDATA[ rowan.davies@futurenet.com (Rowan Davies) ]]></author>                    <dc:creator><![CDATA[ Rowan Davies ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/q5Az6iW5pbAotRovdNvQAf-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Rowan is an Editorial Associate and Apprentice Writer for TechRadar. A recent addition to the news team, he is involved in generating stories for topics that spread across TechRadar&#039;s categories. His interests in audio tech and knowledge in entertainment culture help bring the latest updates in tech news to our readers.&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;He has been writing for publications since he started his studies at age 18. Rowan graduated from Cardiff University in 2023 after attaining a Master&#039;s in Creative Writing, and earlier a Bachelor&#039;s in Media, Journalism, and Culture. He began his journey as a writer at Cardiff University&#039;s Quench Magazine contributing to film/ TV, music, and culture sections, later becoming Music Section Editor.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;In his free time, Rowan is a freelance writer for Cardiff-based culture magazine Buzz where he reviews music, film, and conducts interviews with featured guests. When he is not writing, you can find him at any given music gig, or endlessly scrolling TikTok immersing in celebrity news and drama. &amp;nbsp;&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/HhwDShSv98bUNMHiW8EJHo-1920-80.jpg">
                                                            <media:credit><![CDATA[Philips]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[The Philips Hue Bridge Pro.]]></media:description>                                                            <media:text><![CDATA[The Philips Hue Bridge Pro.]]></media:text>
                                <media:title type="plain"><![CDATA[The Philips Hue Bridge Pro.]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/HhwDShSv98bUNMHiW8EJHo-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <ul><li><strong>The Philips Hue Bridge Pro has increased in price by at least 40%</strong></li><li><strong>Hue Essential multi-packs have also gone up in price </strong></li><li><strong>However, a new software update supports 'Bridgeless Sync' for some devices</strong></li></ul><p>Philips Hue has had quite an illustrious few weeks, it’s<a href="https://www.techradar.com/home/smart-lights/philips-hue-just-launched-over-a-dozen-new-smart-lights-and-accessories-heres-every-syncing-device-light-strip-and-wall-panel-worth-your-money"> just launched over a dozen new smart lights and accessories</a>, but the latest product price hike could tarnish the company’s insane run of new announcements — and the Philips Hue Bridge Pro has received quite a shocking increase. </p><p>In the US, the Philips Hue Bridge Pro, a hub that unlocks advanced control features for the <a href="https://www.techradar.com/news/best-smart-lighting">best smart lights</a>, has risen in price from $99 to $139 — an increase of roughly 40%. In the UK, the Bridge Pro is £129.99 in the <a href="https://www.philips-hue.com/en-gb/p/hue-bridge-pro/8720169155091">Philips Hue Autumn Glow-Up sale</a>, up from its launch price of £79.99. That's an increase of around 35% (though the device is currently discounted to £90.80 on Amazon). </p><p>According to <a href="https://9to5google.com/2026/09/16/philips-hue-bridge-pro-price-hikes/" target="_blank">9to5Google</a>, the price changes rolled out in August, but it’s not just the US and UK that are bearing the brunt of these increases. </p><p>Eurozone regions are also affected, with the Philips Hue Bridge Pro spiking from €99 to €149. The device was €89 at launch and increased to €99 euros in March, so the latest change marks the second European price hike this year, and a total price increase of 51%.. </p><p>Other Hue products that have been hit by unexpected prices as well. As spotted by <a href="https://hueblog.com/2026/09/16/philips-hue-massively-raises-the-price-of-the-hue-bridge-pro/" target="_blank">Hue Blog</a>, multi-packs of Hue Essential lamps and spotlights have shot up to €69.99 from their previous €59.99 price point. It’s not ideal, but at least these increases aren’t as substantial as the Bridge Pro. </p><p>The most frustrating part is that the Philips Hue Bridge Pro, together with the Hue Essential devices, are relatively new products that were only released last year. But with the rising cost of manufacturing and memory alike, it was only a matter of time before Philips Hue succumbed to this upheaval. </p><h2 id="it-39-s-not-all-bad-news">It's not all bad news...</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:800px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="AhHmZUWRemw5FvZT2Nfvjm" name="Philips Hue Play Screen Sync 2" alt="Philips Hue smart light" src="https://cdn.mos.cms.futurecdn.net/AhHmZUWRemw5FvZT2Nfvjm-1920-80.jpg" mos="" align="middle" fullscreen="" width="800" height="450" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Signify)</span></figcaption></figure><p>Philips Hue’s latest stunt is quite the kick in the teeth if you were just about to embark on your new smart home journey with the brand. </p><p>However amid the price hike chaos, a new software update supports ‘Bridgeless Sync’ for Philips Hue lights with the Hue Play Screen Sync TV camera and Hue Play HDMI Sync Box 4K. </p><p>What that means is that both devices can now communicate with a single Hue light via Bluetooth without the need for a Bridge or Bridge Pro hub. Additionally, <a href="https://www.techradar.com/home/smart-lights/no-hdmi-needed-philips-hues-new-camera-based-screen-sync-system-works-with-any-source-including-your-tvs-native-streaming-apps">the new camera-based Screen Sync system </a>works with any TV source, removing the need for a HDMI Sync Box. </p><p>Ultimately, this removes a handful of tedious steps and significantly reduces the price for setting up your own Hue ecosystem. It also comes in handy if you want to seriously upgrade your TV viewing, but aren’t too concerned about having the entire Hue smart home experience. </p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Ring brings its hyper-local Neighbours feature to the UK next month — here's what to expect ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Next month, Ring is rolling out a new feature called Neighbours — a type of social platform that will let you share local information such as suspicious activity or lost items, with a customisable radius of about five miles.</p><p>Neighbours launched in the US in 2018, but this is the first time it’s been available in the UK. You will find it within the Ring app from October 21, and anyone can join and start interacting with a local community for free — even if they don't have any Ring devices themselves.</p><p>You only need a Ring subscription if you want to join Search Party for Dogs, which is a feature that alerts you if your camera or doorbell detects a pet that has been reported missing, and lets you inform the owner privately.</p><p>We attended a launch event in London this week to learn more about Neighbours and Search Parties, and spoke to Dave Ward, International Managing Director of Ring, to find out how the company is tackling tricky issues like content moderation when running a social platform, and how Neighbours will keep discussions civil.</p><h2 id="search-party-for-dogs">Search Party for Dogs</h2><p>Ring is launching Search Party for Dogs in collaboration with rescue and rehoming charity charity Dogs Trust. If your dog goes missing, you can create a post in Neighbours, including a photo of your pet, and users with participating doorbells and cameras will be alerted automatically if your dog is detected on their property. </p><p>The finder can then let the owner know that the dog has been spotted in a private conversation. The owner won't be alerted automatically, and no videos or images will be shared unless the owner of the camera chooses to do so. At the moment, the feature is specifically for dogs; there is no Search Party feature for cats.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-eBEjQX"></div>                            </div>                            <script src="https://kwizly.com/embed/eBEjQX.js" async></script><p>According to Rachel Casey, Chief Operations Officer, at Dogs Trust, approximately 25,000 dogs enter local authority care in the UK each year, with only 38% being reunited with their families. </p><p>The charity hopes that Search Party will help boost that number — though Casey emphasises that it's still vital to keep your pet's microchip details updated, and ensure they have ID tags and collars for easier identification .</p><p>"We know from out surveys of the local authorities that only two thirds of the dogs that come into  local authority care are actually microchipped, and only half of those actually have the right details on their microchip," Casey said at a launch event in London.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="M8DmyZcsULXjruaqPRpte5" name="Ring SearchParty image" alt="Person holding phone showing Ring Neighbours app" src="https://cdn.mos.cms.futurecdn.net/M8DmyZcsULXjruaqPRpte5-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Ring)</span></figcaption></figure><h2 id="social-platforms">Social platforms</h2><p>After the event, we spoke to Dave Ward, International Managing Director of Ring, to find out more about Neighbours, and how Ring is tackling issues like moderation when it comes to community-created content.</p><p>Social media works best when everyone is on the same platform, so we began by asking how Ring will incentivise people to shift over from sharing local news on Facebook to Neighbours.</p><p>"We're not looking for them to move over and dismantle what they're doing," Ward said. "It's about giving them the tools to be a bit more community-focused and community-led around their area. I think when you look at other tools that are available today, they've all got their place in the world for different things.</p><p>He explained that local community groups on other social platforms often end up being muted because there are so many different things going on, and people complaining about certain topics. He said that the real value of Neighbours is being hyper-local  to you, and that it is complementary to other networks rather than a direct replacement.</p><div><blockquote><p>We ask you, are you sure you want to post this particular thing? Did that happen? Is this something that you think is right?</p><p>Dave Ward, Ring</p></blockquote></div><p>When it comes to moderating content, Ward said that the process starts by prompting them to check what they are about to publish before doing so.  This applies to both text and video clips.</p><p>"We ask you, 'are you sure you want to post this particular thing? Did that happen? Is this something that you think is right?'" Ward explained. "We give you guidelines around what you do and don't post, and then we go through a moderation process. We have a number of different LLMs and models that run through that to identify it against our set criteria. We publish the criteria so you can see it as well as a user. So we're very, very transparent with that.</p><p>"If something then is noticed as being non-compliant with our terms, we'll flag that. It goes to a human moderator, and we'll validate it, and then we'll tell you why. If we choose that we're not going to allow that post to go through, we're quite transparent with you. We say because of this, this, this, and this, and we think that's important."</p><p>If you see something that you think is inappropriate, which has got through the moderation process, Ward says, you can also flag it for attention yourself, and a human moderator will compare it against the platform's guidelines.</p><div><blockquote><p>I'm probably going to be one of the first people doing a Search Party at this rate</p><p>Dave Ward, Ring</p></blockquote></div><p>Finally, we asked Ward what he's most excited about when it comes to Neighbours and Search Party.</p><p>"I talk about like this ability to connect with your neighbourhood," he said. "When I was 12, I didn't realise actually the impact that some of these things happen. But as you get older, you realise like what happens when an event happens in your community and why it becomes important. So I'm excited the fact that we think we can get back to sharing things that are important.</p><p>"I'm particularly excited, obviously, for Search Party for Dogs. I'm a dog-owner, and you know, I was just saying I moved into a new house, and you know, there's a number of holes in that fence. And I was only thinking the other day, I'm probably going to be one of the first people doing a Search Party at this rate, so that's that's particularly exciting."</p><p>Ring will also be launching <a href="https://ring.com/support/verified-help/articles/5t05p/Community-Request" target="_blank">Community Requests</a> in the UK later this year. This feature, already available in the US, lets people ask members of a community for help with an incident that may have been captured by their Ring camera or doorbell. Details of the UK launch haven't yet been announced, but in the US, members can choose whether to share video clips, or ignore the request. Nothing is shared automatically.</p><p>"We think this is genuinely game-changing for people, and I think here in the UK it's the right place to do it," Ward concluded. "We care about each other — we genuinely do. We look out for our neighbours. We just haven't had the tools.</p><p>"In the 80s you'd have been just down the street and been part of what's going on and be able to respond, and now you can do that from [anywhere], and you know that's super important."</p> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/home/home-security/ring-is-bringing-its-neighbours-community-feature-to-the-uk-next-month-heres-how-it-works-how-its-different-from-facebook-and-how-it-uses-video-doorbells-to-find-lost-dogs</link>
                                                                            <description>
                            <![CDATA[ We speak to Dave Ward, International Managing Director of Ring, to learn more about Neighbours, and how it's different to your local Facebook group. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">W8LcmZFwyyhfYvELVwK2zF</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/kgdWe35BWgcKNSJPXURpc5-1920-80.png" type="image/png" length="0"></enclosure>
                                                                        <pubDate>Wed, 16 Sep 2026 14:00:00 +0000</pubDate>                                                                                                                                <updated>Wed, 16 Sep 2026 14:43:22 +0000</updated>
                                                                                                                                            <category><![CDATA[Home Security]]></category>
                                                    <category><![CDATA[Home]]></category>
                                                    <category><![CDATA[Smart Home]]></category>
                                                                                                <author><![CDATA[ catherine.ellis@futurenet.com (Cat Ellis) ]]></author>                    <dc:creator><![CDATA[ Cat Ellis ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/gxZz6rCoNR6sXhqL34MvML-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Cat is TechRadar&#039;s Homes Editor, covering smart home tech, kitchen appliances, vacuums, haircare and more. She&#039;s been a tech journalist for 15 years, having worked on print magazines including PC Plus and PC Format, and is a&lt;a href=&quot;https://sca.coffee/&quot;&gt; &lt;u&gt;Speciality Coffee Association&lt;/u&gt;&lt;/a&gt; (SCA) certified barista. Whether you want to invest in some smart lights, find your ideal hair styler, or pick the espresso machine of your dreams, she&#039;s the right person to help.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/png" url="https://cdn.mos.cms.futurecdn.net/kgdWe35BWgcKNSJPXURpc5-1920-80.png">
                                                            <media:credit><![CDATA[Ring]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Person holding phone showing Ring Neighbours app]]></media:description>                                                            <media:text><![CDATA[Person holding phone showing Ring Neighbours app]]></media:text>
                                <media:title type="plain"><![CDATA[Person holding phone showing Ring Neighbours app]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/kgdWe35BWgcKNSJPXURpc5-1920-80.png" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Next month, Ring is rolling out a new feature called Neighbours — a type of social platform that will let you share local information such as suspicious activity or lost items, with a customisable radius of about five miles.</p><p>Neighbours launched in the US in 2018, but this is the first time it’s been available in the UK. You will find it within the Ring app from October 21, and anyone can join and start interacting with a local community for free — even if they don't have any Ring devices themselves.</p><p>You only need a Ring subscription if you want to join Search Party for Dogs, which is a feature that alerts you if your camera or doorbell detects a pet that has been reported missing, and lets you inform the owner privately.</p><p>We attended a launch event in London this week to learn more about Neighbours and Search Parties, and spoke to Dave Ward, International Managing Director of Ring, to find out how the company is tackling tricky issues like content moderation when running a social platform, and how Neighbours will keep discussions civil.</p><h2 id="search-party-for-dogs">Search Party for Dogs</h2><p>Ring is launching Search Party for Dogs in collaboration with rescue and rehoming charity charity Dogs Trust. If your dog goes missing, you can create a post in Neighbours, including a photo of your pet, and users with participating doorbells and cameras will be alerted automatically if your dog is detected on their property. </p><p>The finder can then let the owner know that the dog has been spotted in a private conversation. The owner won't be alerted automatically, and no videos or images will be shared unless the owner of the camera chooses to do so. At the moment, the feature is specifically for dogs; there is no Search Party feature for cats.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-eBEjQX"></div>                            </div>                            <script src="https://kwizly.com/embed/eBEjQX.js" async></script><p>According to Rachel Casey, Chief Operations Officer, at Dogs Trust, approximately 25,000 dogs enter local authority care in the UK each year, with only 38% being reunited with their families. </p><p>The charity hopes that Search Party will help boost that number — though Casey emphasises that it's still vital to keep your pet's microchip details updated, and ensure they have ID tags and collars for easier identification .</p><p>"We know from out surveys of the local authorities that only two thirds of the dogs that come into  local authority care are actually microchipped, and only half of those actually have the right details on their microchip," Casey said at a launch event in London.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="M8DmyZcsULXjruaqPRpte5" name="Ring SearchParty image" alt="Person holding phone showing Ring Neighbours app" src="https://cdn.mos.cms.futurecdn.net/M8DmyZcsULXjruaqPRpte5-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Ring)</span></figcaption></figure><h2 id="social-platforms">Social platforms</h2><p>After the event, we spoke to Dave Ward, International Managing Director of Ring, to find out more about Neighbours, and how Ring is tackling issues like moderation when it comes to community-created content.</p><p>Social media works best when everyone is on the same platform, so we began by asking how Ring will incentivise people to shift over from sharing local news on Facebook to Neighbours.</p><p>"We're not looking for them to move over and dismantle what they're doing," Ward said. "It's about giving them the tools to be a bit more community-focused and community-led around their area. I think when you look at other tools that are available today, they've all got their place in the world for different things.</p><p>He explained that local community groups on other social platforms often end up being muted because there are so many different things going on, and people complaining about certain topics. He said that the real value of Neighbours is being hyper-local  to you, and that it is complementary to other networks rather than a direct replacement.</p><div><blockquote><p>We ask you, are you sure you want to post this particular thing? Did that happen? Is this something that you think is right?</p><p>Dave Ward, Ring</p></blockquote></div><p>When it comes to moderating content, Ward said that the process starts by prompting them to check what they are about to publish before doing so.  This applies to both text and video clips.</p><p>"We ask you, 'are you sure you want to post this particular thing? Did that happen? Is this something that you think is right?'" Ward explained. "We give you guidelines around what you do and don't post, and then we go through a moderation process. We have a number of different LLMs and models that run through that to identify it against our set criteria. We publish the criteria so you can see it as well as a user. So we're very, very transparent with that.</p><p>"If something then is noticed as being non-compliant with our terms, we'll flag that. It goes to a human moderator, and we'll validate it, and then we'll tell you why. If we choose that we're not going to allow that post to go through, we're quite transparent with you. We say because of this, this, this, and this, and we think that's important."</p><p>If you see something that you think is inappropriate, which has got through the moderation process, Ward says, you can also flag it for attention yourself, and a human moderator will compare it against the platform's guidelines.</p><div><blockquote><p>I'm probably going to be one of the first people doing a Search Party at this rate</p><p>Dave Ward, Ring</p></blockquote></div><p>Finally, we asked Ward what he's most excited about when it comes to Neighbours and Search Party.</p><p>"I talk about like this ability to connect with your neighbourhood," he said. "When I was 12, I didn't realise actually the impact that some of these things happen. But as you get older, you realise like what happens when an event happens in your community and why it becomes important. So I'm excited the fact that we think we can get back to sharing things that are important.</p><p>"I'm particularly excited, obviously, for Search Party for Dogs. I'm a dog-owner, and you know, I was just saying I moved into a new house, and you know, there's a number of holes in that fence. And I was only thinking the other day, I'm probably going to be one of the first people doing a Search Party at this rate, so that's that's particularly exciting."</p><p>Ring will also be launching <a href="https://ring.com/support/verified-help/articles/5t05p/Community-Request" target="_blank">Community Requests</a> in the UK later this year. This feature, already available in the US, lets people ask members of a community for help with an incident that may have been captured by their Ring camera or doorbell. Details of the UK launch haven't yet been announced, but in the US, members can choose whether to share video clips, or ignore the request. Nothing is shared automatically.</p><p>"We think this is genuinely game-changing for people, and I think here in the UK it's the right place to do it," Ward concluded. "We care about each other — we genuinely do. We look out for our neighbours. We just haven't had the tools.</p><p>"In the 80s you'd have been just down the street and been part of what's going on and be able to respond, and now you can do that from [anywhere], and you know that's super important."</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ The hidden legal dangers of video doorbells and home security cameras — don't be caught out ]]></title>
                                                                                                <dc:content><![CDATA[ <p>When Jon Woodard proudly installed the latest security technology on his Oxfordshire home, including a Ring video doorbell and a security camera on his shed, little did he realise that it would result in a landmark case that was to set him back thousands of pounds in damages. </p><p>The dispute began innocently enough with an invitation from Mr Woodard to his neighbour, Dr Mary Fairhurst, for a tour of his newly renovated home during which he showcased his then cutting-edge security setup. But it soon descended into an acrimonious battle when, in the words of the judgement, Dr Fairhurst was "alarmed and appalled" to discover that the camera mounted on Mr Woodard’s shed pointed directly at her property. </p><p>As well as objecting to live video footage being streamed directly to Mr Woodard’s smartphone, the court heard how she found the audio data which captured her private conversations "even more problematic and detrimental than video data.” And when the case landed in Oxford County Court, Judge Melissa Clarke upheld claims that the devices "unjustifiably invaded" Fairhurst’s privacy and their use breached the Data Protection Act 2018 as well as UK General Data Protection (GDPR) legislation.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-eBEnkX"></div>                            </div>                            <script src="https://kwizly.com/embed/eBEnkX.js" async></script><p>Crucially, the court singled out the audio data collected by the cameras as being "more problematic and detrimental than video data" because it captured conversations from people who were entirely unaware that a device was listening or that audio was being processed. As a result, Mr Woodard was ordered to pay damages and a fine believed to total up to £100,000.</p><p>Speaking at the time of the case in October 2021, digital privacy expert Hannah Hart of <a href="https://proprivacy.com/">Pro Privacy</a> told the <a href="https://www.bbc.co.uk/news/technology-58911296">BBC</a>: “While this case doesn’t set a legal precedent, it does continue an ongoing conversation about our changing attitude towards domestic surveillance — and how normalised it has become in our communities.”</p><h2 id="navigating-legal-boundaries-of-home-surveillance">Navigating legal boundaries of home surveillance</h2><p>Five years on from the landmark case and the risk of falling foul of the law with home security equipment has only grown as new technology such as facial recognition has become commonplace, and users have turned to social media to post video footage taken with their security cameras and video doorbells. </p><div><blockquote><p>In very broad terms, those using this kind of surveillance technology must have a lawful basis for doing so</p><p>Lisa Sweetman, Knights</p></blockquote></div><p>And while understanding what you can and can’t do with domestic cameras does vary between regions, in most countries there is legislation in place to protect the privacy of individuals whose images and, potentially voices, are captured on these devices. As Lisa Sweetman, Partner in the Commercial Team specialising in Data Protection at legal firm Knights told TechRadar: “In very broad terms, those using this kind of surveillance technology must have a lawful basis for doing so and should or must, in certain cases, conduct a data protection impact assessment, or risk assessment, to ensure they are aware of and can mitigate the associated risks to other people’s privacy.”</p><p>According to Sweetman, this means, legally speaking, that users must tell people that this technology is in use, through clear signage supported by a more detailed privacy notice on their property. Also, that “users must be prepared to respond to people’s questions and requests regarding the uses of their data.” And while there is an exception made in the data protection regulations for purely personal household use, known as the ‘domestic purposes exemption’, its application is, claims Sweetman, limited. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="AWKcNEBzdLVayfkwUGrw4n" name="GettyImages-1594138251" alt="Person using a power drill to attach home security camera to exterior wall of house" src="https://cdn.mos.cms.futurecdn.net/AWKcNEBzdLVayfkwUGrw4n-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">If you wish to rely on the domestic exemption from data protection law, make sure your camera's field of view doesn't extend beyond the boundaries of your property  </span><span class="credit" itemprop="copyrightHolder">(Image credit: Getty Images, Jose Miguel Sanchez)</span></figcaption></figure><p>“It is recommended that if a user wishes to rely on the domestic exemption from data protection law, they should ensure that the field of view of the camera does not extend beyond the perimeters of their property,” says Will Richmond-Coggan, Partner and Head of Data and Privacy Disputes at legal firm Freeths. “Where that is not possible, or where the homeowner specifically wishes to keep an eye on their car parked in the road, they should proceed on the basis that they are operating CCTV in a public space and they are therefore potentially to be regarded as a controller of any personal data collected.”</p><p>According to Richmond-Coggan, this means ‘doing all the same things that a business would do, including making some clear decisions about what the data is used for, how long (if at all) it is retained and the circumstances in which it might be shared.’ Regarding sharing footage with neighbours to guard against scammers, car thieves and burglars, Richmond-Coggan advises creating a "written data sharing agreement which commits each of them to common standards of safeguarding in relation to the information and how it is used." </p><h2 id="increasing-number-of-complaints-to-ico">Increasing number of complaints to ICO</h2><p>Regarding ‘accidental spillage’, where footage beyond your property’s boundary is captured, the ICO (Information Commissioner’s Office), which is responsible for enforcing data protection regulations in the UK, offers useful advice for the public in its <a href="https://ico.org.uk/for-the-public/home-cctv-systems/#concerns" target="_blank">guidance on home CCTV systems.</a></p><p>“Incidental capture of neighbouring property is not automatically unlawful, but it can be a trigger point,” an ICO spokesperson told TechRadar. “Where cameras record beyond the homeowner’s boundary, the owner should minimise intrusion where possible — for example by adjusting the camera angle or using privacy masking features (on the camera).” </p><div><blockquote><p>Incidental capture of neighbouring property is not automatically unlawful, but it can be a trigger point</p><p>ICO spokesperson</p></blockquote></div><p>According to <a href="https://ico.org.uk/about-the-ico/our-information/annual-reports/information-commissioners-annual-report-202526/" target="_blank">its Annual Report for 2025/2026</a>, the ICO received 76,743 data protection complaints in 2025/2026, up from 42,315 in the previous year. “The ICO takes concerns about misuse of personal information seriously whether they relate to organisations or individuals,” said an ICO spokesperson. “We regularly receive and consider complaints about domestic CCTV and smart doorbells.” </p><p>However, although the ICO has a range of regulatory powers where data protection law applies, including potentially fining users for a breach, it encourages "people to resolve concerns directly wherever possible". </p><h2 id="posting-footage-on-social-media">Posting footage on social media</h2><p>Whereas CCTV footage from security cameras and video doorbells used to be confined to personal use, the growth of social media has seen an explosion of people uploading footage to platforms such as Facebook, TikTok or local community groups to identify supposedly ‘suspicious figures’. </p><p>Doing so, though, carries severe legal hazards, Knights’ Lisa Sweetman advises. “Uploading footage from a video doorbell to social media is not automatically unlawful, but it can raise significant privacy concerns… Ultimately, the fact that someone appears in footage recorded on your property does not give you the right to publish it on social media.”</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="CWfPyTjt3JtpRzTRXn4N4T" name="GettyImages-1338373366" alt="Person using home security app to view camera footage" src="https://cdn.mos.cms.futurecdn.net/CWfPyTjt3JtpRzTRXn4N4T-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">You could be sued if you post footage to social media that causes, or is likely to cause, serious harm to a person’s reputation </span><span class="credit" itemprop="copyrightHolder">(Image credit: Getty Images, Andrey Popov)</span></figcaption></figure><p>Warning against the dangers of speculating about someone’s behaviour, Gavin Wilson, Director of Physical Security and Risk at cyber and physical security company Toro Solutions, cautions: “We need to remember a camera only give you part of the picture. It can show you that someone was outside a property at a particular time, but it can’t necessarily tell you who they are, why they were or whether they’ve done anything wrong.” Wilson advises users who think they have "captured criminal activity to keep the original footage and give it to the police, rather than posting it online asking people to identify or accuse the individual."</p><p>Not only can uploading video to social media potentially breach data protection laws, you also run the risk of falling foul of other laws too. For example, in the UK under the Defamation Act 2013, you could be sued if footage causes, or is likely to cause, serious harm to a person’s reputation (unless you can prove it is in the public interest) while if the video targets a specific individual, it can cross the line into criminal or civil harassment under the Protection From Harassment Act 1997 — especially if your post encourages followers to track down, abuse, or 'dox' the person featured. </p><div><blockquote><p>Ultimately, the fact that someone appears in footage recorded on your property does not give you the right to publish it on social media</p><p>Lisa Sweetman, Knights</p></blockquote></div><p>“People should think carefully about uploading footage to social media as it can raise additional data protection and potential considerations around defamation or harassment — particularly if identifiable individuals are shown without consent and the footage is shared beyond personal use,” an ICO spokesperson told TechRadar. “Children’s personal information warrants particular care and protection. Any sharing should have a clear and justifiable reason and should not unnecessarily infringe the privacy rights of those captured.”</p><p>Finally, if you record and upload footage of an accident, a crime scene, an ongoing police investigation, or a court trial, your post could severely compromise legal proceedings. For instance, publishing videos of suspects or witnesses online can prejudice a future jury, leading to charges of contempt of court or interfering with the course of justice. </p><h2 id="growth-of-facial-recognition-technology-and-ai">Growth of facial recognition technology and AI</h2><p>Importantly, when installing home security cameras and video doorbells, homeowners must carefully balance their own security needs with the privacy rights of those around them. As Ali Park, country manager at security camera manufacturer Reolink, points out, "a security camera should be there to protect your home, not to create a permanent record of everyone who happens to pass.” </p><p>To help users stay compliant, modern devices incorporate built-in features such as privacy masking and activity zones that allow owners to black out public areas or neighbouring properties. “Most modern cameras allow people to adjust viewing angles, create privacy zones or limit motion detection to specific areas, and I would use those settings wherever possible,” explains Everett Lupton of law firm Slaughter & Lupton. “Audio recording can also raise privacy concerns, so people should understand exactly what their devices record.”</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="q252Sx5DJbAxRHN4xWpYpa" name="GettyImages-2211328643" alt="Man holding security camera, looking at smartphone" src="https://cdn.mos.cms.futurecdn.net/q252Sx5DJbAxRHN4xWpYpa-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Getty Images, Miljan Živković)</span></figcaption></figure><p>One area that is attracting particular attention right now is the rapid emergence of both facial recognition and AI technologies, not just inside commercial security devices, but increasingly in home devices too. “Considerable care should be used in deploying facial recognition technology in a domestic setting for security,” argues Freeths’ Will Richmond-Coggan. “It involves processing of special category biometric identifiers, and it is unlikely that a domestic user will be able to meet the stringent requirements around such use, particularly where the data is likely to be shared with the third-party provider of the facial recognition technology.” </p><p>Given the intrusive nature of facial recognition, Knights’ Lisa Sweetman says a DPIA (Data Protection Impact Assessment) would be required to use facial recognition technology to identify potential criminals. “Using facial recognition simply to identify known burglars will be difficult to justify unless there is a clear and lawful basis for doing so and appropriate safeguards are in place.”</p><div><blockquote><p>Considerable care should be used in deploying facial recognition technology in a domestic setting for security</p><p>Will Richmond-Coggan, Freeths</p></blockquote></div><p>Nor is it just a privacy issue, argues Reolink’s Ali Park. There are also concerns over levels of accuracy. “Facial recognition is still very new and has a few teething issues,” he says. “Because of those exact privacy and accuracy questions, we don’t offer facial recognition in our products.” </p><p>Toro Solutions' Gavin Wilson agrees: “Facial recognition can be a useful security aid, but it isn’t proof of identity and people shouldn’t assume that because the security camera has produced a match, it must be correct.” </p><p>Regarding artificial intelligence and the rising risk of ‘deep fakes’, it’s important that if CCTV is used in a criminal case that it hasn’t been altered in any way. “There are a number of factors that can help establish authenticity. These include retaining the original recording, preserving metadata such as the date, time and device information, maintaining a clear record of how the footage has been handled and ensuring any copies can be traced to the original source”, says Knights’ Lisa Sweetman. “As the use of AI-generated content becomes more widespread, maintaining an auditable record of where the footage came from, how it has been stored and whether it has been altered is likely to become increasingly important.” </p><h2 id="taking-common-sense-measures">Taking common sense measures</h2><p>Home security cameras and video doorbells are undeniably invaluable assets for protecting your home, offering vital reassurance against package thieves and intruders. Making sure that you use them properly largely comes down to taking a few precautionary, common-sense measures during set up and use. </p><p>For example, when configuring your hardware, rather than letting a lens sweep wide across shared streets or adjacent gardens, use the camera’s built-in tools such as privacy masking to black out areas outside of your property. Users should also remain conscious of recording external audio, while storing footage on local MicroSD cards or hard drives rather than defaulting to external cloud storage is advisable to ensure personal data control. </p><div><blockquote><p>The most sensible approach is to collect the minimum footage necessary for the safety of you and yours</p><p>Ali Park, Reolink</p></blockquote></div><p>When it comes to deciding what to do with captured files after an event occurs, it’s best to exercise caution. While capturing film for home security Is lawful, posting identifiable images on social media platforms can cross the line, leaving users exposed to potential legal action. If you must post footage publicly, then it’s best to use technology to blur people’s faces to protect those not involved with an incident – especially children whose personal information demands maximum protection under data protection law.  </p><p>Ultimately, high-tech security shouldn't feel high-stress. Treat your camera as a targeted perimeter shield rather than a public broadcasting network. Concludes Reolink’s Ali Park: “The most sensible approach is to collect the minimum footage necessary for the safety of you and yours, manage it responsibly and store this footage for as little time as possible.”</p> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/home/home-security/the-hidden-legal-dangers-of-your-video-doorbell-and-security-cameras-how-to-protect-yourself-without-getting-caught-out</link>
                                                                            <description>
                            <![CDATA[ Home surveillance is a complex topic, so make sure you're fully informed before installing cameras to protect your home. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">3hsGrPLBF7aDokUfq6obmW</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/W2tK5uyVfnMFhne645bVc8-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Mon, 14 Sep 2026 16:05:06 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Home Security]]></category>
                                                    <category><![CDATA[Home]]></category>
                                                    <category><![CDATA[Smart Home]]></category>
                                                                                                                    <dc:creator><![CDATA[ Chris Price ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/DU2Lv5xHGaNHCjMhkrGY6R-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/W2tK5uyVfnMFhne645bVc8-1920-80.jpg">
                                                            <media:credit><![CDATA[Getty Images, gorodenkoff]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Man holding smartphone fitting home security camera]]></media:description>                                                            <media:text><![CDATA[Man holding smartphone fitting home security camera]]></media:text>
                                <media:title type="plain"><![CDATA[Man holding smartphone fitting home security camera]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/W2tK5uyVfnMFhne645bVc8-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>When Jon Woodard proudly installed the latest security technology on his Oxfordshire home, including a Ring video doorbell and a security camera on his shed, little did he realise that it would result in a landmark case that was to set him back thousands of pounds in damages. </p><p>The dispute began innocently enough with an invitation from Mr Woodard to his neighbour, Dr Mary Fairhurst, for a tour of his newly renovated home during which he showcased his then cutting-edge security setup. But it soon descended into an acrimonious battle when, in the words of the judgement, Dr Fairhurst was "alarmed and appalled" to discover that the camera mounted on Mr Woodard’s shed pointed directly at her property. </p><p>As well as objecting to live video footage being streamed directly to Mr Woodard’s smartphone, the court heard how she found the audio data which captured her private conversations "even more problematic and detrimental than video data.” And when the case landed in Oxford County Court, Judge Melissa Clarke upheld claims that the devices "unjustifiably invaded" Fairhurst’s privacy and their use breached the Data Protection Act 2018 as well as UK General Data Protection (GDPR) legislation.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-eBEnkX"></div>                            </div>                            <script src="https://kwizly.com/embed/eBEnkX.js" async></script><p>Crucially, the court singled out the audio data collected by the cameras as being "more problematic and detrimental than video data" because it captured conversations from people who were entirely unaware that a device was listening or that audio was being processed. As a result, Mr Woodard was ordered to pay damages and a fine believed to total up to £100,000.</p><p>Speaking at the time of the case in October 2021, digital privacy expert Hannah Hart of <a href="https://proprivacy.com/">Pro Privacy</a> told the <a href="https://www.bbc.co.uk/news/technology-58911296">BBC</a>: “While this case doesn’t set a legal precedent, it does continue an ongoing conversation about our changing attitude towards domestic surveillance — and how normalised it has become in our communities.”</p><h2 id="navigating-legal-boundaries-of-home-surveillance">Navigating legal boundaries of home surveillance</h2><p>Five years on from the landmark case and the risk of falling foul of the law with home security equipment has only grown as new technology such as facial recognition has become commonplace, and users have turned to social media to post video footage taken with their security cameras and video doorbells. </p><div><blockquote><p>In very broad terms, those using this kind of surveillance technology must have a lawful basis for doing so</p><p>Lisa Sweetman, Knights</p></blockquote></div><p>And while understanding what you can and can’t do with domestic cameras does vary between regions, in most countries there is legislation in place to protect the privacy of individuals whose images and, potentially voices, are captured on these devices. As Lisa Sweetman, Partner in the Commercial Team specialising in Data Protection at legal firm Knights told TechRadar: “In very broad terms, those using this kind of surveillance technology must have a lawful basis for doing so and should or must, in certain cases, conduct a data protection impact assessment, or risk assessment, to ensure they are aware of and can mitigate the associated risks to other people’s privacy.”</p><p>According to Sweetman, this means, legally speaking, that users must tell people that this technology is in use, through clear signage supported by a more detailed privacy notice on their property. Also, that “users must be prepared to respond to people’s questions and requests regarding the uses of their data.” And while there is an exception made in the data protection regulations for purely personal household use, known as the ‘domestic purposes exemption’, its application is, claims Sweetman, limited. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="AWKcNEBzdLVayfkwUGrw4n" name="GettyImages-1594138251" alt="Person using a power drill to attach home security camera to exterior wall of house" src="https://cdn.mos.cms.futurecdn.net/AWKcNEBzdLVayfkwUGrw4n-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">If you wish to rely on the domestic exemption from data protection law, make sure your camera's field of view doesn't extend beyond the boundaries of your property  </span><span class="credit" itemprop="copyrightHolder">(Image credit: Getty Images, Jose Miguel Sanchez)</span></figcaption></figure><p>“It is recommended that if a user wishes to rely on the domestic exemption from data protection law, they should ensure that the field of view of the camera does not extend beyond the perimeters of their property,” says Will Richmond-Coggan, Partner and Head of Data and Privacy Disputes at legal firm Freeths. “Where that is not possible, or where the homeowner specifically wishes to keep an eye on their car parked in the road, they should proceed on the basis that they are operating CCTV in a public space and they are therefore potentially to be regarded as a controller of any personal data collected.”</p><p>According to Richmond-Coggan, this means ‘doing all the same things that a business would do, including making some clear decisions about what the data is used for, how long (if at all) it is retained and the circumstances in which it might be shared.’ Regarding sharing footage with neighbours to guard against scammers, car thieves and burglars, Richmond-Coggan advises creating a "written data sharing agreement which commits each of them to common standards of safeguarding in relation to the information and how it is used." </p><h2 id="increasing-number-of-complaints-to-ico">Increasing number of complaints to ICO</h2><p>Regarding ‘accidental spillage’, where footage beyond your property’s boundary is captured, the ICO (Information Commissioner’s Office), which is responsible for enforcing data protection regulations in the UK, offers useful advice for the public in its <a href="https://ico.org.uk/for-the-public/home-cctv-systems/#concerns" target="_blank">guidance on home CCTV systems.</a></p><p>“Incidental capture of neighbouring property is not automatically unlawful, but it can be a trigger point,” an ICO spokesperson told TechRadar. “Where cameras record beyond the homeowner’s boundary, the owner should minimise intrusion where possible — for example by adjusting the camera angle or using privacy masking features (on the camera).” </p><div><blockquote><p>Incidental capture of neighbouring property is not automatically unlawful, but it can be a trigger point</p><p>ICO spokesperson</p></blockquote></div><p>According to <a href="https://ico.org.uk/about-the-ico/our-information/annual-reports/information-commissioners-annual-report-202526/" target="_blank">its Annual Report for 2025/2026</a>, the ICO received 76,743 data protection complaints in 2025/2026, up from 42,315 in the previous year. “The ICO takes concerns about misuse of personal information seriously whether they relate to organisations or individuals,” said an ICO spokesperson. “We regularly receive and consider complaints about domestic CCTV and smart doorbells.” </p><p>However, although the ICO has a range of regulatory powers where data protection law applies, including potentially fining users for a breach, it encourages "people to resolve concerns directly wherever possible". </p><h2 id="posting-footage-on-social-media">Posting footage on social media</h2><p>Whereas CCTV footage from security cameras and video doorbells used to be confined to personal use, the growth of social media has seen an explosion of people uploading footage to platforms such as Facebook, TikTok or local community groups to identify supposedly ‘suspicious figures’. </p><p>Doing so, though, carries severe legal hazards, Knights’ Lisa Sweetman advises. “Uploading footage from a video doorbell to social media is not automatically unlawful, but it can raise significant privacy concerns… Ultimately, the fact that someone appears in footage recorded on your property does not give you the right to publish it on social media.”</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="CWfPyTjt3JtpRzTRXn4N4T" name="GettyImages-1338373366" alt="Person using home security app to view camera footage" src="https://cdn.mos.cms.futurecdn.net/CWfPyTjt3JtpRzTRXn4N4T-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">You could be sued if you post footage to social media that causes, or is likely to cause, serious harm to a person’s reputation </span><span class="credit" itemprop="copyrightHolder">(Image credit: Getty Images, Andrey Popov)</span></figcaption></figure><p>Warning against the dangers of speculating about someone’s behaviour, Gavin Wilson, Director of Physical Security and Risk at cyber and physical security company Toro Solutions, cautions: “We need to remember a camera only give you part of the picture. It can show you that someone was outside a property at a particular time, but it can’t necessarily tell you who they are, why they were or whether they’ve done anything wrong.” Wilson advises users who think they have "captured criminal activity to keep the original footage and give it to the police, rather than posting it online asking people to identify or accuse the individual."</p><p>Not only can uploading video to social media potentially breach data protection laws, you also run the risk of falling foul of other laws too. For example, in the UK under the Defamation Act 2013, you could be sued if footage causes, or is likely to cause, serious harm to a person’s reputation (unless you can prove it is in the public interest) while if the video targets a specific individual, it can cross the line into criminal or civil harassment under the Protection From Harassment Act 1997 — especially if your post encourages followers to track down, abuse, or 'dox' the person featured. </p><div><blockquote><p>Ultimately, the fact that someone appears in footage recorded on your property does not give you the right to publish it on social media</p><p>Lisa Sweetman, Knights</p></blockquote></div><p>“People should think carefully about uploading footage to social media as it can raise additional data protection and potential considerations around defamation or harassment — particularly if identifiable individuals are shown without consent and the footage is shared beyond personal use,” an ICO spokesperson told TechRadar. “Children’s personal information warrants particular care and protection. Any sharing should have a clear and justifiable reason and should not unnecessarily infringe the privacy rights of those captured.”</p><p>Finally, if you record and upload footage of an accident, a crime scene, an ongoing police investigation, or a court trial, your post could severely compromise legal proceedings. For instance, publishing videos of suspects or witnesses online can prejudice a future jury, leading to charges of contempt of court or interfering with the course of justice. </p><h2 id="growth-of-facial-recognition-technology-and-ai">Growth of facial recognition technology and AI</h2><p>Importantly, when installing home security cameras and video doorbells, homeowners must carefully balance their own security needs with the privacy rights of those around them. As Ali Park, country manager at security camera manufacturer Reolink, points out, "a security camera should be there to protect your home, not to create a permanent record of everyone who happens to pass.” </p><p>To help users stay compliant, modern devices incorporate built-in features such as privacy masking and activity zones that allow owners to black out public areas or neighbouring properties. “Most modern cameras allow people to adjust viewing angles, create privacy zones or limit motion detection to specific areas, and I would use those settings wherever possible,” explains Everett Lupton of law firm Slaughter & Lupton. “Audio recording can also raise privacy concerns, so people should understand exactly what their devices record.”</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="q252Sx5DJbAxRHN4xWpYpa" name="GettyImages-2211328643" alt="Man holding security camera, looking at smartphone" src="https://cdn.mos.cms.futurecdn.net/q252Sx5DJbAxRHN4xWpYpa-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Getty Images, Miljan Živković)</span></figcaption></figure><p>One area that is attracting particular attention right now is the rapid emergence of both facial recognition and AI technologies, not just inside commercial security devices, but increasingly in home devices too. “Considerable care should be used in deploying facial recognition technology in a domestic setting for security,” argues Freeths’ Will Richmond-Coggan. “It involves processing of special category biometric identifiers, and it is unlikely that a domestic user will be able to meet the stringent requirements around such use, particularly where the data is likely to be shared with the third-party provider of the facial recognition technology.” </p><p>Given the intrusive nature of facial recognition, Knights’ Lisa Sweetman says a DPIA (Data Protection Impact Assessment) would be required to use facial recognition technology to identify potential criminals. “Using facial recognition simply to identify known burglars will be difficult to justify unless there is a clear and lawful basis for doing so and appropriate safeguards are in place.”</p><div><blockquote><p>Considerable care should be used in deploying facial recognition technology in a domestic setting for security</p><p>Will Richmond-Coggan, Freeths</p></blockquote></div><p>Nor is it just a privacy issue, argues Reolink’s Ali Park. There are also concerns over levels of accuracy. “Facial recognition is still very new and has a few teething issues,” he says. “Because of those exact privacy and accuracy questions, we don’t offer facial recognition in our products.” </p><p>Toro Solutions' Gavin Wilson agrees: “Facial recognition can be a useful security aid, but it isn’t proof of identity and people shouldn’t assume that because the security camera has produced a match, it must be correct.” </p><p>Regarding artificial intelligence and the rising risk of ‘deep fakes’, it’s important that if CCTV is used in a criminal case that it hasn’t been altered in any way. “There are a number of factors that can help establish authenticity. These include retaining the original recording, preserving metadata such as the date, time and device information, maintaining a clear record of how the footage has been handled and ensuring any copies can be traced to the original source”, says Knights’ Lisa Sweetman. “As the use of AI-generated content becomes more widespread, maintaining an auditable record of where the footage came from, how it has been stored and whether it has been altered is likely to become increasingly important.” </p><h2 id="taking-common-sense-measures">Taking common sense measures</h2><p>Home security cameras and video doorbells are undeniably invaluable assets for protecting your home, offering vital reassurance against package thieves and intruders. Making sure that you use them properly largely comes down to taking a few precautionary, common-sense measures during set up and use. </p><p>For example, when configuring your hardware, rather than letting a lens sweep wide across shared streets or adjacent gardens, use the camera’s built-in tools such as privacy masking to black out areas outside of your property. Users should also remain conscious of recording external audio, while storing footage on local MicroSD cards or hard drives rather than defaulting to external cloud storage is advisable to ensure personal data control. </p><div><blockquote><p>The most sensible approach is to collect the minimum footage necessary for the safety of you and yours</p><p>Ali Park, Reolink</p></blockquote></div><p>When it comes to deciding what to do with captured files after an event occurs, it’s best to exercise caution. While capturing film for home security Is lawful, posting identifiable images on social media platforms can cross the line, leaving users exposed to potential legal action. If you must post footage publicly, then it’s best to use technology to blur people’s faces to protect those not involved with an incident – especially children whose personal information demands maximum protection under data protection law.  </p><p>Ultimately, high-tech security shouldn't feel high-stress. Treat your camera as a targeted perimeter shield rather than a public broadcasting network. Concludes Reolink’s Ali Park: “The most sensible approach is to collect the minimum footage necessary for the safety of you and yours, manage it responsibly and store this footage for as little time as possible.”</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Amazon is still selling hazardous fake energy-saving plugs, a year after saying it would stop ]]></title>
                                                                                                <dc:content><![CDATA[ <ul><li><strong>Amazon is still selling fake 'energy-saving' plugs despite having pledged to remove them </strong></li><li><strong>Which? first spotted them in 2025, and Amazon said they had been removed </strong></li><li><strong>The retailer promised to remove them for a second time in August, but they're still available to purchase </strong></li></ul><p>Fake ‘energy-saving’ plugs are one of the biggest tech scams, and they’re still being sold on Amazon even though the retailer promised MPs it would remove the product listings. </p><p>Liberal Democrat MP Joshua Reynolds highlighted the dangers of the plugs — which can pose a fire risk — during a hearing back in June, calling for the retailer to take accountability. </p><p>In August, Amazon’s UK Director of Public Policy, Monica Ariño,<a href="https://committees.parliament.uk/publications/54927/documents/304768/default/" target="_blank"> issued a letter to the House of Commons Business and Trade Select Committee</a> saying the devices had been removed from sale, adding that there was "a technical issue in [our] automated classification system that was preventing some of these products from being proactively detected". </p><p>This isn’t the first time Amazon has promised to remove fake plugs. Back in 2025, Which? first spotted these ‘energy-saving’ plugs and approached retailers with their findings, resulting in their removal from stores. However, identical products were found on Amazon just weeks later. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Jbvvwz99NeU3gsZPLHQSxW" name="Amazonsmartplugs" alt="A laptop screen showing an eco-plug listing on Amazon" src="https://cdn.mos.cms.futurecdn.net/Jbvvwz99NeU3gsZPLHQSxW-1920-80.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Despite Amazon's most recent pledge to remove the plugs from sale, they're still available to purchase from the retailer. We’ve checked Amazon UK’s page and found that these products are still live — the <a href="https://www.telegraph.co.uk/business/2026/09/13/amazon-admits-selling-fake-net-zero-plugs-to-uk-shoppers/" target="_blank">Telegraph </a>(£) has also spotted similar listings. </p><p>Now, Reynolds says he’ll be writing to Amazon asking for an explanation, adding that "Amazon has got some proper questions they have to answer. These are exactly the same products tested by Which?". He also claims that these plugs are appearing as sponsored ads at the top of Amazon’s listing pages.  </p><p>As mentioned, these devices were first spotted during a test carried out by Which?, for where it tested eight devices from sites including eBay, AliExpress, Shein, and TikTok Shop. It found no evidence that the plugs actually worked, and noted that it would be illegal to sell them in the UK, as they didn't meet basic safety standards.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="taMsUMGWpExRjzL8CLxYTo" name="AmazonPlug" alt="An energy saving plug with a broken prong" src="https://cdn.mos.cms.futurecdn.net/taMsUMGWpExRjzL8CLxYTo-1920-80.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">Which? found that each plug it tested had ill-fitted socket pins  </span><span class="credit" itemprop="copyrightHolder">(Image credit: Which? )</span></figcaption></figure><p>So how are these plugs claimed to cut your energy bills? Based on the product listings we’ve found, Amazon’s ‘energy-saving’ plugs are advertised as ‘voltage stabilizers’ and ‘surge protectors’, and are claimed to significantly cut your energy bills by optimizing the performance of your household appliances.</p><p>At a time when energy bills are increasing, it’s an easy sales pitch to make, and they’re also affordably priced (usually around the £10-£15 mark), making them seem to be a worthwhile puchase. </p><p>However, it's claimed that the devices are a fire hazard, and also pose an electrocution risk. According to the tests conducted by Which?, more than half of the plugs’ socket pins were either too small, not straight, or were so frail they just snapped off. </p><p>Other tests found that some of the plugs failed to meet basic safety measures due to poor manufacturing, including non-standard capacitors and soldering. </p><p>Amazon hasn't yet commented on the current status of these product listings, or responded to the latest claims. We've asked the company for a comment, and will update this story if we get a response. </p> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/home/energy-saving/amazon-is-still-selling-fake-energy-saving-plugs-that-pose-a-serious-fire-risk-a-year-after-promising-to-remove-them</link>
                                                                            <description>
                            <![CDATA[ Amazon is still listing fake and dangerous 'energy-saving' plugs despite promising to remove them. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">w6Qx5svWhuBzy24VNGS7uE</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/BWHxcEJLH3bh9bDzN4jUQd-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Mon, 14 Sep 2026 15:04:42 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Energy Saving]]></category>
                                                    <category><![CDATA[Home]]></category>
                                                                                                <author><![CDATA[ rowan.davies@futurenet.com (Rowan Davies) ]]></author>                    <dc:creator><![CDATA[ Rowan Davies ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/q5Az6iW5pbAotRovdNvQAf-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Rowan is an Editorial Associate and Apprentice Writer for TechRadar. A recent addition to the news team, he is involved in generating stories for topics that spread across TechRadar&#039;s categories. His interests in audio tech and knowledge in entertainment culture help bring the latest updates in tech news to our readers.&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;He has been writing for publications since he started his studies at age 18. Rowan graduated from Cardiff University in 2023 after attaining a Master&#039;s in Creative Writing, and earlier a Bachelor&#039;s in Media, Journalism, and Culture. He began his journey as a writer at Cardiff University&#039;s Quench Magazine contributing to film/ TV, music, and culture sections, later becoming Music Section Editor.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;In his free time, Rowan is a freelance writer for Cardiff-based culture magazine Buzz where he reviews music, film, and conducts interviews with featured guests. When he is not writing, you can find him at any given music gig, or endlessly scrolling TikTok immersing in celebrity news and drama. &amp;nbsp;&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/BWHxcEJLH3bh9bDzN4jUQd-1920-80.jpg">
                                                            <media:credit><![CDATA[Getty Images / South_agency]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[woman uses phone near smart wall plug]]></media:description>                                                            <media:text><![CDATA[woman uses phone near smart wall plug]]></media:text>
                                <media:title type="plain"><![CDATA[woman uses phone near smart wall plug]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/BWHxcEJLH3bh9bDzN4jUQd-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <ul><li><strong>Amazon is still selling fake 'energy-saving' plugs despite having pledged to remove them </strong></li><li><strong>Which? first spotted them in 2025, and Amazon said they had been removed </strong></li><li><strong>The retailer promised to remove them for a second time in August, but they're still available to purchase </strong></li></ul><p>Fake ‘energy-saving’ plugs are one of the biggest tech scams, and they’re still being sold on Amazon even though the retailer promised MPs it would remove the product listings. </p><p>Liberal Democrat MP Joshua Reynolds highlighted the dangers of the plugs — which can pose a fire risk — during a hearing back in June, calling for the retailer to take accountability. </p><p>In August, Amazon’s UK Director of Public Policy, Monica Ariño,<a href="https://committees.parliament.uk/publications/54927/documents/304768/default/" target="_blank"> issued a letter to the House of Commons Business and Trade Select Committee</a> saying the devices had been removed from sale, adding that there was "a technical issue in [our] automated classification system that was preventing some of these products from being proactively detected". </p><p>This isn’t the first time Amazon has promised to remove fake plugs. Back in 2025, Which? first spotted these ‘energy-saving’ plugs and approached retailers with their findings, resulting in their removal from stores. However, identical products were found on Amazon just weeks later. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Jbvvwz99NeU3gsZPLHQSxW" name="Amazonsmartplugs" alt="A laptop screen showing an eco-plug listing on Amazon" src="https://cdn.mos.cms.futurecdn.net/Jbvvwz99NeU3gsZPLHQSxW-1920-80.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Despite Amazon's most recent pledge to remove the plugs from sale, they're still available to purchase from the retailer. We’ve checked Amazon UK’s page and found that these products are still live — the <a href="https://www.telegraph.co.uk/business/2026/09/13/amazon-admits-selling-fake-net-zero-plugs-to-uk-shoppers/" target="_blank">Telegraph </a>(£) has also spotted similar listings. </p><p>Now, Reynolds says he’ll be writing to Amazon asking for an explanation, adding that "Amazon has got some proper questions they have to answer. These are exactly the same products tested by Which?". He also claims that these plugs are appearing as sponsored ads at the top of Amazon’s listing pages.  </p><p>As mentioned, these devices were first spotted during a test carried out by Which?, for where it tested eight devices from sites including eBay, AliExpress, Shein, and TikTok Shop. It found no evidence that the plugs actually worked, and noted that it would be illegal to sell them in the UK, as they didn't meet basic safety standards.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="taMsUMGWpExRjzL8CLxYTo" name="AmazonPlug" alt="An energy saving plug with a broken prong" src="https://cdn.mos.cms.futurecdn.net/taMsUMGWpExRjzL8CLxYTo-1920-80.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">Which? found that each plug it tested had ill-fitted socket pins  </span><span class="credit" itemprop="copyrightHolder">(Image credit: Which? )</span></figcaption></figure><p>So how are these plugs claimed to cut your energy bills? Based on the product listings we’ve found, Amazon’s ‘energy-saving’ plugs are advertised as ‘voltage stabilizers’ and ‘surge protectors’, and are claimed to significantly cut your energy bills by optimizing the performance of your household appliances.</p><p>At a time when energy bills are increasing, it’s an easy sales pitch to make, and they’re also affordably priced (usually around the £10-£15 mark), making them seem to be a worthwhile puchase. </p><p>However, it's claimed that the devices are a fire hazard, and also pose an electrocution risk. According to the tests conducted by Which?, more than half of the plugs’ socket pins were either too small, not straight, or were so frail they just snapped off. </p><p>Other tests found that some of the plugs failed to meet basic safety measures due to poor manufacturing, including non-standard capacitors and soldering. </p><p>Amazon hasn't yet commented on the current status of these product listings, or responded to the latest claims. We've asked the company for a comment, and will update this story if we get a response. </p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Dyson designer shares the development secrets of the brand's new robovac lineup ]]></title>
                                                                                                <dc:content><![CDATA[ <p>After a less-than-enthusiastic response to 2023's <a href="https://www.techradar.com/home/robot-vacuums/dyson-360-vis-nav-review">360 Vis Nav</a>, Dyson got the wheels rolling on its return to the robot vacuum market last year with its <a href="https://www.techradar.com/home/robot-vacuums/dyson-spot-scrub-ai-review">Spot+Scrub Ai</a>. Now it seems momentum is building: this September the brand unveiled not one, but three new bots that would be joining the lineup.</p><p>There's the flagship R3 Nurovi Spot+Scrub UV — a successor to the Spot+Scrub Ai — alongside the R2 Nurovi Wash+Dry, and the R1 Nurovi Dry. I got a peek at all three at Dyson's <a href="https://www.techradar.com/tag/ifa">IFA</a>-adjacent launch event earlier in the month, and was intrigued to see some unique new features. </p><p>To get the inside scoop, I caught up with Nathan Lawson Mclean, a Dyson senior design manager who works across the brand's home products. Here are the five most surprising things I learned about the new Nurovi robot vacuum range...</p><h2 id="1-triangle-mops-have-been-in-dyson-39-s-invention-cupboard-for-years">1. Triangle mops have been in Dyson's invention cupboard for years </h2><p>The R2 Nurovi Wash+Dry has a rather unusual mopping setup. Instead of two circular discs, it uses a pair of rounded 'Reuleaux' triangles. These rotate 'eccentrically' — that is, the point of rotation isn't central. The pads move like a rotary engine, or a Spirograph, depending on your preferred analogy. The benefit is the shape can get much closer into corners. </p><p>What's interesting is that this design has been in Dyson's back pocket for a while now, just waiting to be added to a suitable product. </p><p>"These have always been in development," says Lawson Mclean. "I remember the first Reuleaux pads — those were initially developed back in 2019. We put it on the front of a brush bar in a cleaner just to try and get into corners. And what it ended up doing, you can imagine, [it was] a bit like riding a bicycle with square wheels. It caused too much ricocheting."</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="smiK7Ph2964hy5gBoYFVNN" name="20260903_185235 copy" alt="Dyson Nurovi robot vacuum" src="https://cdn.mos.cms.futurecdn.net/smiK7Ph2964hy5gBoYFVNN-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">As shown above, one of the mop pads can extend to the side to get closer to room edges </span><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>This is apparently not an unusual scenario at Dyson. "We're actually always developing these technologies in tandem," he continues. "It's just about what's the right timing; the platform that we're able to integrate it on. You'll see that we're starting to get to the point where we're packing [new products] full of our unique Dyson technologies."</p><h2 id="2-not-everyone-wanted-the-side-sweepers">2. Not everyone wanted the side sweepers</h2><p>All three of the new Nurovi robovacs have distinctive side sweepers. They feature a design that Lawson Mclean calls 'origami-inspired', but to me, looks more like a fish's fin. Apparently, the brand founder wasn't a fan originally. </p><p>"Side sweepers were always a bit of a faux pas with James Dyson," reveals Lawson Mclean. "He hated them. He thought they scattered dirt everywhere." For that reason, the brand's early models didn't have side sweepers at all — the <a href="https://www.techradar.com/home/robot-vacuums/dyson-360-vis-nav-review">360 Vis Nav</a> had a side duct that poked out when the bot sensed it was near the edge of a room. </p><p>"Side sweepers are fantastic. They are just a little chaotic. They also tend to wear out," continues Lawson Mclean. "More importantly, in James' eyes, they [end up getting] wrapped and covered in hair, which is a bit gross." </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="63j2hxTabboRj7yUVyw8hN" name="20260903_185357 copy" alt="Dyson Nurovi robot vacuum" src="https://cdn.mos.cms.futurecdn.net/63j2hxTabboRj7yUVyw8hN-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>For the Nurovi, the Dyson engineers reimagined the traditional sweeper style to solve these issues, using "some of the advanced geometry" from the brand's conical cleaner heads found on the likes of the <a href="https://www.techradar.com/home/vacuums/dyson-v16-piston-animal-cordless-vacuum-review">Dyson V16</a>. </p><p>"It kind of has this really interesting over-molded pattern… that holds the nylon bristles at a very specific angle on the floor, helping us to avoid scattering this dust around, and corral things in a more controlled manner. It also stops hair wrapping around it so readily, too," says Lawson Mclean. "So it's a small, simple, effective, quality of life improvement."</p><h2 id="3-uv-will-light-up-spills-39-like-a-bowling-alley-39">3. UV will light up spills 'like a bowling alley'</h2><p>The big, flashy upgrade found on the flagship R3 Nurovi Spot+Scrub UV is… well, UV. A UV light mounted onto the bot will highlight dried-on, invisible substances, ranging from sugary drinks to milk, tonic water and sparkling water. The R3 will then 'scrub' back and forth over the area to clear the mess before it gets sticky, or starts to smell. </p><p>"As the robot's running around your home on its mission, it will now expose these totally invisible stains that become breeding grounds for bacteria," explains Lawson Mclean. "You'd be surprised what fluoresces — a bit like a bowling alley in your own home.</p><h2 id="4-the-r1-is-for-those-who-don-39-t-trust-robo-mops">4. The R1 is for those who don't trust robo-mops</h2><p>It's increasingly rare to see a vacuum-only robot vac on the market these days, but Dyson has included one in its new lineup: the R1 Nurovi Dry. There were a multitude of reasons for this bot to exist, says Lawson Mclean. It's great for people who don't have have hard flooring in their home, or are looking for a more affordable option, or simply want to avoid — as he puts it — "a great big bloody dock like some robots have". </p><p>But it's also designed as an option for those who are wary of robo-mops. "There are many people who — I know for a fact, through user trials — don't trust robotic vacuums with their carpets. You know… we've ruined many of James' Persian rugs over the years," he recalls, referring again to brand founder James Dyson. "[It's] perhaps even a bit of an entry gateway to robotic vacuums, converting those people that don't really see the value of wet and dry robots just yet."</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="AbcseVChoRHoH6rUnAE4bN" name="20260903_185156 copy" alt="Dyson Nurovi robot vacuums" src="https://cdn.mos.cms.futurecdn.net/AbcseVChoRHoH6rUnAE4bN-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">The Dyson R1 Nurovi (left) is a vacuum-only sister model to the wet-and-dry R2 (right) </span><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><h2 id="5-one-major-update-has-nothing-to-do-with-the-design">5. One major update has nothing to do with the design</h2><p>There are plenty of interesting design features, but it might turn out that one of the most significant upgrades is nothing to do with the robot itself at all. "I think when we talk about, 'Why are people not using this fantastic technology?', there's a lot of barriers. There are, just really pragmatically," says Lawson Mclean. "Even, I think, with people [in their 30s], they go, yeah, I don't really understand it, I don't really know what the setup is like."</p><p>Dyson's response has been to set up a 'white glove' onboarding service, which takes the form of an actual human who will, via video call, walk you through the setup process. That includes everything from unboxing and connecting the bot to mapping your home properly. </p><p>It's part of the new 'Dyson Concierge' service, and it's free with your purchase. (At time of writing, the service is being advertised on Dyson US, but not yet on the UK or Australian sites — I'm confirming if and when it'll be available in these territories.)  </p><p>"When we started doing it, we just saw this huge uplift," recalls Lawson Mclean. "It wasn't a problem with the robots. It was just a problem with people having poor maps to begin with because perhaps they left a door closed, you know?"</p><h2 class="article-body__section" id="section-take-a-look-at-the-full-dyson-robovac-range"><span>Take a look at the full Dyson robovac range</span></h2><p>Below you can see the Dyson robot vacuums currently available in your country. Note: the R3 Spot+Scrub UV is due to arrive in the UK and Australia in 'early 2027'. </p>        <div class="featured_product_block featured_block_standard" data-id="30f4e57e-b028-11f1-9a9c-afdb5596c1c5">            <div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:150.00%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/mLMfbLsksbcb4eiUC4gpoi.jpg" alt="Dyson R1 Nurovi Dry Robotic Vacuum"></p></div>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Dyson</div>                                        <div class="featured__title">R1 Nurovi Dry</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_standard" data-id="ebda66a2-b028-11f1-ad10-e11f7fa4cf2b">            <div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:150.00%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/rTUM5ci6MQ4JuH5Gecu2Zj.jpg" alt="Dyson R2 Nurovi Wash+Dry robot vacuum"></p></div>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Dyson</div>                                        <div class="featured__title">R2 Nurovi Wash+Dry</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_standard" data-id="5d4ef5dc-b029-11f1-a88b-e7c4a5840918">            <div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:150.00%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/GAf4VL8qXgicJN7tLzoWeK.jpg" alt="Dyson Spot+Scrub AI robot vacuum"></p></div>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Dyson</div>                                        <div class="featured__title">Spot+Scrub Ai Robot Vacuum</div>                                <div class="stars__reviews"><span itemprop="reviewRating" itemscope itemtype="http://schema.org/Rating" class="chunk rating"><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star half"></span><meta itemprop="bestRating" content="100.0" /><meta itemprop="worstRating" content="0.0" /><meta itemprop="ratingValue" content="70" /></span></div>                </div>                <div class="subtitle__description">                                                            <p><p>The Spot+Scrub Ai Robot Vacuum is Dyson's previous-gen robot vacuum — it'll be superseded by the R3 Nurovi Spot+Scrub UV when that model becomes available. It has a similar feature where it'll 'spot' stains and 'scrub' back and forth over them, but it's not powered by UV light.  </p><p><a href="https://www.techradar.com/home/robot-vacuums/dyson-spot-scrub-ai-review">Read our full review</a></p></p>                </div>                <div class="pro-con"><div class="list-pros-wrapper"><h4 class="list-pros-label">Pros</h4><ul class="list-pros"><li class='list-item list-item-pros'>Good hardware</li><li class='list-item list-item-pros'>Great at little-and-often cleaning</li><li class='list-item list-item-pros'>Excellent self-cleaning</li><li class='list-item list-item-pros'>Smart obstacle avoidance</li><li class='list-item list-item-pros'>Auto vacuuming works well</li><li class='list-item list-item-pros'>Bagless design</li></ul></div><div class="list-cons-wrapper"><h4 class="list-cons-label">Cons</h4><ul class="list-cons"><li class='list-item list-item-cons'>Some navigation issues</li><li class='list-item list-item-cons'>Unreliable self-empty</li><li class='list-item list-item-cons'>Loud in every mode</li><li class='list-item list-item-cons'>Large vacuum and dock</li><li class='list-item list-item-cons'>Hair wrap on roller</li><li class='list-item list-item-cons'>Transparent bins display dirt</li></ul></div></div>            </div>        </div> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/home/robot-vacuums/weve-ruined-many-of-james-persian-rugs-over-the-years-dyson-designer-shares-the-development-secrets-of-the-brands-new-robovac-lineup</link>
                                                                            <description>
                            <![CDATA[ I got the inside scoop on Dyson's new Nurovi robot vacuums — including one feature that's been sitting in a cupboard for years, just waiting for a home. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">kwg4tDUPEmocxvVCJNq4AK</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/iFneAQaE78U2UX8roMSHgN-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Mon, 14 Sep 2026 13:24:02 +0000</pubDate>                                                                                                                                <updated>Tue, 15 Sep 2026 07:44:58 +0000</updated>
                                                                                                                                            <category><![CDATA[Robot Vacuums]]></category>
                                                    <category><![CDATA[Home]]></category>
                                                    <category><![CDATA[Smart Home]]></category>
                                                                                                <author><![CDATA[ ruth.hamilton@futurenet.com (Ruth Hamilton) ]]></author>                    <dc:creator><![CDATA[ Ruth Hamilton ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/eXBKKGGwbDvhLePY2FSnfU-320-70.jpeg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Ruth is TechRadar&#039;s Collections Editor, responsible for masterminding TechRadar&#039;s approach towards the new Collections format — a themed, curated selection of product recommendations designed to provide readers with an exciting new way to shop for the very best gadgets and gizmos. She has been reviewing and writing about products since 2020, covering everything from robot vacuums and hair stylers to outdoor kit and mattresses.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/iFneAQaE78U2UX8roMSHgN-1920-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Dyson Nurovi robot vacuum]]></media:description>                                                            <media:text><![CDATA[Dyson Nurovi robot vacuum]]></media:text>
                                <media:title type="plain"><![CDATA[Dyson Nurovi robot vacuum]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/iFneAQaE78U2UX8roMSHgN-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>After a less-than-enthusiastic response to 2023's <a href="https://www.techradar.com/home/robot-vacuums/dyson-360-vis-nav-review">360 Vis Nav</a>, Dyson got the wheels rolling on its return to the robot vacuum market last year with its <a href="https://www.techradar.com/home/robot-vacuums/dyson-spot-scrub-ai-review">Spot+Scrub Ai</a>. Now it seems momentum is building: this September the brand unveiled not one, but three new bots that would be joining the lineup.</p><p>There's the flagship R3 Nurovi Spot+Scrub UV — a successor to the Spot+Scrub Ai — alongside the R2 Nurovi Wash+Dry, and the R1 Nurovi Dry. I got a peek at all three at Dyson's <a href="https://www.techradar.com/tag/ifa">IFA</a>-adjacent launch event earlier in the month, and was intrigued to see some unique new features. </p><p>To get the inside scoop, I caught up with Nathan Lawson Mclean, a Dyson senior design manager who works across the brand's home products. Here are the five most surprising things I learned about the new Nurovi robot vacuum range...</p><h2 id="1-triangle-mops-have-been-in-dyson-39-s-invention-cupboard-for-years">1. Triangle mops have been in Dyson's invention cupboard for years </h2><p>The R2 Nurovi Wash+Dry has a rather unusual mopping setup. Instead of two circular discs, it uses a pair of rounded 'Reuleaux' triangles. These rotate 'eccentrically' — that is, the point of rotation isn't central. The pads move like a rotary engine, or a Spirograph, depending on your preferred analogy. The benefit is the shape can get much closer into corners. </p><p>What's interesting is that this design has been in Dyson's back pocket for a while now, just waiting to be added to a suitable product. </p><p>"These have always been in development," says Lawson Mclean. "I remember the first Reuleaux pads — those were initially developed back in 2019. We put it on the front of a brush bar in a cleaner just to try and get into corners. And what it ended up doing, you can imagine, [it was] a bit like riding a bicycle with square wheels. It caused too much ricocheting."</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="smiK7Ph2964hy5gBoYFVNN" name="20260903_185235 copy" alt="Dyson Nurovi robot vacuum" src="https://cdn.mos.cms.futurecdn.net/smiK7Ph2964hy5gBoYFVNN-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">As shown above, one of the mop pads can extend to the side to get closer to room edges </span><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>This is apparently not an unusual scenario at Dyson. "We're actually always developing these technologies in tandem," he continues. "It's just about what's the right timing; the platform that we're able to integrate it on. You'll see that we're starting to get to the point where we're packing [new products] full of our unique Dyson technologies."</p><h2 id="2-not-everyone-wanted-the-side-sweepers">2. Not everyone wanted the side sweepers</h2><p>All three of the new Nurovi robovacs have distinctive side sweepers. They feature a design that Lawson Mclean calls 'origami-inspired', but to me, looks more like a fish's fin. Apparently, the brand founder wasn't a fan originally. </p><p>"Side sweepers were always a bit of a faux pas with James Dyson," reveals Lawson Mclean. "He hated them. He thought they scattered dirt everywhere." For that reason, the brand's early models didn't have side sweepers at all — the <a href="https://www.techradar.com/home/robot-vacuums/dyson-360-vis-nav-review">360 Vis Nav</a> had a side duct that poked out when the bot sensed it was near the edge of a room. </p><p>"Side sweepers are fantastic. They are just a little chaotic. They also tend to wear out," continues Lawson Mclean. "More importantly, in James' eyes, they [end up getting] wrapped and covered in hair, which is a bit gross." </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="63j2hxTabboRj7yUVyw8hN" name="20260903_185357 copy" alt="Dyson Nurovi robot vacuum" src="https://cdn.mos.cms.futurecdn.net/63j2hxTabboRj7yUVyw8hN-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>For the Nurovi, the Dyson engineers reimagined the traditional sweeper style to solve these issues, using "some of the advanced geometry" from the brand's conical cleaner heads found on the likes of the <a href="https://www.techradar.com/home/vacuums/dyson-v16-piston-animal-cordless-vacuum-review">Dyson V16</a>. </p><p>"It kind of has this really interesting over-molded pattern… that holds the nylon bristles at a very specific angle on the floor, helping us to avoid scattering this dust around, and corral things in a more controlled manner. It also stops hair wrapping around it so readily, too," says Lawson Mclean. "So it's a small, simple, effective, quality of life improvement."</p><h2 id="3-uv-will-light-up-spills-39-like-a-bowling-alley-39">3. UV will light up spills 'like a bowling alley'</h2><p>The big, flashy upgrade found on the flagship R3 Nurovi Spot+Scrub UV is… well, UV. A UV light mounted onto the bot will highlight dried-on, invisible substances, ranging from sugary drinks to milk, tonic water and sparkling water. The R3 will then 'scrub' back and forth over the area to clear the mess before it gets sticky, or starts to smell. </p><p>"As the robot's running around your home on its mission, it will now expose these totally invisible stains that become breeding grounds for bacteria," explains Lawson Mclean. "You'd be surprised what fluoresces — a bit like a bowling alley in your own home.</p><h2 id="4-the-r1-is-for-those-who-don-39-t-trust-robo-mops">4. The R1 is for those who don't trust robo-mops</h2><p>It's increasingly rare to see a vacuum-only robot vac on the market these days, but Dyson has included one in its new lineup: the R1 Nurovi Dry. There were a multitude of reasons for this bot to exist, says Lawson Mclean. It's great for people who don't have have hard flooring in their home, or are looking for a more affordable option, or simply want to avoid — as he puts it — "a great big bloody dock like some robots have". </p><p>But it's also designed as an option for those who are wary of robo-mops. "There are many people who — I know for a fact, through user trials — don't trust robotic vacuums with their carpets. You know… we've ruined many of James' Persian rugs over the years," he recalls, referring again to brand founder James Dyson. "[It's] perhaps even a bit of an entry gateway to robotic vacuums, converting those people that don't really see the value of wet and dry robots just yet."</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="AbcseVChoRHoH6rUnAE4bN" name="20260903_185156 copy" alt="Dyson Nurovi robot vacuums" src="https://cdn.mos.cms.futurecdn.net/AbcseVChoRHoH6rUnAE4bN-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">The Dyson R1 Nurovi (left) is a vacuum-only sister model to the wet-and-dry R2 (right) </span><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><h2 id="5-one-major-update-has-nothing-to-do-with-the-design">5. One major update has nothing to do with the design</h2><p>There are plenty of interesting design features, but it might turn out that one of the most significant upgrades is nothing to do with the robot itself at all. "I think when we talk about, 'Why are people not using this fantastic technology?', there's a lot of barriers. There are, just really pragmatically," says Lawson Mclean. "Even, I think, with people [in their 30s], they go, yeah, I don't really understand it, I don't really know what the setup is like."</p><p>Dyson's response has been to set up a 'white glove' onboarding service, which takes the form of an actual human who will, via video call, walk you through the setup process. That includes everything from unboxing and connecting the bot to mapping your home properly. </p><p>It's part of the new 'Dyson Concierge' service, and it's free with your purchase. (At time of writing, the service is being advertised on Dyson US, but not yet on the UK or Australian sites — I'm confirming if and when it'll be available in these territories.)  </p><p>"When we started doing it, we just saw this huge uplift," recalls Lawson Mclean. "It wasn't a problem with the robots. It was just a problem with people having poor maps to begin with because perhaps they left a door closed, you know?"</p><h2 class="article-body__section" id="section-take-a-look-at-the-full-dyson-robovac-range"><span>Take a look at the full Dyson robovac range</span></h2><p>Below you can see the Dyson robot vacuums currently available in your country. Note: the R3 Spot+Scrub UV is due to arrive in the UK and Australia in 'early 2027'. </p>        <div class="featured_product_block featured_block_standard" data-id="30f4e57e-b028-11f1-9a9c-afdb5596c1c5">            <div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:150.00%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/mLMfbLsksbcb4eiUC4gpoi.jpg" alt="Dyson R1 Nurovi Dry Robotic Vacuum"></p></div>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Dyson</div>                                        <div class="featured__title">R1 Nurovi Dry</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_standard" data-id="ebda66a2-b028-11f1-ad10-e11f7fa4cf2b">            <div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:150.00%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/rTUM5ci6MQ4JuH5Gecu2Zj.jpg" alt="Dyson R2 Nurovi Wash+Dry robot vacuum"></p></div>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Dyson</div>                                        <div class="featured__title">R2 Nurovi Wash+Dry</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_standard" data-id="5d4ef5dc-b029-11f1-a88b-e7c4a5840918">            <div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:150.00%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/GAf4VL8qXgicJN7tLzoWeK.jpg" alt="Dyson Spot+Scrub AI robot vacuum"></p></div>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Dyson</div>                                        <div class="featured__title">Spot+Scrub Ai Robot Vacuum</div>                                <div class="stars__reviews"><span itemprop="reviewRating" itemscope itemtype="http://schema.org/Rating" class="chunk rating"><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star half"></span><meta itemprop="bestRating" content="100.0" /><meta itemprop="worstRating" content="0.0" /><meta itemprop="ratingValue" content="70" /></span></div>                </div>                <div class="subtitle__description">                                                            <p><p>The Spot+Scrub Ai Robot Vacuum is Dyson's previous-gen robot vacuum — it'll be superseded by the R3 Nurovi Spot+Scrub UV when that model becomes available. It has a similar feature where it'll 'spot' stains and 'scrub' back and forth over them, but it's not powered by UV light.  </p><p><a href="https://www.techradar.com/home/robot-vacuums/dyson-spot-scrub-ai-review">Read our full review</a></p></p>                </div>                <div class="pro-con"><div class="list-pros-wrapper"><h4 class="list-pros-label">Pros</h4><ul class="list-pros"><li class='list-item list-item-pros'>Good hardware</li><li class='list-item list-item-pros'>Great at little-and-often cleaning</li><li class='list-item list-item-pros'>Excellent self-cleaning</li><li class='list-item list-item-pros'>Smart obstacle avoidance</li><li class='list-item list-item-pros'>Auto vacuuming works well</li><li class='list-item list-item-pros'>Bagless design</li></ul></div><div class="list-cons-wrapper"><h4 class="list-cons-label">Cons</h4><ul class="list-cons"><li class='list-item list-item-cons'>Some navigation issues</li><li class='list-item list-item-cons'>Unreliable self-empty</li><li class='list-item list-item-cons'>Loud in every mode</li><li class='list-item list-item-cons'>Large vacuum and dock</li><li class='list-item list-item-cons'>Hair wrap on roller</li><li class='list-item list-item-cons'>Transparent bins display dirt</li></ul></div></div>            </div>        </div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I've seen 2027's new robot vacuums — here are 3 major trends set to level-up their cleaning ]]></title>
                                                                                                <dc:content><![CDATA[ <p>The robot vacuum market is continuing to move at breakneck pace, with most brands releasing multiple models each year. Despite the proliferation of new vacs hitting the market, there are often clear feature trends that pop up across multiple brands at around the same time. I got a preview of the new fleet of flagship robot vacuums at <a href="https://www.techradar.com/tag/ifa">IFA 2026</a> last week, and I was interested to see what the bot brands had focused on for their 2027 models. </p><p>Three key themes emerged almost immediately, and I've rounded them up for you below. Which of these trends will see their way into any upcoming updates to our <a href="https://www.techradar.com/home/robot-vacuums/best-robot-vacuum">best robot vacuum</a>? I'll be watching with interest, and look forward to seeing how the new features stand up in real-world testing. For now, let's dive into what's heading your way in the world of robot vacuums.</p><h2 id="step-it-up">Step it up</h2><p>For a few years now, robovac makers have been focused on finding ways to get their bots over chunky room thresholds. It makes sense: in the UK at least, old homes with uneven floors and tall door frames aren't uncommon, and if a robot can't make it over a certain threshold, and that threshold is in the wrong place, it can curtail the vac's journey quite dramatically.</p><p>Most of the main brands now have models with secondary wheels and/or a special chassis to allow for step clearance, and the incoming fleet of flagships have especially lofty aspirations.</p><div class="looped-video"><video class="lazyload-in-view lazyloading" data-src="https://cdn.mos.cms.futurecdn.net/JvbFNuLPvbCww7jhyvjMLZ/Dreame%20step.mp4" autoplay loop muted playsinline src="https://cdn.mos.cms.futurecdn.net/JvbFNuLPvbCww7jhyvjMLZ/Dreame%20step.mp4"></video></div><p><a href="https://www.techradar.com/home/robot-vacuums/dreame-is-one-step-ahead-of-the-competition-with-its-world-first-steam-cleaning-robot-vacuum-but-im-wondering-if-this-is-one-step-too-far">Dreame's new bot</a> (in the video above) can clear single steps up to 5cm, or double steps up to 10cm. That was impressive in the context of last year's flagships, but this year it's been well and truly outdone. DJI's Romo 2 can handle a single hop of 4cm and a double hop of up to 8.5cm. Roborock's latest flagship, the Saros 20 Flow Complete, can go even higher: it can manage double-layer thresholds of up to 8.8cm. Where will it end? </p><h2 id="getting-steamy">Getting steamy </h2><p>On the wet-cleaning front, the big trend is for pre-treating dried-on stains by spraying them with moisture before the mopping begins. Brands have approached this in different ways. </p><p>Dreame has opted to include a heating element in its Aqua20 Pro Ultra Roller X Complete, so it can <a href="https://www.techradar.com/home/robot-vacuums/dreame-is-one-step-ahead-of-the-competition-with-its-world-first-steam-cleaning-robot-vacuum-but-im-wondering-if-this-is-one-step-too-far">blast hard floors with steam at 180°C</a>. Theoretically, it should be very effective at lifting dirt, but there are some drawbacks.</p><p>The steam-creating process is very energy-intensive — you can only use it for zone cleaning, and you should expect your bot to need a recharge afterwards. The demo (video below) wasn't quite as steamy as I was expecting, either. </p><div class="looped-video"><video class="lazyload-in-view lazyloading" data-src="https://cdn.mos.cms.futurecdn.net/JLFgs72KoN3kkHNry7999g/Dreame%20steam.mp4" autoplay loop muted playsinline src="https://cdn.mos.cms.futurecdn.net/JLFgs72KoN3kkHNry7999g/Dreame%20steam.mp4"></video></div><p>Ecovacs' effort in this area is the most pared-back. Its DEEBOT X12S OmniCyclone will spray dried-on stains — it doesn't specify with what, so I assume it's just water — to give it time to loosen before going in with its mop. It calls this function the "FocusJet stain spray".</p><div class="looped-video"><video class="lazyload-in-view lazyloading" data-src="https://cdn.mos.cms.futurecdn.net/gXmeB8nzUDusRA3h5Uajnn/79b93564-0fca-4449-a936-b2cb7c9118e6.mp4" autoplay loop muted playsinline src="https://cdn.mos.cms.futurecdn.net/gXmeB8nzUDusRA3h5Uajnn/79b93564-0fca-4449-a936-b2cb7c9118e6.mp4"></video></div><p>I can see the Ecovacs approach making a difference, but the method I have most hope for is iRobot's. The <a href="https://www.techradar.com/home/robot-vacuums/the-new-flagship-roomba-has-a-unique-mopping-feature-for-tackling-dried-on-dirt-and-it-might-be-the-thing-that-restores-irobot-to-its-former-robovac-glory">Roomba Max 875 emits a "heated mist"</a> to pre-treat muck on hard flooring. Since there's no active heating element on the robot itself, use of the function has minimal impact on battery life. Plus, in the demo (shown above), it was kicking out a good amount of mist.</p><h2 id="rolling-on-by">Rolling on by</h2><p>The suction spec wars don't seem to be quite over yet, but brands are finding clever ways to increase particle pickup without boosting suction. The main solution I saw at IFA was a "seal" between the suction inlet and the floor, which intensifies the suction.</p><p>DJI's second-gen robot vacuum, the <a href="https://www.techradar.com/home/robot-vacuums/djis-second-gen-romo-robot-vacuum-looks-like-the-lovechild-of-an-hr-giger-drawing-and-an-imac-g3-and-boasts-some-robust-new-privacy-measures-following-the-first-gen-models-hacking-embarrassment">Romo 2</a>, has a "pressure plate" that lowers to improve pickup of ground-in dirt. iRobot's new flagship also has a frame that can be lowered to improve pickup — although based on the demo I saw, it wasn't dropping quite as low as I'd expect. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="aQUN97LQ72tBtNyEh3pG9Z" name="20260904_155314 copy 2" alt="Suction seal on Roomba Max 875" src="https://cdn.mos.cms.futurecdn.net/aQUN97LQ72tBtNyEh3pG9Z-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Dyson has a  <a href="https://www.techradar.com/home/robot-vacuums/itll-light-up-your-home-like-a-bowling-alley-dysons-new-nurovi-robot-vacuum-has-a-uv-light-to-show-up-invisible-spills-and-im-not-sure-im-ready-to-see-whats-on-my-floors#viafoura-comments">slightly different approach in its R1 and R2 Nurovi robovacs</a>. Rather than sealing down the entire suction area — which could cause large particles to snowplough around the seal rather than being sucked up — these bots have a "Twin-capture system". There's a large, open brush bar area for chunky debris, and above it is a separate area for the fine dust. The latter is sealed down to the floor to concentrate the suction.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="wRyk2xsTBZNE3oNPuiDzJN" name="20260903_185343 copy" alt="Dyson Nurovi robot vacuum" src="https://cdn.mos.cms.futurecdn.net/wRyk2xsTBZNE3oNPuiDzJN-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Do you think robot vacuum-makers are directing their efforts in the right areas? Is there a feature you'd still like to see? Let us know in the comments section. </p> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/home/robot-vacuums/ive-seen-2027s-new-robot-vacuums-here-are-3-major-trends-set-to-level-up-their-cleaning-from-drop-down-suction-boosters-to-steam</link>
                                                                            <description>
                            <![CDATA[ Next year's bots are leveling up in three big ways. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">ERGzQbEqXwGc2GXTNaeXqQ</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/aGXLKSWdx3N5LVn5XtQnsa-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sun, 13 Sep 2026 02:00:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Robot Vacuums]]></category>
                                                    <category><![CDATA[Home]]></category>
                                                    <category><![CDATA[Smart Home]]></category>
                                                                                                <author><![CDATA[ ruth.hamilton@futurenet.com (Ruth Hamilton) ]]></author>                    <dc:creator><![CDATA[ Ruth Hamilton ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/eXBKKGGwbDvhLePY2FSnfU-320-70.jpeg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Ruth is TechRadar&#039;s Collections Editor, responsible for masterminding TechRadar&#039;s approach towards the new Collections format — a themed, curated selection of product recommendations designed to provide readers with an exciting new way to shop for the very best gadgets and gizmos. She has been reviewing and writing about products since 2020, covering everything from robot vacuums and hair stylers to outdoor kit and mattresses.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/aGXLKSWdx3N5LVn5XtQnsa-1920-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Three different robot vacuums]]></media:description>                                                            <media:text><![CDATA[Three different robot vacuums]]></media:text>
                                <media:title type="plain"><![CDATA[Three different robot vacuums]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/aGXLKSWdx3N5LVn5XtQnsa-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>The robot vacuum market is continuing to move at breakneck pace, with most brands releasing multiple models each year. Despite the proliferation of new vacs hitting the market, there are often clear feature trends that pop up across multiple brands at around the same time. I got a preview of the new fleet of flagship robot vacuums at <a href="https://www.techradar.com/tag/ifa">IFA 2026</a> last week, and I was interested to see what the bot brands had focused on for their 2027 models. </p><p>Three key themes emerged almost immediately, and I've rounded them up for you below. Which of these trends will see their way into any upcoming updates to our <a href="https://www.techradar.com/home/robot-vacuums/best-robot-vacuum">best robot vacuum</a>? I'll be watching with interest, and look forward to seeing how the new features stand up in real-world testing. For now, let's dive into what's heading your way in the world of robot vacuums.</p><h2 id="step-it-up">Step it up</h2><p>For a few years now, robovac makers have been focused on finding ways to get their bots over chunky room thresholds. It makes sense: in the UK at least, old homes with uneven floors and tall door frames aren't uncommon, and if a robot can't make it over a certain threshold, and that threshold is in the wrong place, it can curtail the vac's journey quite dramatically.</p><p>Most of the main brands now have models with secondary wheels and/or a special chassis to allow for step clearance, and the incoming fleet of flagships have especially lofty aspirations.</p><div class="looped-video"><video class="lazyload-in-view lazyloading" data-src="https://cdn.mos.cms.futurecdn.net/JvbFNuLPvbCww7jhyvjMLZ/Dreame%20step.mp4" autoplay loop muted playsinline src="https://cdn.mos.cms.futurecdn.net/JvbFNuLPvbCww7jhyvjMLZ/Dreame%20step.mp4"></video></div><p><a href="https://www.techradar.com/home/robot-vacuums/dreame-is-one-step-ahead-of-the-competition-with-its-world-first-steam-cleaning-robot-vacuum-but-im-wondering-if-this-is-one-step-too-far">Dreame's new bot</a> (in the video above) can clear single steps up to 5cm, or double steps up to 10cm. That was impressive in the context of last year's flagships, but this year it's been well and truly outdone. DJI's Romo 2 can handle a single hop of 4cm and a double hop of up to 8.5cm. Roborock's latest flagship, the Saros 20 Flow Complete, can go even higher: it can manage double-layer thresholds of up to 8.8cm. Where will it end? </p><h2 id="getting-steamy">Getting steamy </h2><p>On the wet-cleaning front, the big trend is for pre-treating dried-on stains by spraying them with moisture before the mopping begins. Brands have approached this in different ways. </p><p>Dreame has opted to include a heating element in its Aqua20 Pro Ultra Roller X Complete, so it can <a href="https://www.techradar.com/home/robot-vacuums/dreame-is-one-step-ahead-of-the-competition-with-its-world-first-steam-cleaning-robot-vacuum-but-im-wondering-if-this-is-one-step-too-far">blast hard floors with steam at 180°C</a>. Theoretically, it should be very effective at lifting dirt, but there are some drawbacks.</p><p>The steam-creating process is very energy-intensive — you can only use it for zone cleaning, and you should expect your bot to need a recharge afterwards. The demo (video below) wasn't quite as steamy as I was expecting, either. </p><div class="looped-video"><video class="lazyload-in-view lazyloading" data-src="https://cdn.mos.cms.futurecdn.net/JLFgs72KoN3kkHNry7999g/Dreame%20steam.mp4" autoplay loop muted playsinline src="https://cdn.mos.cms.futurecdn.net/JLFgs72KoN3kkHNry7999g/Dreame%20steam.mp4"></video></div><p>Ecovacs' effort in this area is the most pared-back. Its DEEBOT X12S OmniCyclone will spray dried-on stains — it doesn't specify with what, so I assume it's just water — to give it time to loosen before going in with its mop. It calls this function the "FocusJet stain spray".</p><div class="looped-video"><video class="lazyload-in-view lazyloading" data-src="https://cdn.mos.cms.futurecdn.net/gXmeB8nzUDusRA3h5Uajnn/79b93564-0fca-4449-a936-b2cb7c9118e6.mp4" autoplay loop muted playsinline src="https://cdn.mos.cms.futurecdn.net/gXmeB8nzUDusRA3h5Uajnn/79b93564-0fca-4449-a936-b2cb7c9118e6.mp4"></video></div><p>I can see the Ecovacs approach making a difference, but the method I have most hope for is iRobot's. The <a href="https://www.techradar.com/home/robot-vacuums/the-new-flagship-roomba-has-a-unique-mopping-feature-for-tackling-dried-on-dirt-and-it-might-be-the-thing-that-restores-irobot-to-its-former-robovac-glory">Roomba Max 875 emits a "heated mist"</a> to pre-treat muck on hard flooring. Since there's no active heating element on the robot itself, use of the function has minimal impact on battery life. Plus, in the demo (shown above), it was kicking out a good amount of mist.</p><h2 id="rolling-on-by">Rolling on by</h2><p>The suction spec wars don't seem to be quite over yet, but brands are finding clever ways to increase particle pickup without boosting suction. The main solution I saw at IFA was a "seal" between the suction inlet and the floor, which intensifies the suction.</p><p>DJI's second-gen robot vacuum, the <a href="https://www.techradar.com/home/robot-vacuums/djis-second-gen-romo-robot-vacuum-looks-like-the-lovechild-of-an-hr-giger-drawing-and-an-imac-g3-and-boasts-some-robust-new-privacy-measures-following-the-first-gen-models-hacking-embarrassment">Romo 2</a>, has a "pressure plate" that lowers to improve pickup of ground-in dirt. iRobot's new flagship also has a frame that can be lowered to improve pickup — although based on the demo I saw, it wasn't dropping quite as low as I'd expect. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="aQUN97LQ72tBtNyEh3pG9Z" name="20260904_155314 copy 2" alt="Suction seal on Roomba Max 875" src="https://cdn.mos.cms.futurecdn.net/aQUN97LQ72tBtNyEh3pG9Z-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Dyson has a  <a href="https://www.techradar.com/home/robot-vacuums/itll-light-up-your-home-like-a-bowling-alley-dysons-new-nurovi-robot-vacuum-has-a-uv-light-to-show-up-invisible-spills-and-im-not-sure-im-ready-to-see-whats-on-my-floors#viafoura-comments">slightly different approach in its R1 and R2 Nurovi robovacs</a>. Rather than sealing down the entire suction area — which could cause large particles to snowplough around the seal rather than being sucked up — these bots have a "Twin-capture system". There's a large, open brush bar area for chunky debris, and above it is a separate area for the fine dust. The latter is sealed down to the floor to concentrate the suction.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="wRyk2xsTBZNE3oNPuiDzJN" name="20260903_185343 copy" alt="Dyson Nurovi robot vacuum" src="https://cdn.mos.cms.futurecdn.net/wRyk2xsTBZNE3oNPuiDzJN-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Do you think robot vacuum-makers are directing their efforts in the right areas? Is there a feature you'd still like to see? Let us know in the comments section. </p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Eyeing the new Philips Hue Screen Sync? Philips Smart Lighting just launched a cheaper alternative ]]></title>
                                                                                                <dc:content><![CDATA[ <ul><li><strong>The Philips Screen Sync is available in the UK and Europe in two sizes</strong></li><li><strong>Unlike the Philips Hue version, it uses the Wiz Wi-Fi platform and app</strong></li><li><strong>Prices start at £79.99 (about $110 / AU$150)</strong></li></ul><p>The <a href="https://www.techradar.com/home/smart-lights/no-hdmi-needed-philips-hues-new-camera-based-screen-sync-system-works-with-any-source-including-your-tvs-native-streaming-apps">Philips Hue Play Screen Sync</a>, which launched last month, is a more affordable way to synchronize your smart lights with your TV than using a <a href="https://www.techradar.com/home/small-appliances/philips-hue-play-hdmi-sync-box-8k-review">Hue Play HDMI Sync Box</a>. However, before you grab one, you should know that it now has an even more affordable rival — and, perhaps confusingly, that rival also comes from Philips. </p><p>The new system isn't Hue, however. It's branded as Philips Smart Lighting, and the <a href="https://www.lighting.philips.co.uk/consumer/p/smart-led-screen-sync-with-lightstrip-for-40-to-50-tvs/8721103164087" target="_blank">Philips Smart Lighting Screen Sync with Lightstrip</a> runs on the WiZ platform and app over your home's Wi-Fi network. </p><p>The big draw here is the price. There are two sizes, with the smallest coming in at £79.99 (about $110 / AU$150), making it significantly cheaper than the Hue Screen Sync — which also requires you to buy a separate light strip. Here, the light strip is part of the package.</p><p>If you're looking for a syncing solution for an existing Hue setup, this isn't for you. But if you want a Hue-esque sync system for not very much money, it's definitely worth a look. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="rYXBjN2NwuGffRmU2tyJt" name="Philips-Smart-Lighting-Screen-Sync-Kit" alt="Philips Smart Lighting Screen Sync with Strip Light" src="https://cdn.mos.cms.futurecdn.net/rYXBjN2NwuGffRmU2tyJt-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Signify)</span></figcaption></figure><h2 id="is-the-philips-smart-lighting-screen-sync-with-strip-light-a-bargain">Is the Philips Smart Lighting Screen Sync with Strip Light a bargain?</h2><p>It certainly looks like one, as it's more affordable than any of the Hue options or the TV strips and <a href="https://www.techradar.com/reviews/govee-ai-gaming-sync-box-kit-review-taking-pc-gaming-to-the-ultimate-level#section-govee-ai-gaming-sync-box-kit-two-minute-review">AI sync box by Govee</a>. </p><p>As with the Hue Screen Sync system, the core of the setup is a camera. It's a fisheye lens to capture the entire screen, and once you calibrate it in the accompanying app it then syncs the on-screen colors on its four-sided RBGIC strip mounted behind your TV. There's also a built-in mic so you can sync the lights with music if you wish.</p><p>Other than the price, the big benefit here is simplicity: stick it on your TV, use the calibration tool, and you're ready to enjoy a more immersive viewing experience, even if you're not using an HDMI source. Whether it's a native streaming app, a PS5, or an Apple TV 4K, if it's on the screen it's extended to your wall. </p><p>There are two models of Screen Sync with Strip Light, and the only difference between them is the size of the strip. <a href="https://www.lighting.philips.co.uk/consumer/p/smart-led-screen-sync-with-lightstrip-for-40-to-50-tvs/8721103164087" target="_blank">The smaller one</a> is made for 40- to 50-inch TVs and costs £79.99 (about $110 / AU$150), and <a href="https://www.lighting.philips.co.uk/consumer/p/smart-led-screen-sync-with-lightstrip-for-55-to-66-tvs/8721103164100" target="_blank">the larger one</a> is for 55- to 65-inch TVs and costs £99.99 (about $140 / AU$190).</p> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/home/smart-lights/dont-buy-philips-hues-new-tv-screen-sync-just-yet-theres-a-cheaper-setup-that-also-includes-the-light-strip-and-confusingly-is-also-by-philips</link>
                                                                            <description>
                            <![CDATA[ Philips Smart Lighting has launched a system that's more affordable than the Philips Hue Screen Sync, and comes with a light strip in the box. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">JzRjwUnqUxNTdGNDoWTUBc</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/KCbc8tZEu26HNdNXwko2id-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 11 Sep 2026 15:34:20 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Smart Lights]]></category>
                                                    <category><![CDATA[Home]]></category>
                                                    <category><![CDATA[Smart Home]]></category>
                                                                                                                    <dc:creator><![CDATA[ Carrie Marshall ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/xJGRRy6MkKwN3qJ5X6enZG-320-70.jpeg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/KCbc8tZEu26HNdNXwko2id-1920-80.jpg">
                                                            <media:credit><![CDATA[Signify]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[The Philips Smart Lighting  Screen Sync with Strip Light system lighting up the walls behind and beside a TV in a darkened room]]></media:description>                                                            <media:text><![CDATA[The Philips Smart Lighting  Screen Sync with Strip Light system lighting up the walls behind and beside a TV in a darkened room]]></media:text>
                                <media:title type="plain"><![CDATA[The Philips Smart Lighting  Screen Sync with Strip Light system lighting up the walls behind and beside a TV in a darkened room]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/KCbc8tZEu26HNdNXwko2id-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <ul><li><strong>The Philips Screen Sync is available in the UK and Europe in two sizes</strong></li><li><strong>Unlike the Philips Hue version, it uses the Wiz Wi-Fi platform and app</strong></li><li><strong>Prices start at £79.99 (about $110 / AU$150)</strong></li></ul><p>The <a href="https://www.techradar.com/home/smart-lights/no-hdmi-needed-philips-hues-new-camera-based-screen-sync-system-works-with-any-source-including-your-tvs-native-streaming-apps">Philips Hue Play Screen Sync</a>, which launched last month, is a more affordable way to synchronize your smart lights with your TV than using a <a href="https://www.techradar.com/home/small-appliances/philips-hue-play-hdmi-sync-box-8k-review">Hue Play HDMI Sync Box</a>. However, before you grab one, you should know that it now has an even more affordable rival — and, perhaps confusingly, that rival also comes from Philips. </p><p>The new system isn't Hue, however. It's branded as Philips Smart Lighting, and the <a href="https://www.lighting.philips.co.uk/consumer/p/smart-led-screen-sync-with-lightstrip-for-40-to-50-tvs/8721103164087" target="_blank">Philips Smart Lighting Screen Sync with Lightstrip</a> runs on the WiZ platform and app over your home's Wi-Fi network. </p><p>The big draw here is the price. There are two sizes, with the smallest coming in at £79.99 (about $110 / AU$150), making it significantly cheaper than the Hue Screen Sync — which also requires you to buy a separate light strip. Here, the light strip is part of the package.</p><p>If you're looking for a syncing solution for an existing Hue setup, this isn't for you. But if you want a Hue-esque sync system for not very much money, it's definitely worth a look. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="rYXBjN2NwuGffRmU2tyJt" name="Philips-Smart-Lighting-Screen-Sync-Kit" alt="Philips Smart Lighting Screen Sync with Strip Light" src="https://cdn.mos.cms.futurecdn.net/rYXBjN2NwuGffRmU2tyJt-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Signify)</span></figcaption></figure><h2 id="is-the-philips-smart-lighting-screen-sync-with-strip-light-a-bargain">Is the Philips Smart Lighting Screen Sync with Strip Light a bargain?</h2><p>It certainly looks like one, as it's more affordable than any of the Hue options or the TV strips and <a href="https://www.techradar.com/reviews/govee-ai-gaming-sync-box-kit-review-taking-pc-gaming-to-the-ultimate-level#section-govee-ai-gaming-sync-box-kit-two-minute-review">AI sync box by Govee</a>. </p><p>As with the Hue Screen Sync system, the core of the setup is a camera. It's a fisheye lens to capture the entire screen, and once you calibrate it in the accompanying app it then syncs the on-screen colors on its four-sided RBGIC strip mounted behind your TV. There's also a built-in mic so you can sync the lights with music if you wish.</p><p>Other than the price, the big benefit here is simplicity: stick it on your TV, use the calibration tool, and you're ready to enjoy a more immersive viewing experience, even if you're not using an HDMI source. Whether it's a native streaming app, a PS5, or an Apple TV 4K, if it's on the screen it's extended to your wall. </p><p>There are two models of Screen Sync with Strip Light, and the only difference between them is the size of the strip. <a href="https://www.lighting.philips.co.uk/consumer/p/smart-led-screen-sync-with-lightstrip-for-40-to-50-tvs/8721103164087" target="_blank">The smaller one</a> is made for 40- to 50-inch TVs and costs £79.99 (about $110 / AU$150), and <a href="https://www.lighting.philips.co.uk/consumer/p/smart-led-screen-sync-with-lightstrip-for-55-to-66-tvs/8721103164100" target="_blank">the larger one</a> is for 55- to 65-inch TVs and costs £99.99 (about $140 / AU$190).</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ The Roomba Duo is a floor-cleaning behemoth that can pull a tiny robovac from its hat ]]></title>
                                                                                                <dc:content><![CDATA[ <ul><li><strong>The iRobot Roomba Duo is a robot vacuum concept </strong></li><li><strong>One chunky, powerful mopping and vacuuming robot...</strong></li><li><strong>... with a regular, small robovac docked in its hat, for detail work</strong></li></ul><p>When it comes to robot vacuums, size matters. Robovac makers need their bots to be powerful, but also small enough to get into tight spots. The two things are often incompatible. </p><p>iRobot has come up with an imaginative solution. The iRobot Roomba Duo is a two-in-one bot in the truest sense. In its full form, it's a big, chunky floor cleaner, with a bulky body is large enough to contain everything you need for serious cleaning oomph. Then, in the upper part hides a regular robot vacuum that's compact enough to take care of detail work. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="emnsd4NQCpyLdFriX3YaFF" name="20260904_155034 copy" alt="iRobot Roomba Duo robot vacuum being demoed at IFA" src="https://cdn.mos.cms.futurecdn.net/emnsd4NQCpyLdFriX3YaFF-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>I spoke to Adam Pope, Chief Engineer & Vice President of Product Planning & Development at iRobot, to get some more insight into the unusual creation. </p><p>"The large base robot is really for heavy-duty cleaning," he tells me. "It's big enough to be able to have lots of water inside, and it can also have stronger vacuum. It's designed for heavy-duty cleaning and more open spaces and high-traffic areas in your home. You get that heavy-duty clean that you might use a stick vac or a wet-dry vac on today."</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.29%;"><img id="Lt3zGz5mALtQA4aDybFsmE" name="20260904_154827 copy" alt="iRobot Roomba Duo robot vacuum being demoed at IFA" src="https://cdn.mos.cms.futurecdn.net/Lt3zGz5mALtQA4aDybFsmE-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1441" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>He explains that on top of all that, the base also deploys the companion bot — which is similar to the <a href="https://www.irobot.co.uk/en_GB/roomba-plus-575-series/575MASTER.html" target="_blank">Roomba Plus 575 robot</a>. That smaller robovac will clean under furniture, around chair legs, in corners and essentially "all those other spaces that the larger robot can't get to". </p><p>"They work together," he adds. "They each have their own job, and they kind of split the job up and go do those activities."</p><p>I saw a demo of the iRobot Roomba Duo in action at <a href="https://www.techradar.com/tag/ifa" target="_blank">IFA 2026</a>. The dock was lifted off the top of its cleaner base — like someone taking their hat off — and lowered gently to the ground, where the smaller robot vacuum exited. This then went on to successfully complete an obstacle course that looked far too tight for it to navigate, before returning to its hutch, to be lifted back to its charging home on top of the base bot. </p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/HiVuFmfukeAZAQT3z8cw3F-1920-80.jpg" alt="iRobot Roomba Duo robot vacuum being demoed at IFA" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/ubbgdXpzaYuBQ4EazGxY9F-1920-80.jpg" alt="iRobot Roomba Duo robot vacuum being demoed at IFA" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/BWJSfm5JXLdhKEpJvTSWsE-1920-80.jpg" alt="iRobot Roomba Duo robot vacuum being demoed at IFA" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/Jz6tCgUHbCPREgfMCYS6yE-1920-80.jpg" alt="iRobot Roomba Duo robot vacuum being demoed at IFA" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/5s427xcyAsf3fhBqZJGhxE-1920-80.jpg" alt="iRobot Roomba Duo robot vacuum being demoed at IFA" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/6dogCcnq2PrHTgZwzjZPBE-1920-80.jpg" alt="iRobot Roomba Duo robot vacuum being demoed at IFA" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/dqERL6HFDH2ruHUCkZwMzD-1920-80.jpg" alt="iRobot Roomba Duo robot vacuum being demoed at IFA" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p>Unfortunately, for those who like the sound of this, the iRobot Duo isn't going on sale quite yet. "It's a cool little innovation concept we're just showing here at IFA to see how the market reacts to it and if there's interest in that type of product," Pope tells me. </p><p>I suggest it's quite difficult to stand out in the robot vacuum market these days, given the speed at which brands are releasing new models. "There's a lot of spec war in that category," he responds. "Not as much innovation as we'd like to see. So this was our way of trying to get something different, something new. But it still does the job — the job that customers actually need."</p> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/home/robot-vacuums/the-roomba-duo-is-a-floor-cleaning-behemoth-that-can-pull-a-tiny-robovac-from-its-hat-and-its-irobots-attempt-at-rejecting-the-spec-wars-and-trying-something-different-something-new</link>
                                                                            <description>
                            <![CDATA[ I saw the iRobot Roomba Duo is action, and it's a two-in-one robot vacuum in the truest sense. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">hL6BFzX8tyrDuc89uhEHtQ</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/VuzQbrQiKqggyvpkNUczSE-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 10 Sep 2026 08:12:36 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Robot Vacuums]]></category>
                                                    <category><![CDATA[Home]]></category>
                                                    <category><![CDATA[Smart Home]]></category>
                                                                                                <author><![CDATA[ ruth.hamilton@futurenet.com (Ruth Hamilton) ]]></author>                    <dc:creator><![CDATA[ Ruth Hamilton ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/eXBKKGGwbDvhLePY2FSnfU-320-70.jpeg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Ruth is TechRadar&#039;s Collections Editor, responsible for masterminding TechRadar&#039;s approach towards the new Collections format — a themed, curated selection of product recommendations designed to provide readers with an exciting new way to shop for the very best gadgets and gizmos. She has been reviewing and writing about products since 2020, covering everything from robot vacuums and hair stylers to outdoor kit and mattresses.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/VuzQbrQiKqggyvpkNUczSE-1920-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[iRobot Roomba Duo robot vacuum being demoed at IFA]]></media:description>                                                            <media:text><![CDATA[iRobot Roomba Duo robot vacuum being demoed at IFA]]></media:text>
                                <media:title type="plain"><![CDATA[iRobot Roomba Duo robot vacuum being demoed at IFA]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/VuzQbrQiKqggyvpkNUczSE-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <ul><li><strong>The iRobot Roomba Duo is a robot vacuum concept </strong></li><li><strong>One chunky, powerful mopping and vacuuming robot...</strong></li><li><strong>... with a regular, small robovac docked in its hat, for detail work</strong></li></ul><p>When it comes to robot vacuums, size matters. Robovac makers need their bots to be powerful, but also small enough to get into tight spots. The two things are often incompatible. </p><p>iRobot has come up with an imaginative solution. The iRobot Roomba Duo is a two-in-one bot in the truest sense. In its full form, it's a big, chunky floor cleaner, with a bulky body is large enough to contain everything you need for serious cleaning oomph. Then, in the upper part hides a regular robot vacuum that's compact enough to take care of detail work. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="emnsd4NQCpyLdFriX3YaFF" name="20260904_155034 copy" alt="iRobot Roomba Duo robot vacuum being demoed at IFA" src="https://cdn.mos.cms.futurecdn.net/emnsd4NQCpyLdFriX3YaFF-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>I spoke to Adam Pope, Chief Engineer & Vice President of Product Planning & Development at iRobot, to get some more insight into the unusual creation. </p><p>"The large base robot is really for heavy-duty cleaning," he tells me. "It's big enough to be able to have lots of water inside, and it can also have stronger vacuum. It's designed for heavy-duty cleaning and more open spaces and high-traffic areas in your home. You get that heavy-duty clean that you might use a stick vac or a wet-dry vac on today."</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.29%;"><img id="Lt3zGz5mALtQA4aDybFsmE" name="20260904_154827 copy" alt="iRobot Roomba Duo robot vacuum being demoed at IFA" src="https://cdn.mos.cms.futurecdn.net/Lt3zGz5mALtQA4aDybFsmE-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1441" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>He explains that on top of all that, the base also deploys the companion bot — which is similar to the <a href="https://www.irobot.co.uk/en_GB/roomba-plus-575-series/575MASTER.html" target="_blank">Roomba Plus 575 robot</a>. That smaller robovac will clean under furniture, around chair legs, in corners and essentially "all those other spaces that the larger robot can't get to". </p><p>"They work together," he adds. "They each have their own job, and they kind of split the job up and go do those activities."</p><p>I saw a demo of the iRobot Roomba Duo in action at <a href="https://www.techradar.com/tag/ifa" target="_blank">IFA 2026</a>. The dock was lifted off the top of its cleaner base — like someone taking their hat off — and lowered gently to the ground, where the smaller robot vacuum exited. This then went on to successfully complete an obstacle course that looked far too tight for it to navigate, before returning to its hutch, to be lifted back to its charging home on top of the base bot. </p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/HiVuFmfukeAZAQT3z8cw3F-1920-80.jpg" alt="iRobot Roomba Duo robot vacuum being demoed at IFA" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/ubbgdXpzaYuBQ4EazGxY9F-1920-80.jpg" alt="iRobot Roomba Duo robot vacuum being demoed at IFA" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/BWJSfm5JXLdhKEpJvTSWsE-1920-80.jpg" alt="iRobot Roomba Duo robot vacuum being demoed at IFA" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/Jz6tCgUHbCPREgfMCYS6yE-1920-80.jpg" alt="iRobot Roomba Duo robot vacuum being demoed at IFA" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/5s427xcyAsf3fhBqZJGhxE-1920-80.jpg" alt="iRobot Roomba Duo robot vacuum being demoed at IFA" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/6dogCcnq2PrHTgZwzjZPBE-1920-80.jpg" alt="iRobot Roomba Duo robot vacuum being demoed at IFA" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/dqERL6HFDH2ruHUCkZwMzD-1920-80.jpg" alt="iRobot Roomba Duo robot vacuum being demoed at IFA" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p>Unfortunately, for those who like the sound of this, the iRobot Duo isn't going on sale quite yet. "It's a cool little innovation concept we're just showing here at IFA to see how the market reacts to it and if there's interest in that type of product," Pope tells me. </p><p>I suggest it's quite difficult to stand out in the robot vacuum market these days, given the speed at which brands are releasing new models. "There's a lot of spec war in that category," he responds. "Not as much innovation as we'd like to see. So this was our way of trying to get something different, something new. But it still does the job — the job that customers actually need."</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Dreame is one step ahead of the competition with its world-first steam cleaning robot vacuum ]]></title>
                                                                                                <dc:content><![CDATA[ <ul><li><strong>The Aqua20 Pro Ultra Roller X Complete is Dreame's new flagship robovac</strong></li><li><strong>World's first robovac to use heated steam at 180°C as part of its mop system</strong></li><li><strong>Can also clear double-step thresholds up to an impressive 3.9in / 10cm</strong></li></ul><p>When I spoke to a load of major robot vacuum brand execs about <a href="https://www.techradar.com/home/robot-vacuums/i-took-a-deep-dive-into-the-future-of-robot-vacuums-heres-what-the-biggest-brands-have-cooking-from-from-e-t-style-limbs-to-full-humanoid-home-helpers">where they thought robovacs were heading in the next five-to-10 years</a>, a common theme cropped up: the desire to close the performance gap between manual and robotic floor cleaners. That's not just the vacuuming power, but the mopping prowess too.</p><p>And so, at <a href="https://www.techradar.com/tag/ifa">IFA 2026</a>, we have the world's first robot vacuum with steam cleaning powers: the Dreame Aqua20 Pro Ultra Roller X Complete. It's an exciting prospect, but based on the demo I saw, I'm not sure I'd be throwing out my manual steam cleaner any time soon. </p><p>The Aqua20 Pro Ultra (I'm not typing the full name each time) vaporizes water into 356°F / 180°C steam, which is pushed out through four outlets along the roller edge. This steam is designed to loosen tough, dried-on stains. The roller then gently scrubs them away, using hot water. </p><div class="looped-video"><video class="lazyload-in-view lazyloading" data-src="https://cdn.mos.cms.futurecdn.net/JLFgs72KoN3kkHNry7999g/Dreame%20steam.mp4" autoplay loop muted playsinline src="https://cdn.mos.cms.futurecdn.net/JLFgs72KoN3kkHNry7999g/Dreame%20steam.mp4"></video></div><p>On the demo I saw, the steam function seemed quite gentle — there wasn't enough to be visible on a still photo, although you can see it in the video clip above. My first concern about the system is that there might not be enough steam to really make an impact.</p><p>The second is that because the heating happens inside the bot itself, using it has a big impact on battery life. I spoke to Dawn Chen, a Director at Dreame, and he confirmed that with the steam function on, the robot's runtime is around 30 to 40 minutes, compared to around four hours with it off. Steam needs to be switched on and off manually, in the app, and can only be used for a zone that's less than 10 square meters in size. Chen explained that the function is meant for spot-cleaning only; to tackle stubborn and dried on stains. </p><p>That runtime is fairly limiting. It makes it difficult to use the steam function as part of a more extensive cleaning session, which is a situation I expect will be common. </p><h2 id="making-it-work">Making it work</h2><p>The process of adding the steam function caused Dreame a few headaches. "During this R&D process, we faced two main problems. The first is about the limescale. Because we are turning the water into steam, this process will produce a lot of limescale," Chen explained. "To solve this problem, we added some limescale remover inside the robot, in the pipeline."</p><p>The second — and perhaps bigger — challenge was to do with controlling the temperature inside robot itself. "Because we put this kind of heat inside the robot body, the heat it produces will affect other components, especially the electronic components inside the robot body," Chen told me. </p><p>To address the issue, the engineers had to add internal insulation to protect the different components. And that was easier said than done — Dreame had to completely redesign the inside of the robovac to add the steam components, and insulation, while still maintaining the streamlined shape and size. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2083px;"><p class="vanilla-image-block" style="padding-top:56.27%;"><img id="kJPC6MgVth8cfYcVtxzsAV" name="20260904_140808 copy" alt="Dreame Aqua20 Pro Ultra Roller X Complete robot vacuum on show at IFA" src="https://cdn.mos.cms.futurecdn.net/kJPC6MgVth8cfYcVtxzsAV-1920-80.jpg" mos="" align="middle" fullscreen="" width="2083" height="1172" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>All the talk of limescale and preventing damage to internal components instills a certain amount of fear in me. I can't help but wonder if iRobot might have had the better approach — that brand's new <a href="https://www.techradar.com/home/robot-vacuums/the-new-flagship-roomba-has-a-unique-mopping-feature-for-tackling-dried-on-dirt-and-it-might-be-the-thing-that-restores-irobot-to-its-former-robovac-glory">Roomba Max 875 expels warm mist</a> rather than steam, and the active heating happens in-dock rather than on-bot. </p><p>The demo showed a much denser cloud of mist than Dreame's bot was expelling, and because the Rooma bot itself isn't doing any active heating, using the mist function has a minimal impact on battery life. Of course, the really important thing is how effectively each robot cleans, and we won't know that until we've had a chance to test them.</p><h2 id="other-upgrades">Other upgrades</h2><p>Back to the Aqua20 Pro. Aside from the headline steam feature, you'll also find an upgraded 'Proleap' system that can now bump the bot over single steps up to 2in / 5cm, or double steps up to 3.9in / 10cm. That's the tallest threshold clearance I've seen from any brand (so far) although in the demo it sometimes took a couple of run-ups to make it over. </p><p>Dreame has also added enhanced AI vision with adaptive learning — so the robovac can apparently react to moving objects and re-plan its route, in real time, in response. </p><div class="looped-video"><video class="lazyload-in-view lazyloading" data-src="https://cdn.mos.cms.futurecdn.net/JvbFNuLPvbCww7jhyvjMLZ/Dreame%20step.mp4" autoplay loop muted playsinline src="https://cdn.mos.cms.futurecdn.net/JvbFNuLPvbCww7jhyvjMLZ/Dreame%20step.mp4"></video></div><p>The roller can kick out from the side of the robovac by up to 8cm / 3in — much further than its predecessor, the <a href="https://www.techradar.com/home/robot-vacuums/dreame-aqua10-ultra-review">Aqua10 Ultra Roller Complete</a> — to get nice and close to the edges of rooms. To avoid unwanted dampness while all this is going on, the main vacuum roller and side sweeper can both lift (by 5mm  and 10mm respectively) while the mopping is happening. The roller can also lift 15mm when the bot is traversing carpet.</p><p>The Dreame Aqua20 Pro Ultra Roller X Complete is due to launch on September 21 in Germany, Austria, Spain, Portugal, and Switzerland, followed by a number of other European countries. I don't have a launch date for the UK yet, but Chen promises it'll arrive before the end of the year. Due to FCC regulations, launch in the US is unconfirmed. </p> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/home/robot-vacuums/dreame-is-one-step-ahead-of-the-competition-with-its-world-first-steam-cleaning-robot-vacuum-but-im-wondering-if-this-is-one-step-too-far</link>
                                                                            <description>
                            <![CDATA[ The Aqua20 Pro Ultra Roller X Complete can steam-clean your hard floors — but the feature comes with a number of caveats. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">cdLevCzEjsNdDZ5AjD3rAZ</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/ds9wFRPCwrkxwDu7Hee3cU-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 09 Sep 2026 13:44:39 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Robot Vacuums]]></category>
                                                    <category><![CDATA[Home]]></category>
                                                    <category><![CDATA[Smart Home]]></category>
                                                                                                <author><![CDATA[ ruth.hamilton@futurenet.com (Ruth Hamilton) ]]></author>                    <dc:creator><![CDATA[ Ruth Hamilton ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/eXBKKGGwbDvhLePY2FSnfU-320-70.jpeg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Ruth is TechRadar&#039;s Collections Editor, responsible for masterminding TechRadar&#039;s approach towards the new Collections format — a themed, curated selection of product recommendations designed to provide readers with an exciting new way to shop for the very best gadgets and gizmos. She has been reviewing and writing about products since 2020, covering everything from robot vacuums and hair stylers to outdoor kit and mattresses.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/ds9wFRPCwrkxwDu7Hee3cU-1920-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Dreame Aqua20 Pro Ultra Roller X Complete robot vacuum on show at IFA]]></media:description>                                                            <media:text><![CDATA[Dreame Aqua20 Pro Ultra Roller X Complete robot vacuum on show at IFA]]></media:text>
                                <media:title type="plain"><![CDATA[Dreame Aqua20 Pro Ultra Roller X Complete robot vacuum on show at IFA]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/ds9wFRPCwrkxwDu7Hee3cU-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <ul><li><strong>The Aqua20 Pro Ultra Roller X Complete is Dreame's new flagship robovac</strong></li><li><strong>World's first robovac to use heated steam at 180°C as part of its mop system</strong></li><li><strong>Can also clear double-step thresholds up to an impressive 3.9in / 10cm</strong></li></ul><p>When I spoke to a load of major robot vacuum brand execs about <a href="https://www.techradar.com/home/robot-vacuums/i-took-a-deep-dive-into-the-future-of-robot-vacuums-heres-what-the-biggest-brands-have-cooking-from-from-e-t-style-limbs-to-full-humanoid-home-helpers">where they thought robovacs were heading in the next five-to-10 years</a>, a common theme cropped up: the desire to close the performance gap between manual and robotic floor cleaners. That's not just the vacuuming power, but the mopping prowess too.</p><p>And so, at <a href="https://www.techradar.com/tag/ifa">IFA 2026</a>, we have the world's first robot vacuum with steam cleaning powers: the Dreame Aqua20 Pro Ultra Roller X Complete. It's an exciting prospect, but based on the demo I saw, I'm not sure I'd be throwing out my manual steam cleaner any time soon. </p><p>The Aqua20 Pro Ultra (I'm not typing the full name each time) vaporizes water into 356°F / 180°C steam, which is pushed out through four outlets along the roller edge. This steam is designed to loosen tough, dried-on stains. The roller then gently scrubs them away, using hot water. </p><div class="looped-video"><video class="lazyload-in-view lazyloading" data-src="https://cdn.mos.cms.futurecdn.net/JLFgs72KoN3kkHNry7999g/Dreame%20steam.mp4" autoplay loop muted playsinline src="https://cdn.mos.cms.futurecdn.net/JLFgs72KoN3kkHNry7999g/Dreame%20steam.mp4"></video></div><p>On the demo I saw, the steam function seemed quite gentle — there wasn't enough to be visible on a still photo, although you can see it in the video clip above. My first concern about the system is that there might not be enough steam to really make an impact.</p><p>The second is that because the heating happens inside the bot itself, using it has a big impact on battery life. I spoke to Dawn Chen, a Director at Dreame, and he confirmed that with the steam function on, the robot's runtime is around 30 to 40 minutes, compared to around four hours with it off. Steam needs to be switched on and off manually, in the app, and can only be used for a zone that's less than 10 square meters in size. Chen explained that the function is meant for spot-cleaning only; to tackle stubborn and dried on stains. </p><p>That runtime is fairly limiting. It makes it difficult to use the steam function as part of a more extensive cleaning session, which is a situation I expect will be common. </p><h2 id="making-it-work">Making it work</h2><p>The process of adding the steam function caused Dreame a few headaches. "During this R&D process, we faced two main problems. The first is about the limescale. Because we are turning the water into steam, this process will produce a lot of limescale," Chen explained. "To solve this problem, we added some limescale remover inside the robot, in the pipeline."</p><p>The second — and perhaps bigger — challenge was to do with controlling the temperature inside robot itself. "Because we put this kind of heat inside the robot body, the heat it produces will affect other components, especially the electronic components inside the robot body," Chen told me. </p><p>To address the issue, the engineers had to add internal insulation to protect the different components. And that was easier said than done — Dreame had to completely redesign the inside of the robovac to add the steam components, and insulation, while still maintaining the streamlined shape and size. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2083px;"><p class="vanilla-image-block" style="padding-top:56.27%;"><img id="kJPC6MgVth8cfYcVtxzsAV" name="20260904_140808 copy" alt="Dreame Aqua20 Pro Ultra Roller X Complete robot vacuum on show at IFA" src="https://cdn.mos.cms.futurecdn.net/kJPC6MgVth8cfYcVtxzsAV-1920-80.jpg" mos="" align="middle" fullscreen="" width="2083" height="1172" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>All the talk of limescale and preventing damage to internal components instills a certain amount of fear in me. I can't help but wonder if iRobot might have had the better approach — that brand's new <a href="https://www.techradar.com/home/robot-vacuums/the-new-flagship-roomba-has-a-unique-mopping-feature-for-tackling-dried-on-dirt-and-it-might-be-the-thing-that-restores-irobot-to-its-former-robovac-glory">Roomba Max 875 expels warm mist</a> rather than steam, and the active heating happens in-dock rather than on-bot. </p><p>The demo showed a much denser cloud of mist than Dreame's bot was expelling, and because the Rooma bot itself isn't doing any active heating, using the mist function has a minimal impact on battery life. Of course, the really important thing is how effectively each robot cleans, and we won't know that until we've had a chance to test them.</p><h2 id="other-upgrades">Other upgrades</h2><p>Back to the Aqua20 Pro. Aside from the headline steam feature, you'll also find an upgraded 'Proleap' system that can now bump the bot over single steps up to 2in / 5cm, or double steps up to 3.9in / 10cm. That's the tallest threshold clearance I've seen from any brand (so far) although in the demo it sometimes took a couple of run-ups to make it over. </p><p>Dreame has also added enhanced AI vision with adaptive learning — so the robovac can apparently react to moving objects and re-plan its route, in real time, in response. </p><div class="looped-video"><video class="lazyload-in-view lazyloading" data-src="https://cdn.mos.cms.futurecdn.net/JvbFNuLPvbCww7jhyvjMLZ/Dreame%20step.mp4" autoplay loop muted playsinline src="https://cdn.mos.cms.futurecdn.net/JvbFNuLPvbCww7jhyvjMLZ/Dreame%20step.mp4"></video></div><p>The roller can kick out from the side of the robovac by up to 8cm / 3in — much further than its predecessor, the <a href="https://www.techradar.com/home/robot-vacuums/dreame-aqua10-ultra-review">Aqua10 Ultra Roller Complete</a> — to get nice and close to the edges of rooms. To avoid unwanted dampness while all this is going on, the main vacuum roller and side sweeper can both lift (by 5mm  and 10mm respectively) while the mopping is happening. The roller can also lift 15mm when the bot is traversing carpet.</p><p>The Dreame Aqua20 Pro Ultra Roller X Complete is due to launch on September 21 in Germany, Austria, Spain, Portugal, and Switzerland, followed by a number of other European countries. I don't have a launch date for the UK yet, but Chen promises it'll arrive before the end of the year. Due to FCC regulations, launch in the US is unconfirmed. </p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ The new flagship Roomba has a unique mopping feature for tackling dried-on dirt ]]></title>
                                                                                                <dc:content><![CDATA[ <ul><li><strong>iRobot has unveiled its new flagship Roomba Max 875 Combo</strong></li><li><strong>It sprays out heated mist to dislodge dried dirt from hard floors</strong></li><li><strong>There's a seal around the vacuum to maximize pickup power</strong></li></ul><p>iRobot has revealed its latest flagship robot vacuum, and I've just seen it in action at <a href="https://www.techradar.com/tag/ifa">IFA 2026</a>. The Roomba Max 875 Combo is a combination robovac-and-mop, and boasts some intriguing features on both of those floorcare prongs.</p><p>One that caught my attention in particular is the mopping setup. Robot vacuum mopping has historically been rather underwhelming, but the latest models are showing some significant improvements. iRobot's Roomba Max 875 Combo's USP is its 'ThermaMist' function. I got the low-down from Adam Pope, Chief Engineer & Vice President of Product Planning & Development at iRobot. </p><p>"The ThermaMist is a pretty interesting technology," he tells me. "It's an ultrasonic warm mist, meant to pre-treat stains. So it'll detect stains and pre-treat them before it mops. The customer can also activate it in a certain area if they want to just do that whole area.</p><p>"The heat gives you a little better power to break up some of the oily or sugary stains that might be sticky. So that's the reason that we have the heat in there, really, try to help break those up."</p><div class="looped-video"><video class="lazyload-in-view lazyloading" data-src="https://cdn.mos.cms.futurecdn.net/gXmeB8nzUDusRA3h5Uajnn/79b93564-0fca-4449-a936-b2cb7c9118e6.mp4" autoplay loop muted playsinline src="https://cdn.mos.cms.futurecdn.net/gXmeB8nzUDusRA3h5Uajnn/79b93564-0fca-4449-a936-b2cb7c9118e6.mp4"></video></div><p>Unlike on Dreame's new mist-expelling robovac, which heats the water on the robot itself, here the heating happens in the dock. From an engineering perspective, what's interesting is that the on-bot process of creating ultrasonic mist also naturally generates warmth.</p><p>"The dock can put hot water in the robot, but the actual ultrasonic ThermaMist part of that process, it does actually heat the water as it's coming out," explains Pope. "When [the water] goes through that process, it comes out warm, even if there's room temperature water in the robot."</p><p>The fact there's no active heater on the robot itself is good news for battery life. "With the ThermaMist on, it's going to have a small impact on the battery life, but not a large one, because the process of heating is part of the ultrasonic component," Pope confirms. "It's not like there's a special heater that you're running all the time."</p><p>Unfortunately, iRobot wasn't demoing the ThermaMist feature when I visited the booth. However, based on the video (above) I was sent over later, it looks promising — there's a good amount of mist created, and it's being delivered evenly. In theory it sounds like a truly interesting innovation, and one that has plenty of potential to deliver strong mopping results. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="xy5P5MJ5TQ2WpZnXJviq4S" name="20260904_155200 copy" alt="Roomba Max 875 robot vacuum on show at IFA" src="https://cdn.mos.cms.futurecdn.net/xy5P5MJ5TQ2WpZnXJviq4S-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>iRobot has also extended the mop, which is larger in diameter and spins faster than its predecessors, for extra scrubbing power. It can kick out to one side to get close to the edges of rooms, and there's a shield that will slide under the roller as extra protection against unwanted sogginess when the bot is moving over carpet. </p><h2 id="sealing-the-deal">Sealing the deal</h2><p>There's interesting innovation on the vacuuming front too. iRobot has added a 'SealForce' system, which is essentially a kind of skirt around the suction inlet on the Max 875 Combo, which lowers to form a loose seal against the carpet fibers. </p><p>"The SealForce brings a component of the cleaning head down to the floor, so you get all that airflow going right through the deep fibers of the carpet, trying to pull everything deeply out of the carpet, or even out of crevices, grout lines, that sort of thing," says Pope. "It's really kind of applying the suction where you need it most."</p><p>In the demo, the 'SealForce' seal wasn't as dramatic as I had been expecting. You can see the moving frame around the suction inlet below, and in the right-hand photo it's about as extended as it gets. That small shift could be enough to make a big difference to the suction, through — we'll need to test it out to find out. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="aQUN97LQ72tBtNyEh3pG9Z" name="20260904_155314 copy 2" alt="Suction seal on Roomba Max 875" src="https://cdn.mos.cms.futurecdn.net/aQUN97LQ72tBtNyEh3pG9Z-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>iRobot is traditionally shy about publishing its suction specs, but here it has done: the Roomba Max 875 Combo offers 35,000Pa, which is right up there with the highest numbers you'll find anywhere. I'm increasingly of the opinion that it doesn't really matter anyway. The suction is only as effective as the wider design you put it into — and if it works as intended, this seal could make a big difference to the Max 875's pickup power. </p><h2 id="saving-grace">Saving grace</h2><p>The past few years have been a rocky time for once-supreme robot vacuum brand iRobot. Its bots have fallen behind the pack when it comes to features, so it's exciting to see the company starting to find its footing again when it comes to innovation. </p><p>The <a href="https://www.irobot.co.uk/en_GB/roomba-max-875-combo/875MASTER.html" target="_blank">iRobot Roomba Max 875 Combo is on sale now in the UK</a>, priced at £1,099. (equivalent to about $1,490 / AU$2,060). <a href="https://www.shopirobot.com.au/roomba-new-arrivals" target="_blank">iRobot has a presence in Australia</a>, but I don't yet have launch details for the 875 Combo there. </p><p>What about the US? Due to the <a href="https://www.techradar.com/home/robot-vacuums/first-drones-now-robot-vacuums-the-us-governments-ban-on-foreign-robots-is-confirmed-to-include-many-of-the-best-robovacs-and-robot-lawn-mowers-on-the-market-and-brands-may-have-been-caught-off-guard">new FCC ban on foreign-made "advanced" robots</a>, the Max 875's launch is on pause for now. iRobot was founded in the US, but at the start of the year it was taken over by Chinese manufacturing company Picea. However, this takeover isn't to blame for the fact the brand can't now sell its new products in the US; the ban refers to where the product is manufactured, and Roomba bots have long been made outside of the US.</p><p>In terms of future plans, Pope has this to say: "We're working through with our advisors on how we continue to sell in the US. So we have multiple plans that we're working through and multiple strategies that will come to fruition, and we'll still be able to bring cool technology to the US as well."</p> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/home/robot-vacuums/the-new-flagship-roomba-has-a-unique-mopping-feature-for-tackling-dried-on-dirt-and-it-might-be-the-thing-that-restores-irobot-to-its-former-robovac-glory</link>
                                                                            <description>
                            <![CDATA[ The Roomba Max 875 Combo will mist your hard floors to loosen dried-on dirt and dislodge grease. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">v9iHYxxyRhMmuoMGLfujkR</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/qL2vJXCTYqyHqNa73bwWyR-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 09 Sep 2026 11:22:22 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Robot Vacuums]]></category>
                                                    <category><![CDATA[Home]]></category>
                                                    <category><![CDATA[Smart Home]]></category>
                                                                                                <author><![CDATA[ ruth.hamilton@futurenet.com (Ruth Hamilton) ]]></author>                    <dc:creator><![CDATA[ Ruth Hamilton ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/eXBKKGGwbDvhLePY2FSnfU-320-70.jpeg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Ruth is TechRadar&#039;s Collections Editor, responsible for masterminding TechRadar&#039;s approach towards the new Collections format — a themed, curated selection of product recommendations designed to provide readers with an exciting new way to shop for the very best gadgets and gizmos. She has been reviewing and writing about products since 2020, covering everything from robot vacuums and hair stylers to outdoor kit and mattresses.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/qL2vJXCTYqyHqNa73bwWyR-1920-80.jpg">
                                                            <media:credit><![CDATA[iRobot ]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Roomba Max 875 robot vacuum on show at IFA]]></media:description>                                                            <media:text><![CDATA[Roomba Max 875 robot vacuum on show at IFA]]></media:text>
                                <media:title type="plain"><![CDATA[Roomba Max 875 robot vacuum on show at IFA]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/qL2vJXCTYqyHqNa73bwWyR-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <ul><li><strong>iRobot has unveiled its new flagship Roomba Max 875 Combo</strong></li><li><strong>It sprays out heated mist to dislodge dried dirt from hard floors</strong></li><li><strong>There's a seal around the vacuum to maximize pickup power</strong></li></ul><p>iRobot has revealed its latest flagship robot vacuum, and I've just seen it in action at <a href="https://www.techradar.com/tag/ifa">IFA 2026</a>. The Roomba Max 875 Combo is a combination robovac-and-mop, and boasts some intriguing features on both of those floorcare prongs.</p><p>One that caught my attention in particular is the mopping setup. Robot vacuum mopping has historically been rather underwhelming, but the latest models are showing some significant improvements. iRobot's Roomba Max 875 Combo's USP is its 'ThermaMist' function. I got the low-down from Adam Pope, Chief Engineer & Vice President of Product Planning & Development at iRobot. </p><p>"The ThermaMist is a pretty interesting technology," he tells me. "It's an ultrasonic warm mist, meant to pre-treat stains. So it'll detect stains and pre-treat them before it mops. The customer can also activate it in a certain area if they want to just do that whole area.</p><p>"The heat gives you a little better power to break up some of the oily or sugary stains that might be sticky. So that's the reason that we have the heat in there, really, try to help break those up."</p><div class="looped-video"><video class="lazyload-in-view lazyloading" data-src="https://cdn.mos.cms.futurecdn.net/gXmeB8nzUDusRA3h5Uajnn/79b93564-0fca-4449-a936-b2cb7c9118e6.mp4" autoplay loop muted playsinline src="https://cdn.mos.cms.futurecdn.net/gXmeB8nzUDusRA3h5Uajnn/79b93564-0fca-4449-a936-b2cb7c9118e6.mp4"></video></div><p>Unlike on Dreame's new mist-expelling robovac, which heats the water on the robot itself, here the heating happens in the dock. From an engineering perspective, what's interesting is that the on-bot process of creating ultrasonic mist also naturally generates warmth.</p><p>"The dock can put hot water in the robot, but the actual ultrasonic ThermaMist part of that process, it does actually heat the water as it's coming out," explains Pope. "When [the water] goes through that process, it comes out warm, even if there's room temperature water in the robot."</p><p>The fact there's no active heater on the robot itself is good news for battery life. "With the ThermaMist on, it's going to have a small impact on the battery life, but not a large one, because the process of heating is part of the ultrasonic component," Pope confirms. "It's not like there's a special heater that you're running all the time."</p><p>Unfortunately, iRobot wasn't demoing the ThermaMist feature when I visited the booth. However, based on the video (above) I was sent over later, it looks promising — there's a good amount of mist created, and it's being delivered evenly. In theory it sounds like a truly interesting innovation, and one that has plenty of potential to deliver strong mopping results. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="xy5P5MJ5TQ2WpZnXJviq4S" name="20260904_155200 copy" alt="Roomba Max 875 robot vacuum on show at IFA" src="https://cdn.mos.cms.futurecdn.net/xy5P5MJ5TQ2WpZnXJviq4S-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>iRobot has also extended the mop, which is larger in diameter and spins faster than its predecessors, for extra scrubbing power. It can kick out to one side to get close to the edges of rooms, and there's a shield that will slide under the roller as extra protection against unwanted sogginess when the bot is moving over carpet. </p><h2 id="sealing-the-deal">Sealing the deal</h2><p>There's interesting innovation on the vacuuming front too. iRobot has added a 'SealForce' system, which is essentially a kind of skirt around the suction inlet on the Max 875 Combo, which lowers to form a loose seal against the carpet fibers. </p><p>"The SealForce brings a component of the cleaning head down to the floor, so you get all that airflow going right through the deep fibers of the carpet, trying to pull everything deeply out of the carpet, or even out of crevices, grout lines, that sort of thing," says Pope. "It's really kind of applying the suction where you need it most."</p><p>In the demo, the 'SealForce' seal wasn't as dramatic as I had been expecting. You can see the moving frame around the suction inlet below, and in the right-hand photo it's about as extended as it gets. That small shift could be enough to make a big difference to the suction, through — we'll need to test it out to find out. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="aQUN97LQ72tBtNyEh3pG9Z" name="20260904_155314 copy 2" alt="Suction seal on Roomba Max 875" src="https://cdn.mos.cms.futurecdn.net/aQUN97LQ72tBtNyEh3pG9Z-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>iRobot is traditionally shy about publishing its suction specs, but here it has done: the Roomba Max 875 Combo offers 35,000Pa, which is right up there with the highest numbers you'll find anywhere. I'm increasingly of the opinion that it doesn't really matter anyway. The suction is only as effective as the wider design you put it into — and if it works as intended, this seal could make a big difference to the Max 875's pickup power. </p><h2 id="saving-grace">Saving grace</h2><p>The past few years have been a rocky time for once-supreme robot vacuum brand iRobot. Its bots have fallen behind the pack when it comes to features, so it's exciting to see the company starting to find its footing again when it comes to innovation. </p><p>The <a href="https://www.irobot.co.uk/en_GB/roomba-max-875-combo/875MASTER.html" target="_blank">iRobot Roomba Max 875 Combo is on sale now in the UK</a>, priced at £1,099. (equivalent to about $1,490 / AU$2,060). <a href="https://www.shopirobot.com.au/roomba-new-arrivals" target="_blank">iRobot has a presence in Australia</a>, but I don't yet have launch details for the 875 Combo there. </p><p>What about the US? Due to the <a href="https://www.techradar.com/home/robot-vacuums/first-drones-now-robot-vacuums-the-us-governments-ban-on-foreign-robots-is-confirmed-to-include-many-of-the-best-robovacs-and-robot-lawn-mowers-on-the-market-and-brands-may-have-been-caught-off-guard">new FCC ban on foreign-made "advanced" robots</a>, the Max 875's launch is on pause for now. iRobot was founded in the US, but at the start of the year it was taken over by Chinese manufacturing company Picea. However, this takeover isn't to blame for the fact the brand can't now sell its new products in the US; the ban refers to where the product is manufactured, and Roomba bots have long been made outside of the US.</p><p>In terms of future plans, Pope has this to say: "We're working through with our advisors on how we continue to sell in the US. So we have multiple plans that we're working through and multiple strategies that will come to fruition, and we'll still be able to bring cool technology to the US as well."</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ All the new Philips Hue lights that deserve a place in your home ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Last week, <strong>Philips Hue</strong> showed off a huge collection of new smart lights and accessories to decorate your home and make your TV-watching experience more immersive. There were so many new launches, in fact, that you might have struggled to keep up with them all. To help, I've rounded all the coolest new releases for you in one place — complete with links to the official Hue store so you can pick them up yourself, or register for updates when they go on sale if they're not yet available.</p><p>My personal favourite is the new <strong>Philips Hue Play Screen Sync</strong>, which lets you synchronise Philips Hue Play lights with the action on your TV screen, regardless of its source (unlike a Philips Hue Play HDMI Sync Box, which only works if you're using HDMI input). The Screen Sync uses a fisheye camera to capture what's on screen, and then uses your smart lights to extend the colours into the rest of your room. </p><p>Philips Hue has also partnered with smart lighting company Nanoleaf to bring you two colour-shifting <strong>Wall Panel Starter Sets</strong>, which you can mount on your wall in any configuration you like, and if you want something more architectural, take a look at the new <strong>Liane 360-Degree Rope Light</strong>, and <strong>Signe Gradient Pole</strong>. Scroll on for all the details.</p><h3 class="article-body__section" id="section-the-newest-philips-hue-launches"><span>The newest Philips Hue launches</span></h3>        <div class="featured_product_block featured_block_hero" data-id="9c65bcec-aaa7-11f1-8782-57d628cf59d3">            <a href="https://www.philips-hue.com/en-gb/p/hue-philips-hue-play-screen-sync/8721103173140" data-model-name="Play Screen Sync" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/9DxJWM2NrfiKk5LrmvXRN6.jpg" alt="Philips Hue Play Screen Sync"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Philips Hue</div>                                        <div class="featured__title">Play Screen Sync</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="9c65bda0-aaa7-11f1-ba88-d3bf4e7a002f">            <a href="https://www.philips-hue.com/en-gb/p/hue-philips-hue-play-hdmi-sync-box-4k/8721103141668" data-model-name="Play HDMI Sync Box 4k" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/YsErdsB9Vumr3Dro7QK4M6.jpg" alt="Philips Hue Play HDMI Sync Box 4K"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Philips Hue</div>                                        <div class="featured__title">Play HDMI Sync Box 4k</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="9c65be5e-aaa7-11f1-9904-4b40e43e75e0">            <a href="https://www.philips-hue.com/en-gb/p/outdoor-luminaires-festavia-curtain-lights-135-x-2-m-250-leds/8721103179913" data-model-name="Festavia Curtain Lights" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/ERGh5pdxdY3jqJVhiTjJK6.jpg" alt="Philips Hue curtain lights"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Philips Hue</div>                                        <div class="featured__title">Festavia Curtain Lights</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="9c65bef4-aaa7-11f1-9caa-0517e7cc8da4">            <a href="https://www.philips-hue.com/en-gb/p/outdoor-luminaires-festavia-icicle-lights-85-m-250-leds-excludes-power-supply-unit/8721103180018" data-model-name="Festavia Icicle Lights" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/aEGq4KtL32Bgm7udXAYSF6.jpg" alt="Philips Hue icicle lights"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Philips Hue</div>                                        <div class="featured__title">Festavia Icicle Lights</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="9c65bf6c-aaa7-11f1-aaad-5fe3996985d2">            <a href="https://www.philips-hue.com/en-gb/p/outdoor-luminaires-festavia-net-lights-1-m-x-35-m-250-leds-excludes-power-supply-unit/8721103180094" data-model-name="Festavia Net Lights" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/kSD79ddW85texvvkUAVpU6.jpg" alt="Philips Hue net lights"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Philips Hue</div>                                        <div class="featured__title">Festavia Net Lights</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="9c65bfee-aaa7-11f1-a624-9530706f798d">            <a href="https://www.philips-hue.com/en-gb/p/wall-lights-wall-panel-starter-set-hexagon/8721103170194" data-model-name="Wall Panel Starter Set Hexagon" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/LLJ7r3FWUVK3SmjBHgTiQ6.jpg" alt="Philips Hue Nanoleaf panels"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>PHILIPS HUE / NANOLEAF</div>                                        <div class="featured__title">Wall Panel Starter Set Hexagon</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="9c65c066-aaa7-11f1-b328-e9dec450041b">            <a href="https://www.philips-hue.com/en-gb/p/wall-lights-wall-panel-starter-set-triangle/8721103170279" data-model-name="Wall Panel Starter Set Triangle" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/uaMchUi7tFVAmBPFg8TJS6.jpg" alt="Philips Hue Nanoloaf panels"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>PHILIPS HUE / NANOLEAF</div>                                        <div class="featured__title">Wall Panel Starter Set Triangle</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="9c65c0de-aaa7-11f1-946f-7f4930ea2709">            <a href="https://www.philips-hue.com/en-gb/p/hue-white-and-colour-ambiance-signe-gradient-pole/8721103149589" data-model-name="Signe Gradient Pole" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/2ZkEcTyPDoc3ujr4RhAiE6.jpg" alt="Philips Hue light ple"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Philips Hue</div>                                        <div class="featured__title">Signe Gradient Pole</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="9c65c14c-aaa7-11f1-b733-090a2b0c031a">            <a href="https://www.philips-hue.com/en-gb/p/hue-philips-hue-liane-360-rope-light-5-m/8721103180964" data-model-name="Liane 360-degree Rope Light" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/GXo9QhganAvGpEfXR9YmG6.jpg" alt="Philips Hue rope light"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Philips Hue</div>                                        <div class="featured__title">Liane 360-degree Rope Light</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="9c65c1ce-aaa7-11f1-bb2d-010cf6619e22">            <a href="https://www.philips-hue.com/en-gb/p/hue-white-and-colour-ambiance-signe-gradient-pendulum/8721103149466" data-model-name="Signe Gradient Pendulum" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/qrj5WcD9YQto99QXPaQXD6.jpg" alt="Philips Hue pendulum light"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Philips Hue</div>                                        <div class="featured__title">Signe Gradient Pendulum</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="9c65c246-aaa7-11f1-b344-d91d66e83b57">            <a href="https://www.philips-hue.com/en-gb/p/hue-white-and-colour-ambiance-signe-gradient-pendant/8721103149527" data-model-name="Signe Gradient Pendant" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/WY2rpuBW2XpXJHnh2YY3E6.jpg" alt="Philips Hue pendant light"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Philips Hue</div>                                        <div class="featured__title">Signe Gradient Pendant</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="9c65c2c8-aaa7-11f1-ad55-6bc17d702c6b">            <a href="https://www.philips-hue.com/en-gb/p/hue-white-and-colour-ambiance-omniglow-outdoor-lightstrip-5m/8721103167040" data-model-name="Omniglow Outdoor Lightstrip" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/4f6hZaVtVUeoBf9vgwWGD6.jpg" alt="Philips Hue lightstrip"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Philips Hue</div>                                        <div class="featured__title">Omniglow Outdoor Lightstrip</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/home/smart-lights/philips-hue-just-launched-over-a-dozen-new-smart-lights-and-accessories-heres-every-syncing-device-light-strip-and-wall-panel-worth-your-money</link>
                                                                            <description>
                            <![CDATA[ If you missed the massive new Philips Hue drop, here's every smart light, panel, and accessory worth buying — and where to find them. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">3hRvhiSmwRrgh4beVoVqZd</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/XMPLDLSNvS3F8qUkfiMo4C-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 09 Sep 2026 06:00:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Smart Lights]]></category>
                                                    <category><![CDATA[Home]]></category>
                                                    <category><![CDATA[Smart Home]]></category>
                                                                                                <author><![CDATA[ catherine.ellis@futurenet.com (Cat Ellis) ]]></author>                    <dc:creator><![CDATA[ Cat Ellis ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/gxZz6rCoNR6sXhqL34MvML-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Cat is TechRadar&#039;s Homes Editor, covering smart home tech, kitchen appliances, vacuums, haircare and more. She&#039;s been a tech journalist for 15 years, having worked on print magazines including PC Plus and PC Format, and is a&lt;a href=&quot;https://sca.coffee/&quot;&gt; &lt;u&gt;Speciality Coffee Association&lt;/u&gt;&lt;/a&gt; (SCA) certified barista. Whether you want to invest in some smart lights, find your ideal hair styler, or pick the espresso machine of your dreams, she&#039;s the right person to help.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/XMPLDLSNvS3F8qUkfiMo4C-1920-80.jpg">
                                                            <media:credit><![CDATA[Philips Hue]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Split image of Philips Hue Screen Sync camera mounted on TV and Philips Hue Nanoleaf panels on wall]]></media:description>                                                            <media:text><![CDATA[Split image of Philips Hue Screen Sync camera mounted on TV and Philips Hue Nanoleaf panels on wall]]></media:text>
                                <media:title type="plain"><![CDATA[Split image of Philips Hue Screen Sync camera mounted on TV and Philips Hue Nanoleaf panels on wall]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/XMPLDLSNvS3F8qUkfiMo4C-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Last week, <strong>Philips Hue</strong> showed off a huge collection of new smart lights and accessories to decorate your home and make your TV-watching experience more immersive. There were so many new launches, in fact, that you might have struggled to keep up with them all. To help, I've rounded all the coolest new releases for you in one place — complete with links to the official Hue store so you can pick them up yourself, or register for updates when they go on sale if they're not yet available.</p><p>My personal favourite is the new <strong>Philips Hue Play Screen Sync</strong>, which lets you synchronise Philips Hue Play lights with the action on your TV screen, regardless of its source (unlike a Philips Hue Play HDMI Sync Box, which only works if you're using HDMI input). The Screen Sync uses a fisheye camera to capture what's on screen, and then uses your smart lights to extend the colours into the rest of your room. </p><p>Philips Hue has also partnered with smart lighting company Nanoleaf to bring you two colour-shifting <strong>Wall Panel Starter Sets</strong>, which you can mount on your wall in any configuration you like, and if you want something more architectural, take a look at the new <strong>Liane 360-Degree Rope Light</strong>, and <strong>Signe Gradient Pole</strong>. Scroll on for all the details.</p><h3 class="article-body__section" id="section-the-newest-philips-hue-launches"><span>The newest Philips Hue launches</span></h3>        <div class="featured_product_block featured_block_hero" data-id="9c65bcec-aaa7-11f1-8782-57d628cf59d3">            <a href="https://www.philips-hue.com/en-gb/p/hue-philips-hue-play-screen-sync/8721103173140" data-model-name="Play Screen Sync" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/9DxJWM2NrfiKk5LrmvXRN6.jpg" alt="Philips Hue Play Screen Sync"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Philips Hue</div>                                        <div class="featured__title">Play Screen Sync</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="9c65bda0-aaa7-11f1-ba88-d3bf4e7a002f">            <a href="https://www.philips-hue.com/en-gb/p/hue-philips-hue-play-hdmi-sync-box-4k/8721103141668" data-model-name="Play HDMI Sync Box 4k" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/YsErdsB9Vumr3Dro7QK4M6.jpg" alt="Philips Hue Play HDMI Sync Box 4K"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Philips Hue</div>                                        <div class="featured__title">Play HDMI Sync Box 4k</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="9c65be5e-aaa7-11f1-9904-4b40e43e75e0">            <a href="https://www.philips-hue.com/en-gb/p/outdoor-luminaires-festavia-curtain-lights-135-x-2-m-250-leds/8721103179913" data-model-name="Festavia Curtain Lights" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/ERGh5pdxdY3jqJVhiTjJK6.jpg" alt="Philips Hue curtain lights"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Philips Hue</div>                                        <div class="featured__title">Festavia Curtain Lights</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="9c65bef4-aaa7-11f1-9caa-0517e7cc8da4">            <a href="https://www.philips-hue.com/en-gb/p/outdoor-luminaires-festavia-icicle-lights-85-m-250-leds-excludes-power-supply-unit/8721103180018" data-model-name="Festavia Icicle Lights" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/aEGq4KtL32Bgm7udXAYSF6.jpg" alt="Philips Hue icicle lights"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Philips Hue</div>                                        <div class="featured__title">Festavia Icicle Lights</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="9c65bf6c-aaa7-11f1-aaad-5fe3996985d2">            <a href="https://www.philips-hue.com/en-gb/p/outdoor-luminaires-festavia-net-lights-1-m-x-35-m-250-leds-excludes-power-supply-unit/8721103180094" data-model-name="Festavia Net Lights" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/kSD79ddW85texvvkUAVpU6.jpg" alt="Philips Hue net lights"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Philips Hue</div>                                        <div class="featured__title">Festavia Net Lights</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="9c65bfee-aaa7-11f1-a624-9530706f798d">            <a href="https://www.philips-hue.com/en-gb/p/wall-lights-wall-panel-starter-set-hexagon/8721103170194" data-model-name="Wall Panel Starter Set Hexagon" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/LLJ7r3FWUVK3SmjBHgTiQ6.jpg" alt="Philips Hue Nanoleaf panels"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>PHILIPS HUE / NANOLEAF</div>                                        <div class="featured__title">Wall Panel Starter Set Hexagon</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="9c65c066-aaa7-11f1-b328-e9dec450041b">            <a href="https://www.philips-hue.com/en-gb/p/wall-lights-wall-panel-starter-set-triangle/8721103170279" data-model-name="Wall Panel Starter Set Triangle" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/uaMchUi7tFVAmBPFg8TJS6.jpg" alt="Philips Hue Nanoloaf panels"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>PHILIPS HUE / NANOLEAF</div>                                        <div class="featured__title">Wall Panel Starter Set Triangle</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="9c65c0de-aaa7-11f1-946f-7f4930ea2709">            <a href="https://www.philips-hue.com/en-gb/p/hue-white-and-colour-ambiance-signe-gradient-pole/8721103149589" data-model-name="Signe Gradient Pole" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/2ZkEcTyPDoc3ujr4RhAiE6.jpg" alt="Philips Hue light ple"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Philips Hue</div>                                        <div class="featured__title">Signe Gradient Pole</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="9c65c14c-aaa7-11f1-b733-090a2b0c031a">            <a href="https://www.philips-hue.com/en-gb/p/hue-philips-hue-liane-360-rope-light-5-m/8721103180964" data-model-name="Liane 360-degree Rope Light" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/GXo9QhganAvGpEfXR9YmG6.jpg" alt="Philips Hue rope light"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Philips Hue</div>                                        <div class="featured__title">Liane 360-degree Rope Light</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="9c65c1ce-aaa7-11f1-bb2d-010cf6619e22">            <a href="https://www.philips-hue.com/en-gb/p/hue-white-and-colour-ambiance-signe-gradient-pendulum/8721103149466" data-model-name="Signe Gradient Pendulum" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/qrj5WcD9YQto99QXPaQXD6.jpg" alt="Philips Hue pendulum light"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Philips Hue</div>                                        <div class="featured__title">Signe Gradient Pendulum</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="9c65c246-aaa7-11f1-b344-d91d66e83b57">            <a href="https://www.philips-hue.com/en-gb/p/hue-white-and-colour-ambiance-signe-gradient-pendant/8721103149527" data-model-name="Signe Gradient Pendant" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/WY2rpuBW2XpXJHnh2YY3E6.jpg" alt="Philips Hue pendant light"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Philips Hue</div>                                        <div class="featured__title">Signe Gradient Pendant</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="9c65c2c8-aaa7-11f1-ad55-6bc17d702c6b">            <a href="https://www.philips-hue.com/en-gb/p/hue-white-and-colour-ambiance-omniglow-outdoor-lightstrip-5m/8721103167040" data-model-name="Omniglow Outdoor Lightstrip" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/4f6hZaVtVUeoBf9vgwWGD6.jpg" alt="Philips Hue lightstrip"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Philips Hue</div>                                        <div class="featured__title">Omniglow Outdoor Lightstrip</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ IKEA's new Dubbelkisel device lets you integrate your cabinet lights into your smart home ]]></title>
                                                                                                <dc:content><![CDATA[ <ul><li><strong>IKEA has launched a new wireless driver for its integrated LED lights</strong></li><li><strong>Called Dubbelkisel, it connects your lights to IKEA's Bilresa hub</strong></li><li><strong>It's Matter-enabled so you can integrate it into a wider smart home setup</strong></li></ul><p>If you have IKEA integrated lights in your cabinets or wardrobe, there's good news — the company has just launched a new driver that lets you control them wirelessly, with Matter compatibility, so you can integrate them into the rest of your smart home.</p><p>The new driver, called <a href="https://www.ikea.com/nl/en/p/dubbelkisel-driver-for-wireless-control-smart-white-50609444/" target="_blank">Dubbelkisel</a>, is a successor to the <a href="https://www.ikea.com/us/en/p/tradfri-driver-for-wireless-control-smart-gray-10356189/" target="_blank">Trådfri</a> driver, which allowed you to control your integrated lights via a small remote control using the Zigbee protocol. The new driver is different; instead of linking directly to a remote, it connects to IKEA's Dirigera hub, which means you can operate your cabinet lights with any of <a href="https://www.techradar.com/home/smart-home/3-reasons-why-you-shouldnt-sleep-on-these-usd6-gbp3-smart-switches-theyre-the-understated-hit-of-ikeas-new-gadget-range">IKEA's smart switches</a> — or even non-IKEA devices as part of wider Matter setup.</p><p>As <a href="https://www.notebookcheck.net/IKEA-releases-new-smart-lighting-driver-for-wireless-control.1393256.0.html" target="_blank">Notebookcheck</a> reports, news of the Dubbelkisel <a href="https://www.notebookcheck.net/New-IKEA-Dubbelkisel-smart-lighting-driver-on-the-way.1225334.0.html" target="_blank">leaked earlier this year</a>, when the driver appeared in a database of Thread devices, but this is the first time we've seen it on sale.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:750px;"><p class="vanilla-image-block" style="padding-top:56.27%;"><img id="5KqPFBwBwYzK9mBxrY7qDj" name="tradfri" alt="IKEA Tradfri driver with person's hand holding remote control" src="https://cdn.mos.cms.futurecdn.net/5KqPFBwBwYzK9mBxrY7qDj-1920-80.jpg" mos="" align="middle" fullscreen="" width="750" height="422" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">The new device replaces the IKEA Trådfri, which let you operate integrated lights wirelessly via a small remote control </span><span class="credit" itemprop="copyrightHolder">(Image credit: IKEA)</span></figcaption></figure><p>Some users on Reddit managed to get their hands on the device early, and report that it generally performs well, though the older Trådfri has some advantages.</p><p>"No problems so far," wrote one poster on <a href="https://www.reddit.com/r/tradfri/comments/1w3nidz/dubbelkisel_driver/" target="_blank">r/tradfri</a>. "It’s paired via a gateway, so there’s a noticeable delay when turning on the light. The previous Trådfri power supply was connected directly to the remote and worked instantly. Also I preferred the old, small Trådfri remote over the current Bilresa model."</p><p>The new driver is currently available in a selection of European countries, and is expected to roll out more widely within the coming weeks. It's priced at €18, which is approximately $20 / £15 / AU$30.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/home/smart-lights/ikea-just-launched-a-matter-enabled-driver-that-makes-your-integrated-cabinet-lights-part-of-your-smart-home</link>
                                                                            <description>
                            <![CDATA[ The Dubbelkisel lighting driver connects IKEA's integrated lights to the Dirigera smart home hub, and is Matter-enabled to give you even more options. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">vVCW3NeSaFdftVGS2JaoX3</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/nDEwjGYsNcCja3oH3Mb7Pa-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Tue, 08 Sep 2026 21:00:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Smart Lights]]></category>
                                                    <category><![CDATA[Home]]></category>
                                                    <category><![CDATA[Smart Home]]></category>
                                                                                                <author><![CDATA[ catherine.ellis@futurenet.com (Cat Ellis) ]]></author>                    <dc:creator><![CDATA[ Cat Ellis ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/gxZz6rCoNR6sXhqL34MvML-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Cat is TechRadar&#039;s Homes Editor, covering smart home tech, kitchen appliances, vacuums, haircare and more. She&#039;s been a tech journalist for 15 years, having worked on print magazines including PC Plus and PC Format, and is a&lt;a href=&quot;https://sca.coffee/&quot;&gt; &lt;u&gt;Speciality Coffee Association&lt;/u&gt;&lt;/a&gt; (SCA) certified barista. Whether you want to invest in some smart lights, find your ideal hair styler, or pick the espresso machine of your dreams, she&#039;s the right person to help.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/nDEwjGYsNcCja3oH3Mb7Pa-1920-80.jpg">
                                                            <media:credit><![CDATA[IKEA]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Split image of IKEA Dubbelkisel driver on pink background, and IKEA spotlights in wardrobe full of clothes]]></media:description>                                                            <media:text><![CDATA[Split image of IKEA Dubbelkisel driver on pink background, and IKEA spotlights in wardrobe full of clothes]]></media:text>
                                <media:title type="plain"><![CDATA[Split image of IKEA Dubbelkisel driver on pink background, and IKEA spotlights in wardrobe full of clothes]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/nDEwjGYsNcCja3oH3Mb7Pa-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <ul><li><strong>IKEA has launched a new wireless driver for its integrated LED lights</strong></li><li><strong>Called Dubbelkisel, it connects your lights to IKEA's Bilresa hub</strong></li><li><strong>It's Matter-enabled so you can integrate it into a wider smart home setup</strong></li></ul><p>If you have IKEA integrated lights in your cabinets or wardrobe, there's good news — the company has just launched a new driver that lets you control them wirelessly, with Matter compatibility, so you can integrate them into the rest of your smart home.</p><p>The new driver, called <a href="https://www.ikea.com/nl/en/p/dubbelkisel-driver-for-wireless-control-smart-white-50609444/" target="_blank">Dubbelkisel</a>, is a successor to the <a href="https://www.ikea.com/us/en/p/tradfri-driver-for-wireless-control-smart-gray-10356189/" target="_blank">Trådfri</a> driver, which allowed you to control your integrated lights via a small remote control using the Zigbee protocol. The new driver is different; instead of linking directly to a remote, it connects to IKEA's Dirigera hub, which means you can operate your cabinet lights with any of <a href="https://www.techradar.com/home/smart-home/3-reasons-why-you-shouldnt-sleep-on-these-usd6-gbp3-smart-switches-theyre-the-understated-hit-of-ikeas-new-gadget-range">IKEA's smart switches</a> — or even non-IKEA devices as part of wider Matter setup.</p><p>As <a href="https://www.notebookcheck.net/IKEA-releases-new-smart-lighting-driver-for-wireless-control.1393256.0.html" target="_blank">Notebookcheck</a> reports, news of the Dubbelkisel <a href="https://www.notebookcheck.net/New-IKEA-Dubbelkisel-smart-lighting-driver-on-the-way.1225334.0.html" target="_blank">leaked earlier this year</a>, when the driver appeared in a database of Thread devices, but this is the first time we've seen it on sale.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:750px;"><p class="vanilla-image-block" style="padding-top:56.27%;"><img id="5KqPFBwBwYzK9mBxrY7qDj" name="tradfri" alt="IKEA Tradfri driver with person's hand holding remote control" src="https://cdn.mos.cms.futurecdn.net/5KqPFBwBwYzK9mBxrY7qDj-1920-80.jpg" mos="" align="middle" fullscreen="" width="750" height="422" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">The new device replaces the IKEA Trådfri, which let you operate integrated lights wirelessly via a small remote control </span><span class="credit" itemprop="copyrightHolder">(Image credit: IKEA)</span></figcaption></figure><p>Some users on Reddit managed to get their hands on the device early, and report that it generally performs well, though the older Trådfri has some advantages.</p><p>"No problems so far," wrote one poster on <a href="https://www.reddit.com/r/tradfri/comments/1w3nidz/dubbelkisel_driver/" target="_blank">r/tradfri</a>. "It’s paired via a gateway, so there’s a noticeable delay when turning on the light. The previous Trådfri power supply was connected directly to the remote and worked instantly. Also I preferred the old, small Trådfri remote over the current Bilresa model."</p><p>The new driver is currently available in a selection of European countries, and is expected to roll out more widely within the coming weeks. It's priced at €18, which is approximately $20 / £15 / AU$30.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ UGreen’s new AI-led NAS tech could be a total game changer for your home ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Can AI-driven NAS tech be sentimental? UGreen CEO Samuel Zhang seems to think so.</p><p>Launching the company’s new smart-home technology suite, he started by recounting a personal story. It was a hot summer’s day, and his family gathered in the backyard for a barbecue. They cooked together, chatted, played, and just had a genuinely fantastic time. But weeks later, when Zhang went to check his photo gallery and relive that cherished day, he was left feeling disappointed. The family hadn't taken any photos. </p><p>This, he said, got him thinking about home cameras — devices that are typically used for security. But, Zhang said, “it [a home camera] should see more than just danger — it should also be able to witness the joys of everyday family life”. And this, he said, was one of the key points of inspiration for UGreen’s new suite of local smart-home AI technology.</p><p>I got the chance to hear about, and see, UGreen’s home hubs, cameras, digital photo frames and more at IFA 2026 in Berlin. Here’s what I learned — and how the technology could transform the smart home.</p><h2 id="keeping-it-local">Keeping it local</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="JFHhxuJ2cVER9UVUaPcC7c" name="UGreen-HomeAgent" alt="Woman sitting in chair beside with UGreen HomeAgent" src="https://cdn.mos.cms.futurecdn.net/JFHhxuJ2cVER9UVUaPcC7c-1920-80.png" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: UGreen)</span></figcaption></figure><p>At the heart of UGreen’s smart-home suite is the new HomeAgent. This is an ‘agentic AI local hub' that brings local storage, computing, and control all together in a single device. Through this hub, users can connect up a range of UGreen AIoT devices, such as cameras, smart speakers, and digital photo frames, plus some select third-party products.</p><p>A crucial part of the HomeAgent’s appeal is its reliance on local storage and computing. This means that any data that runs through your hub — be that photos, videos, voice inputs, or other files — is processed locally, rather than through a corporate cloud server. </p><p>At a time when trust in large corporations is strikingly low, and major data breaches seem all too common, this could be a massive selling point for security-savvy customers. Keeping data local also removes the need for costly Cloud subscriptions, making the initial investment feel that bit more worthwhile.</p><p>There are three HomeAgent models scheduled for release. The first is the UGreen HomeAgent HA100, which is the most basic option. It provides all of the core functions you’d need from the hub, but offers slightly less processing power, memory, and storage, among other things, than its siblings. The HA100 Pro is the step-up model, which offers heightened performance, with 205 TOPS (as opposed to the standard HA100’s 26 TOPS), a 10GbE LAN port (compared to the HA100’s 2.5GbE), and a more advanced CPU.</p><p>The final boss, if you will, of the HomeAgent trio is the MA100. This is powered by the NVIDIA Jetson Thor T5000, and offers far superior AI performance to the other two models, and considerably more memory and storage. </p><p>However, this is certainly reflected in the price, with the MA100 commanding a list price of $19,999, compared to the HA100 Pro, which costs $5,999 and the HA100 at $1,799. Early bird offers are available, which make the HomeAgents about half-price across the board. Shipping is set to commence in early 2027.</p><h2 id="aiot-in-action">AIoT in action</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="rFcjJt5EKtBcrX8gZcf8sb" name="UGreen-HomeAgent" alt="Family around TV with UGreen HomeAgent" src="https://cdn.mos.cms.futurecdn.net/rFcjJt5EKtBcrX8gZcf8sb-1920-80.png" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: UGreen)</span></figcaption></figure><p>So what does UGreen’s smart home AIoT tech look like in person? Well, pretty impressive. </p><p>I was able to check out a demo, and take a closer look at all of the HomeAgent products, and other devices you can connect up to it. UGreen had a HomeAgent connected to a smart speaker, and a camera, among other things.</p><p>I tried walking towards a door, and a UGreen smart security camera started blaring after I walked past a certain point, telling me that I was on private property. This data is processed locally through the HomeAgent, so if you ask your connected smart speaker about any unusual activity, it can tell you if anyone approached your door, whether that was a delivery worker, or something more nefarious. </p><p>The smart speaker UGreen showed off has a new AI assistant, named Uliya. You can use the smart speaker to do just about anything around your home. You can ask Uliya to remind you of where you were at a specific time, to close the curtains, to play music, or even to identify the location of your pet and cast a live video feed. The functionality you get will vary depending on how invested you are in UGreen’s AIoT ecosystem, but the capabilities are pretty broad.</p><p>You can also ask Uliya to give you a summary of captured events throughout the day, display memories on a UGreen smart photo frame in real time, or to show you highlights from a special day — circling back to Zhang’s desire to revive memories that had been lost in time. One function I really liked was the ability to create an Away mode, so that when you step out of the house, lights will turn off, curtains will close, and a robovac will get to work.</p><p>UGreen’s new HomeAgents appear to be incredibly capable, feature-rich, and innovative products, and their local handling of data could be game changing for some households. At the product launch, Zhang said “In the future, we hope every family can have a HomeAgent”; and it'll be interesting to see how families adopt such tech moving forward.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/pro/ugreen-homeagent-preview</link>
                                                                            <description>
                            <![CDATA[ I saw UGreen’s new AI-led NAS tech in action, and it could be a total game changer for your home. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">kJtoymJddXkPEHazzkGiQQ</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/DhrRjyPnjED6Qi4TSi3Fya-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Mon, 07 Sep 2026 16:15:17 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Pro]]></category>
                                                    <category><![CDATA[Smart Home Hubs]]></category>
                                                    <category><![CDATA[Home]]></category>
                                                    <category><![CDATA[Smart Home]]></category>
                                                                                                <author><![CDATA[ harry.padoan@futurenet.com (Harry Padoan) ]]></author>                    <dc:creator><![CDATA[ Harry Padoan ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/995EkuqRKUTUjvMk7ataFi-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Harry is a Senior Reviews Writer for TechRadar. He reviews everything from party speakers to wall chargers and has a particular interest in the worlds of audio and gaming.&lt;/p&gt;&lt;p&gt;Prior to joining TechRadar, Harry was a journalist covering stories from the telecoms industry, drilling into areas such as innovation, acquisitions, and sustainability.&lt;/p&gt;&lt;p&gt;When he isn’t testing the newest tech, Harry can probably be found listening to deep house, playing JRPGs, or watching his beloved Tottenham Hotspur.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/DhrRjyPnjED6Qi4TSi3Fya-1920-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[UGreen HomeAgent on display at IFA 2026]]></media:description>                                                            <media:text><![CDATA[UGreen HomeAgent on display at IFA 2026]]></media:text>
                                <media:title type="plain"><![CDATA[UGreen HomeAgent on display at IFA 2026]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/DhrRjyPnjED6Qi4TSi3Fya-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Can AI-driven NAS tech be sentimental? UGreen CEO Samuel Zhang seems to think so.</p><p>Launching the company’s new smart-home technology suite, he started by recounting a personal story. It was a hot summer’s day, and his family gathered in the backyard for a barbecue. They cooked together, chatted, played, and just had a genuinely fantastic time. But weeks later, when Zhang went to check his photo gallery and relive that cherished day, he was left feeling disappointed. The family hadn't taken any photos. </p><p>This, he said, got him thinking about home cameras — devices that are typically used for security. But, Zhang said, “it [a home camera] should see more than just danger — it should also be able to witness the joys of everyday family life”. And this, he said, was one of the key points of inspiration for UGreen’s new suite of local smart-home AI technology.</p><p>I got the chance to hear about, and see, UGreen’s home hubs, cameras, digital photo frames and more at IFA 2026 in Berlin. Here’s what I learned — and how the technology could transform the smart home.</p><h2 id="keeping-it-local">Keeping it local</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="JFHhxuJ2cVER9UVUaPcC7c" name="UGreen-HomeAgent" alt="Woman sitting in chair beside with UGreen HomeAgent" src="https://cdn.mos.cms.futurecdn.net/JFHhxuJ2cVER9UVUaPcC7c-1920-80.png" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: UGreen)</span></figcaption></figure><p>At the heart of UGreen’s smart-home suite is the new HomeAgent. This is an ‘agentic AI local hub' that brings local storage, computing, and control all together in a single device. Through this hub, users can connect up a range of UGreen AIoT devices, such as cameras, smart speakers, and digital photo frames, plus some select third-party products.</p><p>A crucial part of the HomeAgent’s appeal is its reliance on local storage and computing. This means that any data that runs through your hub — be that photos, videos, voice inputs, or other files — is processed locally, rather than through a corporate cloud server. </p><p>At a time when trust in large corporations is strikingly low, and major data breaches seem all too common, this could be a massive selling point for security-savvy customers. Keeping data local also removes the need for costly Cloud subscriptions, making the initial investment feel that bit more worthwhile.</p><p>There are three HomeAgent models scheduled for release. The first is the UGreen HomeAgent HA100, which is the most basic option. It provides all of the core functions you’d need from the hub, but offers slightly less processing power, memory, and storage, among other things, than its siblings. The HA100 Pro is the step-up model, which offers heightened performance, with 205 TOPS (as opposed to the standard HA100’s 26 TOPS), a 10GbE LAN port (compared to the HA100’s 2.5GbE), and a more advanced CPU.</p><p>The final boss, if you will, of the HomeAgent trio is the MA100. This is powered by the NVIDIA Jetson Thor T5000, and offers far superior AI performance to the other two models, and considerably more memory and storage. </p><p>However, this is certainly reflected in the price, with the MA100 commanding a list price of $19,999, compared to the HA100 Pro, which costs $5,999 and the HA100 at $1,799. Early bird offers are available, which make the HomeAgents about half-price across the board. Shipping is set to commence in early 2027.</p><h2 id="aiot-in-action">AIoT in action</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="rFcjJt5EKtBcrX8gZcf8sb" name="UGreen-HomeAgent" alt="Family around TV with UGreen HomeAgent" src="https://cdn.mos.cms.futurecdn.net/rFcjJt5EKtBcrX8gZcf8sb-1920-80.png" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: UGreen)</span></figcaption></figure><p>So what does UGreen’s smart home AIoT tech look like in person? Well, pretty impressive. </p><p>I was able to check out a demo, and take a closer look at all of the HomeAgent products, and other devices you can connect up to it. UGreen had a HomeAgent connected to a smart speaker, and a camera, among other things.</p><p>I tried walking towards a door, and a UGreen smart security camera started blaring after I walked past a certain point, telling me that I was on private property. This data is processed locally through the HomeAgent, so if you ask your connected smart speaker about any unusual activity, it can tell you if anyone approached your door, whether that was a delivery worker, or something more nefarious. </p><p>The smart speaker UGreen showed off has a new AI assistant, named Uliya. You can use the smart speaker to do just about anything around your home. You can ask Uliya to remind you of where you were at a specific time, to close the curtains, to play music, or even to identify the location of your pet and cast a live video feed. The functionality you get will vary depending on how invested you are in UGreen’s AIoT ecosystem, but the capabilities are pretty broad.</p><p>You can also ask Uliya to give you a summary of captured events throughout the day, display memories on a UGreen smart photo frame in real time, or to show you highlights from a special day — circling back to Zhang’s desire to revive memories that had been lost in time. One function I really liked was the ability to create an Away mode, so that when you step out of the house, lights will turn off, curtains will close, and a robovac will get to work.</p><p>UGreen’s new HomeAgents appear to be incredibly capable, feature-rich, and innovative products, and their local handling of data could be game changing for some households. At the product launch, Zhang said “In the future, we hope every family can have a HomeAgent”; and it'll be interesting to see how families adopt such tech moving forward.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Philips Hue executive Marco Merolla on the fusion of functionality and design in smart lighting ]]></title>
                                                                                                <dc:content><![CDATA[ <p>It's been a busy week for the team at Philips Hue. At its annual showcase event in Berlin, the company unveiled not just a new series of smart lights (including some particularly stylish additions to its Liane series), but also a whole new approach to AI, which it's using to take the complexity out of creating bespoke automated lighting setups specifically for your home. No more tinkering with toggles and timers — just tell the app what you want your lights to do and when, and the software will handle the rest.</p><p>This isn't Philips Hue's first foray into AI. In 2025, <a href="https://www.techradar.com/home/smart-lights/philips-hues-ai-assistant-is-finally-here-and-if-you-have-an-iphone-you-can-try-it-now">the brand introduced an AI assistant</a> that allowed users to describe a lighting scene and would then either find a match in the library of presets or create a new scene from scratch if nothing suitable existed.</p><p>Earlier this year, <a href="https://www.techradar.com/home/smart-lights/the-philips-hue-app-can-now-customize-lighting-scenes-so-they-suit-the-layout-of-your-rooms">it also launched SpatialAware</a> for the <a href="https://www.techradar.com/home/smart-lights/the-philips-hue-bridge-pro-is-finally-on-sale-but-theres-something-you-should-know-before-you-buy-one">Philips Hue Bridge Pro</a>, which applies lighting scenes differently depending on the position of smart bulbs, light strips, and lamps in a room, with AI trained using expertise from professional lighting designers.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="tydCtUTyVEwvDx4JVcgJMQ" name="SH010_Mountain-Breeze_Still_SpatialAware" alt="Room illuminated using Philips Hue smart lights" src="https://cdn.mos.cms.futurecdn.net/tydCtUTyVEwvDx4JVcgJMQ-1920-80.png" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">SpatialAware uses AI trained by lighting designers, and applies scenes based on the location of lights in a room </span><span class="credit" itemprop="copyrightHolder">(Image credit: Signify)</span></figcaption></figure><p>After this week's showcase, I spoke to Marco Merolla, Executive Vice President and Business Leader of Consumer Connected Lighting at Philips Hue's parent brand Signify, to find out his thoughts on the future of smart lighting and AI. I started by asking him about SpatialAware, and whether users had welcomed the new feature in their homes.</p><p>"It’s something that brings smart lighting to the next level, but also intuitiveness in getting to the result that you want as a user — to the desired ambience," Merolla said. "The reception of the base was very good in terms of adoption. This is an exclusive currently with the Bridge Pro, but the reception of the Bridge Pro was extremely good in terms of adoption, and that’s not surprising, because, as we said, ambience creation is key in smart lighting."</p><div  class="fancy-box"><div class="fancy_box-title">Did you know TechRadar now has membership?</div><div class="fancy_box_body"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' ><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="MZftMKPquR3jRGaoR9TwcB" name="TechRadar-Insider-banner" caption="" alt="Various tech product cutouts next to the words 'Insider TechRadar Learn More'" src="https://cdn.mos.cms.futurecdn.net/MZftMKPquR3jRGaoR9TwcB-1920-80.jpg" mos="" link="" align="" fullscreen="" width="" height="" attribution="" endorsement="" class="pinterest-pin-exclude"></p></div></div><figcaption itemprop="caption description" class=""><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p class="fancy-box__body-text">Become a TechRadar Insider by simply clicking 'Join Now' at the top of this page. Have a question? Please email <a data-analytics-id="inline-link" href="https://futureplc.slgnt.eu/optiext/optiextension.dll?ID=XWc%2BNZbmPVY1QXCHegXUW5hAZTqddroX0h4zBFHHIu3aOyPDcGIlPjK%2BJMv55n1J8bfl5bA494yjEg3_i0iSaOXD%2BXycXT" target="_blank">membership@techradar.com</a></p></div></div><p>SpatialAware has been a success, but Merolla says the brand has now turned its focus to the custom AI automations demonstrated in Berlin.</p><p>"Really, in our perspective, [that is] the next step, because there is a lot that you could do, or may do today that is a bit limited by the system itself," he said. "By analyzing and assessing the user behavior and the consumer behavior, we create a lot of different layers with which they can create behaviors and automation."</p><p>That analysis doesn't mean monitoring the behavior of individual users, or automatically creating anything for you based on that behavior. Instead, Signify uses anonymised, aggregated usage insights and broader consumer research to understand patterns and usage, which help inform the behaviors and automation built into the system.</p><p>"Clearly there is a limit right now, but with the power of large language models, that is not there anymore, so we can give them the chance and [get them] into concepts that were completely unprecedented before — and that’s part of the things that we launched yesterday," said Merolla. "We’re super excited because the consumer experience will change dramatically in the way you can enjoy the system and create beautiful things."</p><h2 id="not-ai-for-the-sake-of-it">Not AI for the sake of it</h2><p>The Philips Hue showcase was packed with news and launches, so I asked Merolla which ones he was most excited about.</p><p>"I was super excited by three of them," he said. "Custom AI behavior is a great step because it’s not AI for the sake of it — it’s really AI at the service of the consumer experience. Not in the sense of wanting to enter into people’s lives or be intrusive, but in the sense of giving them a chance to unlock possibilities in a very intuitive way. Custom AI from this perspective is an amazing, lovely direction.</p><p>"The second key one that’s quite close to my heart is the entertainment area," he said. "You know that over the years we have worked a lot on making the lighting experience better and better, stronger and stronger. Here, the effort we made was really to make it more accessible."</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:800px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="AhHmZUWRemw5FvZT2Nfvjm" name="Philips Hue Play Screen Sync 2" alt="Philips Hue Play Screen Sync attached to TV" src="https://cdn.mos.cms.futurecdn.net/AhHmZUWRemw5FvZT2Nfvjm-1920-80.jpg" mos="" align="middle" fullscreen="" width="800" height="450" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">The Philips Hue Play Screen Sync allows users to synchronize lights with their TV, even if they don't have an HDMI setup </span><span class="credit" itemprop="copyrightHolder">(Image credit: Signify)</span></figcaption></figure><p>Merolla explained that accessibility isn't just about price, although that is something Philips Hue has addressed with the Sync Box 4K <strong>—</strong> a more affordable alternative to the Philips Hue Play Sync Box 8K that launched in September 2024. Accessibility, he said, is also about compatibility, which is why Philips Hue has launched Screen Sync — an alternative to the Sync Box that uses a camera rather than HDMI input, so you can synchronize your Hue lights with your TV screen regardless of the source.</p><p>"In the area of accessibility, there is also the Bridgeless idea," he added, referring to the ability to use the Sync Box 8K, 4K and Screen Sync without buying an additional Philips Hue Bridge Zigbee hub. "You can have just one strip light in a Bridgeless configuration. And this is again because we believe that everyone should watch TV or watch video with at least one light connected to amplify the experience, and we don’t want to limit the user who, in that specific moment, only wants that kind of benefit [without] having to necessarily join the full ecosystem."</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/8ZCueBCUWom62LkG89DFtm-1920-80.jpg" alt="Philips Hue Signe pole smart light" /><figcaption>The new Philips Hue Signe pole light is one of Merolla's favorite new launches<small role="credit">Signify</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/pDDw4MSDkMd2qEMb6TTPWm-1920-80.jpg" alt="Philips Hue Liane 360-degree rope smart light" /><figcaption>The Liane 360-degree rope light is another favorite<small role="credit">Signify</small></figcaption></figure></figure><p>The final items on Merolla's list of exciting launches are the new Liane 360-degree rope and Signe pole lights.</p><p>"These are beautiful design objects — really beautiful design objects," he said. "We did not invent the archetype in the design world — that archetype is something that already exists, but of course we can create the mix between a beautiful design object and an amazing light structure. These two things very often don’t go together. Sometimes products that have a super cool design light effect, like gradient scenes and so on, are not necessarily associated with the most beautiful design from an object perspective.</p><p>"And as a direction for the brand in the future, I firmly believe that we need to put this world together — that the design of the external object and the light effect, the things that you can do with that, really need to merge. And I think Liane and the new Signe product are a strong step in this direction."</p><p>It will definitely be interesting to see how those two aspects join together in the future, and whether AI functionality begins to affect the design of Philips Hue lights, now that LLMs can remove the barrier to complex automations. I'm definitely looking forward to next year's showcase.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/home/smart-lights/philips-hue-marco-merolla-interview-2026</link>
                                                                            <description>
                            <![CDATA[ Accessibility isn't just about price — it's about compatibility, and opening up new options to users. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">Sr3CbQHHKigqCgKNnqCuYe</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/JyMqRSWC9EKECK7fYn9JCm-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Mon, 07 Sep 2026 10:35:31 +0000</pubDate>                                                                                                                                <updated>Tue, 08 Sep 2026 14:48:30 +0000</updated>
                                                                                                                                            <category><![CDATA[Smart Lights]]></category>
                                                    <category><![CDATA[Home]]></category>
                                                    <category><![CDATA[Smart Home]]></category>
                                                                                                <author><![CDATA[ catherine.ellis@futurenet.com (Cat Ellis) ]]></author>                    <dc:creator><![CDATA[ Cat Ellis ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/gxZz6rCoNR6sXhqL34MvML-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Cat is TechRadar&#039;s Homes Editor, covering smart home tech, kitchen appliances, vacuums, haircare and more. She&#039;s been a tech journalist for 15 years, having worked on print magazines including PC Plus and PC Format, and is a&lt;a href=&quot;https://sca.coffee/&quot;&gt; &lt;u&gt;Speciality Coffee Association&lt;/u&gt;&lt;/a&gt; (SCA) certified barista. Whether you want to invest in some smart lights, find your ideal hair styler, or pick the espresso machine of your dreams, she&#039;s the right person to help.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/JyMqRSWC9EKECK7fYn9JCm-1920-80.jpg">
                                                            <media:credit><![CDATA[Signify]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Philips Hue smart light]]></media:description>                                                            <media:text><![CDATA[Philips Hue smart light]]></media:text>
                                <media:title type="plain"><![CDATA[Philips Hue smart light]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/JyMqRSWC9EKECK7fYn9JCm-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>It's been a busy week for the team at Philips Hue. At its annual showcase event in Berlin, the company unveiled not just a new series of smart lights (including some particularly stylish additions to its Liane series), but also a whole new approach to AI, which it's using to take the complexity out of creating bespoke automated lighting setups specifically for your home. No more tinkering with toggles and timers — just tell the app what you want your lights to do and when, and the software will handle the rest.</p><p>This isn't Philips Hue's first foray into AI. In 2025, <a href="https://www.techradar.com/home/smart-lights/philips-hues-ai-assistant-is-finally-here-and-if-you-have-an-iphone-you-can-try-it-now">the brand introduced an AI assistant</a> that allowed users to describe a lighting scene and would then either find a match in the library of presets or create a new scene from scratch if nothing suitable existed.</p><p>Earlier this year, <a href="https://www.techradar.com/home/smart-lights/the-philips-hue-app-can-now-customize-lighting-scenes-so-they-suit-the-layout-of-your-rooms">it also launched SpatialAware</a> for the <a href="https://www.techradar.com/home/smart-lights/the-philips-hue-bridge-pro-is-finally-on-sale-but-theres-something-you-should-know-before-you-buy-one">Philips Hue Bridge Pro</a>, which applies lighting scenes differently depending on the position of smart bulbs, light strips, and lamps in a room, with AI trained using expertise from professional lighting designers.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="tydCtUTyVEwvDx4JVcgJMQ" name="SH010_Mountain-Breeze_Still_SpatialAware" alt="Room illuminated using Philips Hue smart lights" src="https://cdn.mos.cms.futurecdn.net/tydCtUTyVEwvDx4JVcgJMQ-1920-80.png" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">SpatialAware uses AI trained by lighting designers, and applies scenes based on the location of lights in a room </span><span class="credit" itemprop="copyrightHolder">(Image credit: Signify)</span></figcaption></figure><p>After this week's showcase, I spoke to Marco Merolla, Executive Vice President and Business Leader of Consumer Connected Lighting at Philips Hue's parent brand Signify, to find out his thoughts on the future of smart lighting and AI. I started by asking him about SpatialAware, and whether users had welcomed the new feature in their homes.</p><p>"It’s something that brings smart lighting to the next level, but also intuitiveness in getting to the result that you want as a user — to the desired ambience," Merolla said. "The reception of the base was very good in terms of adoption. This is an exclusive currently with the Bridge Pro, but the reception of the Bridge Pro was extremely good in terms of adoption, and that’s not surprising, because, as we said, ambience creation is key in smart lighting."</p><div  class="fancy-box"><div class="fancy_box-title">Did you know TechRadar now has membership?</div><div class="fancy_box_body"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' ><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="MZftMKPquR3jRGaoR9TwcB" name="TechRadar-Insider-banner" caption="" alt="Various tech product cutouts next to the words 'Insider TechRadar Learn More'" src="https://cdn.mos.cms.futurecdn.net/MZftMKPquR3jRGaoR9TwcB-1920-80.jpg" mos="" link="" align="" fullscreen="" width="" height="" attribution="" endorsement="" class="pinterest-pin-exclude"></p></div></div><figcaption itemprop="caption description" class=""><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p class="fancy-box__body-text">Become a TechRadar Insider by simply clicking 'Join Now' at the top of this page. Have a question? Please email <a data-analytics-id="inline-link" href="https://futureplc.slgnt.eu/optiext/optiextension.dll?ID=XWc%2BNZbmPVY1QXCHegXUW5hAZTqddroX0h4zBFHHIu3aOyPDcGIlPjK%2BJMv55n1J8bfl5bA494yjEg3_i0iSaOXD%2BXycXT" target="_blank">membership@techradar.com</a></p></div></div><p>SpatialAware has been a success, but Merolla says the brand has now turned its focus to the custom AI automations demonstrated in Berlin.</p><p>"Really, in our perspective, [that is] the next step, because there is a lot that you could do, or may do today that is a bit limited by the system itself," he said. "By analyzing and assessing the user behavior and the consumer behavior, we create a lot of different layers with which they can create behaviors and automation."</p><p>That analysis doesn't mean monitoring the behavior of individual users, or automatically creating anything for you based on that behavior. Instead, Signify uses anonymised, aggregated usage insights and broader consumer research to understand patterns and usage, which help inform the behaviors and automation built into the system.</p><p>"Clearly there is a limit right now, but with the power of large language models, that is not there anymore, so we can give them the chance and [get them] into concepts that were completely unprecedented before — and that’s part of the things that we launched yesterday," said Merolla. "We’re super excited because the consumer experience will change dramatically in the way you can enjoy the system and create beautiful things."</p><h2 id="not-ai-for-the-sake-of-it">Not AI for the sake of it</h2><p>The Philips Hue showcase was packed with news and launches, so I asked Merolla which ones he was most excited about.</p><p>"I was super excited by three of them," he said. "Custom AI behavior is a great step because it’s not AI for the sake of it — it’s really AI at the service of the consumer experience. Not in the sense of wanting to enter into people’s lives or be intrusive, but in the sense of giving them a chance to unlock possibilities in a very intuitive way. Custom AI from this perspective is an amazing, lovely direction.</p><p>"The second key one that’s quite close to my heart is the entertainment area," he said. "You know that over the years we have worked a lot on making the lighting experience better and better, stronger and stronger. Here, the effort we made was really to make it more accessible."</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:800px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="AhHmZUWRemw5FvZT2Nfvjm" name="Philips Hue Play Screen Sync 2" alt="Philips Hue Play Screen Sync attached to TV" src="https://cdn.mos.cms.futurecdn.net/AhHmZUWRemw5FvZT2Nfvjm-1920-80.jpg" mos="" align="middle" fullscreen="" width="800" height="450" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">The Philips Hue Play Screen Sync allows users to synchronize lights with their TV, even if they don't have an HDMI setup </span><span class="credit" itemprop="copyrightHolder">(Image credit: Signify)</span></figcaption></figure><p>Merolla explained that accessibility isn't just about price, although that is something Philips Hue has addressed with the Sync Box 4K <strong>—</strong> a more affordable alternative to the Philips Hue Play Sync Box 8K that launched in September 2024. Accessibility, he said, is also about compatibility, which is why Philips Hue has launched Screen Sync — an alternative to the Sync Box that uses a camera rather than HDMI input, so you can synchronize your Hue lights with your TV screen regardless of the source.</p><p>"In the area of accessibility, there is also the Bridgeless idea," he added, referring to the ability to use the Sync Box 8K, 4K and Screen Sync without buying an additional Philips Hue Bridge Zigbee hub. "You can have just one strip light in a Bridgeless configuration. And this is again because we believe that everyone should watch TV or watch video with at least one light connected to amplify the experience, and we don’t want to limit the user who, in that specific moment, only wants that kind of benefit [without] having to necessarily join the full ecosystem."</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/8ZCueBCUWom62LkG89DFtm-1920-80.jpg" alt="Philips Hue Signe pole smart light" /><figcaption>The new Philips Hue Signe pole light is one of Merolla's favorite new launches<small role="credit">Signify</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/pDDw4MSDkMd2qEMb6TTPWm-1920-80.jpg" alt="Philips Hue Liane 360-degree rope smart light" /><figcaption>The Liane 360-degree rope light is another favorite<small role="credit">Signify</small></figcaption></figure></figure><p>The final items on Merolla's list of exciting launches are the new Liane 360-degree rope and Signe pole lights.</p><p>"These are beautiful design objects — really beautiful design objects," he said. "We did not invent the archetype in the design world — that archetype is something that already exists, but of course we can create the mix between a beautiful design object and an amazing light structure. These two things very often don’t go together. Sometimes products that have a super cool design light effect, like gradient scenes and so on, are not necessarily associated with the most beautiful design from an object perspective.</p><p>"And as a direction for the brand in the future, I firmly believe that we need to put this world together — that the design of the external object and the light effect, the things that you can do with that, really need to merge. And I think Liane and the new Signe product are a strong step in this direction."</p><p>It will definitely be interesting to see how those two aspects join together in the future, and whether AI functionality begins to affect the design of Philips Hue lights, now that LLMs can remove the barrier to complex automations. I'm definitely looking forward to next year's showcase.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ This new robot lawn mower comes with its own infrared hedgehog-spotter — and a handy approach to edge-trimming ]]></title>
                                                                                                <dc:content><![CDATA[ <ul><li><strong>The Anthbot R7 Series includes an 'EdgeEase' string trimmer </strong></li><li><strong>Its mounted on an arm and comes with its own camera for safety</strong></li><li><strong>There's also infrared animal detection </strong></li></ul><p>Effective edge trimming has long been the bane of a lawnbot-maker's life. After all, what good is a robot mower if you then have to go in with a side-trimmer to clean up all the lawn edges afterwards? Anthbot's newest robo-mower — the R7 Series, on show at <a href="https://www.techradar.com/tag/ifa">IFA 2026</a> — has an innovative solution. </p><p>The brand has tacked a string trimmer onto the side of the lawnbot. Or, more accurately, onto a "robot arm", mounted to the side of the lawnbot. This arm is designed to adjust to follow winding lawn boundaries, ensuring  "zero-gap edge cutting without manual touch-ups". Anthbot dubs the system 'EdgeEase'.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="HRPbm8PhAPMQewohtoLTCE" name="20260904_111037 copy" alt="Anthbot R7 Series lawnbot" src="https://cdn.mos.cms.futurecdn.net/HRPbm8PhAPMQewohtoLTCE-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>I saw it being demoed — albeit on an AstroTurf lawn, without any actual cutting. The arm movement is smooth and functions well, tucking neatly away when not required. (It's a little less visually impressive than <a href="https://www.techradar.com/home/smart-home/i-just-saw-a-lawnbot-with-a-mechanical-arm-that-reaches-out-to-hand-trim-your-edges-and-it-was-mesmerizing">Segway Navimow's own mechanical side-trimming system</a>, but which system functions better remains to be seen.)</p><p>I've seen side-mounted blade trimmers before, but this string version feels like a slightly safer option to be protruding out into the open... at least when not in use. Of course, when spinning, those strings will be able to slice just as effectively as a blade. </p><p>On that point, I'm surprised Anthbot hasn't added any kind of protective casing. There is a camera specifically dedicated to keeping an eye on the trimming arm, but it's still putting a lot of trust in those obstacle-spotting skills. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="CRJvmXA7mr4TTfPsLbGPyD" name="20260904_111347 copy" alt="Anthbot R7 Series lawnbot" src="https://cdn.mos.cms.futurecdn.net/CRJvmXA7mr4TTfPsLbGPyD-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><h2 id="hedgehog-spotting">Hedgehog spotting</h2><p>The EdgeEase string trimmer is the headline addition, but I was also interested to see Anthbot has included an infrared sensor for animal detection. This is designed to pick up thermal signals from critters like hedgehogs that might be hidden in the grass, so the mower can avoid them.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Umee2hSvxmf6vvRsdvTD7E" name="20260904_110954 copy" alt="Anthbot R7 Series lawnbot" src="https://cdn.mos.cms.futurecdn.net/Umee2hSvxmf6vvRsdvTD7E-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>These are two standout features in what looks like an altogether extremely capable lawnbot. For the main mowing, it uses two floating cutting discs, designed to adjust to uneven ground for a clean finish. There's also all-wheel drive — precisely powered by four drive motors and two independent steering motors. That's designed to help with traction and maneuverability. </p><p>The navigation suite includes LiDAR, RTK, and three AI-backed cameras (including that trimmer cam) to provide "robust, all-scenario positioning" that won't drop out if, for example, the satellite signal is blocked. Anthbot emphasizes the R7 Series is "designed to handle the complexity of real gardens rather than idealized, flat lawns". </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="sPw53rjLYbPrc2o4Gihr8F" name="20260904_110959 copy" alt="Anthbot R7 Series lawnbot" src="https://cdn.mos.cms.futurecdn.net/sPw53rjLYbPrc2o4Gihr8F-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The ANTHBOT R7 Series comprises two lawnbots: the R730 and R720. The R730 is designed for lawns up to 3,000㎡ and has the string trimmer included as standard. The R720 has a smaller battery and is meant for yards up to 2,000㎡, and the string trimmer is an optional extra.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/home/smart-home/this-new-robot-lawn-mower-comes-with-its-own-infrared-hedgehog-spotter-and-a-handy-approach-to-edge-trimming</link>
                                                                            <description>
                            <![CDATA[ The Anthbot R7 will reach out and hand-trim the edges of your lawn. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">yBWraENd8g7KVuLBFrEWTi</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/q6ApnVZSuDZF6VBuTFdrNE-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sat, 05 Sep 2026 20:00:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Smart Home]]></category>
                                                    <category><![CDATA[Home]]></category>
                                                                                                <author><![CDATA[ ruth.hamilton@futurenet.com (Ruth Hamilton) ]]></author>                    <dc:creator><![CDATA[ Ruth Hamilton ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/eXBKKGGwbDvhLePY2FSnfU-320-70.jpeg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Ruth is TechRadar&#039;s Collections Editor, responsible for masterminding TechRadar&#039;s approach towards the new Collections format — a themed, curated selection of product recommendations designed to provide readers with an exciting new way to shop for the very best gadgets and gizmos. She has been reviewing and writing about products since 2020, covering everything from robot vacuums and hair stylers to outdoor kit and mattresses.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/q6ApnVZSuDZF6VBuTFdrNE-1920-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Anthbot R7 Series lawnbot]]></media:description>                                                            <media:text><![CDATA[Anthbot R7 Series lawnbot]]></media:text>
                                <media:title type="plain"><![CDATA[Anthbot R7 Series lawnbot]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/q6ApnVZSuDZF6VBuTFdrNE-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <ul><li><strong>The Anthbot R7 Series includes an 'EdgeEase' string trimmer </strong></li><li><strong>Its mounted on an arm and comes with its own camera for safety</strong></li><li><strong>There's also infrared animal detection </strong></li></ul><p>Effective edge trimming has long been the bane of a lawnbot-maker's life. After all, what good is a robot mower if you then have to go in with a side-trimmer to clean up all the lawn edges afterwards? Anthbot's newest robo-mower — the R7 Series, on show at <a href="https://www.techradar.com/tag/ifa">IFA 2026</a> — has an innovative solution. </p><p>The brand has tacked a string trimmer onto the side of the lawnbot. Or, more accurately, onto a "robot arm", mounted to the side of the lawnbot. This arm is designed to adjust to follow winding lawn boundaries, ensuring  "zero-gap edge cutting without manual touch-ups". Anthbot dubs the system 'EdgeEase'.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="HRPbm8PhAPMQewohtoLTCE" name="20260904_111037 copy" alt="Anthbot R7 Series lawnbot" src="https://cdn.mos.cms.futurecdn.net/HRPbm8PhAPMQewohtoLTCE-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>I saw it being demoed — albeit on an AstroTurf lawn, without any actual cutting. The arm movement is smooth and functions well, tucking neatly away when not required. (It's a little less visually impressive than <a href="https://www.techradar.com/home/smart-home/i-just-saw-a-lawnbot-with-a-mechanical-arm-that-reaches-out-to-hand-trim-your-edges-and-it-was-mesmerizing">Segway Navimow's own mechanical side-trimming system</a>, but which system functions better remains to be seen.)</p><p>I've seen side-mounted blade trimmers before, but this string version feels like a slightly safer option to be protruding out into the open... at least when not in use. Of course, when spinning, those strings will be able to slice just as effectively as a blade. </p><p>On that point, I'm surprised Anthbot hasn't added any kind of protective casing. There is a camera specifically dedicated to keeping an eye on the trimming arm, but it's still putting a lot of trust in those obstacle-spotting skills. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="CRJvmXA7mr4TTfPsLbGPyD" name="20260904_111347 copy" alt="Anthbot R7 Series lawnbot" src="https://cdn.mos.cms.futurecdn.net/CRJvmXA7mr4TTfPsLbGPyD-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><h2 id="hedgehog-spotting">Hedgehog spotting</h2><p>The EdgeEase string trimmer is the headline addition, but I was also interested to see Anthbot has included an infrared sensor for animal detection. This is designed to pick up thermal signals from critters like hedgehogs that might be hidden in the grass, so the mower can avoid them.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Umee2hSvxmf6vvRsdvTD7E" name="20260904_110954 copy" alt="Anthbot R7 Series lawnbot" src="https://cdn.mos.cms.futurecdn.net/Umee2hSvxmf6vvRsdvTD7E-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>These are two standout features in what looks like an altogether extremely capable lawnbot. For the main mowing, it uses two floating cutting discs, designed to adjust to uneven ground for a clean finish. There's also all-wheel drive — precisely powered by four drive motors and two independent steering motors. That's designed to help with traction and maneuverability. </p><p>The navigation suite includes LiDAR, RTK, and three AI-backed cameras (including that trimmer cam) to provide "robust, all-scenario positioning" that won't drop out if, for example, the satellite signal is blocked. Anthbot emphasizes the R7 Series is "designed to handle the complexity of real gardens rather than idealized, flat lawns". </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="sPw53rjLYbPrc2o4Gihr8F" name="20260904_110959 copy" alt="Anthbot R7 Series lawnbot" src="https://cdn.mos.cms.futurecdn.net/sPw53rjLYbPrc2o4Gihr8F-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The ANTHBOT R7 Series comprises two lawnbots: the R730 and R720. The R730 is designed for lawns up to 3,000㎡ and has the string trimmer included as standard. The R720 has a smaller battery and is meant for yards up to 2,000㎡, and the string trimmer is an optional extra.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ IFA 2026 'Best in Show' awards: our 25 favorite reveals at the Berlin tech expo ]]></title>
                                                                                                <dc:content><![CDATA[ <p>IFA, Berlin's huge annual tech expo, is where some of the biggest tech firms unveil their latest innovations — and this year is one of the strongest we've seen in a long time for interesting new releases. </p><p>IFA is a great place to find fascinating new gadgets and devices, ranging from next-gen AR glasses to self-driving personal mobility vehicles, and from weird new kitchen appliances to armies of humanoid robots.</p><p>We've chosen the top products from those that were nominated for our IFA 2026 'Best in Show' awards to produce this list of our 25 winners, based on how innovative they are, how well they serve their intended use, and the degree to which we think they'll influence their area of the tech market. </p><p>There were many more products that we really liked, of course, but we had to be ruthless — here are our top picks from IFA 2026.</p><h3 id="anker-soundcore-sleep-earbuds-4-pro">Anker Soundcore Sleep Earbuds 4 Pro</h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="9bHq2oJiFfTnAwD4SjYPUV" name="Anker soundcore Sleep Earbuds 4 Pro" alt="Anker soundcore Sleep Earbuds 4 Pro on a white background" src="https://cdn.mos.cms.futurecdn.net/9bHq2oJiFfTnAwD4SjYPUV-1920-80.png" mos="" align="middle" fullscreen="" width="2048" height="1152" attribution="" class="inline"><img id="Lh2E9fjBDjoiqJRM3G2aNZ" class="endorsement-img endorsement-top-left" style="max-width: 100px; max-height: 100px;" src="https://cdn.mos.cms.futurecdn.net/Lh2E9fjBDjoiqJRM3G2aNZ-1920-80.png" name="IFA 2026 Best in Show badge" alt="An awards badge that says 'Best in Show IFA 2026'"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Anker)</span></figcaption></figure><p>The best technology delivers real-world benefits, and what could be more beneficial than a good night's sleep? The Soundcore Sleep Earbuds 4 Pro use in-ear PPG optical sensors to monitor your heartrate, which is more accurate than other optical tracking methods thanks to the rich capillaries and stable position of your ear canal. That monitoring delivers data to the smart-screen, phone-free SleepHub charging case. </p>                    <div class= "tiktok-wrapper" style="min-height: 750px;"><blockquote class="tiktok-embed" cite="https://www.tiktok.com/@techradar/video/7681347402019687702" data-video-id="7681347402019687702" style="max-width: 605px; min-width: 325px;">                        <section>                            <a target="_blank" title="@techradar" href="https://www.tiktok.com/@techradar">@techradar</a>                            <p></p><a target="_blank" title="♬ original sound - TechRadar" href="https://www.tiktok.com/music/original-sound-7681347420529838870">♬ original sound - TechRadar</a></section>                    </blockquote></div>                <p>The Sleep Earbuds Pro feature passive isolation as well as 30dB active noise cancelling, and the case-based snore monitoring system detects and masks the sound of your partner snoring using its built-in sounds. Despite the addition of multiple new components the housing is thinner than previous generations, and even more comfortable for side sleepers.</p><p>Anker's BioSync dynamic audio system monitors relaxation in real time, dynamically adjusting the audio content and structure to help you find the most effective sleep sounds. Sleep earbuds are something that can truly improve your health and happiness by improving your sleep, and these look like a really smart upgrade.</p><h3 id="agibot-a3">Agibot A3</h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="9aoHZW9mn3eTuLQYpomGuU" name="Agibot A3" alt="Agibot A3 humanoid robot" src="https://cdn.mos.cms.futurecdn.net/9aoHZW9mn3eTuLQYpomGuU-1920-80.png" mos="" align="middle" fullscreen="" width="2048" height="1152" attribution="" class="inline"><img id="Lh2E9fjBDjoiqJRM3G2aNZ" class="endorsement-img endorsement-top-left" style="max-width: 100px; max-height: 100px;" src="https://cdn.mos.cms.futurecdn.net/Lh2E9fjBDjoiqJRM3G2aNZ-1920-80.png" name="IFA 2026 Best in Show badge" alt="An awards badge that says 'Best in Show IFA 2026'"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Agibot)</span></figcaption></figure><p>Agibot is doing some amazing things with humanoid robots, and the full-sized Agibot A3 combines multiple capabilities in a lightweight, extremely dynamic model: if you're assembling a robot dance troupe or planning a big exhibition, the A3's the bot to buy.</p><p>The A3 weighs just 55kg, has a power-to-weight ratio of 0.218kW/kg, and delivers up to 12kW of instant peak power, enabling it to somersault. Its battery runs for up to 10 hours and is hot-swappable in seconds, so it's great for applications where it needs to last all day. It'll happily fit in an SUV for travel, too.</p><p>In addition to voice and app control, the A3 delivers industry-first touch sensing that adds physical interaction to its controls. It also has a 360-degree multi-array mic system for accurate voice recognition, even in noisy environments. </p><p>One of the most exciting features of the A3 is its large-scale swarm co-ordination, which uses precise UWB positioning to enable performances by up to 100 individual robots. That makes it possible to create very complex, high-impact performances for big events, as well as enabling multiple units to work smartly in environments such as factories or warehouses. The awareness and the uptime make this a great new approach to robotics.</p><h3 id="hypershell-x-ultra-s">Hypershell X Ultra S</h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="BdJqR5owGLx596QQz9VVtV" name="hypershell x ultra s" alt="A person climbing a rocky mountain wearing the Hypershell X Ultra S" src="https://cdn.mos.cms.futurecdn.net/BdJqR5owGLx596QQz9VVtV-1920-80.png" mos="" align="middle" fullscreen="" width="2048" height="1152" attribution="" class="inline"><img id="Lh2E9fjBDjoiqJRM3G2aNZ" class="endorsement-img endorsement-top-right" style="max-width: 100px; max-height: 100px;" src="https://cdn.mos.cms.futurecdn.net/Lh2E9fjBDjoiqJRM3G2aNZ-1920-80.png" name="IFA 2026 Best in Show badge" alt="An awards badge that says 'Best in Show IFA 2026'"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Hypershell)</span></figcaption></figure><p>The Hypershell X Ultra S exoskeleton helped mountaineer Adriana Brownlee in -30C temperatures on Mount Everest, supported athlete Aurélien Fontenoy's 4,037km Route 66 journey while recovering from injury, and is currently being trialed by search and rescue organizations worldwide. </p><p>Before Hypershell, exoskeletons cost $100,000 and above; the same capabilities are now available to consumers for less than $2,000, in a device weighing under 2kg. </p><p>The X Ultra S is an end-to-end AI motion-control system that uses an AI model to transform raw sensor data directly into motor torque, enabling faster response, smoother adaptation, and more natural human-machine synchronization.</p><p>There are 12 active modes, including walking, cycling and running, and a new Gentle Assist mode for older adults and users with short or shuffling strides. Fitness Mode adds resistance, turning a walk into a workout.</p><p>But it's the price that won us over here — this could be a game changer for getting people with limited mobility out and doing more things that they love, from hiking to just visiting the local stores.</p><h3 id="jmgo-iris-ultra-max">JMGO IRIS Ultra Max</h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="R9VtqsbEZRhnDqiiYAfNzV" name="JMGO Iris Ultra Max" alt="JMGO Iris Ultra Max on a white background" src="https://cdn.mos.cms.futurecdn.net/R9VtqsbEZRhnDqiiYAfNzV-1920-80.png" mos="" align="middle" fullscreen="" width="2048" height="1152" attribution="" class="inline"><img id="Lh2E9fjBDjoiqJRM3G2aNZ" class="endorsement-img endorsement-top-left" style="max-width: 100px; max-height: 100px;" src="https://cdn.mos.cms.futurecdn.net/Lh2E9fjBDjoiqJRM3G2aNZ-1920-80.png" name="IFA 2026 Best in Show badge" alt="An awards badge that says 'Best in Show IFA 2026'"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: JMGO)</span></figcaption></figure><p>The IRIS Ultra Max is one of the world’s first true 4K 120Hz flagship smart projectors, delivering native 4K (rather than pixel-shifted) at 120Hz from input to output, all from its very compact case. </p><p>The Ultra Max's dual iris system has 6+9 blades, the highest count in its class, which promises to improve stray light suppression by 11.34% for a more accurate picture, while delivering class-leading contrast, with a quoted ration of 10,000:1. The MALC 6.0 Triple-Laser Engine delivers an impressive 6,500 ISO lumens of brightness, making it more visible in more lighting conditions, and with a promised ability to recreate 110% of the BT.2020 color space, with an astounding color accuracy of delta-E of 0.7, meaning it's truly capable of pro-level color range and accuracy.</p><p>The IRIS Ultra Max also introduces an industry-first 3-in-1 Optical System that integrates 0.88–1.7:1 Optical Zoom, Four-Way Lens Shift (V ±130%, H ±53%), and an AI-Powered Gimbal (360° H, 150° V) into a unified projection architecture. This makes it more more flexible than traditional projectors to positioning, because it has so many different options for correcting its picture. It gives small home theater setups top-tier performance without compromise.</p><h3 id="dji-osmo-pocket-4p">DJI Osmo Pocket 4P</h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="zUEQTntfTEtkWrvePu63yV" name="dji osmo pocket 4p" alt="A young woman holding a DJI Pocket Osmo 4P in front of the houses of parliament in London" src="https://cdn.mos.cms.futurecdn.net/zUEQTntfTEtkWrvePu63yV-1920-80.png" mos="" align="middle" fullscreen="" width="2048" height="1152" attribution="" class="inline"><img id="Lh2E9fjBDjoiqJRM3G2aNZ" class="endorsement-img endorsement-top-left" style="max-width: 100px; max-height: 100px;" src="https://cdn.mos.cms.futurecdn.net/Lh2E9fjBDjoiqJRM3G2aNZ-1920-80.png" name="IFA 2026 Best in Show badge" alt="An awards badge that says 'Best in Show IFA 2026'"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: DJI)</span></figcaption></figure><p>Designed for vloggers and movie-makers alike, the Osmo Pocket 4P is the world’s first dual-lens pocket gimbal camera. It delivers cinema-grade imaging in a pocket-friendly form, and features DJI's Academy Award-winning Ronin stabilization. </p><p>The main lens is a wide-angle 20mm equivalent with an f/2.0 aperture, and a new 1-inch CMOS sensor that offers 17 stops of dynamic range and over one billion colors via DJI's new 10-bit D-Log 2 color profile. </p><p>That's supplemented with a 60mm medium-tele portrait lens, which gives you 3x optical zoom and up to 12x digital zoom. Its f/1.8 aperture is particularly good for creating bokeh effects by compressing the background and pulling it closer to the subject.</p><p>The Osmo Pocket 4P also features the latest version of DJI's ActiveTrack, which uses AI algorithms to maintain tracking lock at up to 12x zoom. It can actively track up to eight people, framing groups and centering anyone new who steps into the field of view.</p><h3 id="rayneo-gt-max-ar-glasses">RayNeo GT Max AR Glasses</h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="EB8BUrrWJzDXKYTSVvm3VV" name="RayNeo GT Max AR glasses" alt="RayNeo GT Max AR glasses on a white background" src="https://cdn.mos.cms.futurecdn.net/EB8BUrrWJzDXKYTSVvm3VV-1920-80.png" mos="" align="middle" fullscreen="" width="2048" height="1152" attribution="" class="inline"><img id="Lh2E9fjBDjoiqJRM3G2aNZ" class="endorsement-img endorsement-top-right" style="max-width: 100px; max-height: 100px;" src="https://cdn.mos.cms.futurecdn.net/Lh2E9fjBDjoiqJRM3G2aNZ-1920-80.png" name="IFA 2026 Best in Show badge" alt="An awards badge that says 'Best in Show IFA 2026'"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: RayNeo)</span></figcaption></figure><p>The RayNeo GT Max AR Glasses are the world's first AR glasses to support Dolby Vision playback as part of creating a virtual cinema experience. They deliver up to 1,200 nits of perceived brightness, a 120Hz refresh rate, and real-time SDR to HDR conversion for super-clear images, too. Their optical system is 29% thinner and lighter than traditional designs, and  delivers an industry-leading 59-degree field of view.</p>                    <div class= "tiktok-wrapper" style="min-height: 750px;"><blockquote class="tiktok-embed" cite="https://www.tiktok.com/@techradar/video/7681723376372550934" data-video-id="7681723376372550934" style="max-width: 605px; min-width: 325px;">                        <section>                            <a target="_blank" title="@techradar" href="https://www.tiktok.com/@techradar">@techradar</a>                            <p></p><a target="_blank" title="♬ original sound - TechRadar" href="https://www.tiktok.com/music/original-sound-7681723395584068374">♬ original sound - TechRadar</a></section>                    </blockquote></div>                <p>One of our favorite features is the adjustable virtual screen sizes, with a choice of 227 inches, 267 inches or 307 inches. That's clever: the tighter size is ideal for spreadsheets and productivity apps if you're using them as a display for a phone or laptop, while the larger sizes deliver immersive gaming and video. </p><p>Steady, Pinned and Follow modes enable you to anchor the screen or have it move with you, and 3DoF spatial tracking maintains the screen position without straining your eyes, and keeps subtitles, taskbars and image edges within the viewing area as you move. These look like the most advanced way to take a screen with you everywhere, and they could be indispensable for long flights.</p><h3 id="tcl-p80-ultra">TCL P80 Ultra</h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="trU5qeuQKbmHbLWnqSZQoV" name="TCL P80 Ultra" alt="TCL P80 Ultra close up on a white background" src="https://cdn.mos.cms.futurecdn.net/trU5qeuQKbmHbLWnqSZQoV-1920-80.png" mos="" align="middle" fullscreen="" width="2048" height="1152" attribution="" class="inline"><img id="Lh2E9fjBDjoiqJRM3G2aNZ" class="endorsement-img endorsement-top-left" style="max-width: 100px; max-height: 100px;" src="https://cdn.mos.cms.futurecdn.net/Lh2E9fjBDjoiqJRM3G2aNZ-1920-80.png" name="IFA 2026 Best in Show badge" alt="An awards badge that says 'Best in Show IFA 2026'"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: TCL)</span></figcaption></figure><p>If you spend as much time on your phone as we do, you'll be blown away by the screen of the TCL P80 Ultra. It's the first phone to integrate NXTPAPER eye-comfort technology, with a 1.5K sharp AMOLED display for reflection-free reading even in bright sunlight, and a button that instantly turns your P80 Ultra into an e-reader with paper-like viewing.</p>                    <div class= "tiktok-wrapper" style="min-height: 750px;"><blockquote class="tiktok-embed" cite="https://www.tiktok.com/@techradar/video/7681759970861272342" data-video-id="7681759970861272342" style="max-width: 605px; min-width: 325px;">                        <section>                            <a target="_blank" title="@techradar" href="https://www.tiktok.com/@techradar">@techradar</a>                            <p></p><a target="_blank" title="♬ original sound - TechRadar" href="https://www.tiktok.com/music/original-sound-7681759988955613974">♬ original sound - TechRadar</a></section>                    </blockquote></div>                <p>The P80 Ultra has nano-etched anti-glare glass, eliminating surface reflections without reducing brightness. It also features circular polarized light technology, which changes the light output to more closely replicate the characteristics of natural light, and flicker-free dimming.</p><p>The camera's pretty special too. It's a 50MP 3x periscope telephoto lens with a 50MP 1/1.56-inch large-format sensor, capturing more light per pixel than smaller sensors and enabling 6x lossless zoom. Image stabilization eliminates motion blur in photos and video, and TCL's MuseFilm filters promise cinematic-quality images. But it's the groundbreaking display that really won us over — a lot of people will find it much kinder on the eyes.</p><h3 id="lenovo-thinkbook-14x-gen-2">Lenovo ThinkBook 14x Gen 2</h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="wEeS8rUjHKqZbtFDSVauoV" name="Lenovo ThinkBook 14x Gen2" alt="Lenovo ThinkBook 14x Gen2 on a black background" src="https://cdn.mos.cms.futurecdn.net/wEeS8rUjHKqZbtFDSVauoV-1920-80.png" mos="" align="middle" fullscreen="" width="2048" height="1152" attribution="" class="inline"><img id="Lh2E9fjBDjoiqJRM3G2aNZ" class="endorsement-img endorsement-top-left" style="max-width: 100px; max-height: 100px;" src="https://cdn.mos.cms.futurecdn.net/Lh2E9fjBDjoiqJRM3G2aNZ-1920-80.png" name="IFA 2026 Best in Show badge" alt="An awards badge that says 'Best in Show IFA 2026'"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Lenovo)</span></figcaption></figure><p>Lenovo's ultra-light laptop makes even ultraportables look positively porky: at just 2.18lbs / 990g and just 12.9mm thick it's one of the lightest and thinnest laptops around, making it ideal for business travelers and students alike — especially if you opt for the backlit keyboard, which is really helpful in dimly lit rooms and airplanes.</p><p>Lenovo has somehow managed to give the ThinkBook 14x the super-thin treatment without sacrificing connectivity, so in addition to its Wi-Fi 7 it features two 10Gbps USB-C ports, two 5Gbps USB-A ports and an HDMI 2.1 port, so there's no need to haul a hub around with you. It also has a spare M.2 slot that enables you to expand its storage, which makes this a solid long-term investment.</p><p>The ThinkBook 14x Gen 2 is also one of the most customizable ultraportables, powered by Intel Core 7 (Series 3) processors and with display options including vivid OLED and touchscreen LCD. It's good-looking too, with a choice of metallic finishes including Luna Gray, Celestial White, Mystic Violet and Veil Blue. </p><h3 id="earfun-wave-pro-x">EarFun Wave Pro X</h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="hkmwHBBMmm4chF7hH9iq6W" name="earfun wave pro x" alt="EarFun Wave Pro X in black and white on a white background" src="https://cdn.mos.cms.futurecdn.net/hkmwHBBMmm4chF7hH9iq6W-1920-80.png" mos="" align="middle" fullscreen="" width="2048" height="1152" attribution="" class="inline"><img id="Lh2E9fjBDjoiqJRM3G2aNZ" class="endorsement-img endorsement-top-right" style="max-width: 100px; max-height: 100px;" src="https://cdn.mos.cms.futurecdn.net/Lh2E9fjBDjoiqJRM3G2aNZ-1920-80.png" name="IFA 2026 Best in Show badge" alt="An awards badge that says 'Best in Show IFA 2026'"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: EarFun)</span></figcaption></figure><p>EarFun's headphones consistently deliver premium performance without the premium price tag, and the Wave Pro X are the brand's best yet. They feature a patented dual-driver system that places a 40mm diamond-like carbon driver and a 10mm liquid crystal polymer driver on a precisely aligned axis, creating a more natural and detailed sound than you typically get from multi-driver designs. </p><p>The Wave Pro X feature an 8-mic AI system that continuously optimizes the hybrid ANC system, even in wired AUX mode, and the Qualcomm QCC3095 chipset delivers Bluetooth 6.0, aptX Lossless, LDAC, USB Audio and Auracast. Add AI translation and up to 90 hours of battery life to the mix and you've got a truly excellent pair of headphones — EarFun has been working on these for a long time, and even delayed them in order to get the tuning just right.</p><h3 id="urevo-cyberpad-3">Urevo CyberPad 3</h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="eySibivnaa3pCYuYjjQirV" name="cyberpad 3" alt="The Cyberpad 3 treadmill on an orange rug" src="https://cdn.mos.cms.futurecdn.net/eySibivnaa3pCYuYjjQirV-1920-80.png" mos="" align="middle" fullscreen="" width="2048" height="1152" attribution="" class="inline"><img id="Lh2E9fjBDjoiqJRM3G2aNZ" class="endorsement-img endorsement-top-left" style="max-width: 100px; max-height: 100px;" src="https://cdn.mos.cms.futurecdn.net/Lh2E9fjBDjoiqJRM3G2aNZ-1920-80.png" name="IFA 2026 Best in Show badge" alt="An awards badge that says 'Best in Show IFA 2026'"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Urevo)</span></figcaption></figure><p>The CyberPad 3 is a home/office treadmill that's designed differently to traditional models. Its WalkFree Adaptive Speed Control uses pressure sensors built into the running board, which detect your stepping motion to automatically start and stop operation; when you're walking or running it takes data from the motor to calculate speed adjustments in real time.</p><p>Its multi-user support is smart too, capturing raw weight and stride-rate data to generate a structured user profile that's directly linked to the speed-control algorithm.</p><p>The support structure is made from Q235 steel with a side frame of die-cast aluminum, and it utilizes a redesigned transmission path to deliver an exceptionally compact construction: the ultra-slim body is under 11cm thick. Despite its small size it features a 15% incline-lift mechanism and a 42cm running belt, with its size based on analysis of human shoulder widths. </p><h3 id="plaud-one">Plaud One</h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="5UWWCMM8i7VsskL5NiuLoV" name="Plaud One" alt="Plaud One earbuds and unit on a white background" src="https://cdn.mos.cms.futurecdn.net/5UWWCMM8i7VsskL5NiuLoV-1920-80.png" mos="" align="middle" fullscreen="" width="2048" height="1152" attribution="" class="inline"><img id="Lh2E9fjBDjoiqJRM3G2aNZ" class="endorsement-img endorsement-top-left" style="max-width: 100px; max-height: 100px;" src="https://cdn.mos.cms.futurecdn.net/Lh2E9fjBDjoiqJRM3G2aNZ-1920-80.png" name="IFA 2026 Best in Show badge" alt="An awards badge that says 'Best in Show IFA 2026'"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Plaud)</span></figcaption></figure><p>Plaud One is a wearable AI companion that combines three key features that are usually separate: wearable conversation capture, context that builds across day-to-day conversations, and AI that can analyze data and take appropriate action. It can capture online meetings, and face-to-face discussions and phone calls, and it has built-in eSIM and 4G LTE for phone-free operation.</p><p>What makes Plaud One different is that it understands context. Instead of treating each recording as a standalone transcript, it can retain context across multiple discussions — so a conversation from one meeting can be connected to a later conversation or call. </p><p>That understanding enables the Plaud Agent to help you take action, identifying next steps and completing tasks across tools such as Gmail, Google Calendar, Notion, and Slack. </p><h3 id="minisforum-ms-s1-max-p495">Minisforum MS-S1 Max-P495</h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="GFRfsx48HSpx9ptRqrn3tW" name="Minisforum MS-S1 Max-P945" alt="Promotional photo of the Minisforum MS-S1 Max-P945" src="https://cdn.mos.cms.futurecdn.net/GFRfsx48HSpx9ptRqrn3tW-1920-80.png" mos="" align="middle" fullscreen="" width="2048" height="1152" attribution="" class="inline"><img id="Lh2E9fjBDjoiqJRM3G2aNZ" class="endorsement-img endorsement-top-right" style="max-width: 100px; max-height: 100px;" src="https://cdn.mos.cms.futurecdn.net/Lh2E9fjBDjoiqJRM3G2aNZ-1920-80.png" name="IFA 2026 Best in Show badge" alt="An awards badge that says 'Best in Show IFA 2026'"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Minisforum)</span></figcaption></figure><p>The MS-S1 Max-P495 delivers large-model AI computing from an exceptionally small footprint with a very high specification. It combines AMD Ryzen AI Max+ PRO 495 with up to 192GB of unified memory to run 128B+ LLMs locally, delivering up to 126 TOPS, and its unified memory architecture eliminates VRAM bottlenecks while also reducing latency. </p><p>That power is cooled by a high-performance thermal solution featuring a copper base, six heat pipes, dual fans and phase-change cooling, and it's encased in a fully scalable design, with a slide-out chassis for easy upgrading and a rack-ready form factor. </p><p>With 4x PCIe expansion, dual 10Gb Ethernet, dual 40Gbps USB4 v2, Wi-Fi 7, and a built-in 320W PSU, the MS-S1 Max-P495 delivers future-proof power for desktop systems and scalable AI clusters alike — it's a mind-blowing beast made to meet a new kind of research and development need.</p><h3 id="xppen-magic-pro-13">XPPen Magic Pro 13</h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="qytobFchd3fyy3n7CKSapV" name="XPPen Magic Pro 3" alt="XPPen Magic Pro 3 on a white background" src="https://cdn.mos.cms.futurecdn.net/qytobFchd3fyy3n7CKSapV-1920-80.png" mos="" align="middle" fullscreen="" width="2048" height="1152" attribution="" class="inline"><img id="Lh2E9fjBDjoiqJRM3G2aNZ" class="endorsement-img endorsement-bottom-left" style="max-width: 100px; max-height: 100px;" src="https://cdn.mos.cms.futurecdn.net/Lh2E9fjBDjoiqJRM3G2aNZ-1920-80.png" name="IFA 2026 Best in Show badge" alt="An awards badge that says 'Best in Show IFA 2026'"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: XPPen)</span></figcaption></figure><p>XPPen's Magic Pro 13 is a mobile drawing pad designed for creative pros, featuring an industry-first hardware-level drawing display mode that delivers low latency, native color output and higher bandwidth video transmission over a simple one-cable connection, giving you a paper-like experience with 16K pressure sensitivity and cursor hover support. </p><p>It's the first drawing pad in its category to come with dual-USB support, enabling you to benefit from a high-speed data connection while charging your Magic Pro 13.</p><p>The Magic Pro 13 features the new Shelf digital asset management system and XPPen's Canvas software, designed to deliver a simple and intuitive sketching experience for capturing ideas when inspiration strikes. And for creatives on the move it offers two thermal management modes, balancing performance and energy efficiency based on different creative scenarios. </p><h3 id="strutt-ev1c">Strutt ev1c</h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="UZfYRkjxYYfbeH73UEejrV" name="Strutt ev1" alt="Strutt ev1 power chair on a grey gradient background" src="https://cdn.mos.cms.futurecdn.net/UZfYRkjxYYfbeH73UEejrV-1920-80.png" mos="" align="middle" fullscreen="" width="2048" height="1152" attribution="" class="inline"><img id="Lh2E9fjBDjoiqJRM3G2aNZ" class="endorsement-img endorsement-top-right" style="max-width: 100px; max-height: 100px;" src="https://cdn.mos.cms.futurecdn.net/Lh2E9fjBDjoiqJRM3G2aNZ-1920-80.png" name="IFA 2026 Best in Show badge" alt="An awards badge that says 'Best in Show IFA 2026'"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Strutt)</span></figcaption></figure><p>Strutt's ev1c reimagines the power chair with three major advancements: Strutt's evSense sensing array, a quad-drive drivetrain, and a modular, connected design.</p><p>eVSense uses two LiDARs, 10 time-of-flight sensors, six ultrasonics and two cameras to create 3D maps in real time, powering the Co-Pilot collision avoidance for people, pets, and edges, and the Auto-Pilot, which enables you to select on-screen destinations, or use LLM-powered voice commands such as "Take me to the kitchen" — basically it's a self-driving personal mobility vehicle. </p><p>The drivetrain features four-wheel independent suspension, ABS, active steering, and an integrated electronic stability program (ESP), safely managing 13-degree slopes, cobblestones and rough terrain without slippage or tipping. And when it's time to travel, it breaks down into five modules for easy trunk storage. It looks like a genuine move forward for this kind of mobility device.</p><h3 id="xtool-m2-color-craft-laser">xTool M2 Color Craft Laser</h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="FdW4Y4prSK3VjoNWqtYKtV" name="xTool M2" alt="xTool M2 craft printer on a colorful surface" src="https://cdn.mos.cms.futurecdn.net/FdW4Y4prSK3VjoNWqtYKtV-1920-80.png" mos="" align="middle" fullscreen="" width="2048" height="1152" attribution="" class="inline"><img id="Lh2E9fjBDjoiqJRM3G2aNZ" class="endorsement-img endorsement-top-right" style="max-width: 100px; max-height: 100px;" src="https://cdn.mos.cms.futurecdn.net/Lh2E9fjBDjoiqJRM3G2aNZ-1920-80.png" name="IFA 2026 Best in Show badge" alt="An awards badge that says 'Best in Show IFA 2026'"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: xTool)</span></figcaption></figure><p>The xTool M2 is the first desktop machine to combine full-color CMYK printing, laser engraving and laser cutting into one enclosed Class 1 system, delivering a full print-then-cut workflow. Simply print your full-color design onto a piece of wood, leather or acrylic, and the xTool M2 Color Craft Laser cuts or engraves the exact contour with camera-guided precision. And there's a built-in air-assist pump, an industry first for a semiconductor laser, that keeps cut edges clean by reducing carbonization and yellowing.</p><p>Having these three capabilities in a single device is a huge power-up: instead of having to print on one machine and engrave or cut on another, you can turn your raw idea into a finished, professional-looking product in a single operation. It's ideal for stickers, labels, signage, personalized gifts, and small-batch products — you could start a whole business with this one device. And because it's an enclosed system, it's also very safe.</p><h3 id="perlegear-ax1-smart-adaptive-mount">Perlegear AX1 Smart Adaptive Mount</h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="RP8UBQfCFKyefKn2f77N4V" name="perlegear ax1" alt="Perlegear AX1 on a black background" src="https://cdn.mos.cms.futurecdn.net/RP8UBQfCFKyefKn2f77N4V-1920-80.png" mos="" align="middle" fullscreen="" width="2048" height="1152" attribution="" class="inline"><img id="Lh2E9fjBDjoiqJRM3G2aNZ" class="endorsement-img endorsement-top-left" style="max-width: 100px; max-height: 100px;" src="https://cdn.mos.cms.futurecdn.net/Lh2E9fjBDjoiqJRM3G2aNZ-1920-80.png" name="IFA 2026 Best in Show badge" alt="An awards badge that says 'Best in Show IFA 2026'"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Perlegear)</span></figcaption></figure><p>The Perlegear AX1 Smart Adaptive Mount answers an interesting question: what if your TV mount was as smart as your TV? The AX1 is an AI-powered, motorized TV mount that can automatically adjust the height of your TV to different viewing positions, so for example you might have it low for solo TV watching, but raised for watching sports with friends, or for following an on-screen fitness app or motion-based game.</p><p>The AX1 is controllable via gesture commands, its mobile app, via remote control, or via Alexa, Google Assistant or Siri. It can distinguish between single- and multi-person viewing, with the latter calculating the best screen height for the group, and it's capable of moving a 200-pound / 90kg TV up to 15.7 inches / 400mm vertically, with real-time obstacle detection that stops and reverses the move if the path is blocked. </p><h3 id="speediance-gym-monster-3">Speediance Gym Monster 3</h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="n8kpBCPG63TdsfJNmUEc6V" name="speediance gym monster 3" alt="Speediance Gym Monster 3 on a white background" src="https://cdn.mos.cms.futurecdn.net/n8kpBCPG63TdsfJNmUEc6V-1920-80.png" mos="" align="middle" fullscreen="" width="2048" height="1152" attribution="" class="inline"><img id="Lh2E9fjBDjoiqJRM3G2aNZ" class="endorsement-img endorsement-top-left" style="max-width: 100px; max-height: 100px;" src="https://cdn.mos.cms.futurecdn.net/Lh2E9fjBDjoiqJRM3G2aNZ-1920-80.png" name="IFA 2026 Best in Show badge" alt="An awards badge that says 'Best in Show IFA 2026'"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Speediance)</span></figcaption></figure><p>The brilliantly named Gym Monster 3 delivers serious strength training for home workouts, combining the experience of a Smith machine, barbell, dumbbells, cable machine, rowing machine, pulley system, and squat rack into one streamlined setup with up to 200lbs / 90kg of intelligent digital resistance. </p><p>Twin 800W direct-drive motors deliver smooth, consistent resistance through every rep, and it's adjustable in one-pound / 0.45kg increments, so you can progress at your own pace, rather than make big jumps you might not be ready for.</p><p>The Gym Monster 3 is controlled via a clever Bluetooth Ring Control that enables you to make adjustments without stepping away or breaking your flow, and it features four dedicated training modes: Standard, Chain, Eccentric, and Fixed Speed. It also features a built-in AI coach that can guide you from your first session onwards.</p><h3 id="midea-greenapex-dishwasher">Midea GreenApex Dishwasher</h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="wygNdJ3qGopDnCzKAGyqsV" name="greenapex dishwasher" alt="Illustration showing the heat pump system of the GreenApex dishwasher" src="https://cdn.mos.cms.futurecdn.net/wygNdJ3qGopDnCzKAGyqsV-1920-80.png" mos="" align="middle" fullscreen="" width="2048" height="1152" attribution="" class="inline"><img id="Lh2E9fjBDjoiqJRM3G2aNZ" class="endorsement-img endorsement-bottom-left" style="max-width: 100px; max-height: 100px;" src="https://cdn.mos.cms.futurecdn.net/Lh2E9fjBDjoiqJRM3G2aNZ-1920-80.png" name="IFA 2026 Best in Show badge" alt="An awards badge that says 'Best in Show IFA 2026'"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Midea)</span></figcaption></figure><p>The humble dishwasher hasn't changed much since Josephine Cochrane's 1886 invention went electric in the late 1920s and gained spray arms in the 1950s. But the Midea GreenApex is very different from traditional grease-busters. It's a dual heat-pump system that uses a single coordinated heat pump platform to deliver washing, rapid drying, and dry storage in a single appliance. </p><p>The GreenApex is 50% more energy efficient than conventional dishwashers, delivers 30-minute rapid drying and 168 hours of dry storage without continued system operation, and offers gentle heat-pump drying at around 45°C, so you don't need to worry about high temperatures damaging more delicate items. It feels like a major leap forward for an appliance type that doesn't often have the phrase 'cutting-edge' associated with it.</p><h3 id="reolink-omvi-2i-ultra">Reolink OMVI 2i Ultra</h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Yu7V6bA2tewwFwNLQ54zqV" name="Reolink OMVI Ultra" alt="Reolink OMVI Ultra affixed to a wall with a solar panel attached on top" src="https://cdn.mos.cms.futurecdn.net/Yu7V6bA2tewwFwNLQ54zqV-1920-80.png" mos="" align="middle" fullscreen="" width="2048" height="1152" attribution="" class="inline"><img id="Lh2E9fjBDjoiqJRM3G2aNZ" class="endorsement-img endorsement-top-left" style="max-width: 100px; max-height: 100px;" src="https://cdn.mos.cms.futurecdn.net/Lh2E9fjBDjoiqJRM3G2aNZ-1920-80.png" name="IFA 2026 Best in Show badge" alt="An awards badge that says 'Best in Show IFA 2026'"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Reolink)</span></figcaption></figure><p>The Reolink OMVI 2i Ultra Security Camera features an innovative, decoupled dual-lens tracking system in which the individual lenses operate fully independently of one another. Unlike in other dual-lens or hybrid zoom security cameras, the two lenses here are not mechanically linked, so the fixed 130-degree 4K wide-angle lens never moves, while the telephoto camera is free to rotate anywhere, including to cover areas outside the field of view of the main lens. </p><p>This means that when the 4K camera's on-device AI spots a person, vehicle or animal, it triggers the pan-tilt camera to lock onto and follow that subject even after they exit the wide camera's field of view — but you don't lose any recording from the wide camera's view during that time. </p><p>You can also use the wide-angle view to redirect the pan-tilt camera to a particular location by simply tapping that point in the live camera view, or have the wide camera and the pan-tilt camera monitoring two distinct locations, such as your driveway and a side gate.</p><h3 id="navimow-h510-pro">Navimow H510 Pro</h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Q9c2MgcvSfZx5uMy5CXRrV" name="Navimo H510 Pro" alt="Navimo H510 Pro shot from above on a white surface" src="https://cdn.mos.cms.futurecdn.net/Q9c2MgcvSfZx5uMy5CXRrV-1920-80.png" mos="" align="middle" fullscreen="" width="2048" height="1152" attribution="" class="inline"><img id="Lh2E9fjBDjoiqJRM3G2aNZ" class="endorsement-img endorsement-top-left" style="max-width: 100px; max-height: 100px;" src="https://cdn.mos.cms.futurecdn.net/Lh2E9fjBDjoiqJRM3G2aNZ-1920-80.png" name="IFA 2026 Best in Show badge" alt="An awards badge that says 'Best in Show IFA 2026'"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Navimo)</span></figcaption></figure><p>The Navimow H510 Pro features four key innovations: precise edge finishing, zero-turn steering, adaptive mowing intelligence, and 3D modelling. </p><p>Rather than edging with a trimmer line, which can be noisy and cause minor damage, the H510 Pro has an extendable robot arm that performs zero-gap edging quietly and safely — it's the most interesting and smart version of this technology that we've seen.</p><p>The all-wheel-drive system protects your turf too, with a zero-steering system that avoids dragging the wheels across the grass during lateral turns. And the Adaptive Mowing Intelligence feature analyzes grass growth patterns to determine the optimal mowing frequency, using the 1/3 cutting rule to preserve lawn health.</p><p>With 3D terrain modeling rather than the industry-standard 2D, and a sensor array including infrared as well as LiDAR and vision for low-light reliability, and triple-sensor avoidance to protect wildlife, the H510 is a smart solution for even the most challenging lawns.</p><h3 id="dji-romo-2-series">DJI Romo 2 Series</h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="xuqEF5mywEFBBGqJ5TMWoV" name="DJI Romo 2 series" alt="DJI Romo 2 in a stylish room" src="https://cdn.mos.cms.futurecdn.net/xuqEF5mywEFBBGqJ5TMWoV-1920-80.png" mos="" align="middle" fullscreen="" width="2048" height="1152" attribution="" class="inline"><img id="Lh2E9fjBDjoiqJRM3G2aNZ" class="endorsement-img endorsement-top-left" style="max-width: 100px; max-height: 100px;" src="https://cdn.mos.cms.futurecdn.net/Lh2E9fjBDjoiqJRM3G2aNZ-1920-80.png" name="IFA 2026 Best in Show badge" alt="An awards badge that says 'Best in Show IFA 2026'"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: DJI)</span></figcaption></figure><p>The Romo 2 Series is a robot vacuum that won't be defeated by obstacles such as deep rugs, sliding door tracks and other barriers. That's because it has robotic legs that can step over obstacles as high as 4cm, and double-step thresholds up to an impressive 8.5cm. </p><p>It also features a built-in LiDAR-guided ultra-wide-swing robotic arm to extend the mop's reach, and its powerful suction system features an automatically lowering plate that forms a semi-seal on carpet for better extraction of dust and allergens.</p><p>The Romo 2 Series also benefits from the tech of DJI's flagship drones, with a Structured Light-Speckle projector and dual fish-eye vision sensors for full 3D depth perception. It can detect items such as cables and training pads as thin as 2mm, and its AI can distinguish between debris and liquid, as well as deal with transparent obstacles such as glass doors and mirrors.</p><h3 id="acer-vero-16">Acer Vero 16</h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="ywXV3SkCrpfXQi8EYGVNqV" name="acer vero 16" alt="Exploded view of the Acer Vero 16 on white background" src="https://cdn.mos.cms.futurecdn.net/ywXV3SkCrpfXQi8EYGVNqV-1920-80.png" mos="" align="middle" fullscreen="" width="2048" height="1152" attribution="" class="inline"><img id="Lh2E9fjBDjoiqJRM3G2aNZ" class="endorsement-img endorsement-top-left" style="max-width: 100px; max-height: 100px;" src="https://cdn.mos.cms.futurecdn.net/Lh2E9fjBDjoiqJRM3G2aNZ-1920-80.png" name="IFA 2026 Best in Show badge" alt="An awards badge that says 'Best in Show IFA 2026'"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Acer)</span></figcaption></figure><p>With so many laptops sacrificing easy maintenance and repairability for super-skinny styling, the Acer Vero 16 is a breath of fresh air. While it doesn't skimp on style or power — it's highly portable, delivers up to 180 platform TOPS with an Intel Core Ultra X9 processor 388H, and can be configured with a stunning 16-inch 3K OLED display — it's made with longevity in mind. </p><p>A tool-free latch provides easy access to the Vero's innards, and the battery and SSD are replaceable, while the system is designed to support the next two generations of processors if you want to upgrade. Fully 70% of the chassis consists of a blend of PCR (post-consumer recycled) and bio-based oyster shell material, and it meets US military standards for toughness. This is a laptop that's built to last, in a way that's rare to see — and very welcome.</p><h3 id="asus-proart-gr1x">Asus ProArt GR1X</h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="ZussMd9VquHVBFiC3pa8oV" name="Asus ProArt GR1X" alt="Asus ProArt GR1X in white and black on a grey surface" src="https://cdn.mos.cms.futurecdn.net/ZussMd9VquHVBFiC3pa8oV-1920-80.png" mos="" align="middle" fullscreen="" width="2048" height="1152" attribution="" class="inline"><img id="Lh2E9fjBDjoiqJRM3G2aNZ" class="endorsement-img endorsement-bottom-right" style="max-width: 100px; max-height: 100px;" src="https://cdn.mos.cms.futurecdn.net/Lh2E9fjBDjoiqJRM3G2aNZ-1920-80.png" name="IFA 2026 Best in Show badge" alt="An awards badge that says 'Best in Show IFA 2026'"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Asus)</span></figcaption></figure><p>The Asus ProArt GR1X is tiny, measuring just 150 x 150 x 51mm. But there's nothing small about its specification. Designed for advanced content creation and local AI workflows, it delivers data center-class compute inside a mini PC, removing the need to run LLMs remotely while eliminating cloud latency, cost, and IP protection concerns for pro creators.</p><p>The ProArt GR1X features the groundbreaking Nvidia RTX Spark 'superchip', which means you get a 20-core Grace CPU and a 6,144-core Blackwell GPU, delivering up to one petaflop of FP4 AI inference performance. With up to 128GB of LPDDR5X unified memory at 9,400MHz, it enables you to run up to 120B-parameter LLMs locally, and render entire 3D scenes on-device in Windows 11. </p><p>That kind of power demands highly efficient cooling, and Asus has developed an advanced precision-cooling system that delivers 1.6x more efficient thermal coverage than standard compact systems. Asus also solved the challenge of metal-enclosure signal attenuation by embedding the Wi-Fi 7 antennas behind a glass-like signal-transparent material. It's quite the design coup, and an impressive showcase for Nvidia's new elite chip.</p><h3 id="ecoflow-stream-5000-stream-ac-5000">EcoFlow STREAM 5000 / STREAM AC 5000</h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="7BZSXxXooTq56kkbU5pboV" name="ecoflow stream series" alt="EcoFlow STREAM battery and solar panels" src="https://cdn.mos.cms.futurecdn.net/7BZSXxXooTq56kkbU5pboV-1920-80.png" mos="" align="middle" fullscreen="" width="2048" height="1152" attribution="" class="inline"><img id="Lh2E9fjBDjoiqJRM3G2aNZ" class="endorsement-img endorsement-top-left" style="max-width: 100px; max-height: 100px;" src="https://cdn.mos.cms.futurecdn.net/Lh2E9fjBDjoiqJRM3G2aNZ-1920-80.png" name="IFA 2026 Best in Show badge" alt="An awards badge that says 'Best in Show IFA 2026'"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: EcoFlow)</span></figcaption></figure><p>The EcoFlow Stream series is a plug-and-play modular system for residential solar energy generation and storage that's designed to be renter- and apartment-friendly. It can add battery storage and smart power-management to existing solar PV installations, as well as being employed to create a new home system from scratch. </p><p>The Stream Series features EcoFlow's Oasis 3.0 home energy management system, which understands dynamic energy tariffs, keeps an eye on the weather forecast, and continuously analyzes your home energy needs to optimize generation, storage and consumption. </p><p>That means you can give the EcoBot AI agent instructions such as "I need my car charged by 7am tomorrow at the lowest possible cost" and it will implement the necessary steps, or have your energy schedules reconfigured automatically when you have visitors or other instances of increased demand.</p><p>From October the EcoFlow Stream series will also get a new feature: Local Mode, which gives you uninterrupted operation and local app control even if there are cloud or connectivity outages. It's a very powerful (no pun intended) system that's been designed with the real world in mind.</p><h3 id="tapo-d260">Tapo D260</h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="mD2XR5NnCDCxGwB7Q6SKTG" name="Tapo D260" alt="The Tap D260 doorbell mounted on a wall" src="https://cdn.mos.cms.futurecdn.net/mD2XR5NnCDCxGwB7Q6SKTG-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" class="inline"><img id="Lh2E9fjBDjoiqJRM3G2aNZ" class="endorsement-img endorsement-top-left" style="max-width: 100px; max-height: 100px;" src="https://cdn.mos.cms.futurecdn.net/Lh2E9fjBDjoiqJRM3G2aNZ-1920-80.png" name="IFA 2026 Best in Show badge" alt="An awards badge that says 'Best in Show IFA 2026'"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: TP-Link)</span></figcaption></figure><p>The Tapo D260 wired/wireless security camera is a video doorbell that delivers all the benefits of high-spec security without the potential downsides: it stores facial recognition data locally to protect privacy, and no features are locked behind a subscription. It's advanced, yet totally cost-free once you buy it. </p><p>It has 4K resolution, a wide 180-degree field of view to cover the entire doorway, and delivers sharp detail in subjects up to 30 feet away. </p><p>The D260 features multiple intelligent detection and recognition features, including radar as well as the obligatory infrared motion sensor. These enable it to discount false alerts from things such as moving branches or passing headlights, while on-device AI can recognize people, packages, vehicles, and animals. </p><p>If you wish, you can opt in to build a library of family and friends using facial recognition, and there's even a voice changer to disguise your voice when speaking to unfamiliar callers. In a world where people are sick of subscriptions, this offers a great security upgrade without the monthly fee.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/tech/ifa-2026-best-in-show-awards-our-25-favorite-reveals-at-the-berlin-tech-expo-from-somersaulting-robots-to-modular-solar-batteries-for-renters</link>
                                                                            <description>
                            <![CDATA[ Our 15 favorite innovations from the enormous IFA 2026 tech exhibition ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">HdmA4QtJuGic8wre4BYqW9</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/tvdiLWHL7WaxTsWLZxFYqE-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 04 Sep 2026 12:33:02 +0000</pubDate>                                                                                                                                <updated>Thu, 10 Sep 2026 12:01:46 +0000</updated>
                                                                                                                                            <category><![CDATA[Tech]]></category>
                                                    <category><![CDATA[Robot Vacuums]]></category>
                                                    <category><![CDATA[Wireless Headphones]]></category>
                                                    <category><![CDATA[Phones]]></category>
                                                    <category><![CDATA[Sleep]]></category>
                                                    <category><![CDATA[Projectors]]></category>
                                                    <category><![CDATA[Action Cameras]]></category>
                                                    <category><![CDATA[Virtual Reality & Augmented Reality]]></category>
                                                    <category><![CDATA[Windows Laptops]]></category>
                                                    <category><![CDATA[Desktop PCs]]></category>
                                                    <category><![CDATA[Health & Fitness]]></category>
                                                    <category><![CDATA[Home Security]]></category>
                                                    <category><![CDATA[Home]]></category>
                                                    <category><![CDATA[Smart Home]]></category>
                                                    <category><![CDATA[Audio]]></category>
                                                    <category><![CDATA[Headphones]]></category>
                                                    <category><![CDATA[Televisions]]></category>
                                                    <category><![CDATA[Home Theater]]></category>
                                                    <category><![CDATA[Cameras]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                    <category><![CDATA[Software]]></category>
                                                    <category><![CDATA[Laptops]]></category>
                                                                                                                    <dc:creator><![CDATA[ Carrie Marshall ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/xJGRRy6MkKwN3qJ5X6enZG-320-70.jpeg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/tvdiLWHL7WaxTsWLZxFYqE-1920-80.jpg">
                                                            <media:credit><![CDATA[IFA]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[IFA Berlin]]></media:description>                                                            <media:text><![CDATA[IFA Berlin]]></media:text>
                                <media:title type="plain"><![CDATA[IFA Berlin]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/tvdiLWHL7WaxTsWLZxFYqE-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>IFA, Berlin's huge annual tech expo, is where some of the biggest tech firms unveil their latest innovations — and this year is one of the strongest we've seen in a long time for interesting new releases. </p><p>IFA is a great place to find fascinating new gadgets and devices, ranging from next-gen AR glasses to self-driving personal mobility vehicles, and from weird new kitchen appliances to armies of humanoid robots.</p><p>We've chosen the top products from those that were nominated for our IFA 2026 'Best in Show' awards to produce this list of our 25 winners, based on how innovative they are, how well they serve their intended use, and the degree to which we think they'll influence their area of the tech market. </p><p>There were many more products that we really liked, of course, but we had to be ruthless — here are our top picks from IFA 2026.</p><h3 id="anker-soundcore-sleep-earbuds-4-pro">Anker Soundcore Sleep Earbuds 4 Pro</h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="9bHq2oJiFfTnAwD4SjYPUV" name="Anker soundcore Sleep Earbuds 4 Pro" alt="Anker soundcore Sleep Earbuds 4 Pro on a white background" src="https://cdn.mos.cms.futurecdn.net/9bHq2oJiFfTnAwD4SjYPUV-1920-80.png" mos="" align="middle" fullscreen="" width="2048" height="1152" attribution="" class="inline"><img id="Lh2E9fjBDjoiqJRM3G2aNZ" class="endorsement-img endorsement-top-left" style="max-width: 100px; max-height: 100px;" src="https://cdn.mos.cms.futurecdn.net/Lh2E9fjBDjoiqJRM3G2aNZ-1920-80.png" name="IFA 2026 Best in Show badge" alt="An awards badge that says 'Best in Show IFA 2026'"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Anker)</span></figcaption></figure><p>The best technology delivers real-world benefits, and what could be more beneficial than a good night's sleep? The Soundcore Sleep Earbuds 4 Pro use in-ear PPG optical sensors to monitor your heartrate, which is more accurate than other optical tracking methods thanks to the rich capillaries and stable position of your ear canal. That monitoring delivers data to the smart-screen, phone-free SleepHub charging case. </p>                    <div class= "tiktok-wrapper" style="min-height: 750px;"><blockquote class="tiktok-embed" cite="https://www.tiktok.com/@techradar/video/7681347402019687702" data-video-id="7681347402019687702" style="max-width: 605px; min-width: 325px;">                        <section>                            <a target="_blank" title="@techradar" href="https://www.tiktok.com/@techradar">@techradar</a>                            <p></p><a target="_blank" title="♬ original sound - TechRadar" href="https://www.tiktok.com/music/original-sound-7681347420529838870">♬ original sound - TechRadar</a></section>                    </blockquote></div>                <p>The Sleep Earbuds Pro feature passive isolation as well as 30dB active noise cancelling, and the case-based snore monitoring system detects and masks the sound of your partner snoring using its built-in sounds. Despite the addition of multiple new components the housing is thinner than previous generations, and even more comfortable for side sleepers.</p><p>Anker's BioSync dynamic audio system monitors relaxation in real time, dynamically adjusting the audio content and structure to help you find the most effective sleep sounds. Sleep earbuds are something that can truly improve your health and happiness by improving your sleep, and these look like a really smart upgrade.</p><h3 id="agibot-a3">Agibot A3</h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="9aoHZW9mn3eTuLQYpomGuU" name="Agibot A3" alt="Agibot A3 humanoid robot" src="https://cdn.mos.cms.futurecdn.net/9aoHZW9mn3eTuLQYpomGuU-1920-80.png" mos="" align="middle" fullscreen="" width="2048" height="1152" attribution="" class="inline"><img id="Lh2E9fjBDjoiqJRM3G2aNZ" class="endorsement-img endorsement-top-left" style="max-width: 100px; max-height: 100px;" src="https://cdn.mos.cms.futurecdn.net/Lh2E9fjBDjoiqJRM3G2aNZ-1920-80.png" name="IFA 2026 Best in Show badge" alt="An awards badge that says 'Best in Show IFA 2026'"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Agibot)</span></figcaption></figure><p>Agibot is doing some amazing things with humanoid robots, and the full-sized Agibot A3 combines multiple capabilities in a lightweight, extremely dynamic model: if you're assembling a robot dance troupe or planning a big exhibition, the A3's the bot to buy.</p><p>The A3 weighs just 55kg, has a power-to-weight ratio of 0.218kW/kg, and delivers up to 12kW of instant peak power, enabling it to somersault. Its battery runs for up to 10 hours and is hot-swappable in seconds, so it's great for applications where it needs to last all day. It'll happily fit in an SUV for travel, too.</p><p>In addition to voice and app control, the A3 delivers industry-first touch sensing that adds physical interaction to its controls. It also has a 360-degree multi-array mic system for accurate voice recognition, even in noisy environments. </p><p>One of the most exciting features of the A3 is its large-scale swarm co-ordination, which uses precise UWB positioning to enable performances by up to 100 individual robots. That makes it possible to create very complex, high-impact performances for big events, as well as enabling multiple units to work smartly in environments such as factories or warehouses. The awareness and the uptime make this a great new approach to robotics.</p><h3 id="hypershell-x-ultra-s">Hypershell X Ultra S</h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="BdJqR5owGLx596QQz9VVtV" name="hypershell x ultra s" alt="A person climbing a rocky mountain wearing the Hypershell X Ultra S" src="https://cdn.mos.cms.futurecdn.net/BdJqR5owGLx596QQz9VVtV-1920-80.png" mos="" align="middle" fullscreen="" width="2048" height="1152" attribution="" class="inline"><img id="Lh2E9fjBDjoiqJRM3G2aNZ" class="endorsement-img endorsement-top-right" style="max-width: 100px; max-height: 100px;" src="https://cdn.mos.cms.futurecdn.net/Lh2E9fjBDjoiqJRM3G2aNZ-1920-80.png" name="IFA 2026 Best in Show badge" alt="An awards badge that says 'Best in Show IFA 2026'"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Hypershell)</span></figcaption></figure><p>The Hypershell X Ultra S exoskeleton helped mountaineer Adriana Brownlee in -30C temperatures on Mount Everest, supported athlete Aurélien Fontenoy's 4,037km Route 66 journey while recovering from injury, and is currently being trialed by search and rescue organizations worldwide. </p><p>Before Hypershell, exoskeletons cost $100,000 and above; the same capabilities are now available to consumers for less than $2,000, in a device weighing under 2kg. </p><p>The X Ultra S is an end-to-end AI motion-control system that uses an AI model to transform raw sensor data directly into motor torque, enabling faster response, smoother adaptation, and more natural human-machine synchronization.</p><p>There are 12 active modes, including walking, cycling and running, and a new Gentle Assist mode for older adults and users with short or shuffling strides. Fitness Mode adds resistance, turning a walk into a workout.</p><p>But it's the price that won us over here — this could be a game changer for getting people with limited mobility out and doing more things that they love, from hiking to just visiting the local stores.</p><h3 id="jmgo-iris-ultra-max">JMGO IRIS Ultra Max</h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="R9VtqsbEZRhnDqiiYAfNzV" name="JMGO Iris Ultra Max" alt="JMGO Iris Ultra Max on a white background" src="https://cdn.mos.cms.futurecdn.net/R9VtqsbEZRhnDqiiYAfNzV-1920-80.png" mos="" align="middle" fullscreen="" width="2048" height="1152" attribution="" class="inline"><img id="Lh2E9fjBDjoiqJRM3G2aNZ" class="endorsement-img endorsement-top-left" style="max-width: 100px; max-height: 100px;" src="https://cdn.mos.cms.futurecdn.net/Lh2E9fjBDjoiqJRM3G2aNZ-1920-80.png" name="IFA 2026 Best in Show badge" alt="An awards badge that says 'Best in Show IFA 2026'"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: JMGO)</span></figcaption></figure><p>The IRIS Ultra Max is one of the world’s first true 4K 120Hz flagship smart projectors, delivering native 4K (rather than pixel-shifted) at 120Hz from input to output, all from its very compact case. </p><p>The Ultra Max's dual iris system has 6+9 blades, the highest count in its class, which promises to improve stray light suppression by 11.34% for a more accurate picture, while delivering class-leading contrast, with a quoted ration of 10,000:1. The MALC 6.0 Triple-Laser Engine delivers an impressive 6,500 ISO lumens of brightness, making it more visible in more lighting conditions, and with a promised ability to recreate 110% of the BT.2020 color space, with an astounding color accuracy of delta-E of 0.7, meaning it's truly capable of pro-level color range and accuracy.</p><p>The IRIS Ultra Max also introduces an industry-first 3-in-1 Optical System that integrates 0.88–1.7:1 Optical Zoom, Four-Way Lens Shift (V ±130%, H ±53%), and an AI-Powered Gimbal (360° H, 150° V) into a unified projection architecture. This makes it more more flexible than traditional projectors to positioning, because it has so many different options for correcting its picture. It gives small home theater setups top-tier performance without compromise.</p><h3 id="dji-osmo-pocket-4p">DJI Osmo Pocket 4P</h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="zUEQTntfTEtkWrvePu63yV" name="dji osmo pocket 4p" alt="A young woman holding a DJI Pocket Osmo 4P in front of the houses of parliament in London" src="https://cdn.mos.cms.futurecdn.net/zUEQTntfTEtkWrvePu63yV-1920-80.png" mos="" align="middle" fullscreen="" width="2048" height="1152" attribution="" class="inline"><img id="Lh2E9fjBDjoiqJRM3G2aNZ" class="endorsement-img endorsement-top-left" style="max-width: 100px; max-height: 100px;" src="https://cdn.mos.cms.futurecdn.net/Lh2E9fjBDjoiqJRM3G2aNZ-1920-80.png" name="IFA 2026 Best in Show badge" alt="An awards badge that says 'Best in Show IFA 2026'"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: DJI)</span></figcaption></figure><p>Designed for vloggers and movie-makers alike, the Osmo Pocket 4P is the world’s first dual-lens pocket gimbal camera. It delivers cinema-grade imaging in a pocket-friendly form, and features DJI's Academy Award-winning Ronin stabilization. </p><p>The main lens is a wide-angle 20mm equivalent with an f/2.0 aperture, and a new 1-inch CMOS sensor that offers 17 stops of dynamic range and over one billion colors via DJI's new 10-bit D-Log 2 color profile. </p><p>That's supplemented with a 60mm medium-tele portrait lens, which gives you 3x optical zoom and up to 12x digital zoom. Its f/1.8 aperture is particularly good for creating bokeh effects by compressing the background and pulling it closer to the subject.</p><p>The Osmo Pocket 4P also features the latest version of DJI's ActiveTrack, which uses AI algorithms to maintain tracking lock at up to 12x zoom. It can actively track up to eight people, framing groups and centering anyone new who steps into the field of view.</p><h3 id="rayneo-gt-max-ar-glasses">RayNeo GT Max AR Glasses</h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="EB8BUrrWJzDXKYTSVvm3VV" name="RayNeo GT Max AR glasses" alt="RayNeo GT Max AR glasses on a white background" src="https://cdn.mos.cms.futurecdn.net/EB8BUrrWJzDXKYTSVvm3VV-1920-80.png" mos="" align="middle" fullscreen="" width="2048" height="1152" attribution="" class="inline"><img id="Lh2E9fjBDjoiqJRM3G2aNZ" class="endorsement-img endorsement-top-right" style="max-width: 100px; max-height: 100px;" src="https://cdn.mos.cms.futurecdn.net/Lh2E9fjBDjoiqJRM3G2aNZ-1920-80.png" name="IFA 2026 Best in Show badge" alt="An awards badge that says 'Best in Show IFA 2026'"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: RayNeo)</span></figcaption></figure><p>The RayNeo GT Max AR Glasses are the world's first AR glasses to support Dolby Vision playback as part of creating a virtual cinema experience. They deliver up to 1,200 nits of perceived brightness, a 120Hz refresh rate, and real-time SDR to HDR conversion for super-clear images, too. Their optical system is 29% thinner and lighter than traditional designs, and  delivers an industry-leading 59-degree field of view.</p>                    <div class= "tiktok-wrapper" style="min-height: 750px;"><blockquote class="tiktok-embed" cite="https://www.tiktok.com/@techradar/video/7681723376372550934" data-video-id="7681723376372550934" style="max-width: 605px; min-width: 325px;">                        <section>                            <a target="_blank" title="@techradar" href="https://www.tiktok.com/@techradar">@techradar</a>                            <p></p><a target="_blank" title="♬ original sound - TechRadar" href="https://www.tiktok.com/music/original-sound-7681723395584068374">♬ original sound - TechRadar</a></section>                    </blockquote></div>                <p>One of our favorite features is the adjustable virtual screen sizes, with a choice of 227 inches, 267 inches or 307 inches. That's clever: the tighter size is ideal for spreadsheets and productivity apps if you're using them as a display for a phone or laptop, while the larger sizes deliver immersive gaming and video. </p><p>Steady, Pinned and Follow modes enable you to anchor the screen or have it move with you, and 3DoF spatial tracking maintains the screen position without straining your eyes, and keeps subtitles, taskbars and image edges within the viewing area as you move. These look like the most advanced way to take a screen with you everywhere, and they could be indispensable for long flights.</p><h3 id="tcl-p80-ultra">TCL P80 Ultra</h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="trU5qeuQKbmHbLWnqSZQoV" name="TCL P80 Ultra" alt="TCL P80 Ultra close up on a white background" src="https://cdn.mos.cms.futurecdn.net/trU5qeuQKbmHbLWnqSZQoV-1920-80.png" mos="" align="middle" fullscreen="" width="2048" height="1152" attribution="" class="inline"><img id="Lh2E9fjBDjoiqJRM3G2aNZ" class="endorsement-img endorsement-top-left" style="max-width: 100px; max-height: 100px;" src="https://cdn.mos.cms.futurecdn.net/Lh2E9fjBDjoiqJRM3G2aNZ-1920-80.png" name="IFA 2026 Best in Show badge" alt="An awards badge that says 'Best in Show IFA 2026'"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: TCL)</span></figcaption></figure><p>If you spend as much time on your phone as we do, you'll be blown away by the screen of the TCL P80 Ultra. It's the first phone to integrate NXTPAPER eye-comfort technology, with a 1.5K sharp AMOLED display for reflection-free reading even in bright sunlight, and a button that instantly turns your P80 Ultra into an e-reader with paper-like viewing.</p>                    <div class= "tiktok-wrapper" style="min-height: 750px;"><blockquote class="tiktok-embed" cite="https://www.tiktok.com/@techradar/video/7681759970861272342" data-video-id="7681759970861272342" style="max-width: 605px; min-width: 325px;">                        <section>                            <a target="_blank" title="@techradar" href="https://www.tiktok.com/@techradar">@techradar</a>                            <p></p><a target="_blank" title="♬ original sound - TechRadar" href="https://www.tiktok.com/music/original-sound-7681759988955613974">♬ original sound - TechRadar</a></section>                    </blockquote></div>                <p>The P80 Ultra has nano-etched anti-glare glass, eliminating surface reflections without reducing brightness. It also features circular polarized light technology, which changes the light output to more closely replicate the characteristics of natural light, and flicker-free dimming.</p><p>The camera's pretty special too. It's a 50MP 3x periscope telephoto lens with a 50MP 1/1.56-inch large-format sensor, capturing more light per pixel than smaller sensors and enabling 6x lossless zoom. Image stabilization eliminates motion blur in photos and video, and TCL's MuseFilm filters promise cinematic-quality images. But it's the groundbreaking display that really won us over — a lot of people will find it much kinder on the eyes.</p><h3 id="lenovo-thinkbook-14x-gen-2">Lenovo ThinkBook 14x Gen 2</h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="wEeS8rUjHKqZbtFDSVauoV" name="Lenovo ThinkBook 14x Gen2" alt="Lenovo ThinkBook 14x Gen2 on a black background" src="https://cdn.mos.cms.futurecdn.net/wEeS8rUjHKqZbtFDSVauoV-1920-80.png" mos="" align="middle" fullscreen="" width="2048" height="1152" attribution="" class="inline"><img id="Lh2E9fjBDjoiqJRM3G2aNZ" class="endorsement-img endorsement-top-left" style="max-width: 100px; max-height: 100px;" src="https://cdn.mos.cms.futurecdn.net/Lh2E9fjBDjoiqJRM3G2aNZ-1920-80.png" name="IFA 2026 Best in Show badge" alt="An awards badge that says 'Best in Show IFA 2026'"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Lenovo)</span></figcaption></figure><p>Lenovo's ultra-light laptop makes even ultraportables look positively porky: at just 2.18lbs / 990g and just 12.9mm thick it's one of the lightest and thinnest laptops around, making it ideal for business travelers and students alike — especially if you opt for the backlit keyboard, which is really helpful in dimly lit rooms and airplanes.</p><p>Lenovo has somehow managed to give the ThinkBook 14x the super-thin treatment without sacrificing connectivity, so in addition to its Wi-Fi 7 it features two 10Gbps USB-C ports, two 5Gbps USB-A ports and an HDMI 2.1 port, so there's no need to haul a hub around with you. It also has a spare M.2 slot that enables you to expand its storage, which makes this a solid long-term investment.</p><p>The ThinkBook 14x Gen 2 is also one of the most customizable ultraportables, powered by Intel Core 7 (Series 3) processors and with display options including vivid OLED and touchscreen LCD. It's good-looking too, with a choice of metallic finishes including Luna Gray, Celestial White, Mystic Violet and Veil Blue. </p><h3 id="earfun-wave-pro-x">EarFun Wave Pro X</h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="hkmwHBBMmm4chF7hH9iq6W" name="earfun wave pro x" alt="EarFun Wave Pro X in black and white on a white background" src="https://cdn.mos.cms.futurecdn.net/hkmwHBBMmm4chF7hH9iq6W-1920-80.png" mos="" align="middle" fullscreen="" width="2048" height="1152" attribution="" class="inline"><img id="Lh2E9fjBDjoiqJRM3G2aNZ" class="endorsement-img endorsement-top-right" style="max-width: 100px; max-height: 100px;" src="https://cdn.mos.cms.futurecdn.net/Lh2E9fjBDjoiqJRM3G2aNZ-1920-80.png" name="IFA 2026 Best in Show badge" alt="An awards badge that says 'Best in Show IFA 2026'"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: EarFun)</span></figcaption></figure><p>EarFun's headphones consistently deliver premium performance without the premium price tag, and the Wave Pro X are the brand's best yet. They feature a patented dual-driver system that places a 40mm diamond-like carbon driver and a 10mm liquid crystal polymer driver on a precisely aligned axis, creating a more natural and detailed sound than you typically get from multi-driver designs. </p><p>The Wave Pro X feature an 8-mic AI system that continuously optimizes the hybrid ANC system, even in wired AUX mode, and the Qualcomm QCC3095 chipset delivers Bluetooth 6.0, aptX Lossless, LDAC, USB Audio and Auracast. Add AI translation and up to 90 hours of battery life to the mix and you've got a truly excellent pair of headphones — EarFun has been working on these for a long time, and even delayed them in order to get the tuning just right.</p><h3 id="urevo-cyberpad-3">Urevo CyberPad 3</h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="eySibivnaa3pCYuYjjQirV" name="cyberpad 3" alt="The Cyberpad 3 treadmill on an orange rug" src="https://cdn.mos.cms.futurecdn.net/eySibivnaa3pCYuYjjQirV-1920-80.png" mos="" align="middle" fullscreen="" width="2048" height="1152" attribution="" class="inline"><img id="Lh2E9fjBDjoiqJRM3G2aNZ" class="endorsement-img endorsement-top-left" style="max-width: 100px; max-height: 100px;" src="https://cdn.mos.cms.futurecdn.net/Lh2E9fjBDjoiqJRM3G2aNZ-1920-80.png" name="IFA 2026 Best in Show badge" alt="An awards badge that says 'Best in Show IFA 2026'"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Urevo)</span></figcaption></figure><p>The CyberPad 3 is a home/office treadmill that's designed differently to traditional models. Its WalkFree Adaptive Speed Control uses pressure sensors built into the running board, which detect your stepping motion to automatically start and stop operation; when you're walking or running it takes data from the motor to calculate speed adjustments in real time.</p><p>Its multi-user support is smart too, capturing raw weight and stride-rate data to generate a structured user profile that's directly linked to the speed-control algorithm.</p><p>The support structure is made from Q235 steel with a side frame of die-cast aluminum, and it utilizes a redesigned transmission path to deliver an exceptionally compact construction: the ultra-slim body is under 11cm thick. Despite its small size it features a 15% incline-lift mechanism and a 42cm running belt, with its size based on analysis of human shoulder widths. </p><h3 id="plaud-one">Plaud One</h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="5UWWCMM8i7VsskL5NiuLoV" name="Plaud One" alt="Plaud One earbuds and unit on a white background" src="https://cdn.mos.cms.futurecdn.net/5UWWCMM8i7VsskL5NiuLoV-1920-80.png" mos="" align="middle" fullscreen="" width="2048" height="1152" attribution="" class="inline"><img id="Lh2E9fjBDjoiqJRM3G2aNZ" class="endorsement-img endorsement-top-left" style="max-width: 100px; max-height: 100px;" src="https://cdn.mos.cms.futurecdn.net/Lh2E9fjBDjoiqJRM3G2aNZ-1920-80.png" name="IFA 2026 Best in Show badge" alt="An awards badge that says 'Best in Show IFA 2026'"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Plaud)</span></figcaption></figure><p>Plaud One is a wearable AI companion that combines three key features that are usually separate: wearable conversation capture, context that builds across day-to-day conversations, and AI that can analyze data and take appropriate action. It can capture online meetings, and face-to-face discussions and phone calls, and it has built-in eSIM and 4G LTE for phone-free operation.</p><p>What makes Plaud One different is that it understands context. Instead of treating each recording as a standalone transcript, it can retain context across multiple discussions — so a conversation from one meeting can be connected to a later conversation or call. </p><p>That understanding enables the Plaud Agent to help you take action, identifying next steps and completing tasks across tools such as Gmail, Google Calendar, Notion, and Slack. </p><h3 id="minisforum-ms-s1-max-p495">Minisforum MS-S1 Max-P495</h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="GFRfsx48HSpx9ptRqrn3tW" name="Minisforum MS-S1 Max-P945" alt="Promotional photo of the Minisforum MS-S1 Max-P945" src="https://cdn.mos.cms.futurecdn.net/GFRfsx48HSpx9ptRqrn3tW-1920-80.png" mos="" align="middle" fullscreen="" width="2048" height="1152" attribution="" class="inline"><img id="Lh2E9fjBDjoiqJRM3G2aNZ" class="endorsement-img endorsement-top-right" style="max-width: 100px; max-height: 100px;" src="https://cdn.mos.cms.futurecdn.net/Lh2E9fjBDjoiqJRM3G2aNZ-1920-80.png" name="IFA 2026 Best in Show badge" alt="An awards badge that says 'Best in Show IFA 2026'"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Minisforum)</span></figcaption></figure><p>The MS-S1 Max-P495 delivers large-model AI computing from an exceptionally small footprint with a very high specification. It combines AMD Ryzen AI Max+ PRO 495 with up to 192GB of unified memory to run 128B+ LLMs locally, delivering up to 126 TOPS, and its unified memory architecture eliminates VRAM bottlenecks while also reducing latency. </p><p>That power is cooled by a high-performance thermal solution featuring a copper base, six heat pipes, dual fans and phase-change cooling, and it's encased in a fully scalable design, with a slide-out chassis for easy upgrading and a rack-ready form factor. </p><p>With 4x PCIe expansion, dual 10Gb Ethernet, dual 40Gbps USB4 v2, Wi-Fi 7, and a built-in 320W PSU, the MS-S1 Max-P495 delivers future-proof power for desktop systems and scalable AI clusters alike — it's a mind-blowing beast made to meet a new kind of research and development need.</p><h3 id="xppen-magic-pro-13">XPPen Magic Pro 13</h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="qytobFchd3fyy3n7CKSapV" name="XPPen Magic Pro 3" alt="XPPen Magic Pro 3 on a white background" src="https://cdn.mos.cms.futurecdn.net/qytobFchd3fyy3n7CKSapV-1920-80.png" mos="" align="middle" fullscreen="" width="2048" height="1152" attribution="" class="inline"><img id="Lh2E9fjBDjoiqJRM3G2aNZ" class="endorsement-img endorsement-bottom-left" style="max-width: 100px; max-height: 100px;" src="https://cdn.mos.cms.futurecdn.net/Lh2E9fjBDjoiqJRM3G2aNZ-1920-80.png" name="IFA 2026 Best in Show badge" alt="An awards badge that says 'Best in Show IFA 2026'"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: XPPen)</span></figcaption></figure><p>XPPen's Magic Pro 13 is a mobile drawing pad designed for creative pros, featuring an industry-first hardware-level drawing display mode that delivers low latency, native color output and higher bandwidth video transmission over a simple one-cable connection, giving you a paper-like experience with 16K pressure sensitivity and cursor hover support. </p><p>It's the first drawing pad in its category to come with dual-USB support, enabling you to benefit from a high-speed data connection while charging your Magic Pro 13.</p><p>The Magic Pro 13 features the new Shelf digital asset management system and XPPen's Canvas software, designed to deliver a simple and intuitive sketching experience for capturing ideas when inspiration strikes. And for creatives on the move it offers two thermal management modes, balancing performance and energy efficiency based on different creative scenarios. </p><h3 id="strutt-ev1c">Strutt ev1c</h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="UZfYRkjxYYfbeH73UEejrV" name="Strutt ev1" alt="Strutt ev1 power chair on a grey gradient background" src="https://cdn.mos.cms.futurecdn.net/UZfYRkjxYYfbeH73UEejrV-1920-80.png" mos="" align="middle" fullscreen="" width="2048" height="1152" attribution="" class="inline"><img id="Lh2E9fjBDjoiqJRM3G2aNZ" class="endorsement-img endorsement-top-right" style="max-width: 100px; max-height: 100px;" src="https://cdn.mos.cms.futurecdn.net/Lh2E9fjBDjoiqJRM3G2aNZ-1920-80.png" name="IFA 2026 Best in Show badge" alt="An awards badge that says 'Best in Show IFA 2026'"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Strutt)</span></figcaption></figure><p>Strutt's ev1c reimagines the power chair with three major advancements: Strutt's evSense sensing array, a quad-drive drivetrain, and a modular, connected design.</p><p>eVSense uses two LiDARs, 10 time-of-flight sensors, six ultrasonics and two cameras to create 3D maps in real time, powering the Co-Pilot collision avoidance for people, pets, and edges, and the Auto-Pilot, which enables you to select on-screen destinations, or use LLM-powered voice commands such as "Take me to the kitchen" — basically it's a self-driving personal mobility vehicle. </p><p>The drivetrain features four-wheel independent suspension, ABS, active steering, and an integrated electronic stability program (ESP), safely managing 13-degree slopes, cobblestones and rough terrain without slippage or tipping. And when it's time to travel, it breaks down into five modules for easy trunk storage. It looks like a genuine move forward for this kind of mobility device.</p><h3 id="xtool-m2-color-craft-laser">xTool M2 Color Craft Laser</h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="FdW4Y4prSK3VjoNWqtYKtV" name="xTool M2" alt="xTool M2 craft printer on a colorful surface" src="https://cdn.mos.cms.futurecdn.net/FdW4Y4prSK3VjoNWqtYKtV-1920-80.png" mos="" align="middle" fullscreen="" width="2048" height="1152" attribution="" class="inline"><img id="Lh2E9fjBDjoiqJRM3G2aNZ" class="endorsement-img endorsement-top-right" style="max-width: 100px; max-height: 100px;" src="https://cdn.mos.cms.futurecdn.net/Lh2E9fjBDjoiqJRM3G2aNZ-1920-80.png" name="IFA 2026 Best in Show badge" alt="An awards badge that says 'Best in Show IFA 2026'"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: xTool)</span></figcaption></figure><p>The xTool M2 is the first desktop machine to combine full-color CMYK printing, laser engraving and laser cutting into one enclosed Class 1 system, delivering a full print-then-cut workflow. Simply print your full-color design onto a piece of wood, leather or acrylic, and the xTool M2 Color Craft Laser cuts or engraves the exact contour with camera-guided precision. And there's a built-in air-assist pump, an industry first for a semiconductor laser, that keeps cut edges clean by reducing carbonization and yellowing.</p><p>Having these three capabilities in a single device is a huge power-up: instead of having to print on one machine and engrave or cut on another, you can turn your raw idea into a finished, professional-looking product in a single operation. It's ideal for stickers, labels, signage, personalized gifts, and small-batch products — you could start a whole business with this one device. And because it's an enclosed system, it's also very safe.</p><h3 id="perlegear-ax1-smart-adaptive-mount">Perlegear AX1 Smart Adaptive Mount</h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="RP8UBQfCFKyefKn2f77N4V" name="perlegear ax1" alt="Perlegear AX1 on a black background" src="https://cdn.mos.cms.futurecdn.net/RP8UBQfCFKyefKn2f77N4V-1920-80.png" mos="" align="middle" fullscreen="" width="2048" height="1152" attribution="" class="inline"><img id="Lh2E9fjBDjoiqJRM3G2aNZ" class="endorsement-img endorsement-top-left" style="max-width: 100px; max-height: 100px;" src="https://cdn.mos.cms.futurecdn.net/Lh2E9fjBDjoiqJRM3G2aNZ-1920-80.png" name="IFA 2026 Best in Show badge" alt="An awards badge that says 'Best in Show IFA 2026'"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Perlegear)</span></figcaption></figure><p>The Perlegear AX1 Smart Adaptive Mount answers an interesting question: what if your TV mount was as smart as your TV? The AX1 is an AI-powered, motorized TV mount that can automatically adjust the height of your TV to different viewing positions, so for example you might have it low for solo TV watching, but raised for watching sports with friends, or for following an on-screen fitness app or motion-based game.</p><p>The AX1 is controllable via gesture commands, its mobile app, via remote control, or via Alexa, Google Assistant or Siri. It can distinguish between single- and multi-person viewing, with the latter calculating the best screen height for the group, and it's capable of moving a 200-pound / 90kg TV up to 15.7 inches / 400mm vertically, with real-time obstacle detection that stops and reverses the move if the path is blocked. </p><h3 id="speediance-gym-monster-3">Speediance Gym Monster 3</h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="n8kpBCPG63TdsfJNmUEc6V" name="speediance gym monster 3" alt="Speediance Gym Monster 3 on a white background" src="https://cdn.mos.cms.futurecdn.net/n8kpBCPG63TdsfJNmUEc6V-1920-80.png" mos="" align="middle" fullscreen="" width="2048" height="1152" attribution="" class="inline"><img id="Lh2E9fjBDjoiqJRM3G2aNZ" class="endorsement-img endorsement-top-left" style="max-width: 100px; max-height: 100px;" src="https://cdn.mos.cms.futurecdn.net/Lh2E9fjBDjoiqJRM3G2aNZ-1920-80.png" name="IFA 2026 Best in Show badge" alt="An awards badge that says 'Best in Show IFA 2026'"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Speediance)</span></figcaption></figure><p>The brilliantly named Gym Monster 3 delivers serious strength training for home workouts, combining the experience of a Smith machine, barbell, dumbbells, cable machine, rowing machine, pulley system, and squat rack into one streamlined setup with up to 200lbs / 90kg of intelligent digital resistance. </p><p>Twin 800W direct-drive motors deliver smooth, consistent resistance through every rep, and it's adjustable in one-pound / 0.45kg increments, so you can progress at your own pace, rather than make big jumps you might not be ready for.</p><p>The Gym Monster 3 is controlled via a clever Bluetooth Ring Control that enables you to make adjustments without stepping away or breaking your flow, and it features four dedicated training modes: Standard, Chain, Eccentric, and Fixed Speed. It also features a built-in AI coach that can guide you from your first session onwards.</p><h3 id="midea-greenapex-dishwasher">Midea GreenApex Dishwasher</h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="wygNdJ3qGopDnCzKAGyqsV" name="greenapex dishwasher" alt="Illustration showing the heat pump system of the GreenApex dishwasher" src="https://cdn.mos.cms.futurecdn.net/wygNdJ3qGopDnCzKAGyqsV-1920-80.png" mos="" align="middle" fullscreen="" width="2048" height="1152" attribution="" class="inline"><img id="Lh2E9fjBDjoiqJRM3G2aNZ" class="endorsement-img endorsement-bottom-left" style="max-width: 100px; max-height: 100px;" src="https://cdn.mos.cms.futurecdn.net/Lh2E9fjBDjoiqJRM3G2aNZ-1920-80.png" name="IFA 2026 Best in Show badge" alt="An awards badge that says 'Best in Show IFA 2026'"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Midea)</span></figcaption></figure><p>The humble dishwasher hasn't changed much since Josephine Cochrane's 1886 invention went electric in the late 1920s and gained spray arms in the 1950s. But the Midea GreenApex is very different from traditional grease-busters. It's a dual heat-pump system that uses a single coordinated heat pump platform to deliver washing, rapid drying, and dry storage in a single appliance. </p><p>The GreenApex is 50% more energy efficient than conventional dishwashers, delivers 30-minute rapid drying and 168 hours of dry storage without continued system operation, and offers gentle heat-pump drying at around 45°C, so you don't need to worry about high temperatures damaging more delicate items. It feels like a major leap forward for an appliance type that doesn't often have the phrase 'cutting-edge' associated with it.</p><h3 id="reolink-omvi-2i-ultra">Reolink OMVI 2i Ultra</h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Yu7V6bA2tewwFwNLQ54zqV" name="Reolink OMVI Ultra" alt="Reolink OMVI Ultra affixed to a wall with a solar panel attached on top" src="https://cdn.mos.cms.futurecdn.net/Yu7V6bA2tewwFwNLQ54zqV-1920-80.png" mos="" align="middle" fullscreen="" width="2048" height="1152" attribution="" class="inline"><img id="Lh2E9fjBDjoiqJRM3G2aNZ" class="endorsement-img endorsement-top-left" style="max-width: 100px; max-height: 100px;" src="https://cdn.mos.cms.futurecdn.net/Lh2E9fjBDjoiqJRM3G2aNZ-1920-80.png" name="IFA 2026 Best in Show badge" alt="An awards badge that says 'Best in Show IFA 2026'"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Reolink)</span></figcaption></figure><p>The Reolink OMVI 2i Ultra Security Camera features an innovative, decoupled dual-lens tracking system in which the individual lenses operate fully independently of one another. Unlike in other dual-lens or hybrid zoom security cameras, the two lenses here are not mechanically linked, so the fixed 130-degree 4K wide-angle lens never moves, while the telephoto camera is free to rotate anywhere, including to cover areas outside the field of view of the main lens. </p><p>This means that when the 4K camera's on-device AI spots a person, vehicle or animal, it triggers the pan-tilt camera to lock onto and follow that subject even after they exit the wide camera's field of view — but you don't lose any recording from the wide camera's view during that time. </p><p>You can also use the wide-angle view to redirect the pan-tilt camera to a particular location by simply tapping that point in the live camera view, or have the wide camera and the pan-tilt camera monitoring two distinct locations, such as your driveway and a side gate.</p><h3 id="navimow-h510-pro">Navimow H510 Pro</h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Q9c2MgcvSfZx5uMy5CXRrV" name="Navimo H510 Pro" alt="Navimo H510 Pro shot from above on a white surface" src="https://cdn.mos.cms.futurecdn.net/Q9c2MgcvSfZx5uMy5CXRrV-1920-80.png" mos="" align="middle" fullscreen="" width="2048" height="1152" attribution="" class="inline"><img id="Lh2E9fjBDjoiqJRM3G2aNZ" class="endorsement-img endorsement-top-left" style="max-width: 100px; max-height: 100px;" src="https://cdn.mos.cms.futurecdn.net/Lh2E9fjBDjoiqJRM3G2aNZ-1920-80.png" name="IFA 2026 Best in Show badge" alt="An awards badge that says 'Best in Show IFA 2026'"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Navimo)</span></figcaption></figure><p>The Navimow H510 Pro features four key innovations: precise edge finishing, zero-turn steering, adaptive mowing intelligence, and 3D modelling. </p><p>Rather than edging with a trimmer line, which can be noisy and cause minor damage, the H510 Pro has an extendable robot arm that performs zero-gap edging quietly and safely — it's the most interesting and smart version of this technology that we've seen.</p><p>The all-wheel-drive system protects your turf too, with a zero-steering system that avoids dragging the wheels across the grass during lateral turns. And the Adaptive Mowing Intelligence feature analyzes grass growth patterns to determine the optimal mowing frequency, using the 1/3 cutting rule to preserve lawn health.</p><p>With 3D terrain modeling rather than the industry-standard 2D, and a sensor array including infrared as well as LiDAR and vision for low-light reliability, and triple-sensor avoidance to protect wildlife, the H510 is a smart solution for even the most challenging lawns.</p><h3 id="dji-romo-2-series">DJI Romo 2 Series</h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="xuqEF5mywEFBBGqJ5TMWoV" name="DJI Romo 2 series" alt="DJI Romo 2 in a stylish room" src="https://cdn.mos.cms.futurecdn.net/xuqEF5mywEFBBGqJ5TMWoV-1920-80.png" mos="" align="middle" fullscreen="" width="2048" height="1152" attribution="" class="inline"><img id="Lh2E9fjBDjoiqJRM3G2aNZ" class="endorsement-img endorsement-top-left" style="max-width: 100px; max-height: 100px;" src="https://cdn.mos.cms.futurecdn.net/Lh2E9fjBDjoiqJRM3G2aNZ-1920-80.png" name="IFA 2026 Best in Show badge" alt="An awards badge that says 'Best in Show IFA 2026'"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: DJI)</span></figcaption></figure><p>The Romo 2 Series is a robot vacuum that won't be defeated by obstacles such as deep rugs, sliding door tracks and other barriers. That's because it has robotic legs that can step over obstacles as high as 4cm, and double-step thresholds up to an impressive 8.5cm. </p><p>It also features a built-in LiDAR-guided ultra-wide-swing robotic arm to extend the mop's reach, and its powerful suction system features an automatically lowering plate that forms a semi-seal on carpet for better extraction of dust and allergens.</p><p>The Romo 2 Series also benefits from the tech of DJI's flagship drones, with a Structured Light-Speckle projector and dual fish-eye vision sensors for full 3D depth perception. It can detect items such as cables and training pads as thin as 2mm, and its AI can distinguish between debris and liquid, as well as deal with transparent obstacles such as glass doors and mirrors.</p><h3 id="acer-vero-16">Acer Vero 16</h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="ywXV3SkCrpfXQi8EYGVNqV" name="acer vero 16" alt="Exploded view of the Acer Vero 16 on white background" src="https://cdn.mos.cms.futurecdn.net/ywXV3SkCrpfXQi8EYGVNqV-1920-80.png" mos="" align="middle" fullscreen="" width="2048" height="1152" attribution="" class="inline"><img id="Lh2E9fjBDjoiqJRM3G2aNZ" class="endorsement-img endorsement-top-left" style="max-width: 100px; max-height: 100px;" src="https://cdn.mos.cms.futurecdn.net/Lh2E9fjBDjoiqJRM3G2aNZ-1920-80.png" name="IFA 2026 Best in Show badge" alt="An awards badge that says 'Best in Show IFA 2026'"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Acer)</span></figcaption></figure><p>With so many laptops sacrificing easy maintenance and repairability for super-skinny styling, the Acer Vero 16 is a breath of fresh air. While it doesn't skimp on style or power — it's highly portable, delivers up to 180 platform TOPS with an Intel Core Ultra X9 processor 388H, and can be configured with a stunning 16-inch 3K OLED display — it's made with longevity in mind. </p><p>A tool-free latch provides easy access to the Vero's innards, and the battery and SSD are replaceable, while the system is designed to support the next two generations of processors if you want to upgrade. Fully 70% of the chassis consists of a blend of PCR (post-consumer recycled) and bio-based oyster shell material, and it meets US military standards for toughness. This is a laptop that's built to last, in a way that's rare to see — and very welcome.</p><h3 id="asus-proart-gr1x">Asus ProArt GR1X</h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="ZussMd9VquHVBFiC3pa8oV" name="Asus ProArt GR1X" alt="Asus ProArt GR1X in white and black on a grey surface" src="https://cdn.mos.cms.futurecdn.net/ZussMd9VquHVBFiC3pa8oV-1920-80.png" mos="" align="middle" fullscreen="" width="2048" height="1152" attribution="" class="inline"><img id="Lh2E9fjBDjoiqJRM3G2aNZ" class="endorsement-img endorsement-bottom-right" style="max-width: 100px; max-height: 100px;" src="https://cdn.mos.cms.futurecdn.net/Lh2E9fjBDjoiqJRM3G2aNZ-1920-80.png" name="IFA 2026 Best in Show badge" alt="An awards badge that says 'Best in Show IFA 2026'"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Asus)</span></figcaption></figure><p>The Asus ProArt GR1X is tiny, measuring just 150 x 150 x 51mm. But there's nothing small about its specification. Designed for advanced content creation and local AI workflows, it delivers data center-class compute inside a mini PC, removing the need to run LLMs remotely while eliminating cloud latency, cost, and IP protection concerns for pro creators.</p><p>The ProArt GR1X features the groundbreaking Nvidia RTX Spark 'superchip', which means you get a 20-core Grace CPU and a 6,144-core Blackwell GPU, delivering up to one petaflop of FP4 AI inference performance. With up to 128GB of LPDDR5X unified memory at 9,400MHz, it enables you to run up to 120B-parameter LLMs locally, and render entire 3D scenes on-device in Windows 11. </p><p>That kind of power demands highly efficient cooling, and Asus has developed an advanced precision-cooling system that delivers 1.6x more efficient thermal coverage than standard compact systems. Asus also solved the challenge of metal-enclosure signal attenuation by embedding the Wi-Fi 7 antennas behind a glass-like signal-transparent material. It's quite the design coup, and an impressive showcase for Nvidia's new elite chip.</p><h3 id="ecoflow-stream-5000-stream-ac-5000">EcoFlow STREAM 5000 / STREAM AC 5000</h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="7BZSXxXooTq56kkbU5pboV" name="ecoflow stream series" alt="EcoFlow STREAM battery and solar panels" src="https://cdn.mos.cms.futurecdn.net/7BZSXxXooTq56kkbU5pboV-1920-80.png" mos="" align="middle" fullscreen="" width="2048" height="1152" attribution="" class="inline"><img id="Lh2E9fjBDjoiqJRM3G2aNZ" class="endorsement-img endorsement-top-left" style="max-width: 100px; max-height: 100px;" src="https://cdn.mos.cms.futurecdn.net/Lh2E9fjBDjoiqJRM3G2aNZ-1920-80.png" name="IFA 2026 Best in Show badge" alt="An awards badge that says 'Best in Show IFA 2026'"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: EcoFlow)</span></figcaption></figure><p>The EcoFlow Stream series is a plug-and-play modular system for residential solar energy generation and storage that's designed to be renter- and apartment-friendly. It can add battery storage and smart power-management to existing solar PV installations, as well as being employed to create a new home system from scratch. </p><p>The Stream Series features EcoFlow's Oasis 3.0 home energy management system, which understands dynamic energy tariffs, keeps an eye on the weather forecast, and continuously analyzes your home energy needs to optimize generation, storage and consumption. </p><p>That means you can give the EcoBot AI agent instructions such as "I need my car charged by 7am tomorrow at the lowest possible cost" and it will implement the necessary steps, or have your energy schedules reconfigured automatically when you have visitors or other instances of increased demand.</p><p>From October the EcoFlow Stream series will also get a new feature: Local Mode, which gives you uninterrupted operation and local app control even if there are cloud or connectivity outages. It's a very powerful (no pun intended) system that's been designed with the real world in mind.</p><h3 id="tapo-d260">Tapo D260</h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="mD2XR5NnCDCxGwB7Q6SKTG" name="Tapo D260" alt="The Tap D260 doorbell mounted on a wall" src="https://cdn.mos.cms.futurecdn.net/mD2XR5NnCDCxGwB7Q6SKTG-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" class="inline"><img id="Lh2E9fjBDjoiqJRM3G2aNZ" class="endorsement-img endorsement-top-left" style="max-width: 100px; max-height: 100px;" src="https://cdn.mos.cms.futurecdn.net/Lh2E9fjBDjoiqJRM3G2aNZ-1920-80.png" name="IFA 2026 Best in Show badge" alt="An awards badge that says 'Best in Show IFA 2026'"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: TP-Link)</span></figcaption></figure><p>The Tapo D260 wired/wireless security camera is a video doorbell that delivers all the benefits of high-spec security without the potential downsides: it stores facial recognition data locally to protect privacy, and no features are locked behind a subscription. It's advanced, yet totally cost-free once you buy it. </p><p>It has 4K resolution, a wide 180-degree field of view to cover the entire doorway, and delivers sharp detail in subjects up to 30 feet away. </p><p>The D260 features multiple intelligent detection and recognition features, including radar as well as the obligatory infrared motion sensor. These enable it to discount false alerts from things such as moving branches or passing headlights, while on-device AI can recognize people, packages, vehicles, and animals. </p><p>If you wish, you can opt in to build a library of family and friends using facial recognition, and there's even a voice changer to disguise your voice when speaking to unfamiliar callers. In a world where people are sick of subscriptions, this offers a great security upgrade without the monthly fee.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ DJI's second-gen Romo robot vacuum looks like the lovechild of an HR Giger drawing and an iMac G3 ]]></title>
                                                                                                <dc:content><![CDATA[ <ul><li><strong>The Romo 2 Series is drone brand DJI's second-gen robot vacuum</strong></li><li><strong>Available in transparent (P2) and non-transparent A2) versions </strong></li><li><strong>Following Romo's hacking drama, DJI has added 'Local Data Mode', which severs the bot's internet connection entirely</strong></li></ul><p>Looks aren't everything, but in the case of the DJI Romo 2, that seems the logical place to start. DJI has come in strong with its second-generation robot vacuum, calling it "not just a cleaning tool, [but] an elegant, semi-translucent piece of future-forward home decor". </p><p>My home has been blessed with the presence of several very good-looking robovacs over the year, but it must be said that none has quite the wow-factor of the Romo 2. (I'm about to begin testing at home, and also saw the bot being demoed at <a href="https://www.techradar.com/tag/ifa">IFA 2026</a>.)</p><p>The rest of the market is going for minimalist shapes and glossy surfaces; DJI has embraced the opposite aesthetic. Like its predecessor, the Romo 2 has a chunky, curvy build that reminds me of Apple's iMac G3 of the late 90s, while the transparent cover — which exposes tubes, filters and mechanisms that make the robovac function — has shades of HR Giger. Although, obviously, without the sexual overtones. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="sWrAWYkhpMqEyhtaqJRzgD" name="20260901_095855 copy 2" alt="DJI Romo 2 robot vacuum in reviewer's home" src="https://cdn.mos.cms.futurecdn.net/sWrAWYkhpMqEyhtaqJRzgD-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>I should state at this point that I'm specifically talking about the Romo P2. DJI has also released an A2 version, which is essentially the same except with opaque covers, for those seeking a less bold aesthetic. </p><p>I'm already hooked on the design of the Romo P2, but I don't like it enough that I'd have it in my house if it wasn't also a good cleaner, so let's take a look at what DJI's second-gen robovac has in its cleaning arsenal.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="p4bpZkyT5VTCmGXDS7Vt2H" name="20260904_105343 copy" alt="DJI Romo 2 robovac on show at IFA" src="https://cdn.mos.cms.futurecdn.net/p4bpZkyT5VTCmGXDS7Vt2H-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><h2 id="making-your-way">Making your way</h2><p>DJI really knows what it's doing when it comes to flying gadgets — it makes pretty much all the <a href="https://www.techradar.com/cameras/drones/best-drone">best drones</a> on the market right now (which makes it slightly unfortunate that they're in the <a href="https://www.techradar.com/cameras/drones/the-fcc-could-start-banning-dji-drones-that-have-previously-been-approved-and-dji-isnt-happy-about-it">process of being banned in the US</a>). </p><p>Now, it promises to use this expertise into its robovacs. Specifically, the press info states that "By converting aerial robotics intelligence into ultimate terrestrial performance, [the Romo 2] sets the new gold standard for home automation."</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="knFEYj6Mg4VMXHgvnyNY4H" name="20260904_105402 copy" alt="DJI Romo 2 robovac on show at IFA" src="https://cdn.mos.cms.futurecdn.net/knFEYj6Mg4VMXHgvnyNY4H-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The main area where the brand has been able to port in its drone knowledge is in its navigation and spatial perception. The Romo 2 uses "an advanced sensory array" that combines "Structured-Light Speckle Projector LiDAR with dual-eye fisheye vision sensors" to create precise 3D maps in real time. </p><p>DJI says it can avoid obstacles as thin as 2mm, and navigate objects like floor-standing mirrors and glass partitions with confidence and ease. I haven't tested the Romo 2 on my own glass partitions yet, but given the <a href="https://www.techradar.com/home/robot-vacuums/dji-romo-p-review">original Romo boasted some crazy-good obstacle avoidance</a> skills, I have high expectations. </p><h2 id="leveling-up">Leveling up</h2><p>Working alongside those navigation skills are some mechanical features to help deliver thorough cleaning coverage. The Romo 2 has pop-out wheels that raise it up to boost it over single steps up to 1.6in / 4cm tall, and double steps up to 3.3in / 8.5cm. That's not quite the biggest step clearance I've seen from a robovac at this year's IFA, but it's up there.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="hH7e4AuGAr3REhjnz8NkcG" name="20260904_105907 copy" alt="DJI Romo 2 robovac on show at IFA" src="https://cdn.mos.cms.futurecdn.net/hH7e4AuGAr3REhjnz8NkcG-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The Romo 2 also has a mop pad that can swing out 123 degrees, extending the mop's reach by 3in / 7.8cm and enabling it to dip right under low furniture. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="CRfsYTxMskLdjhPe52onJG" name="20260904_105814 copy" alt="DJI Romo 2 robovac on show at IFA" src="https://cdn.mos.cms.futurecdn.net/CRfsYTxMskLdjhPe52onJG-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>DJI has also added a clever-sounding feature whereby the Romo 2 uses AI to distinguish between solid and liquid spills. When it encounters the latter, the bot will wave its robotic mop arm out to clear the mess without getting any on its wheels. </p><h2 id="privacy-focus">Privacy focus</h2><p>The launch of DJI's first robot vacuum was marred by a security hiccup that saw <a href="https://www.techradar.com/home/robot-vacuums/a-simple-hack-gave-the-owner-of-a-brand-new-dji-romo-access-to-a-global-army-of-robovacs">a Romo owner inadvertently gaining access to 7,000 other devices</a>, so it makes sense that privacy is addressed specifically in the press material for the second-gen version. </p><p>DJI has added a 'Local Data Mode', which severs the internet connection of the DJI Home app completely. With this mode activated, things like home maps, camera feeds and voice recordings should have no way to escape. </p> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/home/robot-vacuums/djis-second-gen-romo-robot-vacuum-looks-like-the-lovechild-of-an-hr-giger-drawing-and-an-imac-g3-and-boasts-some-robust-new-privacy-measures-following-the-first-gen-models-hacking-embarrassment</link>
                                                                            <description>
                            <![CDATA[ The Romo 2's uses DJI's drone expertise to deliver precise navigation. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">S8f8oTr9VQeepgaqPMRqp7</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/NXFMAKwRdHMVhX2YbcEHrC-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 04 Sep 2026 11:52:31 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Robot Vacuums]]></category>
                                                    <category><![CDATA[Home]]></category>
                                                    <category><![CDATA[Smart Home]]></category>
                                                                                                <author><![CDATA[ ruth.hamilton@futurenet.com (Ruth Hamilton) ]]></author>                    <dc:creator><![CDATA[ Ruth Hamilton ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/eXBKKGGwbDvhLePY2FSnfU-320-70.jpeg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Ruth is TechRadar&#039;s Collections Editor, responsible for masterminding TechRadar&#039;s approach towards the new Collections format — a themed, curated selection of product recommendations designed to provide readers with an exciting new way to shop for the very best gadgets and gizmos. She has been reviewing and writing about products since 2020, covering everything from robot vacuums and hair stylers to outdoor kit and mattresses.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/NXFMAKwRdHMVhX2YbcEHrC-1920-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[DJI Romo 2 robot vacuum in reviewer&#039;s home]]></media:description>                                                            <media:text><![CDATA[DJI Romo 2 robot vacuum in reviewer&#039;s home]]></media:text>
                                <media:title type="plain"><![CDATA[DJI Romo 2 robot vacuum in reviewer&#039;s home]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/NXFMAKwRdHMVhX2YbcEHrC-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <ul><li><strong>The Romo 2 Series is drone brand DJI's second-gen robot vacuum</strong></li><li><strong>Available in transparent (P2) and non-transparent A2) versions </strong></li><li><strong>Following Romo's hacking drama, DJI has added 'Local Data Mode', which severs the bot's internet connection entirely</strong></li></ul><p>Looks aren't everything, but in the case of the DJI Romo 2, that seems the logical place to start. DJI has come in strong with its second-generation robot vacuum, calling it "not just a cleaning tool, [but] an elegant, semi-translucent piece of future-forward home decor". </p><p>My home has been blessed with the presence of several very good-looking robovacs over the year, but it must be said that none has quite the wow-factor of the Romo 2. (I'm about to begin testing at home, and also saw the bot being demoed at <a href="https://www.techradar.com/tag/ifa">IFA 2026</a>.)</p><p>The rest of the market is going for minimalist shapes and glossy surfaces; DJI has embraced the opposite aesthetic. Like its predecessor, the Romo 2 has a chunky, curvy build that reminds me of Apple's iMac G3 of the late 90s, while the transparent cover — which exposes tubes, filters and mechanisms that make the robovac function — has shades of HR Giger. Although, obviously, without the sexual overtones. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="sWrAWYkhpMqEyhtaqJRzgD" name="20260901_095855 copy 2" alt="DJI Romo 2 robot vacuum in reviewer's home" src="https://cdn.mos.cms.futurecdn.net/sWrAWYkhpMqEyhtaqJRzgD-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>I should state at this point that I'm specifically talking about the Romo P2. DJI has also released an A2 version, which is essentially the same except with opaque covers, for those seeking a less bold aesthetic. </p><p>I'm already hooked on the design of the Romo P2, but I don't like it enough that I'd have it in my house if it wasn't also a good cleaner, so let's take a look at what DJI's second-gen robovac has in its cleaning arsenal.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="p4bpZkyT5VTCmGXDS7Vt2H" name="20260904_105343 copy" alt="DJI Romo 2 robovac on show at IFA" src="https://cdn.mos.cms.futurecdn.net/p4bpZkyT5VTCmGXDS7Vt2H-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><h2 id="making-your-way">Making your way</h2><p>DJI really knows what it's doing when it comes to flying gadgets — it makes pretty much all the <a href="https://www.techradar.com/cameras/drones/best-drone">best drones</a> on the market right now (which makes it slightly unfortunate that they're in the <a href="https://www.techradar.com/cameras/drones/the-fcc-could-start-banning-dji-drones-that-have-previously-been-approved-and-dji-isnt-happy-about-it">process of being banned in the US</a>). </p><p>Now, it promises to use this expertise into its robovacs. Specifically, the press info states that "By converting aerial robotics intelligence into ultimate terrestrial performance, [the Romo 2] sets the new gold standard for home automation."</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="knFEYj6Mg4VMXHgvnyNY4H" name="20260904_105402 copy" alt="DJI Romo 2 robovac on show at IFA" src="https://cdn.mos.cms.futurecdn.net/knFEYj6Mg4VMXHgvnyNY4H-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The main area where the brand has been able to port in its drone knowledge is in its navigation and spatial perception. The Romo 2 uses "an advanced sensory array" that combines "Structured-Light Speckle Projector LiDAR with dual-eye fisheye vision sensors" to create precise 3D maps in real time. </p><p>DJI says it can avoid obstacles as thin as 2mm, and navigate objects like floor-standing mirrors and glass partitions with confidence and ease. I haven't tested the Romo 2 on my own glass partitions yet, but given the <a href="https://www.techradar.com/home/robot-vacuums/dji-romo-p-review">original Romo boasted some crazy-good obstacle avoidance</a> skills, I have high expectations. </p><h2 id="leveling-up">Leveling up</h2><p>Working alongside those navigation skills are some mechanical features to help deliver thorough cleaning coverage. The Romo 2 has pop-out wheels that raise it up to boost it over single steps up to 1.6in / 4cm tall, and double steps up to 3.3in / 8.5cm. That's not quite the biggest step clearance I've seen from a robovac at this year's IFA, but it's up there.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="hH7e4AuGAr3REhjnz8NkcG" name="20260904_105907 copy" alt="DJI Romo 2 robovac on show at IFA" src="https://cdn.mos.cms.futurecdn.net/hH7e4AuGAr3REhjnz8NkcG-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The Romo 2 also has a mop pad that can swing out 123 degrees, extending the mop's reach by 3in / 7.8cm and enabling it to dip right under low furniture. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="CRfsYTxMskLdjhPe52onJG" name="20260904_105814 copy" alt="DJI Romo 2 robovac on show at IFA" src="https://cdn.mos.cms.futurecdn.net/CRfsYTxMskLdjhPe52onJG-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>DJI has also added a clever-sounding feature whereby the Romo 2 uses AI to distinguish between solid and liquid spills. When it encounters the latter, the bot will wave its robotic mop arm out to clear the mess without getting any on its wheels. </p><h2 id="privacy-focus">Privacy focus</h2><p>The launch of DJI's first robot vacuum was marred by a security hiccup that saw <a href="https://www.techradar.com/home/robot-vacuums/a-simple-hack-gave-the-owner-of-a-brand-new-dji-romo-access-to-a-global-army-of-robovacs">a Romo owner inadvertently gaining access to 7,000 other devices</a>, so it makes sense that privacy is addressed specifically in the press material for the second-gen version. </p><p>DJI has added a 'Local Data Mode', which severs the internet connection of the DJI Home app completely. With this mode activated, things like home maps, camera feeds and voice recordings should have no way to escape. </p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Govee's new skylight-style smart light shifts colors depending on the time, weather, and your mood ]]></title>
                                                                                                <dc:content><![CDATA[ <ul><li><strong>The Govee Sky Ceiling Light shifts according to time, weather, and mood</strong></li><li><strong>It prioritizes flicker-free blue light when you want to concentrate</strong></li><li><strong>It's Matter-compatible, unlike a recent skylight-style light from Philips</strong></li></ul><p>Smart lighting company Govee has launched a new smart ceiling light that changes color depending on the time of day, just like a real skylight — and can even use AI to shift its settings to suit your mood.</p><p>The Govee Sky Ceiling Light, which debuted at the IFA tech show in Berlin this week, can automatically adjust the light based on time and weather (ideal for rooms without natural light), and can prioritize Govee's sky blue spectrum when you want to feel energized (particularly handy if you're working from home).</p><p>A few months ago, <a href="https://www.techradar.com/home/smart-lights/philips-just-launched-a-new-ceiling-light-that-looks-like-a-skylight-and-i-think-it-looks-incredible-but-its-lack-of-smart-features-makes-its-hefty-price-tag-hard-to-justify">Philips launched a new skylight-style light fitting</a> that changes light temperature and brightness to suit the time of day. It looked very realistic, but without true smart home integration (the skylight is operated via a physical remote control), we found its starting price of €499.99 (about $580 / £430 / AU$810) a little hard to swallow.</p><p>The Govee Sky Ceiling Light, on the other hand, is Matter-compatible, so it can integrate with your other smart home devices. It's more affordable too, with a list price of $399.99 (about £300 / AU$560).</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/2uAQ6kNWge4SJQLhN9UsxS-1920-80.jpg" alt="Govee Sky Ceiling Light installed in room" /><figcaption><small role="credit">Govee</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/d8ugSx3C3BZMGzpQp35EVT-1920-80.png" alt="Govee Sky Ceiling Light installed in room" /><figcaption><small role="credit">Govee</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/Hwi3DqRErrUbVJKUdESC7T-1920-80.png" alt="Govee Sky Ceiling Light installed in room" /><figcaption><small role="credit">Govee</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/9j9ffpEdVijXhu5vVEWiqS-1920-80.png" alt="Govee Sky Ceiling Light installed in room" /><figcaption><small role="credit">Govee</small></figcaption></figure></figure><p>However, the Philips lamp has a few extra tricks up its sleeve, including an integrated UV-B module designed to support your body's natural production of vitamin D, and an IP44 rating for use in bathrooms — which often lack real windows. Its rectangular shape arguably looks more like a real skylight as well, particularly in homes with traditional styling.</p><p>I can see smart skylights becoming increasingly popular over the coming years, particularly for small homes, and it will be interesting to see how else brands manage to differentiate themselves. The Philips light isn't a Hue product, but it is made by the same parent company (Signify), so I wouldn't be at all surprised if we see a Philips Hue skylight this time next year.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/home/smart-lights/govee-takes-on-philips-with-smart-ceiling-light-looks-just-like-a-skylight-and-shifts-colors-depending-on-the-time-weather-and-even-your-mood</link>
                                                                            <description>
                            <![CDATA[ Philips wowed us with its realistic skylight earlier this year, but how does Govee's version compare? ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">wBqk4K7EMWGmNBZzPQ3NCK</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/dkvx8HDSnqCgSMjaKzN4xS-1920-80.png" type="image/png" length="0"></enclosure>
                                                                        <pubDate>Fri, 04 Sep 2026 11:47:44 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Smart Lights]]></category>
                                                    <category><![CDATA[Home]]></category>
                                                    <category><![CDATA[Smart Home]]></category>
                                                                                                <author><![CDATA[ catherine.ellis@futurenet.com (Cat Ellis) ]]></author>                    <dc:creator><![CDATA[ Cat Ellis ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/gxZz6rCoNR6sXhqL34MvML-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Cat is TechRadar&#039;s Homes Editor, covering smart home tech, kitchen appliances, vacuums, haircare and more. She&#039;s been a tech journalist for 15 years, having worked on print magazines including PC Plus and PC Format, and is a&lt;a href=&quot;https://sca.coffee/&quot;&gt; &lt;u&gt;Speciality Coffee Association&lt;/u&gt;&lt;/a&gt; (SCA) certified barista. Whether you want to invest in some smart lights, find your ideal hair styler, or pick the espresso machine of your dreams, she&#039;s the right person to help.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/png" url="https://cdn.mos.cms.futurecdn.net/dkvx8HDSnqCgSMjaKzN4xS-1920-80.png">
                                                            <media:credit><![CDATA[Govee]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Govee Sky Ceiling Light installed in room]]></media:description>                                                            <media:text><![CDATA[Govee Sky Ceiling Light installed in room]]></media:text>
                                <media:title type="plain"><![CDATA[Govee Sky Ceiling Light installed in room]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/dkvx8HDSnqCgSMjaKzN4xS-1920-80.png" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <ul><li><strong>The Govee Sky Ceiling Light shifts according to time, weather, and mood</strong></li><li><strong>It prioritizes flicker-free blue light when you want to concentrate</strong></li><li><strong>It's Matter-compatible, unlike a recent skylight-style light from Philips</strong></li></ul><p>Smart lighting company Govee has launched a new smart ceiling light that changes color depending on the time of day, just like a real skylight — and can even use AI to shift its settings to suit your mood.</p><p>The Govee Sky Ceiling Light, which debuted at the IFA tech show in Berlin this week, can automatically adjust the light based on time and weather (ideal for rooms without natural light), and can prioritize Govee's sky blue spectrum when you want to feel energized (particularly handy if you're working from home).</p><p>A few months ago, <a href="https://www.techradar.com/home/smart-lights/philips-just-launched-a-new-ceiling-light-that-looks-like-a-skylight-and-i-think-it-looks-incredible-but-its-lack-of-smart-features-makes-its-hefty-price-tag-hard-to-justify">Philips launched a new skylight-style light fitting</a> that changes light temperature and brightness to suit the time of day. It looked very realistic, but without true smart home integration (the skylight is operated via a physical remote control), we found its starting price of €499.99 (about $580 / £430 / AU$810) a little hard to swallow.</p><p>The Govee Sky Ceiling Light, on the other hand, is Matter-compatible, so it can integrate with your other smart home devices. It's more affordable too, with a list price of $399.99 (about £300 / AU$560).</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/2uAQ6kNWge4SJQLhN9UsxS-1920-80.jpg" alt="Govee Sky Ceiling Light installed in room" /><figcaption><small role="credit">Govee</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/d8ugSx3C3BZMGzpQp35EVT-1920-80.png" alt="Govee Sky Ceiling Light installed in room" /><figcaption><small role="credit">Govee</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/Hwi3DqRErrUbVJKUdESC7T-1920-80.png" alt="Govee Sky Ceiling Light installed in room" /><figcaption><small role="credit">Govee</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/9j9ffpEdVijXhu5vVEWiqS-1920-80.png" alt="Govee Sky Ceiling Light installed in room" /><figcaption><small role="credit">Govee</small></figcaption></figure></figure><p>However, the Philips lamp has a few extra tricks up its sleeve, including an integrated UV-B module designed to support your body's natural production of vitamin D, and an IP44 rating for use in bathrooms — which often lack real windows. Its rectangular shape arguably looks more like a real skylight as well, particularly in homes with traditional styling.</p><p>I can see smart skylights becoming increasingly popular over the coming years, particularly for small homes, and it will be interesting to see how else brands manage to differentiate themselves. The Philips light isn't a Hue product, but it is made by the same parent company (Signify), so I wouldn't be at all surprised if we see a Philips Hue skylight this time next year.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I just saw a lawnbot with a mechanical arm that reaches out to hand-trim your edges ]]></title>
                                                                                                <dc:content><![CDATA[ <ul><li><strong>Segway Navimow has unveiled its Navimow H510 Pro lawnbot at IFA</strong></li><li><strong>It features an extending, robotic arm for trimming lawn edges</strong></li><li><strong>Also uses the brand's 'Xero-turn' technology for gentler turns </strong></li></ul><p>First, we had a <a href="https://www.techradar.com/home/robot-vacuums/roborock-saros-z70-review">robot vacuum with an arm</a> for picking up socks. Now, limbs are making their way to robot lawn mowers too. The new Segway Navimow H510 Pro features its own mechanical arm, and this one is for trimming the edges of your lawn. </p><p>Effective edge-trimming has long been a problem for lawnbot-makers, and in recent years we've started to see side modules being added onto machines for exactly this purpose. </p><p>But Segway Navimow's solution is altogether cleaner: it has taken the main blade and mounted it on a robotic arm, so when the lawnbot is at the perimeter of a lawn the whole thing can reach out (by up to 2.9in / 7.4cm) to mow those edges. In fact, the brand promises 'zero-gap edge trimming' — no blade left unshorn. </p><p>I saw it being demoed at <a href="https://www.techradar.com/tag/ifa">IFA 2026</a>, and it was pretty majestic in action. You can see a clip below of the blade retracting back in.</p><div class="looped-video"><video class="lazyload-in-view lazyloading" data-src="https://cdn.mos.cms.futurecdn.net/TRsFxBcSHygZdN6Dxk8jzA/trim.mp4" autoplay loop muted playsinline src="https://cdn.mos.cms.futurecdn.net/TRsFxBcSHygZdN6Dxk8jzA/trim.mp4"></video></div><p>The supporting software, called 'EdgeSense', coordinates the movement depending on the type of edge it's tackling. It'll react differently to hard edges (like walls and patios), soft edges (like flower beds) and irregular edges (table legs). </p><p>Because the edge trimmer and main mower use the same cutting deck, the results should be more consistent and even than if you were relying on two separate systems. Segway Navimow's aim is to "finally [close] the gap between robotic convenience and truly finished results". </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.21%;"><img id="qW9JwWhAQx4nSbePgwERNU" name="20260904_112529 copy" alt="Segway Navimow Lawnbot on show at IFA" src="https://cdn.mos.cms.futurecdn.net/qW9JwWhAQx4nSbePgwERNU-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1439" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>One issue with finding a successful edge-cutting solution is how to handle the safety aspect of having blades protruding out from the bot's main shell protective casing. </p><p>On this front, Segway Navimow has added a side shield that provides a barrier against the blades. There's also "live-detection protection" that will shut off operation instantly when a human or animal approaches. The latter partly relies on heat-sensing to alert the lawnbot that there's a live creature about. </p><h2 id="smooth-mover">Smooth mover</h2><p>The Segway Navimow H510 Pro uses the brand's 'Xero-Turn' technology. This tech was introduced at CES in January, and sees the lawnbot <a href="https://www.techradar.com/home/robot-vacuums/when-it-needs-to-pivot-it-turns-the-wheels-and-does-a-crab-walk-segway-navimow-exec-reveals-the-invention-that-means-its-new-flagship-lawnbot-wont-churn-up-your-grass">twist its wheels to effectively crab-walk its way around bends</a>, so it won't churn up your grass. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.29%;"><img id="gutULXPHsm8PrZzq6iZ2AW" name="20260904_112308 copy" alt="Segway Navimow Lawnbot on show at IFA" src="https://cdn.mos.cms.futurecdn.net/gutULXPHsm8PrZzq6iZ2AW-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1441" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>There are further features to help the lawnbot tackle tricky terrain without risking damage to your turf. Each of the four wheels is independently powered (it's an AWD machine) to enable it to move with precision, and there's rear wheel suspension to maximize wheel contact at all times, even when the ground is uneven. </p> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/home/smart-home/i-just-saw-a-lawnbot-with-a-mechanical-arm-that-reaches-out-to-hand-trim-your-edges-and-it-was-mesmerizing</link>
                                                                            <description>
                            <![CDATA[ Segway Navimow's new robot lawn mower has an ultra-clever approach to edges. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">YxnrqrXiNpJ4QqUAoEEy5L</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/ck77fetjnHm7jnB2ZQWJyV-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 04 Sep 2026 10:17:58 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Smart Home]]></category>
                                                    <category><![CDATA[Home]]></category>
                                                                                                <author><![CDATA[ ruth.hamilton@futurenet.com (Ruth Hamilton) ]]></author>                    <dc:creator><![CDATA[ Ruth Hamilton ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/eXBKKGGwbDvhLePY2FSnfU-320-70.jpeg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Ruth is TechRadar&#039;s Collections Editor, responsible for masterminding TechRadar&#039;s approach towards the new Collections format — a themed, curated selection of product recommendations designed to provide readers with an exciting new way to shop for the very best gadgets and gizmos. She has been reviewing and writing about products since 2020, covering everything from robot vacuums and hair stylers to outdoor kit and mattresses.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/ck77fetjnHm7jnB2ZQWJyV-1920-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Segway Navimow Lawnbot on show at IFA]]></media:description>                                                            <media:text><![CDATA[Segway Navimow Lawnbot on show at IFA]]></media:text>
                                <media:title type="plain"><![CDATA[Segway Navimow Lawnbot on show at IFA]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/ck77fetjnHm7jnB2ZQWJyV-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <ul><li><strong>Segway Navimow has unveiled its Navimow H510 Pro lawnbot at IFA</strong></li><li><strong>It features an extending, robotic arm for trimming lawn edges</strong></li><li><strong>Also uses the brand's 'Xero-turn' technology for gentler turns </strong></li></ul><p>First, we had a <a href="https://www.techradar.com/home/robot-vacuums/roborock-saros-z70-review">robot vacuum with an arm</a> for picking up socks. Now, limbs are making their way to robot lawn mowers too. The new Segway Navimow H510 Pro features its own mechanical arm, and this one is for trimming the edges of your lawn. </p><p>Effective edge-trimming has long been a problem for lawnbot-makers, and in recent years we've started to see side modules being added onto machines for exactly this purpose. </p><p>But Segway Navimow's solution is altogether cleaner: it has taken the main blade and mounted it on a robotic arm, so when the lawnbot is at the perimeter of a lawn the whole thing can reach out (by up to 2.9in / 7.4cm) to mow those edges. In fact, the brand promises 'zero-gap edge trimming' — no blade left unshorn. </p><p>I saw it being demoed at <a href="https://www.techradar.com/tag/ifa">IFA 2026</a>, and it was pretty majestic in action. You can see a clip below of the blade retracting back in.</p><div class="looped-video"><video class="lazyload-in-view lazyloading" data-src="https://cdn.mos.cms.futurecdn.net/TRsFxBcSHygZdN6Dxk8jzA/trim.mp4" autoplay loop muted playsinline src="https://cdn.mos.cms.futurecdn.net/TRsFxBcSHygZdN6Dxk8jzA/trim.mp4"></video></div><p>The supporting software, called 'EdgeSense', coordinates the movement depending on the type of edge it's tackling. It'll react differently to hard edges (like walls and patios), soft edges (like flower beds) and irregular edges (table legs). </p><p>Because the edge trimmer and main mower use the same cutting deck, the results should be more consistent and even than if you were relying on two separate systems. Segway Navimow's aim is to "finally [close] the gap between robotic convenience and truly finished results". </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.21%;"><img id="qW9JwWhAQx4nSbePgwERNU" name="20260904_112529 copy" alt="Segway Navimow Lawnbot on show at IFA" src="https://cdn.mos.cms.futurecdn.net/qW9JwWhAQx4nSbePgwERNU-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1439" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>One issue with finding a successful edge-cutting solution is how to handle the safety aspect of having blades protruding out from the bot's main shell protective casing. </p><p>On this front, Segway Navimow has added a side shield that provides a barrier against the blades. There's also "live-detection protection" that will shut off operation instantly when a human or animal approaches. The latter partly relies on heat-sensing to alert the lawnbot that there's a live creature about. </p><h2 id="smooth-mover">Smooth mover</h2><p>The Segway Navimow H510 Pro uses the brand's 'Xero-Turn' technology. This tech was introduced at CES in January, and sees the lawnbot <a href="https://www.techradar.com/home/robot-vacuums/when-it-needs-to-pivot-it-turns-the-wheels-and-does-a-crab-walk-segway-navimow-exec-reveals-the-invention-that-means-its-new-flagship-lawnbot-wont-churn-up-your-grass">twist its wheels to effectively crab-walk its way around bends</a>, so it won't churn up your grass. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.29%;"><img id="gutULXPHsm8PrZzq6iZ2AW" name="20260904_112308 copy" alt="Segway Navimow Lawnbot on show at IFA" src="https://cdn.mos.cms.futurecdn.net/gutULXPHsm8PrZzq6iZ2AW-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1441" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>There are further features to help the lawnbot tackle tricky terrain without risking damage to your turf. Each of the four wheels is independently powered (it's an AWD machine) to enable it to move with precision, and there's rear wheel suspension to maximize wheel contact at all times, even when the ground is uneven. </p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ 'It'll light up your home like a bowling alley' — Dyson's new robovac has a UV light to see invisible spills ]]></title>
                                                                                                <dc:content><![CDATA[ <ul><li><strong>Dyson has launched three new 'Nurovi' robot vacuums</strong></li><li><strong>The R3 Nurovi Spot+Scrub UV has a roller mop and UV spill detection</strong></li><li><strong>The R2 Nurovi Wash+Dry has two Reuleaux triangle mops, which move asymmetrically for no-gap cleaning</strong></li><li><strong>The R1 Nurovi Dry is a vacuum-only bot, with no mopping</strong></li></ul><p>Dyson just unveiled a new fleet of robot vacuums with plenty of intriguing features. The range is called 'Nurovi' which is a portmanteau — the bots combine "Neural Intelligence technology" with Dyson's new "Vision system". It makes sense, but if anyone can remember how to spell it without checking, I'll be impressed.</p><p>There are three models in the lineup: the R3 Nurovi Spot+Scrub UV and R2 Nurovi Wash+Dry are both hybrid machines that can mop as well as vacuuming, and the R1 Nurovi Dry is a vacuum-only option. </p><p>I had a chance to check them all out at Dyson's <a href="https://www.techradar.com/tag/ifa">IFA 2026</a>-adjacent event in Berlin. Here, I also chatted to Nathan Lawson Mclean, a Senior Design Manager at Dyson, about the development process. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="iFneAQaE78U2UX8roMSHgN" name="20260903_185209 copy" alt="Dyson Nurovi robot vacuum" src="https://cdn.mos.cms.futurecdn.net/iFneAQaE78U2UX8roMSHgN-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><h2 id="light-it-up">Light it up</h2><p>Let's start with the flagship model: the R3. This is a second-gen upgrade of last year's <a href="https://www.techradar.com/home/robot-vacuums/dyson-spot-scrub-ai-review">Spot+Scrub Ai</a>, and like that model it's designed to 'spot' concentrated messes and spills and scrub back and forth over them to clean them away. However, the R3 model's spill-spotting skills are powered by UV light.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="n7eKAyGYH5T2WRnhyPNChN" name="20260903_185755 copy" alt="Dyson Nurovi robot vacuum" src="https://cdn.mos.cms.futurecdn.net/n7eKAyGYH5T2WRnhyPNChN-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">The R3 Nurovi Spot+Scrub UV has a UV light to illuminate invisible spills </span><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>"We continue to leverage our in-house vision systems and neural intelligence, to really build on this advanced stain detection," Lawson Mclean tells me. He explains that whereas with the Spot+Scrub Ai, Dyson focused on identifying a range of specific stains, here the team worked on tackling the invisible residue left by dried liquid spills. The UV light causes those stains to fluoresce. </p><p>"So as the robot's running around your home on its mission, it will now expose these totally invisible stains that become breeding grounds for bacteria," he explains. "And it will then go over it once, turn around, check, and repeat that movement."</p><p>I ask him what kinds of stains the system can tackle, and he tells me it's a wide range, including most sugary drinks, tonic water, sparkling water and milk. "I'll be honest with you, because I find you'd be surprised what fluoresces — a bit like a bowling alley in your own home," he adds. </p><h2 id="going-in-circles">Going in circles</h2><p>Moving on to the R2 Nurovi Wash+Dry. A key difference between this and the R3 is that the R3 uses a roller mop for wet cleaning, whereas the R2 uses two spinning mop pads. Not just any spinning mop pads, though: rather than the circular pads we're used to seeing, Dyson has harnessed its geometry skills and given us a couple of Reuleaux triangles. You know — that triangular shape formed from three circular arcs. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="NFGnVshNjHKgT4UiEumJGN" name="20260903_185243 copy" alt="Dyson Nurovi robot vacuum" src="https://cdn.mos.cms.futurecdn.net/NFGnVshNjHKgT4UiEumJGN-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">The R2 has curved triangular mop pads the move in concert, like a Spirograph </span><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Cleverly, the shapes move in tandem to create a straight-edged mopping finish with no center gaps — and they can get right into the corners of rooms too. As you can see in my photo image above, one of the pads can extend out to one side, to clean closer to the edges of rooms.</p><p>Both systems use heated water (158°F / 70°C on the R3, and 167°F / 75°C on the R2) to help cut through grease and tackle dried-on dirt. The heating part happens at the dock, rather than within the robot vacuum itself, to conserve battery. Some cooling will naturally take place as the mopping continues, but Lawson Mclean explains to me that the robovac is designed to return to the dock to top up with hot water when the on-bot reservoir drops below a certain temperature. </p><h2 id="large-and-small">Large and small</h2><p>The R2 has a sister model: the Dyson R1 Nurovi Dry. It's essentially an R2 but without the mopping functions, so those looking for a simpler and more afforable entry into the robovac market. </p><p>Both the R2 and R1 have a 'Twin-capture system' which separates fine and coarse debris in order to improve cleaning efficiency. "So traditional robot vacuum cleaners will just have one roller. And the balancing act is, well, I need to have a really open aperture to get large debris, — let's say like fusilli pasta, sweetcorn, things like that — but actually, when it comes to getting effective fine dust pickup from the floor, if I have a huge open aperture, all that airflow is wasted," says Lawson Mclean. </p><p>The solution was to have a large, open brush bar area for chunky particles, and a separate area for the fine dust, with, as Lawson Mclean describes it, "a highly concentrated and efficient airflow path that's sealed down to the floor." </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="wRyk2xsTBZNE3oNPuiDzJN" name="20260903_185343 copy" alt="Dyson Nurovi robot vacuum" src="https://cdn.mos.cms.futurecdn.net/wRyk2xsTBZNE3oNPuiDzJN-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">The roller on the R2 is designed to be able to handle chunky debris, and there's a second inlet (at the top in the image) focused on fine particles </span><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Finally, both the R2 and R1 boast another feature ported over from Dyson's most advanced stick vacuums: a piezo sensor that intelligently detects the size and amount of dust around, and the floor type, and adapts its suction power to suit. The aim is to deliver an efficient clean without wasting any battery. This intelligent adjustment will kick in if the bot is set to Auto mode.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Qp2LeMbXj5aEr5cyFpej9N" name="20260903_185419 copy" alt="Dyson Nurovi robot vacuum" src="https://cdn.mos.cms.futurecdn.net/Qp2LeMbXj5aEr5cyFpej9N-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">The R1 (left) and R2 are sister models, with very similar vacuuming setups </span><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Dyson has a chequered history when it comes to robot vacuums. The Dyson 360 Vis Nav suffered from a too-high price given its feature set, and was crippled by navigation issues. Last year's Spot+Scrub Ai wasn't quite a roaring success, but did go some way to repairing the brand's robot vacuum reputation. Will Dyson continue its upward trajectory with these new launches? I'll be watching with interest. </p><h2 id="buying-information">Buying information</h2><p>From <a href="https://www.dyson.com/en" target="_blank" rel="sponsored">Dyson US</a>, the Dyson R3 Nurovi Spot+Scrub UV robot vacuum is scheduled to go on sale on 15 September, at a list price of $1,199. The R2 Nurovi Wash+Dry went on sale on 3 Sept, exclusively at <a href="https://www.costco.com/" target="_blank" rel="sponsored">Costco</a>, for $699 (it'll be available direct from Dyson further down the line, but not via any other third party retailers). The R1 Nurovi Dry is also scheduled to go on sale this month, at an as-yet-unknown date, with a list price of $549.</p><p>At <a href="https://www.dyson.co.uk/en" target="_blank" rel="sponsored">Dyson UK</a> and <a href="https://www.dyson.com.au/catalog/category/view/s/robot/id/18502/" target="_blank" rel="sponsored">Dyson Australia</a>, the R2 and R1 went on sale yesterday (4 Sept) at a list price of £749.99/ AU$1,449 for the R2 and £499.99 / AU$949 for the R1. In both territories the R3 is scheduled to launch in early 2027, pricing TBC.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/home/robot-vacuums/itll-light-up-your-home-like-a-bowling-alley-dysons-new-nurovi-robot-vacuum-has-a-uv-light-to-show-up-invisible-spills-and-im-not-sure-im-ready-to-see-whats-on-my-floors</link>
                                                                            <description>
                            <![CDATA[ This UV bot is part of Dyson's new fleet of robot vacuums — could they finally restore the brand's robovac reputation? ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">Z4tuiTnCYhB5SAyhKU4oBG</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/Ds6hwRapHZb9io4xz3cChN-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 04 Sep 2026 08:42:01 +0000</pubDate>                                                                                                                                <updated>Fri, 25 Sep 2026 08:53:37 +0000</updated>
                                                                                                                                            <category><![CDATA[Robot Vacuums]]></category>
                                                    <category><![CDATA[Home]]></category>
                                                    <category><![CDATA[Smart Home]]></category>
                                                                                                <author><![CDATA[ ruth.hamilton@futurenet.com (Ruth Hamilton) ]]></author>                    <dc:creator><![CDATA[ Ruth Hamilton ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/eXBKKGGwbDvhLePY2FSnfU-320-70.jpeg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Ruth is TechRadar&#039;s Collections Editor, responsible for masterminding TechRadar&#039;s approach towards the new Collections format — a themed, curated selection of product recommendations designed to provide readers with an exciting new way to shop for the very best gadgets and gizmos. She has been reviewing and writing about products since 2020, covering everything from robot vacuums and hair stylers to outdoor kit and mattresses.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/Ds6hwRapHZb9io4xz3cChN-1920-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Dyson Nurovi robot vacuum]]></media:description>                                                            <media:text><![CDATA[Dyson Nurovi robot vacuum]]></media:text>
                                <media:title type="plain"><![CDATA[Dyson Nurovi robot vacuum]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/Ds6hwRapHZb9io4xz3cChN-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <ul><li><strong>Dyson has launched three new 'Nurovi' robot vacuums</strong></li><li><strong>The R3 Nurovi Spot+Scrub UV has a roller mop and UV spill detection</strong></li><li><strong>The R2 Nurovi Wash+Dry has two Reuleaux triangle mops, which move asymmetrically for no-gap cleaning</strong></li><li><strong>The R1 Nurovi Dry is a vacuum-only bot, with no mopping</strong></li></ul><p>Dyson just unveiled a new fleet of robot vacuums with plenty of intriguing features. The range is called 'Nurovi' which is a portmanteau — the bots combine "Neural Intelligence technology" with Dyson's new "Vision system". It makes sense, but if anyone can remember how to spell it without checking, I'll be impressed.</p><p>There are three models in the lineup: the R3 Nurovi Spot+Scrub UV and R2 Nurovi Wash+Dry are both hybrid machines that can mop as well as vacuuming, and the R1 Nurovi Dry is a vacuum-only option. </p><p>I had a chance to check them all out at Dyson's <a href="https://www.techradar.com/tag/ifa">IFA 2026</a>-adjacent event in Berlin. Here, I also chatted to Nathan Lawson Mclean, a Senior Design Manager at Dyson, about the development process. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="iFneAQaE78U2UX8roMSHgN" name="20260903_185209 copy" alt="Dyson Nurovi robot vacuum" src="https://cdn.mos.cms.futurecdn.net/iFneAQaE78U2UX8roMSHgN-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><h2 id="light-it-up">Light it up</h2><p>Let's start with the flagship model: the R3. This is a second-gen upgrade of last year's <a href="https://www.techradar.com/home/robot-vacuums/dyson-spot-scrub-ai-review">Spot+Scrub Ai</a>, and like that model it's designed to 'spot' concentrated messes and spills and scrub back and forth over them to clean them away. However, the R3 model's spill-spotting skills are powered by UV light.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="n7eKAyGYH5T2WRnhyPNChN" name="20260903_185755 copy" alt="Dyson Nurovi robot vacuum" src="https://cdn.mos.cms.futurecdn.net/n7eKAyGYH5T2WRnhyPNChN-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">The R3 Nurovi Spot+Scrub UV has a UV light to illuminate invisible spills </span><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>"We continue to leverage our in-house vision systems and neural intelligence, to really build on this advanced stain detection," Lawson Mclean tells me. He explains that whereas with the Spot+Scrub Ai, Dyson focused on identifying a range of specific stains, here the team worked on tackling the invisible residue left by dried liquid spills. The UV light causes those stains to fluoresce. </p><p>"So as the robot's running around your home on its mission, it will now expose these totally invisible stains that become breeding grounds for bacteria," he explains. "And it will then go over it once, turn around, check, and repeat that movement."</p><p>I ask him what kinds of stains the system can tackle, and he tells me it's a wide range, including most sugary drinks, tonic water, sparkling water and milk. "I'll be honest with you, because I find you'd be surprised what fluoresces — a bit like a bowling alley in your own home," he adds. </p><h2 id="going-in-circles">Going in circles</h2><p>Moving on to the R2 Nurovi Wash+Dry. A key difference between this and the R3 is that the R3 uses a roller mop for wet cleaning, whereas the R2 uses two spinning mop pads. Not just any spinning mop pads, though: rather than the circular pads we're used to seeing, Dyson has harnessed its geometry skills and given us a couple of Reuleaux triangles. You know — that triangular shape formed from three circular arcs. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="NFGnVshNjHKgT4UiEumJGN" name="20260903_185243 copy" alt="Dyson Nurovi robot vacuum" src="https://cdn.mos.cms.futurecdn.net/NFGnVshNjHKgT4UiEumJGN-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">The R2 has curved triangular mop pads the move in concert, like a Spirograph </span><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Cleverly, the shapes move in tandem to create a straight-edged mopping finish with no center gaps — and they can get right into the corners of rooms too. As you can see in my photo image above, one of the pads can extend out to one side, to clean closer to the edges of rooms.</p><p>Both systems use heated water (158°F / 70°C on the R3, and 167°F / 75°C on the R2) to help cut through grease and tackle dried-on dirt. The heating part happens at the dock, rather than within the robot vacuum itself, to conserve battery. Some cooling will naturally take place as the mopping continues, but Lawson Mclean explains to me that the robovac is designed to return to the dock to top up with hot water when the on-bot reservoir drops below a certain temperature. </p><h2 id="large-and-small">Large and small</h2><p>The R2 has a sister model: the Dyson R1 Nurovi Dry. It's essentially an R2 but without the mopping functions, so those looking for a simpler and more afforable entry into the robovac market. </p><p>Both the R2 and R1 have a 'Twin-capture system' which separates fine and coarse debris in order to improve cleaning efficiency. "So traditional robot vacuum cleaners will just have one roller. And the balancing act is, well, I need to have a really open aperture to get large debris, — let's say like fusilli pasta, sweetcorn, things like that — but actually, when it comes to getting effective fine dust pickup from the floor, if I have a huge open aperture, all that airflow is wasted," says Lawson Mclean. </p><p>The solution was to have a large, open brush bar area for chunky particles, and a separate area for the fine dust, with, as Lawson Mclean describes it, "a highly concentrated and efficient airflow path that's sealed down to the floor." </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="wRyk2xsTBZNE3oNPuiDzJN" name="20260903_185343 copy" alt="Dyson Nurovi robot vacuum" src="https://cdn.mos.cms.futurecdn.net/wRyk2xsTBZNE3oNPuiDzJN-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">The roller on the R2 is designed to be able to handle chunky debris, and there's a second inlet (at the top in the image) focused on fine particles </span><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Finally, both the R2 and R1 boast another feature ported over from Dyson's most advanced stick vacuums: a piezo sensor that intelligently detects the size and amount of dust around, and the floor type, and adapts its suction power to suit. The aim is to deliver an efficient clean without wasting any battery. This intelligent adjustment will kick in if the bot is set to Auto mode.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Qp2LeMbXj5aEr5cyFpej9N" name="20260903_185419 copy" alt="Dyson Nurovi robot vacuum" src="https://cdn.mos.cms.futurecdn.net/Qp2LeMbXj5aEr5cyFpej9N-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">The R1 (left) and R2 are sister models, with very similar vacuuming setups </span><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Dyson has a chequered history when it comes to robot vacuums. The Dyson 360 Vis Nav suffered from a too-high price given its feature set, and was crippled by navigation issues. Last year's Spot+Scrub Ai wasn't quite a roaring success, but did go some way to repairing the brand's robot vacuum reputation. Will Dyson continue its upward trajectory with these new launches? I'll be watching with interest. </p><h2 id="buying-information">Buying information</h2><p>From <a href="https://www.dyson.com/en" target="_blank" rel="sponsored">Dyson US</a>, the Dyson R3 Nurovi Spot+Scrub UV robot vacuum is scheduled to go on sale on 15 September, at a list price of $1,199. The R2 Nurovi Wash+Dry went on sale on 3 Sept, exclusively at <a href="https://www.costco.com/" target="_blank" rel="sponsored">Costco</a>, for $699 (it'll be available direct from Dyson further down the line, but not via any other third party retailers). The R1 Nurovi Dry is also scheduled to go on sale this month, at an as-yet-unknown date, with a list price of $549.</p><p>At <a href="https://www.dyson.co.uk/en" target="_blank" rel="sponsored">Dyson UK</a> and <a href="https://www.dyson.com.au/catalog/category/view/s/robot/id/18502/" target="_blank" rel="sponsored">Dyson Australia</a>, the R2 and R1 went on sale yesterday (4 Sept) at a list price of £749.99/ AU$1,449 for the R2 and £499.99 / AU$949 for the R1. In both territories the R3 is scheduled to launch in early 2027, pricing TBC.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Philips Hue founder George Yianni explains why AI in smart lighting is much more than a gimmick ]]></title>
                                                                                                <dc:content><![CDATA[ <p>George Yianni is excited about the future of smart lighting, and his enthusiasm is infectious. As the Chief Technology Officer and Founder of Philips Hue, Yianni has seen smart home tech move from niche to mainstream — and he has a clear vision for how you'll be lighting your home in years to come.</p><p>On September 2, Philips Hue held its annual showcase event in Berlin, just around the corner from the IFA tech expo. There, Yianni and other senior figures took to the stage to show off the brand's latest hardware (including some particularly artistic new lights and more affordable syncing devices), and to explain how new software developments will change how we all interact with lighting in the coming months.</p><p>After the event I had the opportunity to speak with Yianni, and to delve deeper into how Hue (and its parent company SIgnify) has identified practical uses for AI that aren't just a gimmick.</p><p>"There’s a push for AI for the sake of it, and we’ve really tried to shy away from that," he told me. "AI large language models are really good at processing the unstructured information and turning it into something structured, and vice versa, and that’s really where we applied it."</p><p>The first example he gave was <a href="https://www.techradar.com/home/smart-lights/the-philips-hue-app-can-now-customize-lighting-scenes-so-they-suit-the-layout-of-your-rooms">SpatialAware</a> — a feature that launched last year, which creates lighting scenes and applies them based on the position of lights in your room.</p><div><blockquote><p>There’s a push for AI for the sake of it, and we’ve really tried to shy away from that</p><p>George Yianni</p></blockquote></div><p>"We’re applying AI as a tool to deliver functionality," Yianni explained. "So what we launched last year is, we spent quite some time with our lighting designers to produce the right set of rules, tools, and training towards a large language model to codify and scale the lighting design process."</p><p>"So it can take all the unstructured information of where lights are in space, lighting design rules, and what colors look complementary, and then expose that to the user in a general way, so they can describe anything they want, and it uses its world knowledge and this lighting design skill set we’ve given it to generate new lighting design scenes for them. It’s really not something you could have done any other way."</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:800px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="J6waBorgayV5ereBLVCSHm" name="Philips Hue Play gradient strip light 1" alt="Philips Hue smart light gradient strip" src="https://cdn.mos.cms.futurecdn.net/J6waBorgayV5ereBLVCSHm-1920-80.jpg" mos="" align="middle" fullscreen="" width="800" height="450" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">Yianni doesn't want to bring AI into your home just for the sake of it — only when it's the right tool to solve a problem </span><span class="credit" itemprop="copyrightHolder">(Image credit: Signify)</span></figcaption></figure><p>The second example, which debuted at this year's event, is <a href="https://www.techradar.com/home/smart-lights/no-hdmi-needed-philips-hues-new-camera-based-screen-sync-system-works-with-any-source-including-your-tvs-native-streaming-apps">Custom AI Behaviors</a>. This lets you use natural language to describe how you want your Philips Hue lights to behave. For example, you can ask them to behave differently on weekends and weekdays, or change scenes automatically at sunset — all without fiddling around with complex settings.</p><p>"There are so many different diversities and details about how a consumer might want their home to behave that we cannot build a user interface with buttons, toggles, dropdown menus for every possibility, and that’s why we put some limitations around automations to this point," Yianni explained. "Otherwise, the user interface would be impossible for most users.</p><div><blockquote><p>Natural language is a fantastic way to just describe arbitrarily how you would like your home to behave</p><p>George Yianni</p></blockquote></div><p>"But natural language is a fantastic way to just describe arbitrarily how you would like your home to behave, and then we can use AI to translate that into a special programming language we’ve developed that runs the automation in the Bridge. So it’s a fantastic way to capture intent and translate into something we can just run in the background, and again, AI is the right tool to do that.</p><p>"We think of AI as a tool to be used to solve problems, and often it’s not the right tool, and then we don’t do it that way. But there are definitely are good use cases, and I think more in the works, which take advantage of it."</p><h2 id="exciting-developments">Exciting developments</h2><p>The Philips Hue event was packed with new announcements, so I took the opportunity to ask Yianni which one he was most excited about personally. For him, accessibility was one of the biggest draws.</p><p>"It's a little bit difficult to choose, because I think we've made some great products for users that don't have smart lights yet," he said. "I think what we've done with entertainment is super exciting, to just make it so that even if people don't want a smart lighting system, they just want it around [their TV]. Now we give you a very simple, easy to use and understand kit that gives it to you."</p><p>This system is the Philips Hue Play Screen Sync, which is designed for people who aren't using an HDMI source for their TV, and may be using a native smart TV app, for example. Screen Sync uses a camera with a fish-eye lens to monitor what's on the screen, and then synchronize those colors with a light strip behind the TV. You don't have to invest in a <a href="https://www.techradar.com/home/smart-home/philips-hue-bridge-what-is-it-and-how-important-is-it-for-your-hue-smart-lights">Philips Hue Bridge</a> to use Screen Sync either — you can use it with a single light strip via Bluetooth if you're not interested in a full Philips Hue setup.</p><p>If you do use an HDMI source for your TV, there's now a more affordable 4K version of the Philips Hue Play HDMI Sync Box, which also works with a single Hue light and no Bridge.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:800px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="PyTSem7HSCtWZMecrYZsnm" name="Philips Hue Play Sync Box 4K 1" alt="Philips Hue Play Sync Box 4K" src="https://cdn.mos.cms.futurecdn.net/PyTSem7HSCtWZMecrYZsnm-1920-80.jpg" mos="" align="middle" fullscreen="" width="800" height="450" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">Signify has launched an affordable Philips Hue Play Sync Box 4K, which can be used with a single Philips Hue light via Bluetooth, without a Hue Bridge device </span><span class="credit" itemprop="copyrightHolder">(Image credit: Signify)</span></figcaption></figure><p>Yianni is also particularly proud of what the brand has achieved so far with artificial intelligence. "I think for our install base of users and for ourselves as users of Hue personally, the AI automations are a bit of a game changer," he said. "I now can finally have my home behave exactly the way I wanted to. I think that's a really big deal.</p><p>"So I'm a bit torn between those two, right? For me, it's AI automations, but I think for our business and for our overall mission of getting people to use lights in a in a richer way than just being on or off, I think the the bridge-less entertainment with just becomes so much easier to to step in with just that use case, which is a great way to start."</p><div><blockquote><p>You can really unleash a lot of creativity in users</p><p>George Yianni</p></blockquote></div><p>When it comes to the lights themselves, though, Yianni has a clear favorite: the Liane 360-degree rope light (pictured at the top of this article), which users can drape in any way they like, and which projects light around its whole circumference.</p><p>"I think it's hard to beat the statement of Liane," he told me. "I think it's really taking what we offer in a in a new direction, where you can really unleash a lot of creativity in users because it's really a product which has a lot of different ways of it being applied. I think it's something quite unique that doesn't exist in the world yet.</p><p>"Yeah, these as they omnidirectional rope lights exist in architectural lighting, but I really think we we add a new element of depth to it by making it controllable and having these subtle gradients that we can put on it. I think that's really exciting. It's something that doesn't exist in the world yet, and really adds something to an existing trend. I think that I think the most exciting lighting model."</p><p>I'm hoping to test the Liane rope light very soon to see whether it meets those expectations, so watch this space.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/home/smart-lights/you-can-really-unleash-a-lot-of-creativity-philips-hue-founder-george-yianni-explains-why-its-ai-upgrades-will-be-genuinely-useful-and-a-bit-of-a-game-changer</link>
                                                                            <description>
                            <![CDATA[ The brand's founder and CTO explains why artificial intelligence and home lighting are a perfect fit, and what he's most excited about next. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">catAi97RoCkqyJRKHFGNqS</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/pDDw4MSDkMd2qEMb6TTPWm-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 03 Sep 2026 15:54:08 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Smart Lights]]></category>
                                                    <category><![CDATA[Home]]></category>
                                                    <category><![CDATA[Smart Home]]></category>
                                                                                                <author><![CDATA[ catherine.ellis@futurenet.com (Cat Ellis) ]]></author>                    <dc:creator><![CDATA[ Cat Ellis ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/gxZz6rCoNR6sXhqL34MvML-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Cat is TechRadar&#039;s Homes Editor, covering smart home tech, kitchen appliances, vacuums, haircare and more. She&#039;s been a tech journalist for 15 years, having worked on print magazines including PC Plus and PC Format, and is a&lt;a href=&quot;https://sca.coffee/&quot;&gt; &lt;u&gt;Speciality Coffee Association&lt;/u&gt;&lt;/a&gt; (SCA) certified barista. Whether you want to invest in some smart lights, find your ideal hair styler, or pick the espresso machine of your dreams, she&#039;s the right person to help.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/pDDw4MSDkMd2qEMb6TTPWm-1920-80.jpg">
                                                            <media:credit><![CDATA[Signify]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Philips Hue smart light]]></media:description>                                                            <media:text><![CDATA[Philips Hue smart light]]></media:text>
                                <media:title type="plain"><![CDATA[Philips Hue smart light]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/pDDw4MSDkMd2qEMb6TTPWm-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>George Yianni is excited about the future of smart lighting, and his enthusiasm is infectious. As the Chief Technology Officer and Founder of Philips Hue, Yianni has seen smart home tech move from niche to mainstream — and he has a clear vision for how you'll be lighting your home in years to come.</p><p>On September 2, Philips Hue held its annual showcase event in Berlin, just around the corner from the IFA tech expo. There, Yianni and other senior figures took to the stage to show off the brand's latest hardware (including some particularly artistic new lights and more affordable syncing devices), and to explain how new software developments will change how we all interact with lighting in the coming months.</p><p>After the event I had the opportunity to speak with Yianni, and to delve deeper into how Hue (and its parent company SIgnify) has identified practical uses for AI that aren't just a gimmick.</p><p>"There’s a push for AI for the sake of it, and we’ve really tried to shy away from that," he told me. "AI large language models are really good at processing the unstructured information and turning it into something structured, and vice versa, and that’s really where we applied it."</p><p>The first example he gave was <a href="https://www.techradar.com/home/smart-lights/the-philips-hue-app-can-now-customize-lighting-scenes-so-they-suit-the-layout-of-your-rooms">SpatialAware</a> — a feature that launched last year, which creates lighting scenes and applies them based on the position of lights in your room.</p><div><blockquote><p>There’s a push for AI for the sake of it, and we’ve really tried to shy away from that</p><p>George Yianni</p></blockquote></div><p>"We’re applying AI as a tool to deliver functionality," Yianni explained. "So what we launched last year is, we spent quite some time with our lighting designers to produce the right set of rules, tools, and training towards a large language model to codify and scale the lighting design process."</p><p>"So it can take all the unstructured information of where lights are in space, lighting design rules, and what colors look complementary, and then expose that to the user in a general way, so they can describe anything they want, and it uses its world knowledge and this lighting design skill set we’ve given it to generate new lighting design scenes for them. It’s really not something you could have done any other way."</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:800px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="J6waBorgayV5ereBLVCSHm" name="Philips Hue Play gradient strip light 1" alt="Philips Hue smart light gradient strip" src="https://cdn.mos.cms.futurecdn.net/J6waBorgayV5ereBLVCSHm-1920-80.jpg" mos="" align="middle" fullscreen="" width="800" height="450" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">Yianni doesn't want to bring AI into your home just for the sake of it — only when it's the right tool to solve a problem </span><span class="credit" itemprop="copyrightHolder">(Image credit: Signify)</span></figcaption></figure><p>The second example, which debuted at this year's event, is <a href="https://www.techradar.com/home/smart-lights/no-hdmi-needed-philips-hues-new-camera-based-screen-sync-system-works-with-any-source-including-your-tvs-native-streaming-apps">Custom AI Behaviors</a>. This lets you use natural language to describe how you want your Philips Hue lights to behave. For example, you can ask them to behave differently on weekends and weekdays, or change scenes automatically at sunset — all without fiddling around with complex settings.</p><p>"There are so many different diversities and details about how a consumer might want their home to behave that we cannot build a user interface with buttons, toggles, dropdown menus for every possibility, and that’s why we put some limitations around automations to this point," Yianni explained. "Otherwise, the user interface would be impossible for most users.</p><div><blockquote><p>Natural language is a fantastic way to just describe arbitrarily how you would like your home to behave</p><p>George Yianni</p></blockquote></div><p>"But natural language is a fantastic way to just describe arbitrarily how you would like your home to behave, and then we can use AI to translate that into a special programming language we’ve developed that runs the automation in the Bridge. So it’s a fantastic way to capture intent and translate into something we can just run in the background, and again, AI is the right tool to do that.</p><p>"We think of AI as a tool to be used to solve problems, and often it’s not the right tool, and then we don’t do it that way. But there are definitely are good use cases, and I think more in the works, which take advantage of it."</p><h2 id="exciting-developments">Exciting developments</h2><p>The Philips Hue event was packed with new announcements, so I took the opportunity to ask Yianni which one he was most excited about personally. For him, accessibility was one of the biggest draws.</p><p>"It's a little bit difficult to choose, because I think we've made some great products for users that don't have smart lights yet," he said. "I think what we've done with entertainment is super exciting, to just make it so that even if people don't want a smart lighting system, they just want it around [their TV]. Now we give you a very simple, easy to use and understand kit that gives it to you."</p><p>This system is the Philips Hue Play Screen Sync, which is designed for people who aren't using an HDMI source for their TV, and may be using a native smart TV app, for example. Screen Sync uses a camera with a fish-eye lens to monitor what's on the screen, and then synchronize those colors with a light strip behind the TV. You don't have to invest in a <a href="https://www.techradar.com/home/smart-home/philips-hue-bridge-what-is-it-and-how-important-is-it-for-your-hue-smart-lights">Philips Hue Bridge</a> to use Screen Sync either — you can use it with a single light strip via Bluetooth if you're not interested in a full Philips Hue setup.</p><p>If you do use an HDMI source for your TV, there's now a more affordable 4K version of the Philips Hue Play HDMI Sync Box, which also works with a single Hue light and no Bridge.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:800px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="PyTSem7HSCtWZMecrYZsnm" name="Philips Hue Play Sync Box 4K 1" alt="Philips Hue Play Sync Box 4K" src="https://cdn.mos.cms.futurecdn.net/PyTSem7HSCtWZMecrYZsnm-1920-80.jpg" mos="" align="middle" fullscreen="" width="800" height="450" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">Signify has launched an affordable Philips Hue Play Sync Box 4K, which can be used with a single Philips Hue light via Bluetooth, without a Hue Bridge device </span><span class="credit" itemprop="copyrightHolder">(Image credit: Signify)</span></figcaption></figure><p>Yianni is also particularly proud of what the brand has achieved so far with artificial intelligence. "I think for our install base of users and for ourselves as users of Hue personally, the AI automations are a bit of a game changer," he said. "I now can finally have my home behave exactly the way I wanted to. I think that's a really big deal.</p><p>"So I'm a bit torn between those two, right? For me, it's AI automations, but I think for our business and for our overall mission of getting people to use lights in a in a richer way than just being on or off, I think the the bridge-less entertainment with just becomes so much easier to to step in with just that use case, which is a great way to start."</p><div><blockquote><p>You can really unleash a lot of creativity in users</p><p>George Yianni</p></blockquote></div><p>When it comes to the lights themselves, though, Yianni has a clear favorite: the Liane 360-degree rope light (pictured at the top of this article), which users can drape in any way they like, and which projects light around its whole circumference.</p><p>"I think it's hard to beat the statement of Liane," he told me. "I think it's really taking what we offer in a in a new direction, where you can really unleash a lot of creativity in users because it's really a product which has a lot of different ways of it being applied. I think it's something quite unique that doesn't exist in the world yet.</p><p>"Yeah, these as they omnidirectional rope lights exist in architectural lighting, but I really think we we add a new element of depth to it by making it controllable and having these subtle gradients that we can put on it. I think that's really exciting. It's something that doesn't exist in the world yet, and really adds something to an existing trend. I think that I think the most exciting lighting model."</p><p>I'm hoping to test the Liane rope light very soon to see whether it meets those expectations, so watch this space.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Google fixes setup issues for older Chromecast and Google Home devices ]]></title>
                                                                                                <dc:content><![CDATA[ <ul><li><strong>Google has fixed a setup issue with the first-gen Chromecast device</strong></li><li><strong>Owners have been complaining for months about their devices going missing from the Google Home app </strong></li><li><strong>The update also fixes functionality issues </strong></li></ul><p>Have you been running into setup issues with your older Chromecast and Google Home devices? You’ll be happy to hear you’re not alone on this one — and even happier to know that Google has finally rolled out a fix. </p><p>These issues first arose when <a href="https://www.techradar.com/televisions/streaming-devices/rest-in-peace-good-buddy-original-gen-1-chromecasts-are-now-failing-after-13-years-as-google-apparently-pulls-the-plug">Google announced it would be ending support for its oldest Chromecast dongles</a> back in May. From there, owners started reporting problems with setting up their devices after they started disappearing from the Google Home app on Android.</p><p>A Google Home app update made setting up Chromecast even more difficult which, understandably, sparked a lot of worry for those who are still using the <a href="https://www.techradar.com/reviews/gadgets/portable-video/chromecast-2013-1171126/review">first-gen Chromecast </a>from over 10 years ago, convincing them that Google was officially pulling the plug on its OG streaming device. Similar issues then started cropping up for owners of the 2015 Chromecast model and <a href="https://www.techradar.com/reviews/google-home-mini">Google Home Mini</a> speaker, affecting functionality as well as the setup process. </p><p>At first, users were left to find their own workarounds and solutions, with many having to factory reset their devices, revert to older versions of the Google Home app, or even wipe their entire Home ecosystem to start afresh. Thankfully, Google has solved this, implying that these setup and functionality crashes were part of a software glitch. </p><p>The Google Nest Community account on Reddit replied to a series of frustrated posts with the following statement: ‘We've resolved an issue that was impacting the ability to set up some older Chromecast and Google Home devices. If you haven't already, factory reset your speaker or update your Google Home app to version 4.26 and try again’.</p><p>It hasn’t been the best time to be a first-gen Chromecast owner to say the least, but at least Google’s latest fix offers some reassurance that the company isn’t writing off its oldest streaming device yet — despite <a href="https://www.techradar.com/televisions/streaming-devices/google-has-stopped-selling-the-chromecast-with-google-tv-but-theres-no-way-im-replacing-mine">pulling the first Chromecast from shelves in early 2025</a>. That said, Google isn’t the first tech giant to be accused of intentionally bricking older streaming devices to get users to upgrade. </p><p>Amazon received similar backlash when<a href="https://www.techradar.com/televisions/streaming-devices/amazon-has-been-accused-of-bricking-older-fire-tv-stick-devices-to-get-users-to-upgrade-and-its-sparked-a-class-action-lawsuit#viafoura-comments"> a user filed a lawsuit against the company</a>, after reporting that two Fire TV sticks ran into severe performance issues just a few years after purchasing them. The user claimed that Amazon had been software tethering, while not disclosing the truth about the lifespan of its Fire TV stick streamers. </p><p>Now that Google has found a solution, hopefully it does the job at reviving your older Chromecast model. If the issues still persist, Google recommends reaching back out to the Nest community to let them know. </p> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/televisions/streaming-devices/if-your-old-chromecast-and-google-home-devices-are-having-setup-issues-youre-not-alone-thankfully-googles-latest-update-has-fixed-this</link>
                                                                            <description>
                            <![CDATA[ Google has finally fixed the annoying setup issue for the first-gen Chromecast, so your device isn't being bricked just yet. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">n8hFJsBPhrnQLhGSCD6UgS</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/5BRgdnVSZZFrWf8csXrKhT-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 03 Sep 2026 13:35:01 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Streaming Devices]]></category>
                                                    <category><![CDATA[Smart Home]]></category>
                                                    <category><![CDATA[Televisions]]></category>
                                                    <category><![CDATA[Home]]></category>
                                                                                                <author><![CDATA[ rowan.davies@futurenet.com (Rowan Davies) ]]></author>                    <dc:creator><![CDATA[ Rowan Davies ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/q5Az6iW5pbAotRovdNvQAf-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Rowan is an Editorial Associate and Apprentice Writer for TechRadar. A recent addition to the news team, he is involved in generating stories for topics that spread across TechRadar&#039;s categories. His interests in audio tech and knowledge in entertainment culture help bring the latest updates in tech news to our readers.&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;He has been writing for publications since he started his studies at age 18. Rowan graduated from Cardiff University in 2023 after attaining a Master&#039;s in Creative Writing, and earlier a Bachelor&#039;s in Media, Journalism, and Culture. He began his journey as a writer at Cardiff University&#039;s Quench Magazine contributing to film/ TV, music, and culture sections, later becoming Music Section Editor.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;In his free time, Rowan is a freelance writer for Cardiff-based culture magazine Buzz where he reviews music, film, and conducts interviews with featured guests. When he is not writing, you can find him at any given music gig, or endlessly scrolling TikTok immersing in celebrity news and drama. &amp;nbsp;&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/5BRgdnVSZZFrWf8csXrKhT-1920-80.jpg">
                                                            <media:credit><![CDATA[Google]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Google Chromecast]]></media:description>                                                            <media:text><![CDATA[Google Chromecast]]></media:text>
                                <media:title type="plain"><![CDATA[Google Chromecast]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/5BRgdnVSZZFrWf8csXrKhT-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <ul><li><strong>Google has fixed a setup issue with the first-gen Chromecast device</strong></li><li><strong>Owners have been complaining for months about their devices going missing from the Google Home app </strong></li><li><strong>The update also fixes functionality issues </strong></li></ul><p>Have you been running into setup issues with your older Chromecast and Google Home devices? You’ll be happy to hear you’re not alone on this one — and even happier to know that Google has finally rolled out a fix. </p><p>These issues first arose when <a href="https://www.techradar.com/televisions/streaming-devices/rest-in-peace-good-buddy-original-gen-1-chromecasts-are-now-failing-after-13-years-as-google-apparently-pulls-the-plug">Google announced it would be ending support for its oldest Chromecast dongles</a> back in May. From there, owners started reporting problems with setting up their devices after they started disappearing from the Google Home app on Android.</p><p>A Google Home app update made setting up Chromecast even more difficult which, understandably, sparked a lot of worry for those who are still using the <a href="https://www.techradar.com/reviews/gadgets/portable-video/chromecast-2013-1171126/review">first-gen Chromecast </a>from over 10 years ago, convincing them that Google was officially pulling the plug on its OG streaming device. Similar issues then started cropping up for owners of the 2015 Chromecast model and <a href="https://www.techradar.com/reviews/google-home-mini">Google Home Mini</a> speaker, affecting functionality as well as the setup process. </p><p>At first, users were left to find their own workarounds and solutions, with many having to factory reset their devices, revert to older versions of the Google Home app, or even wipe their entire Home ecosystem to start afresh. Thankfully, Google has solved this, implying that these setup and functionality crashes were part of a software glitch. </p><p>The Google Nest Community account on Reddit replied to a series of frustrated posts with the following statement: ‘We've resolved an issue that was impacting the ability to set up some older Chromecast and Google Home devices. If you haven't already, factory reset your speaker or update your Google Home app to version 4.26 and try again’.</p><p>It hasn’t been the best time to be a first-gen Chromecast owner to say the least, but at least Google’s latest fix offers some reassurance that the company isn’t writing off its oldest streaming device yet — despite <a href="https://www.techradar.com/televisions/streaming-devices/google-has-stopped-selling-the-chromecast-with-google-tv-but-theres-no-way-im-replacing-mine">pulling the first Chromecast from shelves in early 2025</a>. That said, Google isn’t the first tech giant to be accused of intentionally bricking older streaming devices to get users to upgrade. </p><p>Amazon received similar backlash when<a href="https://www.techradar.com/televisions/streaming-devices/amazon-has-been-accused-of-bricking-older-fire-tv-stick-devices-to-get-users-to-upgrade-and-its-sparked-a-class-action-lawsuit#viafoura-comments"> a user filed a lawsuit against the company</a>, after reporting that two Fire TV sticks ran into severe performance issues just a few years after purchasing them. The user claimed that Amazon had been software tethering, while not disclosing the truth about the lifespan of its Fire TV stick streamers. </p><p>Now that Google has found a solution, hopefully it does the job at reviving your older Chromecast model. If the issues still persist, Google recommends reaching back out to the Nest community to let them know. </p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Skip the pricey Sync Box — this new Philips Hue system uses a camera to sync lights with your screen ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Philips Hue smart lights just got a major upgrade, with a new system that lets you sync lights with your TV screen regardless of its source. Signify, the company behind the Hue brand, showed off a new system called Hue Play Screen Sync at an event (no, not <a href="https://www.techradar.com/tag/ifa">IFA) </a>in Berlin yesterday, and it looks set to make immersive entertainment lighting a lot more accessible.</p><p>The Philips Hue Play system lets you use smart lights (including light strips and bars) to extend the colors from your screen, creating a more immersive viewing experience. However, until now, this could only be done using a Philips Hue HDMI Sync Box, which sits in between an HDMI source and your TV. If you want to watch content via a non-HDMI source, such as a native app on your smart TV, you were out of luck.</p><p>The new Philips Hue Play Screen Sync changes all that, using a fisheye camera to monitor the action on your TV screen and synchronize it with your smart lights, regardless of the source.</p><p>Similar systems already exist from rivals including Govee and Nanoleaf, so I'll be interested to see how the Hue Play Screen Sync compares. Camera-based systems usually have a few drawbacks compared to HDMI screen syncing (they can be affected by reflections on your TV screen and tend to have more latency) but hopefully the Hue system will offer performance comparable with the HDMI Sync Box.</p><h2 id="a-bright-future">A bright future</h2><p>Another big update launched at yesterday's event is Custom AI Behaviors, which lets you use natural language to describe lighting automations, rather than having to create them manually — something that could be quite time-consuming or fiddly when done in the app. For example, you might choose to have your lights behave differently at the weekends, or activate a particular scene automatically after dark.</p><p>The Philips Hue app already contained an AI assistant the let you use text or speech to describe a lighting scene (such as 'something for Christmas' or 'a tropical sunset'), and would search the existing scene library for a match. If none existed, the assistant would create something suitable for you. This was a useful feature, but Custom AI Behaviors goes far beyond that, and should make advanced automations much more accessible, with no need to spend time fiddling with switches and sliders.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/pDDw4MSDkMd2qEMb6TTPWm-1920-80.jpg" alt="Philips Hue smart light" /><figcaption><small role="credit">Signify</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/J6waBorgayV5ereBLVCSHm-1920-80.jpg" alt="Philips Hue smart light" /><figcaption><small role="credit">Signify</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/Jv95BTKJqhXEsM9AE4PKPm-1920-80.jpg" alt="Philips Hue smart light" /><figcaption><small role="credit">Signify</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/iY6vVUFroJPaDGAfwndjSm-1920-80.jpg" alt="Philips Hue smart light" /><figcaption><small role="credit">Signify</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/DkJ7koawCx6gLgR8cs5K4n-1920-80.jpg" alt="Philips Hue smart light" /><figcaption><small role="credit">Signify</small></figcaption></figure></figure><p>On the subject of accessibility, there is now a 4K version of the Philips Hue Sync Box to accompany the 8K version launched in 2024. The 4K Sync Box is more affordable than the 8K model, and for the first time, you can use it to sync a single light with your TV via Bluetooth, without a Philips Hue Bridge. </p><p>Third-party collaborations are coming as well, including one leaked last week, which allows you to <a href="https://www.techradar.com/home/smart-lights/philips-hue-and-nanoleaf-could-soon-reveal-an-unlikely-tie-in-leaked-adapter-promises-to-bring-nanoleaf-led-modules-to-your-hue-app">integrate Nanoleaf Shapes lights into your Hue lighting setup</a>, and a collaboration with Sonos that will let you control the brand's speakers with selected Hue switches.</p><p>There's a huge bundle of new smart lights too, including Festavia curtain, net, and icicle lights (ideal for Halloween and Christmas), a Philips Hue Liane 360-degree rope light, with LEDs around the entire circumference, and an OmniGlow outdoor strip light. Omniglow is a technology that uses tightly packed LEDs to create an extra smooth gradient, with no visible gaps, and this is the first time it's been available for an exterior light.</p><p>I'm hoping to test some of the new lights soon, and will bring you full hands-on reviews as soon as possible.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/home/smart-lights/no-hdmi-needed-philips-hues-new-camera-based-screen-sync-system-works-with-any-source-including-your-tvs-native-streaming-apps</link>
                                                                            <description>
                            <![CDATA[ Philips Hue Play Screen Sync lets you synchronize your smart lights with content from any source, including your smart TV's native streaming apps. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">THzkSovoW6VrNJK2qtmfXa</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/AhHmZUWRemw5FvZT2Nfvjm-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 03 Sep 2026 08:40:13 +0000</pubDate>                                                                                                                                <updated>Thu, 03 Sep 2026 16:00:25 +0000</updated>
                                                                                                                                            <category><![CDATA[Smart Lights]]></category>
                                                    <category><![CDATA[Home]]></category>
                                                    <category><![CDATA[Smart Home]]></category>
                                                                                                <author><![CDATA[ catherine.ellis@futurenet.com (Cat Ellis) ]]></author>                    <dc:creator><![CDATA[ Cat Ellis ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/gxZz6rCoNR6sXhqL34MvML-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Cat is TechRadar&#039;s Homes Editor, covering smart home tech, kitchen appliances, vacuums, haircare and more. She&#039;s been a tech journalist for 15 years, having worked on print magazines including PC Plus and PC Format, and is a&lt;a href=&quot;https://sca.coffee/&quot;&gt; &lt;u&gt;Speciality Coffee Association&lt;/u&gt;&lt;/a&gt; (SCA) certified barista. Whether you want to invest in some smart lights, find your ideal hair styler, or pick the espresso machine of your dreams, she&#039;s the right person to help.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/AhHmZUWRemw5FvZT2Nfvjm-1920-80.jpg">
                                                            <media:credit><![CDATA[Signify]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Philips Hue smart light]]></media:description>                                                            <media:text><![CDATA[Philips Hue smart light]]></media:text>
                                <media:title type="plain"><![CDATA[Philips Hue smart light]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/AhHmZUWRemw5FvZT2Nfvjm-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Philips Hue smart lights just got a major upgrade, with a new system that lets you sync lights with your TV screen regardless of its source. Signify, the company behind the Hue brand, showed off a new system called Hue Play Screen Sync at an event (no, not <a href="https://www.techradar.com/tag/ifa">IFA) </a>in Berlin yesterday, and it looks set to make immersive entertainment lighting a lot more accessible.</p><p>The Philips Hue Play system lets you use smart lights (including light strips and bars) to extend the colors from your screen, creating a more immersive viewing experience. However, until now, this could only be done using a Philips Hue HDMI Sync Box, which sits in between an HDMI source and your TV. If you want to watch content via a non-HDMI source, such as a native app on your smart TV, you were out of luck.</p><p>The new Philips Hue Play Screen Sync changes all that, using a fisheye camera to monitor the action on your TV screen and synchronize it with your smart lights, regardless of the source.</p><p>Similar systems already exist from rivals including Govee and Nanoleaf, so I'll be interested to see how the Hue Play Screen Sync compares. Camera-based systems usually have a few drawbacks compared to HDMI screen syncing (they can be affected by reflections on your TV screen and tend to have more latency) but hopefully the Hue system will offer performance comparable with the HDMI Sync Box.</p><h2 id="a-bright-future">A bright future</h2><p>Another big update launched at yesterday's event is Custom AI Behaviors, which lets you use natural language to describe lighting automations, rather than having to create them manually — something that could be quite time-consuming or fiddly when done in the app. For example, you might choose to have your lights behave differently at the weekends, or activate a particular scene automatically after dark.</p><p>The Philips Hue app already contained an AI assistant the let you use text or speech to describe a lighting scene (such as 'something for Christmas' or 'a tropical sunset'), and would search the existing scene library for a match. If none existed, the assistant would create something suitable for you. This was a useful feature, but Custom AI Behaviors goes far beyond that, and should make advanced automations much more accessible, with no need to spend time fiddling with switches and sliders.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/pDDw4MSDkMd2qEMb6TTPWm-1920-80.jpg" alt="Philips Hue smart light" /><figcaption><small role="credit">Signify</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/J6waBorgayV5ereBLVCSHm-1920-80.jpg" alt="Philips Hue smart light" /><figcaption><small role="credit">Signify</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/Jv95BTKJqhXEsM9AE4PKPm-1920-80.jpg" alt="Philips Hue smart light" /><figcaption><small role="credit">Signify</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/iY6vVUFroJPaDGAfwndjSm-1920-80.jpg" alt="Philips Hue smart light" /><figcaption><small role="credit">Signify</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/DkJ7koawCx6gLgR8cs5K4n-1920-80.jpg" alt="Philips Hue smart light" /><figcaption><small role="credit">Signify</small></figcaption></figure></figure><p>On the subject of accessibility, there is now a 4K version of the Philips Hue Sync Box to accompany the 8K version launched in 2024. The 4K Sync Box is more affordable than the 8K model, and for the first time, you can use it to sync a single light with your TV via Bluetooth, without a Philips Hue Bridge. </p><p>Third-party collaborations are coming as well, including one leaked last week, which allows you to <a href="https://www.techradar.com/home/smart-lights/philips-hue-and-nanoleaf-could-soon-reveal-an-unlikely-tie-in-leaked-adapter-promises-to-bring-nanoleaf-led-modules-to-your-hue-app">integrate Nanoleaf Shapes lights into your Hue lighting setup</a>, and a collaboration with Sonos that will let you control the brand's speakers with selected Hue switches.</p><p>There's a huge bundle of new smart lights too, including Festavia curtain, net, and icicle lights (ideal for Halloween and Christmas), a Philips Hue Liane 360-degree rope light, with LEDs around the entire circumference, and an OmniGlow outdoor strip light. Omniglow is a technology that uses tightly packed LEDs to create an extra smooth gradient, with no visible gaps, and this is the first time it's been available for an exterior light.</p><p>I'm hoping to test some of the new lights soon, and will bring you full hands-on reviews as soon as possible.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ IKEA launches its first smart radiator thermostat, with Matter support ]]></title>
                                                                                                <dc:content><![CDATA[ <ul><li><strong>A new IKEA device called the Liljebagge has appeared</strong></li><li><strong>It's an affordable smart radiator thermostat</strong></li><li><strong>We're still waiting to hear on international availability</strong></li></ul><p>IKEA isn't slowing down when it comes to launching smart home products — see the <a href="https://www.techradar.com/tech/ikea-just-released-the-smart-sensor-range-ive-been-waiting-for-simple-helpful-gadgets-from-as-little-as-usd6">smart sensors</a> and <a href="https://www.techradar.com/home/smart-lights/ikeas-stick-up-wireless-light-is-a-game-changer-for-dark-hallways-and-closets-and-you-can-snag-one-now-for-only-usd4">wireless lights</a> it's already pushed out this year, for example — and the latest new device to catch our eye is a smart radiator thermostat called the IKEA Liljebagge.</p><p>We're relying on <a href="https://winfuture.de/news,161010.html" target="_blank">WinFuture</a> and a fair bit of Google Translate to tease out the details here, but it seems there's support for the Matter and Thread standards, and a retail price of just €15 (that's roughly $17.40 / £12.90 / AU$24.30).</p><p>The WinFuture article talks about IKEA "preparing" to launch this thermostat, but it's already popped up on <a href="https://www.ikea.com/se/en/p/liljebagge-radiator-thermostat-white-smart-80622062/" target="_blank">the IKEA website</a> in Sweden. We can't see it on any other international sites as yet, though — we've asked IKEA for clarification on US and UK availability and will update this article if we hear back.</p><p>As per the official listing, installing the Liljebagge means you can "adjust the temperature in each room individually, control it when you’re away, increase comfort and reduce energy use", and it should fit "most water-based radiators".</p><h2 id="aggressively-priced">Aggressively priced</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1600px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="bnKqCsxrNpRtA5ABPkoik9" name="ikea-2" alt="IKEA Liljebagge" src="https://cdn.mos.cms.futurecdn.net/bnKqCsxrNpRtA5ABPkoik9-1920-80.jpg" mos="" align="middle" fullscreen="" width="1600" height="900" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">You can update temperatures from the device or from the IKEA Home app </span><span class="credit" itemprop="copyrightHolder">(Image credit: IKEA)</span></figcaption></figure><p>You're able to control the smart radiator thermostat from the IKEA Home app on your phone, or directly on the device itself. If you want it cooler in the bedroom and warmer in the study, then this makes it possible without much hassle.</p><p>IKEA's contender is particularly cheap compared to other smart thermostats that do the same job, and price is typically something IKEA likes to compete aggressively on (<a href="https://www.techradar.com/audio/wireless-bluetooth-speakers/fun-flexible-and-affordable-i-tested-ikeas-super-cheap-bluetooth-speaker-and-as-long-as-youre-not-expecting-sonos-toppling-sound-its-a-blast">see also its $10 / £10 speakers</a>, for instance).</p><p>Some other details: the built-in display turns off when you're not using it, so your radiators won't always be glowing, and you're able to adjust the temperature in 0.5-degree Celsius increments using plus and minus buttons.</p><p>On the home network integrations, it seems you'll need a Thread border router to use this on a Matter network. If you're going to go the IKEA route, you'll need the Dirigera hub. Power is provided by two AA batteries, which should last you 18 months. We'll update this story as soon as we hear anything about international availability.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/home/smart-thermostats/ikea-launches-its-first-smart-radiator-thermostat-with-matter-support-and-an-impressively-affordable-price</link>
                                                                            <description>
                            <![CDATA[ There's another IKEA smart home product to check out, and this one helps you manage temperatures at home. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">yKQnrvyprzr7Hb6EruHagH</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/AL2rrbAUhZFkwURBL9y22X-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 02 Sep 2026 14:55:32 +0000</pubDate>                                                                                                                                <updated>Thu, 03 Sep 2026 05:38:39 +0000</updated>
                                                                                                                                            <category><![CDATA[Smart Thermostats]]></category>
                                                    <category><![CDATA[Home]]></category>
                                                    <category><![CDATA[Smart Home]]></category>
                                                                                                                    <dc:creator><![CDATA[ David Nield ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/mbi9b6isV6ML9Tr4bSPhyR-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Dave is a freelance tech journalist who has been writing about gadgets, apps and the web for more than two decades. Based out of Stockport, England, on TechRadar you&#039;ll find him covering news, features and reviews, particularly for phones, tablets and wearables. Working to ensure our breaking news coverage is the best in the business over weekends, David also has bylines at Gizmodo, T3, PopSci and a few other places besides, as well as being many years editing the likes of PC Explorer and The Hardware Handbook.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/AL2rrbAUhZFkwURBL9y22X-1920-80.jpg">
                                                            <media:credit><![CDATA[IKEA]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[A hand holding a phone showing the IKEA app next to an IKEA Liljebagge smart thermostat on a radiator]]></media:description>                                                            <media:text><![CDATA[A hand holding a phone showing the IKEA app next to an IKEA Liljebagge smart thermostat on a radiator]]></media:text>
                                <media:title type="plain"><![CDATA[A hand holding a phone showing the IKEA app next to an IKEA Liljebagge smart thermostat on a radiator]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/AL2rrbAUhZFkwURBL9y22X-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <ul><li><strong>A new IKEA device called the Liljebagge has appeared</strong></li><li><strong>It's an affordable smart radiator thermostat</strong></li><li><strong>We're still waiting to hear on international availability</strong></li></ul><p>IKEA isn't slowing down when it comes to launching smart home products — see the <a href="https://www.techradar.com/tech/ikea-just-released-the-smart-sensor-range-ive-been-waiting-for-simple-helpful-gadgets-from-as-little-as-usd6">smart sensors</a> and <a href="https://www.techradar.com/home/smart-lights/ikeas-stick-up-wireless-light-is-a-game-changer-for-dark-hallways-and-closets-and-you-can-snag-one-now-for-only-usd4">wireless lights</a> it's already pushed out this year, for example — and the latest new device to catch our eye is a smart radiator thermostat called the IKEA Liljebagge.</p><p>We're relying on <a href="https://winfuture.de/news,161010.html" target="_blank">WinFuture</a> and a fair bit of Google Translate to tease out the details here, but it seems there's support for the Matter and Thread standards, and a retail price of just €15 (that's roughly $17.40 / £12.90 / AU$24.30).</p><p>The WinFuture article talks about IKEA "preparing" to launch this thermostat, but it's already popped up on <a href="https://www.ikea.com/se/en/p/liljebagge-radiator-thermostat-white-smart-80622062/" target="_blank">the IKEA website</a> in Sweden. We can't see it on any other international sites as yet, though — we've asked IKEA for clarification on US and UK availability and will update this article if we hear back.</p><p>As per the official listing, installing the Liljebagge means you can "adjust the temperature in each room individually, control it when you’re away, increase comfort and reduce energy use", and it should fit "most water-based radiators".</p><h2 id="aggressively-priced">Aggressively priced</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1600px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="bnKqCsxrNpRtA5ABPkoik9" name="ikea-2" alt="IKEA Liljebagge" src="https://cdn.mos.cms.futurecdn.net/bnKqCsxrNpRtA5ABPkoik9-1920-80.jpg" mos="" align="middle" fullscreen="" width="1600" height="900" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">You can update temperatures from the device or from the IKEA Home app </span><span class="credit" itemprop="copyrightHolder">(Image credit: IKEA)</span></figcaption></figure><p>You're able to control the smart radiator thermostat from the IKEA Home app on your phone, or directly on the device itself. If you want it cooler in the bedroom and warmer in the study, then this makes it possible without much hassle.</p><p>IKEA's contender is particularly cheap compared to other smart thermostats that do the same job, and price is typically something IKEA likes to compete aggressively on (<a href="https://www.techradar.com/audio/wireless-bluetooth-speakers/fun-flexible-and-affordable-i-tested-ikeas-super-cheap-bluetooth-speaker-and-as-long-as-youre-not-expecting-sonos-toppling-sound-its-a-blast">see also its $10 / £10 speakers</a>, for instance).</p><p>Some other details: the built-in display turns off when you're not using it, so your radiators won't always be glowing, and you're able to adjust the temperature in 0.5-degree Celsius increments using plus and minus buttons.</p><p>On the home network integrations, it seems you'll need a Thread border router to use this on a Matter network. If you're going to go the IKEA route, you'll need the Dirigera hub. Power is provided by two AA batteries, which should last you 18 months. We'll update this story as soon as we hear anything about international availability.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Shelly's new affordable security camera offers an alternative to Ring, no subscription necessary ]]></title>
                                                                                                <dc:content><![CDATA[ <ul><li><strong>Smart home brand Shelly announced its new security camera ahead of IFA 2026 </strong></li><li><strong>It lets you view and store footage to microSD cards with no additional subscription cost </strong></li><li><strong>You can upgrade to Shelly Premium for cloud-based storage and other smart features</strong></li></ul><p>The early IFA 2026 product announcements have started, and home tech company Shelly has unveiled its new smart home security camera — and I think it has a shot at becoming the next cheap Ring alternative. </p><p>The new indoor Shelly Camera is the latest affordable smart home device designed for those who want similar features to those found in the <a href="https://www.techradar.com/news/best-home-security-camera">best home security doorbells</a>, but want to avoid the catch of additional subscription fees. </p><p>With a reasonable $49.99/£35 (approximately AU$65) price tag, the Shelly Camera sports all the basic features you need to ensure your home is covered to give you added peace of mind. Though the camera’s video quality isn’t as advanced as the <a href="https://www.techradar.com/home/home-security/ring-outdoor-cam-pro-review">Ring Outdoor Cam Pro</a>’s 4K resolution (Shelly’s is limited to 1080P), its other features more than make up for it. </p><p>As well as 110-degree horizontal and 70-degree vertical fields of view, which should be enough to cover a single room, the Shelly Camera supports black-and-white night vision monitoring and is compatible with Alexa, Google Home, and Samsung SmartThings. It’s also built to slot easily into your existing Shelly smart home ecosystem, working with other devices to trigger automations and activate lighting when movement is detected. </p><p>While many leading smart-home brands require you to sign up to a subscription in order to use their devices to their full potential, that’s not the case with the Shelly Camera. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="sW8hwdCF4E67ApLvabjUEK" name="ShellyCamera2" alt="The Shelly Camera mounted to a wall" src="https://cdn.mos.cms.futurecdn.net/sW8hwdCF4E67ApLvabjUEK-1920-80.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Shelly)</span></figcaption></figure><p>One of the best parts about this camera is that it packs a fair amount of features that aren’t locked behind a subscription paywall. This includes its resolution specs mentioned above, as well as automations and two-way audio — but its free video storage is what makes the camera a winner. </p><p>As well as simply viewing live footage from your smartphone without saving it, you can save recordings locally on microSD cards, and though you’ll have to purchase SD cards separately, it works out a whole lot cheaper than a monthly subscription fee. </p><p>For a $50 security camera that gives you access to basic tools and a way to store footage locally for free, you really can’t go wrong. And for those who aren’t too savvy about their smart-home tech, these features should be more than sufficient.<br><br>All that said, Shelly does offer a premium tier for additional smarts. At 3.99 euros a month ($4.40 / £3.40 / AU$6.50), Shelly Premium gives you access to cloud-based storage for one camera, and even smarter automation upgrades. This includes AI-powered object-detection capabilities, allowing your device to easily distinguish between faces, pets, and even vehicles to trigger specific alerts, which you can customize. </p><p>Having a Shelly Premium subscription opens the door to a handful of additional capabilities to enhance your home security ecosystem, but I don’t think you’re missing out on too much if you decide to stick with its free, basic tier.</p><p>For the most part, it’s the storage element that convinces users to cave into subscription models, and here that's not a factor if you're happy to go with the SD card option — and the camera comes with a free three-month trial of Shelly Premium, so you can try out those extra features before deciding whether or not you need the subscription. </p> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/home/smart-home/this-new-cheap-subscription-free-security-camera-looks-like-a-serious-ring-alternative-you-can-store-footage-offline-with-no-monthly-cost</link>
                                                                            <description>
                            <![CDATA[ Shelly has launched a new security camera with free microSD storage and two-way audio. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">UKXEhAx8HN4URRMnzZYUS8</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/QnxagvS5wXnkTNfMwA4due-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 02 Sep 2026 11:33:13 +0000</pubDate>                                                                                                                                <updated>Wed, 02 Sep 2026 15:45:39 +0000</updated>
                                                                                                                                            <category><![CDATA[Smart Home]]></category>
                                                    <category><![CDATA[Home]]></category>
                                                                                                <author><![CDATA[ rowan.davies@futurenet.com (Rowan Davies) ]]></author>                    <dc:creator><![CDATA[ Rowan Davies ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/q5Az6iW5pbAotRovdNvQAf-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Rowan is an Editorial Associate and Apprentice Writer for TechRadar. A recent addition to the news team, he is involved in generating stories for topics that spread across TechRadar&#039;s categories. His interests in audio tech and knowledge in entertainment culture help bring the latest updates in tech news to our readers.&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;He has been writing for publications since he started his studies at age 18. Rowan graduated from Cardiff University in 2023 after attaining a Master&#039;s in Creative Writing, and earlier a Bachelor&#039;s in Media, Journalism, and Culture. He began his journey as a writer at Cardiff University&#039;s Quench Magazine contributing to film/ TV, music, and culture sections, later becoming Music Section Editor.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;In his free time, Rowan is a freelance writer for Cardiff-based culture magazine Buzz where he reviews music, film, and conducts interviews with featured guests. When he is not writing, you can find him at any given music gig, or endlessly scrolling TikTok immersing in celebrity news and drama. &amp;nbsp;&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/QnxagvS5wXnkTNfMwA4due-1920-80.jpg">
                                                            <media:credit><![CDATA[Shelly / Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[The Ring indoor cam next to the Shelly indoor camera]]></media:description>                                                            <media:text><![CDATA[The Ring indoor cam next to the Shelly indoor camera]]></media:text>
                                <media:title type="plain"><![CDATA[The Ring indoor cam next to the Shelly indoor camera]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/QnxagvS5wXnkTNfMwA4due-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <ul><li><strong>Smart home brand Shelly announced its new security camera ahead of IFA 2026 </strong></li><li><strong>It lets you view and store footage to microSD cards with no additional subscription cost </strong></li><li><strong>You can upgrade to Shelly Premium for cloud-based storage and other smart features</strong></li></ul><p>The early IFA 2026 product announcements have started, and home tech company Shelly has unveiled its new smart home security camera — and I think it has a shot at becoming the next cheap Ring alternative. </p><p>The new indoor Shelly Camera is the latest affordable smart home device designed for those who want similar features to those found in the <a href="https://www.techradar.com/news/best-home-security-camera">best home security doorbells</a>, but want to avoid the catch of additional subscription fees. </p><p>With a reasonable $49.99/£35 (approximately AU$65) price tag, the Shelly Camera sports all the basic features you need to ensure your home is covered to give you added peace of mind. Though the camera’s video quality isn’t as advanced as the <a href="https://www.techradar.com/home/home-security/ring-outdoor-cam-pro-review">Ring Outdoor Cam Pro</a>’s 4K resolution (Shelly’s is limited to 1080P), its other features more than make up for it. </p><p>As well as 110-degree horizontal and 70-degree vertical fields of view, which should be enough to cover a single room, the Shelly Camera supports black-and-white night vision monitoring and is compatible with Alexa, Google Home, and Samsung SmartThings. It’s also built to slot easily into your existing Shelly smart home ecosystem, working with other devices to trigger automations and activate lighting when movement is detected. </p><p>While many leading smart-home brands require you to sign up to a subscription in order to use their devices to their full potential, that’s not the case with the Shelly Camera. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="sW8hwdCF4E67ApLvabjUEK" name="ShellyCamera2" alt="The Shelly Camera mounted to a wall" src="https://cdn.mos.cms.futurecdn.net/sW8hwdCF4E67ApLvabjUEK-1920-80.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Shelly)</span></figcaption></figure><p>One of the best parts about this camera is that it packs a fair amount of features that aren’t locked behind a subscription paywall. This includes its resolution specs mentioned above, as well as automations and two-way audio — but its free video storage is what makes the camera a winner. </p><p>As well as simply viewing live footage from your smartphone without saving it, you can save recordings locally on microSD cards, and though you’ll have to purchase SD cards separately, it works out a whole lot cheaper than a monthly subscription fee. </p><p>For a $50 security camera that gives you access to basic tools and a way to store footage locally for free, you really can’t go wrong. And for those who aren’t too savvy about their smart-home tech, these features should be more than sufficient.<br><br>All that said, Shelly does offer a premium tier for additional smarts. At 3.99 euros a month ($4.40 / £3.40 / AU$6.50), Shelly Premium gives you access to cloud-based storage for one camera, and even smarter automation upgrades. This includes AI-powered object-detection capabilities, allowing your device to easily distinguish between faces, pets, and even vehicles to trigger specific alerts, which you can customize. </p><p>Having a Shelly Premium subscription opens the door to a handful of additional capabilities to enhance your home security ecosystem, but I don’t think you’re missing out on too much if you decide to stick with its free, basic tier.</p><p>For the most part, it’s the storage element that convinces users to cave into subscription models, and here that's not a factor if you're happy to go with the SD card option — and the camera comes with a free three-month trial of Shelly Premium, so you can try out those extra features before deciding whether or not you need the subscription. </p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Researchers develop a phone add-on that spots hidden cameras in 5 seconds ]]></title>
                                                                                                <dc:content><![CDATA[ <ul><li><strong>SweepLED can spot hidden cameras by varying its illumination</strong></li><li><strong>AI can detect camera lenses by the light that gets reflected back</strong></li><li><strong>The accessory fits on the back of a camera and works in seconds</strong></li></ul><p>Unless you're in the safety of your own home, there's always a worry that you're being surveilled without your knowledge — when you're in an Airbnb, hotel room, changing room, or restroom, for example. Now researchers have developed an LED-powered phone accessory to give you some extra peace of mind.</p><p>It's called SweepLED, and it's the invention of a team from the Korea Advanced Institute of Science and Technology (KAIST). The portable device combines 15 LED lights, a cable to attach to your phone, and some AI processing.</p><p>According to the researchers, SweepLED can spot hidden cameras 94% of the time with a processing period of just five seconds per object. While this is only a prototype for now, the team has tested it on 30 different objects, reporting a high level of skill at identifying where hidden cameras are embedded (or not).</p><p>Here's how it works: SweepLED fixes to the back of a phone (over the camera). As video is recorded and the phone stays still, the add-on turns its LEDs on and off, comparing different reflection patterns against each other. Hidden camera lenses show up in those reflection patterns in a way that standard reflective surfaces don't.</p><h2 id="protecting-your-privacy">Protecting your privacy</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1200px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="krqR57h7JtmPvkCoiPQSfh" name="kaist-2" alt="SweepLED" src="https://cdn.mos.cms.futurecdn.net/krqR57h7JtmPvkCoiPQSfh-1920-80.jpg" mos="" align="middle" fullscreen="" width="1200" height="675" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">SweepLED uses reflection patterns to find cameras </span><span class="credit" itemprop="copyrightHolder">(Image credit: <a href="https://breakthroughs.kaist.ac.kr/sub04/view/id/11808" target="_blank">KAIST</a>)</span></figcaption></figure><p>"Hidden cameras pose a serious threat to personal safety and privacy in everyday spaces," <a href="https://www.eurekalert.org/news-releases/1141846" target="_blank">says Professor Jun Han</a>, from the KAIST team. "This research is meaningful in that it combines low-cost smartphone-based hardware with AI analysis to present the possibility of a practical detection technology that even non-experts can use."</p><p>Previous devices along these lines required users to look for 'bright spots' manually as they were lit up by the detector, the tell-tale sign that there was a camera looking back at them. This should be more efficient, and better at spotting different camera types hidden in a variety of different housings (like clocks or mirrors).</p><p>There's still plenty of work to do to get this refined and commercialized, but it shouldn't be expensive: the KAIST team reckons the manufacturing cost of SweepLED would be in the region of $7 (about £5 / AU$10).</p><p>If you do a lot of traveling, it might be worth investing in something like this just to make sure you're not being spied on. The work has been presented at the ACM MobiSys 2026 conference and <a href="https://dl.acm.org/doi/10.1145/3812835.3814866" target="_blank">published online</a>, though as yet there's no indication of when it might be available to the masses.</p><div data-widget-type="multimodelreview" data-widget-title="Today's best phone deals" data-model-name="Samsung Galaxy S26 Ultra,Apple iPhone 17,Google Pixel 11"></div> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/home/home-security/this-phone-accessory-spots-hidden-cameras-in-5-seconds-sweepled-prototype-uses-led-reflections-and-could-cost-only-usd7</link>
                                                                            <description>
                            <![CDATA[ SweepLED is cheap, accurate, and easy to use, and it can spot hidden cameras that other detectors can't. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">gpfY4vUfpbzS9UdJoaNgSH</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/4vpZp5qqy56tjehxfevZfh-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Tue, 01 Sep 2026 19:00:00 +0000</pubDate>                                                                                                                                <updated>Wed, 02 Sep 2026 05:10:02 +0000</updated>
                                                                                                                                            <category><![CDATA[Home Security]]></category>
                                                    <category><![CDATA[Home]]></category>
                                                    <category><![CDATA[Smart Home]]></category>
                                                                                                                    <dc:creator><![CDATA[ David Nield ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/mbi9b6isV6ML9Tr4bSPhyR-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Dave is a freelance tech journalist who has been writing about gadgets, apps and the web for more than two decades. Based out of Stockport, England, on TechRadar you&#039;ll find him covering news, features and reviews, particularly for phones, tablets and wearables. Working to ensure our breaking news coverage is the best in the business over weekends, David also has bylines at Gizmodo, T3, PopSci and a few other places besides, as well as being many years editing the likes of PC Explorer and The Hardware Handbook.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/4vpZp5qqy56tjehxfevZfh-1920-80.jpg">
                                                            <media:credit><![CDATA[KAIST]]></media:credit>
                                                                                                                                                                        <media:description><![CDATA[SweepLED fits on the back of your phone]]></media:description>                                                            <media:text><![CDATA[SweepLED]]></media:text>
                                <media:title type="plain"><![CDATA[SweepLED]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/4vpZp5qqy56tjehxfevZfh-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <ul><li><strong>SweepLED can spot hidden cameras by varying its illumination</strong></li><li><strong>AI can detect camera lenses by the light that gets reflected back</strong></li><li><strong>The accessory fits on the back of a camera and works in seconds</strong></li></ul><p>Unless you're in the safety of your own home, there's always a worry that you're being surveilled without your knowledge — when you're in an Airbnb, hotel room, changing room, or restroom, for example. Now researchers have developed an LED-powered phone accessory to give you some extra peace of mind.</p><p>It's called SweepLED, and it's the invention of a team from the Korea Advanced Institute of Science and Technology (KAIST). The portable device combines 15 LED lights, a cable to attach to your phone, and some AI processing.</p><p>According to the researchers, SweepLED can spot hidden cameras 94% of the time with a processing period of just five seconds per object. While this is only a prototype for now, the team has tested it on 30 different objects, reporting a high level of skill at identifying where hidden cameras are embedded (or not).</p><p>Here's how it works: SweepLED fixes to the back of a phone (over the camera). As video is recorded and the phone stays still, the add-on turns its LEDs on and off, comparing different reflection patterns against each other. Hidden camera lenses show up in those reflection patterns in a way that standard reflective surfaces don't.</p><h2 id="protecting-your-privacy">Protecting your privacy</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1200px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="krqR57h7JtmPvkCoiPQSfh" name="kaist-2" alt="SweepLED" src="https://cdn.mos.cms.futurecdn.net/krqR57h7JtmPvkCoiPQSfh-1920-80.jpg" mos="" align="middle" fullscreen="" width="1200" height="675" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">SweepLED uses reflection patterns to find cameras </span><span class="credit" itemprop="copyrightHolder">(Image credit: <a href="https://breakthroughs.kaist.ac.kr/sub04/view/id/11808" target="_blank">KAIST</a>)</span></figcaption></figure><p>"Hidden cameras pose a serious threat to personal safety and privacy in everyday spaces," <a href="https://www.eurekalert.org/news-releases/1141846" target="_blank">says Professor Jun Han</a>, from the KAIST team. "This research is meaningful in that it combines low-cost smartphone-based hardware with AI analysis to present the possibility of a practical detection technology that even non-experts can use."</p><p>Previous devices along these lines required users to look for 'bright spots' manually as they were lit up by the detector, the tell-tale sign that there was a camera looking back at them. This should be more efficient, and better at spotting different camera types hidden in a variety of different housings (like clocks or mirrors).</p><p>There's still plenty of work to do to get this refined and commercialized, but it shouldn't be expensive: the KAIST team reckons the manufacturing cost of SweepLED would be in the region of $7 (about £5 / AU$10).</p><p>If you do a lot of traveling, it might be worth investing in something like this just to make sure you're not being spied on. The work has been presented at the ACM MobiSys 2026 conference and <a href="https://dl.acm.org/doi/10.1145/3812835.3814866" target="_blank">published online</a>, though as yet there's no indication of when it might be available to the masses.</p><div data-widget-type="multimodelreview" data-widget-title="Today's best phone deals" data-model-name="Samsung Galaxy S26 Ultra,Apple iPhone 17,Google Pixel 11"></div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ You may soon be able to add your Nanoleaf lights to a Philips Hue system ]]></title>
                                                                                                <dc:content><![CDATA[ <ul><li><strong>There's more evidence of a tie-in with Philips Hue and Nanoleaf</strong></li><li><strong>An official support page appeared and then disappeared</strong></li><li><strong>We could get an announcement about this later in the week</strong></li></ul><p>A few days ago we <a href="https://www.techradar.com/home/smart-lights/philips-hue-and-nanoleaf-could-soon-reveal-an-unlikely-tie-in-leaked-adapter-promises-to-bring-nanoleaf-led-modules-to-your-hue-app">heard some whispers</a> that Philips Hue would be adding support for Nanoleaf Shapes, meaning these lights could be controlled in the app — and now the integration has almost been officially confirmed.</p><p>As spotted by <a href="https://www.androidauthority.com/philips-hue-nanoleaf-integration-support-page-3704404/" target="_blank">Android Authority</a>, a support page for the Nanoleaf integration briefly went up on the Philips Hue website, explaining the types of light that would be supported, and explaining a little bit about how the tie-in will work.</p><p>That support page has now promptly disappeared again, suggesting that it was put up too early by mistake. According to the initial rumor, Philips Hue will be adding support for Nanoleaf integration on Thursday, September 3, which seems about right.</p><p>Put together that first leak and the brief appearance of an official support page, and it's now looking extremely likely that this will happen. However, until Philips Hue makes the announcement, nothing is guaranteed.</p><h2 id="nanoleaf-panels-behaving-like-hue-lights">Nanoleaf panels behaving like Hue lights</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="NUsMEie24uN7zsRWeCK7x" name="Nanoleaf-Shapes.jpg" alt="Hexagonal-shaped LED light hang above a bed" src="https://cdn.mos.cms.futurecdn.net/NUsMEie24uN7zsRWeCK7x-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">A new Philips Hue wall module is expected to control Nanoleaf Shapes </span><span class="credit" itemprop="copyrightHolder">(Image credit: Nanoleaf)</span></figcaption></figure><p>According to the support page that has now been yanked from the web, the integration means Nanoleaf panels will "behave like a Hue light, ready to be used across your entire smart lighting setup".</p><p>There was also a line saying that Nanoleaf panels behave similarly to a gradient striplight", so you should be able to use the standard color wheel in the Philips Hue app to adjust the colors of the Nanoleaf panels you've got connected.</p><p>All of this will be made possible through a Philips Hue Wall Light Module that will connect to Nanoleaf devices. The support document lists Nanoleaf Hexagons, Triangles, and Mini Triangles as the smart lights that are going to be supported.</p><p>While there are still some questions about exactly how the connectivity is going to work — with a lot of smart home standards to account for — this seems like good news for both Philips Hue and Nanoleaf users.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/home/smart-lights/its-almost-official-youll-soon-be-able-to-add-your-nanoleaf-lights-to-a-philips-hue-system-as-a-support-page-briefly-appears-online</link>
                                                                            <description>
                            <![CDATA[ We've got another indication that a previously rumored link-up between Philips Hue and Nanoleaf is happening. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">G6FgPPS5hN9b9pcV8nbe4a</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/fNGUC26G9jWfHQrDpHqu2b-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sun, 30 Aug 2026 12:30:00 +0000</pubDate>                                                                                                                                <updated>Mon, 31 Aug 2026 23:01:02 +0000</updated>
                                                                                                                                            <category><![CDATA[Smart Lights]]></category>
                                                    <category><![CDATA[Home]]></category>
                                                    <category><![CDATA[Smart Home]]></category>
                                                                                                                    <dc:creator><![CDATA[ David Nield ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/mbi9b6isV6ML9Tr4bSPhyR-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Dave is a freelance tech journalist who has been writing about gadgets, apps and the web for more than two decades. Based out of Stockport, England, on TechRadar you&#039;ll find him covering news, features and reviews, particularly for phones, tablets and wearables. Working to ensure our breaking news coverage is the best in the business over weekends, David also has bylines at Gizmodo, T3, PopSci and a few other places besides, as well as being many years editing the likes of PC Explorer and The Hardware Handbook.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/fNGUC26G9jWfHQrDpHqu2b-1920-80.jpg">
                                                            <media:credit><![CDATA[Philips Hue / Future]]></media:credit>
                                                                                                                                                                        <media:description><![CDATA[It looks like Philips Hue and Nanoleaf are joining forces]]></media:description>                                                            <media:text><![CDATA[The philips hue app next to nanoleaf shapes ]]></media:text>
                                <media:title type="plain"><![CDATA[The philips hue app next to nanoleaf shapes ]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/fNGUC26G9jWfHQrDpHqu2b-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <ul><li><strong>There's more evidence of a tie-in with Philips Hue and Nanoleaf</strong></li><li><strong>An official support page appeared and then disappeared</strong></li><li><strong>We could get an announcement about this later in the week</strong></li></ul><p>A few days ago we <a href="https://www.techradar.com/home/smart-lights/philips-hue-and-nanoleaf-could-soon-reveal-an-unlikely-tie-in-leaked-adapter-promises-to-bring-nanoleaf-led-modules-to-your-hue-app">heard some whispers</a> that Philips Hue would be adding support for Nanoleaf Shapes, meaning these lights could be controlled in the app — and now the integration has almost been officially confirmed.</p><p>As spotted by <a href="https://www.androidauthority.com/philips-hue-nanoleaf-integration-support-page-3704404/" target="_blank">Android Authority</a>, a support page for the Nanoleaf integration briefly went up on the Philips Hue website, explaining the types of light that would be supported, and explaining a little bit about how the tie-in will work.</p><p>That support page has now promptly disappeared again, suggesting that it was put up too early by mistake. According to the initial rumor, Philips Hue will be adding support for Nanoleaf integration on Thursday, September 3, which seems about right.</p><p>Put together that first leak and the brief appearance of an official support page, and it's now looking extremely likely that this will happen. However, until Philips Hue makes the announcement, nothing is guaranteed.</p><h2 id="nanoleaf-panels-behaving-like-hue-lights">Nanoleaf panels behaving like Hue lights</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="NUsMEie24uN7zsRWeCK7x" name="Nanoleaf-Shapes.jpg" alt="Hexagonal-shaped LED light hang above a bed" src="https://cdn.mos.cms.futurecdn.net/NUsMEie24uN7zsRWeCK7x-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">A new Philips Hue wall module is expected to control Nanoleaf Shapes </span><span class="credit" itemprop="copyrightHolder">(Image credit: Nanoleaf)</span></figcaption></figure><p>According to the support page that has now been yanked from the web, the integration means Nanoleaf panels will "behave like a Hue light, ready to be used across your entire smart lighting setup".</p><p>There was also a line saying that Nanoleaf panels behave similarly to a gradient striplight", so you should be able to use the standard color wheel in the Philips Hue app to adjust the colors of the Nanoleaf panels you've got connected.</p><p>All of this will be made possible through a Philips Hue Wall Light Module that will connect to Nanoleaf devices. The support document lists Nanoleaf Hexagons, Triangles, and Mini Triangles as the smart lights that are going to be supported.</p><p>While there are still some questions about exactly how the connectivity is going to work — with a lot of smart home standards to account for — this seems like good news for both Philips Hue and Nanoleaf users.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ How much can you really save with plug-in solar? I've crunched the numbers ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Plug-in solar is no longer a grey area. Kits under 800VA are now legal to buy and connect to a standard socket; no installer required. The government has been promising this since March. Now it is finally here.</p><p>But legal does not mean simple. The market has split into three very different products, sold under one loose banner. Solar-only kits that plug straight into a socket — these are then ones that have just been made legal. Then there are battery-only power stations that store grid electricity for later, which still need professional installation. Lastly, there are solar-plus-battery systems that do both. Each behaves differently. Each saves a different amount. And, crucially, only the first one is actually covered by the new rules.</p><p>I started my solar journey about a year ago, initially with batteries and now branching into solar panels. But with the advent of new rules and new products, the market is opening up for those who want to turn a modest investment into a reduction in every electricity bill merely by deploying a few solar panels and connecting them to a wall socket.</p><p>To help you decide whether or not to buy a plug-in solar kit, or opt for one of the other two options, I've crunched the numbers below for all three scenarios — and thrown in my personal experiences over the past year.</p><h3 class="article-body__section" id="section-how-much-can-you-save"><span>How much can you save?</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:6707px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="gkmdRXeMm3J7VF9tLBwxJg" name="GettyImages-1701277945" alt="Couple standing on balcony holding solar panel" src="https://cdn.mos.cms.futurecdn.net/gkmdRXeMm3J7VF9tLBwxJg-1920-80.jpg" mos="" align="middle" fullscreen="" width="6707" height="3773" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Getty Images, Westend61)</span></figcaption></figure><p>This question takes inspiration from the classic “how long is a piece of string?”, because there are many factors that impact the answer. These include where you live, the underlying cost of power in that region, the equipment you plan to deploy, and the tariffs you will use with the hardware.</p><p>If we consider three basic scenarios: solar only, solar with battery and battery-only, then the amount each requires in investment and the cost benefits vary significantly.</p><p>Let's look at each of these and see how much you can spend, how much the return might be, and how that influences the payback period. </p><h2 id="solar-only-the-numbers-brands-are-quoting">Solar only: the numbers brands are quoting</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:6000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="cS3Zbb8N2EzWVvdjNHYsMD" name="GettyImages-2182459819 (1)" alt="A plug-in solar balcony panel in Germany" src="https://cdn.mos.cms.futurecdn.net/cS3Zbb8N2EzWVvdjNHYsMD-1920-80.jpg" mos="" align="middle" fullscreen="" width="6000" height="3375" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Getty Images / imageBROKER / Robert Poorten)</span></figcaption></figure><p>On the solar-only pathway, EcoFlow says its standard kit, two 400W panels and a microinverter, can save you up to £115 a year. That fits the government's estimate that the newly-legalised plug-in solar can <a href="https://www.gov.uk/government/news/households-can-save-as-plug-in-solar-panels-come-to-market" target="_blank">save you "up to £110 a year"</a>. </p><p>So what's the payback period? The EcoFlow panels cost around £299, and the microinverter is about £100, so the payback would be roughly four years. A retail provider, <a href="https://www.cityplumbing.co.uk/blog/plug-in-solar-uk-2026" target="_blank" rel="nofollow">City Plumbing</a>, puts a good 800W kit at £100 to £250 a year, with a four-to six-year payback on hardware costing £600 to £1,000.</p><p>Independent estimates land lower and more cautiously. One <a href="https://solarenergyconcepts.co.uk/post/plug-in-solar-uk/" target="_blank" rel="nofollow">detailed breakdown</a> puts realistic savings at £40 to £85 a year for an 800W kit, because without battery storage, you only self-consume between 25-40% of what the panels generate. The rest goes nowhere useful, since you have no battery to hold it and, without MCS certification, no export tariff to sell it into either.</p><p>That last point matters more than any brochure figure. A solar-only kit under the new rules cannot claim the Smart Export Guarantee. There is no MCS certification path for an 800VA socket device. So every kilowatt hour you don't use the moment it is generated is simply wasted. Real savings depend entirely on how much daytime electricity your home actually uses with the fridge, router, standby devices, the odd load of washing.</p><p>A sensible expectation for a solar-only kit is in the <a href="https://www.fitsolar.energy/plug-in-solar-panels-uk-everything-you-need-to-know/" target="_blank" rel="nofollow">£70 to £110 a year ballpark</a>, weighted toward the low end unless your daytime usage is unusually high. Most of that saving comes in the summer months, with much less in winter.</p><p>The answer to the solar-energy-you-can’t-use dilemma is a battery, because then you can use every part of the solar generation. If your standing demand is less than what you generate, then the excess can go into a battery that you then use when solar is below that threshold.</p><p>Plug-in batteries aren't currently legal in the UK, despite the likes of <a href="https://www.techradar.com/home/smart-home/plug-in-batteries-are-the-real-game-changer-i-talked-to-octopus-energy-and-anker-about-the-home-energy-revolution-than-could-soon-be-bigger-than-solar-for-millions">Octopus Energy telling us recently that they are "the real game-changer"</a>. That means that, right now, going this route requires some professional help — but it can also open up much bigger savings...  </p><h2 id="battery-only-a-different-game-entirely">Battery only: a different game entirely</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2096px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="DhzpZcyLkZpT2jZD9jWbo4" name="EcoflowStream" alt="An EcoFlow plug-in battery in an attic plugged into the wall" src="https://cdn.mos.cms.futurecdn.net/DhzpZcyLkZpT2jZD9jWbo4-1920-80.jpg" mos="" align="middle" fullscreen="" width="2096" height="1179" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: EcoFlow)</span></figcaption></figure><p>What do you do if you don’t have a good location for solar panels to be hung or mounted, or if you rent a property that doesn’t allow things to be hung on balconies?</p><p>What many people don’t realise is that the price of power varies over a typical day, being relatively cheap at low-demand times, like the middle of the day, and becoming more expensive between 4pm and 7pm, when lots of people start cooking.</p><p>There are tariffs, such as Octopus Agile, that break the day into 30-minute slices with different prices for each, and these amounts vary based on wholesale energy costs and how renewable resources are affected by the weather (for example, if it's windy).</p><p>With a battery, you can capture power from the grid when it's cheap, and then use it when the price is elevated. And, depending on how much battery capacity you have and how it's wired to the property, you could even make a profit by selling it back to the grid during peak demand.</p><p>A good example of this is offered by the <a href="https://zendure.com/products/solarflow-hyper-2000" target="_blank">Zendure Hyper 2000</a>, an inverter designed to couple batteries (and solar) to the electrics of the home. It charges overnight on a tariff like Octopus Go, roughly 9p per kilowatt-hour, then discharges through the day when the standard rate sits around 24.67p. Do that consistently on an appropriately-sized battery and Zendure's own figures suggest £250 to £300 a year is realistic, once you count that alongside any solar contribution.</p><h2 id="solar-and-battery-combined-the-biggest-savings-with-the-biggest-asterisk">Solar and battery combined: the biggest savings, with the biggest asterisk</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="gGFwf9eX9J24SZ4EtVLoWA" name="Scenario Image (1)" alt="The Anker Solix Solarbank 4 Pro" src="https://cdn.mos.cms.futurecdn.net/gGFwf9eX9J24SZ4EtVLoWA-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Anker)</span></figcaption></figure><p>This is where the most eye-catching claims live. One comparison site quotes 90% self-consumption on an 860kWh annual generation figure, working out at roughly £191 a year. Another puts the jump plainly: without a battery, you self-consume 30 to 40 per cent of what you generate. With one, you jump to between 85 and 93 per cent. That is the difference between an £80-a-year system and a £180-a-year one, but getting that saving requires additional investment. </p><p>For example, Anker's Solix Solarbank E1600 is a 1.6kWh battery, rated for 6,000 cycles with still 80% capacity, which works out to over 16 years of daily use for roughly £910 up front. Similarly, the <a href="https://www.techradar.com/home/energy-saving/ecoflows-stream-home-batteries-arrive-to-target-the-uks-plug-in-solar-boom-but-installation-still-isnt-diy">EcoFlow Stream series</a> integrates the microinverter and battery management directly, which is more efficient than bolting a separate power station onto a standard microinverter. The Stream Ultra costs £900, offers 1.92kWh capacity, and can connect 2800W of solar input.</p><p>Realistic savings for a properly installed solar plus battery balcony system? About £150 to £300 a year, with the top end reserved for households that also actively manage a time-of-use tariff and have the battery capacity to exploit when prices are low.</p><h2 id="a-slight-snag">A slight snag...</h2><p>The new interim specification from the Department for Energy Security and Net Zero covers solar generation only. It says plainly that these socket-connected devices must not be used with a battery storage system. </p><p>So the tidy, self-contained kits with a battery built in, the ones EcoFlow, Anker, and Bluetti are currently selling as balcony solar, do not qualify for the simple socket route at all. They still need a hardwired connection through a fused spur, fitted by a qualified electrician, notified to your network operator under G98 within 28 days.</p><p>This may change, but that’s where the regulations stand as of August 27 2026.</p><h3 class="article-body__section" id="section-my-own-journey"><span>My own journey</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="x5ZV7Cbi44tbdUhHw9W35i" name="EcoFlow_System_20260828_122449874_HDR_Adjusted" alt="EcoFlow Stream Ultra X System" src="https://cdn.mos.cms.futurecdn.net/x5ZV7Cbi44tbdUhHw9W35i-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Mark Pickavance)</span></figcaption></figure><p>My electricity bill alone in 2025 was £1,543.80, which was sufficient motivation to do something about it.</p><p>The approach I took was to buy an <a href="https://www.techradar.com/pro/ecoflow-stream-ultra-x-balcony-solar-battery-review">EcoFlow Stream Ultra X</a>, a 3.84 kWh LFP battery, and have it professionally connected to my mains power through a fused spur. That only happened at the end of April, so I’ve only been running on battery support since then. </p><p>In those four months, I’ve used Octopus Agile and reviewed the power profile each day to optimise when I collect power at the cheapest rate. I’ve experimented with attaching some solar panels to see what that brings to the table, and I will probably add roof-mounted solar next year. </p><p>Running with a battery for four months, at the two-thirds point of the year, we’re at roughly £900 spent on power, meaning that this year should top out at about £1350, making for about a £200 advantage. But looking at the year breakdown, I’m consuming more power but paying less for it. I’m expecting that number to be closer to £350 by the time 2027 rolls around. But that doesn’t factor in the price rises that might have pushed my bill up.</p><p>To get that improvement, I’ve invested £1,250 in battery technology, and I’ve also had a new consumer unit fitted that cost almost as much. Therefore, my payback is closer to eight years, but only based on current power costs, not what they might be in 2034.</p><p>With this working as well as it seems, I’ve doubled down, bought a second Stream Ultra X, and I’m going to add solar to the mix soon.</p><p>New products I’ll be looking at in the coming months, like the EcoFlow Stream 5000 and EcoFlow Gateway, might further skew my plans, depending on what they bring to this power party.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/mP7GBd5eqPw2w3C3Nf7swh-1920-80.png" alt="EcoFlow Stream Ultra X System" /><figcaption>The EcoFlow app shows you what's happening and enables total control<small role="credit">Mark Pickavance</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/sXfv9UpkVJg6uuxJ52ZZAi-1920-80.png" alt="EcoFlow Stream Ultra X System" /><figcaption>Power is pulled into the battery when its cheap, and exported when its expensive<small role="credit">Mark Pickavance</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/d4sq6VM4GVhbFJWWTFgdph-1920-80.png" alt="EcoFlow Stream Ultra X System" /><figcaption>Ironically, overall consumption might be higher than normal for the whole day<small role="credit">Mark Pickavance</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/RTUgh9bHV2dA7WHWFH9fqh-1920-80.png" alt="EcoFlow Stream Ultra X System" /><figcaption>A typical day. Charging in the middle of the day and using from 4pm onwards.<small role="credit">Mark Pickavance</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/JT538eAz7VHWufFDwwdFqh-1920-80.png" alt="EcoFlow Stream Ultra X System" /><figcaption>When power is at its cheapest, the impact on daily costs is huge<small role="credit">Mark Pickavance</small></figcaption></figure></figure><h3 class="article-body__section" id="section-plug-in-solar-the-bottom-line"><span>Plug-in solar: the bottom line</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1600px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="DjbqKAzTFidEkMmpCbYaUV" name="ECOFlow Stream Ultra X__20260528_082947307_HDR.jpg" alt="EcoFlow Stream Ultra X" src="https://cdn.mos.cms.futurecdn.net/DjbqKAzTFidEkMmpCbYaUV-1920-80.jpg" mos="" align="middle" fullscreen="" width="1600" height="900" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Mark Pickavance)</span></figcaption></figure><p>Plug-in solar going legal on August 27 is genuinely useful news for renters and flat dwellers who have had no route into solar at all. </p><p>But the marketing gap between "up to £110 a year" and the more sober £40 to £85 a year some analysts are quoting is wide, and the reason is simple. Brochure figures assume ideal conditions and often quietly assume a battery, which the new simplified rules do not actually permit.</p><p>Treat solar-only kits as a modest, genuinely no-fuss saving in the £70 to £150 bracket. Treat battery-only setups as a tariff arbitrage tool worth £150 to £250 a year if you have the right rate. And treat combined systems as the strongest performer, £150 to £300 a year, but budget for an electrician and G98 paperwork rather than a Sunday afternoon plug-and-play job.</p><p>None of these numbers replaces a proper rooftop installation. But for a segment of the market that has had nothing available to it until now, even the conservative figures represent a real, if modest, win.</p><p>However, it’s also worth saying that there are at least two reasons you should be considering it even if the current savings seem modest. First, a simple solar-only deployment is the first rung on a ladder to power self-sufficiency; second, grid power isn’t getting any cheaper in the foreseeable future.</p><p>It’s about time we stopped accepting that utility services only go up in price, and now it's possible to actually do something about it.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-O92zpX"></div>                            </div>                            <script src="https://kwizly.com/embed/O92zpX.js" async></script> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/home/smart-home/how-much-can-you-really-save-with-plug-in-solar-ive-crunched-the-numbers-next-to-my-ecoflow-stream-ultra-x-and-its-not-as-sunny-it-sounds</link>
                                                                            <description>
                            <![CDATA[ With the era of Plug-in solar coming to the UK, what does this mean for those with increasing electricity bills? ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">YYJXH2CSqaKpMsdWfQUaU</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/UBmBPCF7Db4mL959ePtUM-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sun, 30 Aug 2026 08:00:00 +0000</pubDate>                                                                                                                                <updated>Sun, 30 Aug 2026 10:31:25 +0000</updated>
                                                                                                                                            <category><![CDATA[Smart Home]]></category>
                                                    <category><![CDATA[Energy Saving]]></category>
                                                    <category><![CDATA[Home]]></category>
                                                                                                <author><![CDATA[ mark@pickavance.com (Mark Pickavance) ]]></author>                    <dc:creator><![CDATA[ Mark Pickavance ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/droJDC5YLWYdAfVgqpQkFd-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/UBmBPCF7Db4mL959ePtUM-1920-80.jpg">
                                                            <media:credit><![CDATA[Getty Images / imageBROKER / Robert Poorten]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[A balcony solar panel next to a man with a solar panel under his arm]]></media:description>                                                            <media:text><![CDATA[A balcony solar panel next to a man with a solar panel under his arm]]></media:text>
                                <media:title type="plain"><![CDATA[A balcony solar panel next to a man with a solar panel under his arm]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/UBmBPCF7Db4mL959ePtUM-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Plug-in solar is no longer a grey area. Kits under 800VA are now legal to buy and connect to a standard socket; no installer required. The government has been promising this since March. Now it is finally here.</p><p>But legal does not mean simple. The market has split into three very different products, sold under one loose banner. Solar-only kits that plug straight into a socket — these are then ones that have just been made legal. Then there are battery-only power stations that store grid electricity for later, which still need professional installation. Lastly, there are solar-plus-battery systems that do both. Each behaves differently. Each saves a different amount. And, crucially, only the first one is actually covered by the new rules.</p><p>I started my solar journey about a year ago, initially with batteries and now branching into solar panels. But with the advent of new rules and new products, the market is opening up for those who want to turn a modest investment into a reduction in every electricity bill merely by deploying a few solar panels and connecting them to a wall socket.</p><p>To help you decide whether or not to buy a plug-in solar kit, or opt for one of the other two options, I've crunched the numbers below for all three scenarios — and thrown in my personal experiences over the past year.</p><h3 class="article-body__section" id="section-how-much-can-you-save"><span>How much can you save?</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:6707px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="gkmdRXeMm3J7VF9tLBwxJg" name="GettyImages-1701277945" alt="Couple standing on balcony holding solar panel" src="https://cdn.mos.cms.futurecdn.net/gkmdRXeMm3J7VF9tLBwxJg-1920-80.jpg" mos="" align="middle" fullscreen="" width="6707" height="3773" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Getty Images, Westend61)</span></figcaption></figure><p>This question takes inspiration from the classic “how long is a piece of string?”, because there are many factors that impact the answer. These include where you live, the underlying cost of power in that region, the equipment you plan to deploy, and the tariffs you will use with the hardware.</p><p>If we consider three basic scenarios: solar only, solar with battery and battery-only, then the amount each requires in investment and the cost benefits vary significantly.</p><p>Let's look at each of these and see how much you can spend, how much the return might be, and how that influences the payback period. </p><h2 id="solar-only-the-numbers-brands-are-quoting">Solar only: the numbers brands are quoting</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:6000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="cS3Zbb8N2EzWVvdjNHYsMD" name="GettyImages-2182459819 (1)" alt="A plug-in solar balcony panel in Germany" src="https://cdn.mos.cms.futurecdn.net/cS3Zbb8N2EzWVvdjNHYsMD-1920-80.jpg" mos="" align="middle" fullscreen="" width="6000" height="3375" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Getty Images / imageBROKER / Robert Poorten)</span></figcaption></figure><p>On the solar-only pathway, EcoFlow says its standard kit, two 400W panels and a microinverter, can save you up to £115 a year. That fits the government's estimate that the newly-legalised plug-in solar can <a href="https://www.gov.uk/government/news/households-can-save-as-plug-in-solar-panels-come-to-market" target="_blank">save you "up to £110 a year"</a>. </p><p>So what's the payback period? The EcoFlow panels cost around £299, and the microinverter is about £100, so the payback would be roughly four years. A retail provider, <a href="https://www.cityplumbing.co.uk/blog/plug-in-solar-uk-2026" target="_blank" rel="nofollow">City Plumbing</a>, puts a good 800W kit at £100 to £250 a year, with a four-to six-year payback on hardware costing £600 to £1,000.</p><p>Independent estimates land lower and more cautiously. One <a href="https://solarenergyconcepts.co.uk/post/plug-in-solar-uk/" target="_blank" rel="nofollow">detailed breakdown</a> puts realistic savings at £40 to £85 a year for an 800W kit, because without battery storage, you only self-consume between 25-40% of what the panels generate. The rest goes nowhere useful, since you have no battery to hold it and, without MCS certification, no export tariff to sell it into either.</p><p>That last point matters more than any brochure figure. A solar-only kit under the new rules cannot claim the Smart Export Guarantee. There is no MCS certification path for an 800VA socket device. So every kilowatt hour you don't use the moment it is generated is simply wasted. Real savings depend entirely on how much daytime electricity your home actually uses with the fridge, router, standby devices, the odd load of washing.</p><p>A sensible expectation for a solar-only kit is in the <a href="https://www.fitsolar.energy/plug-in-solar-panels-uk-everything-you-need-to-know/" target="_blank" rel="nofollow">£70 to £110 a year ballpark</a>, weighted toward the low end unless your daytime usage is unusually high. Most of that saving comes in the summer months, with much less in winter.</p><p>The answer to the solar-energy-you-can’t-use dilemma is a battery, because then you can use every part of the solar generation. If your standing demand is less than what you generate, then the excess can go into a battery that you then use when solar is below that threshold.</p><p>Plug-in batteries aren't currently legal in the UK, despite the likes of <a href="https://www.techradar.com/home/smart-home/plug-in-batteries-are-the-real-game-changer-i-talked-to-octopus-energy-and-anker-about-the-home-energy-revolution-than-could-soon-be-bigger-than-solar-for-millions">Octopus Energy telling us recently that they are "the real game-changer"</a>. That means that, right now, going this route requires some professional help — but it can also open up much bigger savings...  </p><h2 id="battery-only-a-different-game-entirely">Battery only: a different game entirely</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2096px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="DhzpZcyLkZpT2jZD9jWbo4" name="EcoflowStream" alt="An EcoFlow plug-in battery in an attic plugged into the wall" src="https://cdn.mos.cms.futurecdn.net/DhzpZcyLkZpT2jZD9jWbo4-1920-80.jpg" mos="" align="middle" fullscreen="" width="2096" height="1179" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: EcoFlow)</span></figcaption></figure><p>What do you do if you don’t have a good location for solar panels to be hung or mounted, or if you rent a property that doesn’t allow things to be hung on balconies?</p><p>What many people don’t realise is that the price of power varies over a typical day, being relatively cheap at low-demand times, like the middle of the day, and becoming more expensive between 4pm and 7pm, when lots of people start cooking.</p><p>There are tariffs, such as Octopus Agile, that break the day into 30-minute slices with different prices for each, and these amounts vary based on wholesale energy costs and how renewable resources are affected by the weather (for example, if it's windy).</p><p>With a battery, you can capture power from the grid when it's cheap, and then use it when the price is elevated. And, depending on how much battery capacity you have and how it's wired to the property, you could even make a profit by selling it back to the grid during peak demand.</p><p>A good example of this is offered by the <a href="https://zendure.com/products/solarflow-hyper-2000" target="_blank">Zendure Hyper 2000</a>, an inverter designed to couple batteries (and solar) to the electrics of the home. It charges overnight on a tariff like Octopus Go, roughly 9p per kilowatt-hour, then discharges through the day when the standard rate sits around 24.67p. Do that consistently on an appropriately-sized battery and Zendure's own figures suggest £250 to £300 a year is realistic, once you count that alongside any solar contribution.</p><h2 id="solar-and-battery-combined-the-biggest-savings-with-the-biggest-asterisk">Solar and battery combined: the biggest savings, with the biggest asterisk</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="gGFwf9eX9J24SZ4EtVLoWA" name="Scenario Image (1)" alt="The Anker Solix Solarbank 4 Pro" src="https://cdn.mos.cms.futurecdn.net/gGFwf9eX9J24SZ4EtVLoWA-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Anker)</span></figcaption></figure><p>This is where the most eye-catching claims live. One comparison site quotes 90% self-consumption on an 860kWh annual generation figure, working out at roughly £191 a year. Another puts the jump plainly: without a battery, you self-consume 30 to 40 per cent of what you generate. With one, you jump to between 85 and 93 per cent. That is the difference between an £80-a-year system and a £180-a-year one, but getting that saving requires additional investment. </p><p>For example, Anker's Solix Solarbank E1600 is a 1.6kWh battery, rated for 6,000 cycles with still 80% capacity, which works out to over 16 years of daily use for roughly £910 up front. Similarly, the <a href="https://www.techradar.com/home/energy-saving/ecoflows-stream-home-batteries-arrive-to-target-the-uks-plug-in-solar-boom-but-installation-still-isnt-diy">EcoFlow Stream series</a> integrates the microinverter and battery management directly, which is more efficient than bolting a separate power station onto a standard microinverter. The Stream Ultra costs £900, offers 1.92kWh capacity, and can connect 2800W of solar input.</p><p>Realistic savings for a properly installed solar plus battery balcony system? About £150 to £300 a year, with the top end reserved for households that also actively manage a time-of-use tariff and have the battery capacity to exploit when prices are low.</p><h2 id="a-slight-snag">A slight snag...</h2><p>The new interim specification from the Department for Energy Security and Net Zero covers solar generation only. It says plainly that these socket-connected devices must not be used with a battery storage system. </p><p>So the tidy, self-contained kits with a battery built in, the ones EcoFlow, Anker, and Bluetti are currently selling as balcony solar, do not qualify for the simple socket route at all. They still need a hardwired connection through a fused spur, fitted by a qualified electrician, notified to your network operator under G98 within 28 days.</p><p>This may change, but that’s where the regulations stand as of August 27 2026.</p><h3 class="article-body__section" id="section-my-own-journey"><span>My own journey</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="x5ZV7Cbi44tbdUhHw9W35i" name="EcoFlow_System_20260828_122449874_HDR_Adjusted" alt="EcoFlow Stream Ultra X System" src="https://cdn.mos.cms.futurecdn.net/x5ZV7Cbi44tbdUhHw9W35i-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Mark Pickavance)</span></figcaption></figure><p>My electricity bill alone in 2025 was £1,543.80, which was sufficient motivation to do something about it.</p><p>The approach I took was to buy an <a href="https://www.techradar.com/pro/ecoflow-stream-ultra-x-balcony-solar-battery-review">EcoFlow Stream Ultra X</a>, a 3.84 kWh LFP battery, and have it professionally connected to my mains power through a fused spur. That only happened at the end of April, so I’ve only been running on battery support since then. </p><p>In those four months, I’ve used Octopus Agile and reviewed the power profile each day to optimise when I collect power at the cheapest rate. I’ve experimented with attaching some solar panels to see what that brings to the table, and I will probably add roof-mounted solar next year. </p><p>Running with a battery for four months, at the two-thirds point of the year, we’re at roughly £900 spent on power, meaning that this year should top out at about £1350, making for about a £200 advantage. But looking at the year breakdown, I’m consuming more power but paying less for it. I’m expecting that number to be closer to £350 by the time 2027 rolls around. But that doesn’t factor in the price rises that might have pushed my bill up.</p><p>To get that improvement, I’ve invested £1,250 in battery technology, and I’ve also had a new consumer unit fitted that cost almost as much. Therefore, my payback is closer to eight years, but only based on current power costs, not what they might be in 2034.</p><p>With this working as well as it seems, I’ve doubled down, bought a second Stream Ultra X, and I’m going to add solar to the mix soon.</p><p>New products I’ll be looking at in the coming months, like the EcoFlow Stream 5000 and EcoFlow Gateway, might further skew my plans, depending on what they bring to this power party.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/mP7GBd5eqPw2w3C3Nf7swh-1920-80.png" alt="EcoFlow Stream Ultra X System" /><figcaption>The EcoFlow app shows you what's happening and enables total control<small role="credit">Mark Pickavance</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/sXfv9UpkVJg6uuxJ52ZZAi-1920-80.png" alt="EcoFlow Stream Ultra X System" /><figcaption>Power is pulled into the battery when its cheap, and exported when its expensive<small role="credit">Mark Pickavance</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/d4sq6VM4GVhbFJWWTFgdph-1920-80.png" alt="EcoFlow Stream Ultra X System" /><figcaption>Ironically, overall consumption might be higher than normal for the whole day<small role="credit">Mark Pickavance</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/RTUgh9bHV2dA7WHWFH9fqh-1920-80.png" alt="EcoFlow Stream Ultra X System" /><figcaption>A typical day. Charging in the middle of the day and using from 4pm onwards.<small role="credit">Mark Pickavance</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/JT538eAz7VHWufFDwwdFqh-1920-80.png" alt="EcoFlow Stream Ultra X System" /><figcaption>When power is at its cheapest, the impact on daily costs is huge<small role="credit">Mark Pickavance</small></figcaption></figure></figure><h3 class="article-body__section" id="section-plug-in-solar-the-bottom-line"><span>Plug-in solar: the bottom line</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1600px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="DjbqKAzTFidEkMmpCbYaUV" name="ECOFlow Stream Ultra X__20260528_082947307_HDR.jpg" alt="EcoFlow Stream Ultra X" src="https://cdn.mos.cms.futurecdn.net/DjbqKAzTFidEkMmpCbYaUV-1920-80.jpg" mos="" align="middle" fullscreen="" width="1600" height="900" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Mark Pickavance)</span></figcaption></figure><p>Plug-in solar going legal on August 27 is genuinely useful news for renters and flat dwellers who have had no route into solar at all. </p><p>But the marketing gap between "up to £110 a year" and the more sober £40 to £85 a year some analysts are quoting is wide, and the reason is simple. Brochure figures assume ideal conditions and often quietly assume a battery, which the new simplified rules do not actually permit.</p><p>Treat solar-only kits as a modest, genuinely no-fuss saving in the £70 to £150 bracket. Treat battery-only setups as a tariff arbitrage tool worth £150 to £250 a year if you have the right rate. And treat combined systems as the strongest performer, £150 to £300 a year, but budget for an electrician and G98 paperwork rather than a Sunday afternoon plug-and-play job.</p><p>None of these numbers replaces a proper rooftop installation. But for a segment of the market that has had nothing available to it until now, even the conservative figures represent a real, if modest, win.</p><p>However, it’s also worth saying that there are at least two reasons you should be considering it even if the current savings seem modest. First, a simple solar-only deployment is the first rung on a ladder to power self-sufficiency; second, grid power isn’t getting any cheaper in the foreseeable future.</p><p>It’s about time we stopped accepting that utility services only go up in price, and now it's possible to actually do something about it.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-O92zpX"></div>                            </div>                            <script src="https://kwizly.com/embed/O92zpX.js" async></script>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Home appliance brand Dreame has canned its rocket-powered supercar ]]></title>
                                                                                                <dc:content><![CDATA[ <ul><li><strong>Dreame has reportedly cancelled all its car projects</strong></li><li><strong>The firm's expansion plans seemed "too fast and too wide-reaching"</strong></li><li><strong>Rocket-boosted performance always seemed unlikely</strong></li></ul><p><a href="https://www.techradar.com/home/robot-vacuums/dreame-has-expanded-its-remit-to-literally-anything-and-im-not-sure-its-good-news-for-one-of-my-favorite-vacuum-brands">When we went down to CES in January</a>, we were in for a big surprise: Dreame, the brand we know primarily from its impressive <a href="https://www.techradar.com/home/robot-vacuums/best-robot-vacuum">robot vacuum cleaners,</a> and <a href="https://www.techradar.com/home/hair-care/best-hair-styler-tool">hair stylers</a>, was expanding into pretty much everything — including making a supercar.</p><p>As we said at the time, the world domination scheme didn't seem like the best of plans. "It all just seems too fast and too wide-reaching for it to have been done with the required care and expertise," we said, noting that we were finding it hard to get any actual details of the multiple proposed products.</p><p>But Dreame kept on going with the announcements, and in April it declared that not only would it be making a hypercar after its supercar, but the hypercar would be able to reach 62mph in 0.9 seconds thanks to its "custom-built dual solid rocket boosters". </p><p>This week, Car News China reported that Dreame was shuttering all its car programs, while another report cast serious doubt on whether there was any real intention of making those vehicles beyond prototypes.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1400px;"><p class="vanilla-image-block" style="padding-top:56.21%;"><img id="hnbgsXDjagGfG9jtUW5dbf" name="2026-Dreame-Hypercar-Teaser-2" alt="Promotional image of the Dreame hypercar, now canceled" src="https://cdn.mos.cms.futurecdn.net/hnbgsXDjagGfG9jtUW5dbf-1920-80.png" mos="" align="middle" fullscreen="" width="1400" height="787" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Dreame)</span></figcaption></figure><h2 id="what-happened-to-dreame-39-s-hypercars">What happened to Dreame's hypercars?</h2><p>Dreame had announced two cars: the 1,867 horsepower Dreame Nebula 1, and the rocket-powered Dreame Nebula NEXT 01 Jet Edition. But it seems the products may have been inspired less by a desire to make production cars and perhaps more by a desire to emulate Elon Musk.</p><p>According to a report in China Economy, seen by the EV site <a href="https://electrek.co/2026/08/25/robot-vacuum-company-cancels-its-rocket-powered-electric-car/" target="_blank">Elektrek</a>, internal sources told the publication that "the car was more of a marketing and fundraising effort rather than a genuine manufacturing effort" — which makes it sound much like the Tesla Roadster "flying" SpaceX edition that Musk has been promising since 2021. The latest <a href="https://www.msn.com/en-us/autos/news/tesla-reportedly-will-demo-flying-roadster/ar-AA2a7fYv" target="_blank">news</a> on that project predicted a demo "as early as this month", but there's no sign of it so far.</p><p>The report also suggests that Dreame's vehicle department wasn't really structured very effectively and may have encountered regulatory issues.</p><p>A tech firm pivoting into the car business isn't a ludicrous idea — <a href="https://www.techradar.com/vehicle-tech/hybrid-electric-vehicles/xiaomi-unveils-its-first-range-extender-suv-and-it-looks-like-a-private-jet-on-wheels">Xiaomi's</a> doing some fascinating things on four wheels — and the things robovac companies excel at, such as navigation, obstacle avoidance and autonomous driving are directly relevant to EVs. Global firms also have excellent supply chains and distribution networks. </p><p>But for every Xiaomi SUV there's an abandoned <a href="https://www.techradar.com/news/apple-car">Apple Car</a>, <a href="https://www.techradar.com/vehicle-tech/hybrid-electric-vehicles/the-playstation-car-is-dead-why-sony-and-honda-just-pulled-the-plug-on-their-afeela-ev-before-a-single-car-was-delivered">PlayStation Car</a> or <a href="https://www.techradar.com/news/dyson-shows-off-its-canceled-electric-car-for-the-first-time">Dyson Car</a> proving that for some gadget firms, getting into the car business sucks.</p><div data-model-name="Dreame L10s Ultra" data-widget-type="review"></div> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/home/robot-vacuums/home-appliances-giant-dreame-has-scrapped-its-rocket-powered-supercar-which-we-suspected-was-too-fast-and-too-wide-reaching</link>
                                                                            <description>
                            <![CDATA[ Dreame has cancelled its plans to make a rocket-propelled hypercar ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">j8kSZSRx9LFx4qTNDZadeG</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/DAmHUqV6MUt75r6XYCDtp5-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 27 Aug 2026 15:35:32 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Robot Vacuums]]></category>
                                                    <category><![CDATA[Home]]></category>
                                                    <category><![CDATA[Smart Home]]></category>
                                                                                                                    <dc:creator><![CDATA[ Carrie Marshall ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/xJGRRy6MkKwN3qJ5X6enZG-320-70.jpeg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/DAmHUqV6MUt75r6XYCDtp5-1920-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Dreame products from CES 2026]]></media:description>                                                            <media:text><![CDATA[Dreame products from CES 2026]]></media:text>
                                <media:title type="plain"><![CDATA[Dreame products from CES 2026]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/DAmHUqV6MUt75r6XYCDtp5-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <ul><li><strong>Dreame has reportedly cancelled all its car projects</strong></li><li><strong>The firm's expansion plans seemed "too fast and too wide-reaching"</strong></li><li><strong>Rocket-boosted performance always seemed unlikely</strong></li></ul><p><a href="https://www.techradar.com/home/robot-vacuums/dreame-has-expanded-its-remit-to-literally-anything-and-im-not-sure-its-good-news-for-one-of-my-favorite-vacuum-brands">When we went down to CES in January</a>, we were in for a big surprise: Dreame, the brand we know primarily from its impressive <a href="https://www.techradar.com/home/robot-vacuums/best-robot-vacuum">robot vacuum cleaners,</a> and <a href="https://www.techradar.com/home/hair-care/best-hair-styler-tool">hair stylers</a>, was expanding into pretty much everything — including making a supercar.</p><p>As we said at the time, the world domination scheme didn't seem like the best of plans. "It all just seems too fast and too wide-reaching for it to have been done with the required care and expertise," we said, noting that we were finding it hard to get any actual details of the multiple proposed products.</p><p>But Dreame kept on going with the announcements, and in April it declared that not only would it be making a hypercar after its supercar, but the hypercar would be able to reach 62mph in 0.9 seconds thanks to its "custom-built dual solid rocket boosters". </p><p>This week, Car News China reported that Dreame was shuttering all its car programs, while another report cast serious doubt on whether there was any real intention of making those vehicles beyond prototypes.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1400px;"><p class="vanilla-image-block" style="padding-top:56.21%;"><img id="hnbgsXDjagGfG9jtUW5dbf" name="2026-Dreame-Hypercar-Teaser-2" alt="Promotional image of the Dreame hypercar, now canceled" src="https://cdn.mos.cms.futurecdn.net/hnbgsXDjagGfG9jtUW5dbf-1920-80.png" mos="" align="middle" fullscreen="" width="1400" height="787" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Dreame)</span></figcaption></figure><h2 id="what-happened-to-dreame-39-s-hypercars">What happened to Dreame's hypercars?</h2><p>Dreame had announced two cars: the 1,867 horsepower Dreame Nebula 1, and the rocket-powered Dreame Nebula NEXT 01 Jet Edition. But it seems the products may have been inspired less by a desire to make production cars and perhaps more by a desire to emulate Elon Musk.</p><p>According to a report in China Economy, seen by the EV site <a href="https://electrek.co/2026/08/25/robot-vacuum-company-cancels-its-rocket-powered-electric-car/" target="_blank">Elektrek</a>, internal sources told the publication that "the car was more of a marketing and fundraising effort rather than a genuine manufacturing effort" — which makes it sound much like the Tesla Roadster "flying" SpaceX edition that Musk has been promising since 2021. The latest <a href="https://www.msn.com/en-us/autos/news/tesla-reportedly-will-demo-flying-roadster/ar-AA2a7fYv" target="_blank">news</a> on that project predicted a demo "as early as this month", but there's no sign of it so far.</p><p>The report also suggests that Dreame's vehicle department wasn't really structured very effectively and may have encountered regulatory issues.</p><p>A tech firm pivoting into the car business isn't a ludicrous idea — <a href="https://www.techradar.com/vehicle-tech/hybrid-electric-vehicles/xiaomi-unveils-its-first-range-extender-suv-and-it-looks-like-a-private-jet-on-wheels">Xiaomi's</a> doing some fascinating things on four wheels — and the things robovac companies excel at, such as navigation, obstacle avoidance and autonomous driving are directly relevant to EVs. Global firms also have excellent supply chains and distribution networks. </p><p>But for every Xiaomi SUV there's an abandoned <a href="https://www.techradar.com/news/apple-car">Apple Car</a>, <a href="https://www.techradar.com/vehicle-tech/hybrid-electric-vehicles/the-playstation-car-is-dead-why-sony-and-honda-just-pulled-the-plug-on-their-afeela-ev-before-a-single-car-was-delivered">PlayStation Car</a> or <a href="https://www.techradar.com/news/dyson-shows-off-its-canceled-electric-car-for-the-first-time">Dyson Car</a> proving that for some gadget firms, getting into the car business sucks.</p><div data-model-name="Dreame L10s Ultra" data-widget-type="review"></div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ New Philips Hue module reportedly allows Nanoleaf integration ]]></title>
                                                                                                <dc:content><![CDATA[ <ul><li><strong>Philips Hue could be launching a light module that lets you connect your Nanoleaf Shapes to the Hue app </strong></li><li><strong>You'll be able to integrate Nanoleaf lights into your Hue schedules and automations </strong></li><li><strong>It's not Matter-over-Thread, but you might be able to use a Hue Bridge for third-party connectivity </strong></li></ul><p>We’re just one week from IFA 2026, and we already have our ears to the ground for all the pre-event announcements and rumors — and this latest Philips Hue leak is bound to make Nanoleaf users very happy. </p><p>As spotted by the outlet <a href="https://www.smartlights.de/news/philips-hue-wandleuchtenmodul-bringt-nanoleaf-shapes-in-die-hue-app/">Smartlights</a>, Philips is reportedly launching the Hue Wall Light Module next week, meaning that users will be able to integrate their Nanoleaf lights into the Philips Hue ecosystem — which would be a huge win, especially since Nanoleaf is an affordable alternative to the Philips Hue range of <a href="https://www.techradar.com/news/best-smart-lighting">best smart lights</a>. </p><p>The Hue Wall Light Module is said to support the Nanoleaf Shapes LED panels, including Mini Triangles, Triangles, and Hexagons, while older panels (formerly known as Aurora) won’t be supported. Philips’ new module is also expected to be announced on September 3, and will go on sale for 39.99 euros, with international prices expected to follow. </p><p>Essentially, the rumored Hue module is a small white adapter around 8cm that you can plug directly into the connectors in your Nanoleaf panels, allowing you to integrate up to 100 Nanoleaf Shapes panels into your Hue system. That said, the Hue Wall Light Module shouldn’t be confused with the existing Philips Hue Wall Switch Module, which is installed behind a standard wall switch. </p><p>Once your Nanoleaf panels are connected via Philips’ new module, you’ll be able to include them in automations, Hue scenes, and schedules in the Hue app — but whether Nanoleaf’s flagship lighting tools will be carried over is unclear. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="9TM8dvCdvNTkXSciTcNkAV" name="NanoleafHue" alt="The philips hue app showing nanoleaf shapes" src="https://cdn.mos.cms.futurecdn.net/9TM8dvCdvNTkXSciTcNkAV-1920-80.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Smartlight.de)</span></figcaption></figure><p>Similar to Philips Hue, Nanoleaf offers customizable color scenes and animations, but as far as the leaks go, the product images show the Nanoleaf integration working primarily with Hue scenes and effects. The leak shows at least five points in the color selection wheel, suggesting that there’ll be some kind of multicolor control function regardless, but we’ll have to see how this will work after the launch. </p><p>The other catch is that the Philips Hue Wall Light Module isn’t Matter-over-Thread, which, considering Nanoleaf’s devices are mainly Thread- and Matter-supported, is a bit of a departure. Instead, the module uses Zigbee and Bluetooth, the main connectivity protocols Philips has used for some time. </p><p>That said, using a Hue Bridge allows you to connect Philips Hue devices that are non-Matter to hubs such as the Apple HomePod, which is helpful if you use the <a href="https://www.techradar.com/news/best-smart-speakers">best smart speakers</a> to control your home lighting system — though we’ll have to wait and see how the new Philips Hue module handles third-party connectivity once it’s launched. </p><p>Despite these gray areas, the Nanoleaf-Hue integration is an unexpected yet possibly beneficial upgrade. When it comes to smart lighting brands, their respective devices tend to keep you locked into one ecosystem or the other, so having a simple but effective connectivity tool would give users much more flexibility. </p> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/home/smart-lights/philips-hue-and-nanoleaf-could-soon-reveal-an-unlikely-tie-in-leaked-adapter-promises-to-bring-nanoleaf-led-modules-to-your-hue-app</link>
                                                                            <description>
                            <![CDATA[ A new Philips Hue module could let you connect your Nanoleaf lights to the Hue app. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">AXDHvPGuQjUTg4a4PT2gAR</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/fNGUC26G9jWfHQrDpHqu2b-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Tue, 25 Aug 2026 14:00:00 +0000</pubDate>                                                                                                                                <updated>Wed, 26 Aug 2026 10:20:30 +0000</updated>
                                                                                                                                            <category><![CDATA[Smart Lights]]></category>
                                                    <category><![CDATA[Home]]></category>
                                                    <category><![CDATA[Smart Home]]></category>
                                                                                                <author><![CDATA[ rowan.davies@futurenet.com (Rowan Davies) ]]></author>                    <dc:creator><![CDATA[ Rowan Davies ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/q5Az6iW5pbAotRovdNvQAf-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Rowan is an Editorial Associate and Apprentice Writer for TechRadar. A recent addition to the news team, he is involved in generating stories for topics that spread across TechRadar&#039;s categories. His interests in audio tech and knowledge in entertainment culture help bring the latest updates in tech news to our readers.&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;He has been writing for publications since he started his studies at age 18. Rowan graduated from Cardiff University in 2023 after attaining a Master&#039;s in Creative Writing, and earlier a Bachelor&#039;s in Media, Journalism, and Culture. He began his journey as a writer at Cardiff University&#039;s Quench Magazine contributing to film/ TV, music, and culture sections, later becoming Music Section Editor.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;In his free time, Rowan is a freelance writer for Cardiff-based culture magazine Buzz where he reviews music, film, and conducts interviews with featured guests. When he is not writing, you can find him at any given music gig, or endlessly scrolling TikTok immersing in celebrity news and drama. &amp;nbsp;&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/fNGUC26G9jWfHQrDpHqu2b-1920-80.jpg">
                                                            <media:credit><![CDATA[Philips Hue / Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[The philips hue app next to nanoleaf shapes ]]></media:description>                                                            <media:text><![CDATA[The philips hue app next to nanoleaf shapes ]]></media:text>
                                <media:title type="plain"><![CDATA[The philips hue app next to nanoleaf shapes ]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/fNGUC26G9jWfHQrDpHqu2b-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <ul><li><strong>Philips Hue could be launching a light module that lets you connect your Nanoleaf Shapes to the Hue app </strong></li><li><strong>You'll be able to integrate Nanoleaf lights into your Hue schedules and automations </strong></li><li><strong>It's not Matter-over-Thread, but you might be able to use a Hue Bridge for third-party connectivity </strong></li></ul><p>We’re just one week from IFA 2026, and we already have our ears to the ground for all the pre-event announcements and rumors — and this latest Philips Hue leak is bound to make Nanoleaf users very happy. </p><p>As spotted by the outlet <a href="https://www.smartlights.de/news/philips-hue-wandleuchtenmodul-bringt-nanoleaf-shapes-in-die-hue-app/">Smartlights</a>, Philips is reportedly launching the Hue Wall Light Module next week, meaning that users will be able to integrate their Nanoleaf lights into the Philips Hue ecosystem — which would be a huge win, especially since Nanoleaf is an affordable alternative to the Philips Hue range of <a href="https://www.techradar.com/news/best-smart-lighting">best smart lights</a>. </p><p>The Hue Wall Light Module is said to support the Nanoleaf Shapes LED panels, including Mini Triangles, Triangles, and Hexagons, while older panels (formerly known as Aurora) won’t be supported. Philips’ new module is also expected to be announced on September 3, and will go on sale for 39.99 euros, with international prices expected to follow. </p><p>Essentially, the rumored Hue module is a small white adapter around 8cm that you can plug directly into the connectors in your Nanoleaf panels, allowing you to integrate up to 100 Nanoleaf Shapes panels into your Hue system. That said, the Hue Wall Light Module shouldn’t be confused with the existing Philips Hue Wall Switch Module, which is installed behind a standard wall switch. </p><p>Once your Nanoleaf panels are connected via Philips’ new module, you’ll be able to include them in automations, Hue scenes, and schedules in the Hue app — but whether Nanoleaf’s flagship lighting tools will be carried over is unclear. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="9TM8dvCdvNTkXSciTcNkAV" name="NanoleafHue" alt="The philips hue app showing nanoleaf shapes" src="https://cdn.mos.cms.futurecdn.net/9TM8dvCdvNTkXSciTcNkAV-1920-80.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Smartlight.de)</span></figcaption></figure><p>Similar to Philips Hue, Nanoleaf offers customizable color scenes and animations, but as far as the leaks go, the product images show the Nanoleaf integration working primarily with Hue scenes and effects. The leak shows at least five points in the color selection wheel, suggesting that there’ll be some kind of multicolor control function regardless, but we’ll have to see how this will work after the launch. </p><p>The other catch is that the Philips Hue Wall Light Module isn’t Matter-over-Thread, which, considering Nanoleaf’s devices are mainly Thread- and Matter-supported, is a bit of a departure. Instead, the module uses Zigbee and Bluetooth, the main connectivity protocols Philips has used for some time. </p><p>That said, using a Hue Bridge allows you to connect Philips Hue devices that are non-Matter to hubs such as the Apple HomePod, which is helpful if you use the <a href="https://www.techradar.com/news/best-smart-speakers">best smart speakers</a> to control your home lighting system — though we’ll have to wait and see how the new Philips Hue module handles third-party connectivity once it’s launched. </p><p>Despite these gray areas, the Nanoleaf-Hue integration is an unexpected yet possibly beneficial upgrade. When it comes to smart lighting brands, their respective devices tend to keep you locked into one ecosystem or the other, so having a simple but effective connectivity tool would give users much more flexibility. </p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I just did a full solar install instead of plug-in solar — here's why ]]></title>
                                                                                                <dc:content><![CDATA[ <p>I live in Scotland and just got my solar install up and running a few days ago. While it's obviously still very early days, I'm really happy with how it's all going so far — and with my decision to go for a full panel and battery system.</p><p>Was I tempted to wait for <a href="https://www.techradar.com/home/uk-government-says-plug-in-solar-panels-will-be-legal-from-august-27-opening-the-door-for-amazon-lidl-currys-and-more-to-help-save-you-gbp110-a-year">plug-in solar</a> when the news filtered through earlier this year that this option was to become officially available with kits in the UK? No, because I wanted a full solar setup for a few reasons that I'll detail here — along with my initial thoughts on how my system is working (although I've already dropped a spoiler on that).</p><p>That's not to say plug-in solar isn't going to be a good choice for some, of course – it promises to provides a low-hassle route into electricity bill savings for renters and those with limited roof space. But it has distinct limitations compared to a full solar array. </p><p>So, here are the main reasons why I wanted that full setup — a bank of 15 roof-mounted panels, a battery, and a gateway — after which I'll come back to the merits of plug-in solutions.</p><h2 id="1-staying-put-with-a-south-facing-roof">1. Staying put with a south-facing roof</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="NFNzqTUgG3P788PzVAduLn" name="Solar Panel Installation" alt="Solar Panels mounted on roof close up" src="https://cdn.mos.cms.futurecdn.net/NFNzqTUgG3P788PzVAduLn-1920-80.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Darren Allan)</span></figcaption></figure><p>A full solar setup with an array of panels plus a beefy battery (in my case, a Tesla Powerwall 3 with a 13.5kWh capacity) is, of course, a considerable financial commitment for homeowners. </p><p>It's much easier to make that commitment if you know that you'll be living in the house for a long time, as in that case, year by year, you'll make your money back in electricity savings (eventually, or that's the hope).</p><p>I'm intending to stay put in my current house for 10 to 15 years, and towards the latter end of the scale, the solar should pay for itself, due to a combination of savings on my electric bill (which will effectively be hardly anything going forward, save for the standing charge for having a grid connection) and selling spare energy back to the grid (solar export).</p><p>I may be in the house for even longer, and at that point, it's just free electric, which is obviously a nice thought (especially if utility bills keep on increasing in the way they have been). My house is ideal for solar, having a near-south-facing roof and no shading issues — so given my plan to stay long-term, it seemed crazy not to get a solar array, really. The only issue was saving up to pay for it (which admittedly took quite some time).</p><div><blockquote><p>It was a very cool moment when the mains switch was flipped off and our house carried on fully powered, just as normal.</p></blockquote></div><p>As for the rough math of what I'm saving with solar, based on some very limited data thus far (just a few days), it's a saving of closing on £500 per year (around $680 / AU$950) in electric bill reductions, and approximately £400 (about $550 / AU$760) in export earnings. The latter is a rougher figure, but it should hopefully pan out or thereabouts — for a total of something like £900 (or $1,230 / AU$1,710) in terms of annual gain.</p><p>What's been interesting is that I'm really surprised how much solar generation I get when it's cloudy. I can still hit 1kWh or even closer to 2kWh of power from the panels on a normal kind of cloudy day. </p><p>Even with what I consider to be pretty thick cloud and rain (yes, the Scottish summer in the north of the country has been quite different to the English one), I'm still generating enough to power my baseline house needs (0.3kWh), meaning general operation when no larger appliances are switched on (especially the dreaded kettle).</p><p>Of course, I'd read up on modern panels and knew they performed better in cloudy conditions, but I wasn't expecting them to be this good.</p><h2 id="2-working-from-home-factor">2. Working from home factor</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="ELFJFxp734Ra4u7VQSu4Un" name="Tesla Powerwall" alt="Tesla Powerwall battery mounted on the outside wall of a house" src="https://cdn.mos.cms.futurecdn.net/ELFJFxp734Ra4u7VQSu4Un-1920-80.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Darren Allan)</span></figcaption></figure><p>I work from home writing articles for TechRadar (alongside other freelance), and my wife works from home, too. So having a house with full off-grid capability was important to us as a result, and this is something you only get with a solar array combined with a battery, and a gateway is needed too.</p><p>The gateway allows for the solar to run independently off the grid (in 'island mode' with its own earthing rod), so if the mains power goes off completely, the house will keep running under its own steam.</p><p>This means if there's a power outage, the house is still running off solar (and the battery), and we both still have power for our computers and so on. We can keep on working without disruption (an additional financial gain in this event). Note that without a gateway, you won't be able to run off solar in a power cut — the solar inverter will shut itself off when it detects the grid has gone out (for safety reasons).</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-WlMAdO"></div>                            </div>                            <script src="https://kwizly.com/embed/WlMAdO.js" async></script><p>When the installing electrician tested the system, he had me switch on all the ceiling lights in the living room. It was a very cool moment when the mains switch was flipped off and our house carried on fully powered, just as normal, with the solar system kicking in so quickly that the lights didn't even flicker in the slightest.</p><p>My decision to go for the off-grid running capability was also influenced by a degree of looking to the future. Now, I admit this may sound a bit 'tinfoil hat', but I don't think it's inconceivable that there could be hiccups with the national grid in the UK (or elsewhere perhaps) as the years roll on. Whether that might be infrastructure related problems, geopolitical issues and wider energy security concerns, or the likes of hackers, I don't think it's unwise to have a degree of energy independence.</p><p>Granted, I don't believe that major-scale disruption is at all likely, but it doesn't hurt to have an insurance policy against the prospect of more regular power outages, especially when both our livelihoods depend on being able to work from home.</p><p>The gateway made my system about 10% more expensive roughly — maybe a bit less actually, I don't know for sure as the labor costs weren't broken down on my installation invoice — but I think that was a price worth paying.</p><h2 id="3-environmental-benefits">3. Environmental benefits</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="uZA6dQkcDk9iYhiF2MTkPH" name="art002e000192-NASA-1920x1080" alt="Photo of earth by Orion Commander Reid Wiseman" src="https://cdn.mos.cms.futurecdn.net/uZA6dQkcDk9iYhiF2MTkPH-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: NASA/Reid Wiseman)</span></figcaption></figure><p>This is likely true of everyone adopting solar — of any kind — but it feels good to be contributing to the drive for renewables and green energy. </p><p>More broadly on the eco-friendly front, I'm also planning to buy an electric car as my next vehicle (possibly even a campervan, although that might have to wait until further into the future), and using solar to charge the vehicle at home (which obviously requires a full solar system).</p><h2 id="plug-in-solar-has-its-place">Plug-in solar has its place</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:8192px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="yv89x6LL6fgFPa8t2ABFN9" name="GettyImages-2169877472" alt="A balcony solar panel" src="https://cdn.mos.cms.futurecdn.net/yv89x6LL6fgFPa8t2ABFN9-1920-80.jpg" mos="" align="middle" fullscreen="" width="8192" height="4608" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Getty Images / Sean Gallup)</span></figcaption></figure><p>I appreciate that a lot of what I've covered here is subjective and pertains to my specific situation, and of course your scenario or needs may be very different.</p><p>You may not have a home that's suitable for solar panels at all (due to the roof size, shape or orientation — or you might live in a flat), or you may be renting, or not have the desire to commit to the expense of a full-on setup. </p><p>This is where plug-in solar steps in as a great scaled-down alternative: it's a lot easier to find space for (in a garden, on a balcony), and it's a way more affordable solution that still offers some substantial savings. A typical payback time (when the setup has paid for itself) is expected to be <a href="https://www.techradar.com/home/smart-home/three-to-five-years-is-a-realistic-payback-period-plug-in-solar-panels-will-be-legal-next-month-but-what-do-they-cost-who-can-fit-them-and-is-your-home-even-suitable-we-asked-the-experts">three to five years</a>, though that depends on the <a href="https://www.techradar.com/home/smart-home/first-plug-in-solar-kits-get-regulatory-green-light-in-the-uk-ahead-of-legal-lift-off-on-august-27-and-theyll-start-at-gbp699">cost of the first plug-in solar kits</a>. And if you're renting, you can take it with you should you decide to move.</p><p>One major drawback for now is not being allowed to hook up your plug-in panels to a battery for solar storage (without professional installation, at least), but that may well change in the future if <a href="https://www.techradar.com/home/smart-home/plug-in-batteries-are-the-real-game-changer-i-talked-to-octopus-energy-and-anker-about-the-home-energy-revolution-than-could-soon-be-bigger-than-solar-for-millions">plug-in batteries become legalized</a>. Also, you can't receive payment for excess energy you can't use in the home being exported back to the grid, as you can with a full solar panel installation (and a smart meter).</p><p>Plug-in solar could still be a great alternative for you, though, and if you're in the UK like me, the systems <a href="https://www.techradar.com/home/uk-government-says-plug-in-solar-panels-will-be-legal-from-august-27-opening-the-door-for-amazon-lidl-currys-and-more-to-help-save-you-gbp110-a-year">become legal on August 27</a>, and kits that comply with the regulations set out by the government will be appearing on shelves thereafter.</p><p>Plug-in solar is already legal in other countries, notably Germany and other places in Europe, as well as some states in the US, so the DIY alternative to my setup is very much gaining momentum. But each approach still has its own distinct advantages and drawbacks, and that will continue to be the case after August 27. </p> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/home/smart-home/i-just-did-a-full-solar-install-instead-of-waiting-for-plug-in-solar-in-the-uk-heres-why</link>
                                                                            <description>
                            <![CDATA[ I'm loving my solar panels, battery and gateway setup so far, although admittedly it's still early days. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">k2nU4iFkfiEwKgnGBwN6yf</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/zpVEDf7AVhFNiCg6zsVcWn-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sat, 22 Aug 2026 12:00:30 +0000</pubDate>                                                                                                                                <updated>Tue, 25 Aug 2026 15:46:44 +0000</updated>
                                                                                                                                            <category><![CDATA[Smart Home]]></category>
                                                    <category><![CDATA[Energy Saving]]></category>
                                                    <category><![CDATA[Home]]></category>
                                                                                                                    <dc:creator><![CDATA[ Darren Allan ]]></dc:creator>                                                                                                        <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/zpVEDf7AVhFNiCg6zsVcWn-1920-80.jpg">
                                                            <media:credit><![CDATA[Darren Allan]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Solar Panels mounted on roof with streaks of rain visible, on a cloudy day]]></media:description>                                                            <media:text><![CDATA[Solar Panels mounted on roof with streaks of rain visible, on a cloudy day]]></media:text>
                                <media:title type="plain"><![CDATA[Solar Panels mounted on roof with streaks of rain visible, on a cloudy day]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/zpVEDf7AVhFNiCg6zsVcWn-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>I live in Scotland and just got my solar install up and running a few days ago. While it's obviously still very early days, I'm really happy with how it's all going so far — and with my decision to go for a full panel and battery system.</p><p>Was I tempted to wait for <a href="https://www.techradar.com/home/uk-government-says-plug-in-solar-panels-will-be-legal-from-august-27-opening-the-door-for-amazon-lidl-currys-and-more-to-help-save-you-gbp110-a-year">plug-in solar</a> when the news filtered through earlier this year that this option was to become officially available with kits in the UK? No, because I wanted a full solar setup for a few reasons that I'll detail here — along with my initial thoughts on how my system is working (although I've already dropped a spoiler on that).</p><p>That's not to say plug-in solar isn't going to be a good choice for some, of course – it promises to provides a low-hassle route into electricity bill savings for renters and those with limited roof space. But it has distinct limitations compared to a full solar array. </p><p>So, here are the main reasons why I wanted that full setup — a bank of 15 roof-mounted panels, a battery, and a gateway — after which I'll come back to the merits of plug-in solutions.</p><h2 id="1-staying-put-with-a-south-facing-roof">1. Staying put with a south-facing roof</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="NFNzqTUgG3P788PzVAduLn" name="Solar Panel Installation" alt="Solar Panels mounted on roof close up" src="https://cdn.mos.cms.futurecdn.net/NFNzqTUgG3P788PzVAduLn-1920-80.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Darren Allan)</span></figcaption></figure><p>A full solar setup with an array of panels plus a beefy battery (in my case, a Tesla Powerwall 3 with a 13.5kWh capacity) is, of course, a considerable financial commitment for homeowners. </p><p>It's much easier to make that commitment if you know that you'll be living in the house for a long time, as in that case, year by year, you'll make your money back in electricity savings (eventually, or that's the hope).</p><p>I'm intending to stay put in my current house for 10 to 15 years, and towards the latter end of the scale, the solar should pay for itself, due to a combination of savings on my electric bill (which will effectively be hardly anything going forward, save for the standing charge for having a grid connection) and selling spare energy back to the grid (solar export).</p><p>I may be in the house for even longer, and at that point, it's just free electric, which is obviously a nice thought (especially if utility bills keep on increasing in the way they have been). My house is ideal for solar, having a near-south-facing roof and no shading issues — so given my plan to stay long-term, it seemed crazy not to get a solar array, really. The only issue was saving up to pay for it (which admittedly took quite some time).</p><div><blockquote><p>It was a very cool moment when the mains switch was flipped off and our house carried on fully powered, just as normal.</p></blockquote></div><p>As for the rough math of what I'm saving with solar, based on some very limited data thus far (just a few days), it's a saving of closing on £500 per year (around $680 / AU$950) in electric bill reductions, and approximately £400 (about $550 / AU$760) in export earnings. The latter is a rougher figure, but it should hopefully pan out or thereabouts — for a total of something like £900 (or $1,230 / AU$1,710) in terms of annual gain.</p><p>What's been interesting is that I'm really surprised how much solar generation I get when it's cloudy. I can still hit 1kWh or even closer to 2kWh of power from the panels on a normal kind of cloudy day. </p><p>Even with what I consider to be pretty thick cloud and rain (yes, the Scottish summer in the north of the country has been quite different to the English one), I'm still generating enough to power my baseline house needs (0.3kWh), meaning general operation when no larger appliances are switched on (especially the dreaded kettle).</p><p>Of course, I'd read up on modern panels and knew they performed better in cloudy conditions, but I wasn't expecting them to be this good.</p><h2 id="2-working-from-home-factor">2. Working from home factor</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="ELFJFxp734Ra4u7VQSu4Un" name="Tesla Powerwall" alt="Tesla Powerwall battery mounted on the outside wall of a house" src="https://cdn.mos.cms.futurecdn.net/ELFJFxp734Ra4u7VQSu4Un-1920-80.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Darren Allan)</span></figcaption></figure><p>I work from home writing articles for TechRadar (alongside other freelance), and my wife works from home, too. So having a house with full off-grid capability was important to us as a result, and this is something you only get with a solar array combined with a battery, and a gateway is needed too.</p><p>The gateway allows for the solar to run independently off the grid (in 'island mode' with its own earthing rod), so if the mains power goes off completely, the house will keep running under its own steam.</p><p>This means if there's a power outage, the house is still running off solar (and the battery), and we both still have power for our computers and so on. We can keep on working without disruption (an additional financial gain in this event). Note that without a gateway, you won't be able to run off solar in a power cut — the solar inverter will shut itself off when it detects the grid has gone out (for safety reasons).</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-WlMAdO"></div>                            </div>                            <script src="https://kwizly.com/embed/WlMAdO.js" async></script><p>When the installing electrician tested the system, he had me switch on all the ceiling lights in the living room. It was a very cool moment when the mains switch was flipped off and our house carried on fully powered, just as normal, with the solar system kicking in so quickly that the lights didn't even flicker in the slightest.</p><p>My decision to go for the off-grid running capability was also influenced by a degree of looking to the future. Now, I admit this may sound a bit 'tinfoil hat', but I don't think it's inconceivable that there could be hiccups with the national grid in the UK (or elsewhere perhaps) as the years roll on. Whether that might be infrastructure related problems, geopolitical issues and wider energy security concerns, or the likes of hackers, I don't think it's unwise to have a degree of energy independence.</p><p>Granted, I don't believe that major-scale disruption is at all likely, but it doesn't hurt to have an insurance policy against the prospect of more regular power outages, especially when both our livelihoods depend on being able to work from home.</p><p>The gateway made my system about 10% more expensive roughly — maybe a bit less actually, I don't know for sure as the labor costs weren't broken down on my installation invoice — but I think that was a price worth paying.</p><h2 id="3-environmental-benefits">3. Environmental benefits</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="uZA6dQkcDk9iYhiF2MTkPH" name="art002e000192-NASA-1920x1080" alt="Photo of earth by Orion Commander Reid Wiseman" src="https://cdn.mos.cms.futurecdn.net/uZA6dQkcDk9iYhiF2MTkPH-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: NASA/Reid Wiseman)</span></figcaption></figure><p>This is likely true of everyone adopting solar — of any kind — but it feels good to be contributing to the drive for renewables and green energy. </p><p>More broadly on the eco-friendly front, I'm also planning to buy an electric car as my next vehicle (possibly even a campervan, although that might have to wait until further into the future), and using solar to charge the vehicle at home (which obviously requires a full solar system).</p><h2 id="plug-in-solar-has-its-place">Plug-in solar has its place</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:8192px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="yv89x6LL6fgFPa8t2ABFN9" name="GettyImages-2169877472" alt="A balcony solar panel" src="https://cdn.mos.cms.futurecdn.net/yv89x6LL6fgFPa8t2ABFN9-1920-80.jpg" mos="" align="middle" fullscreen="" width="8192" height="4608" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Getty Images / Sean Gallup)</span></figcaption></figure><p>I appreciate that a lot of what I've covered here is subjective and pertains to my specific situation, and of course your scenario or needs may be very different.</p><p>You may not have a home that's suitable for solar panels at all (due to the roof size, shape or orientation — or you might live in a flat), or you may be renting, or not have the desire to commit to the expense of a full-on setup. </p><p>This is where plug-in solar steps in as a great scaled-down alternative: it's a lot easier to find space for (in a garden, on a balcony), and it's a way more affordable solution that still offers some substantial savings. A typical payback time (when the setup has paid for itself) is expected to be <a href="https://www.techradar.com/home/smart-home/three-to-five-years-is-a-realistic-payback-period-plug-in-solar-panels-will-be-legal-next-month-but-what-do-they-cost-who-can-fit-them-and-is-your-home-even-suitable-we-asked-the-experts">three to five years</a>, though that depends on the <a href="https://www.techradar.com/home/smart-home/first-plug-in-solar-kits-get-regulatory-green-light-in-the-uk-ahead-of-legal-lift-off-on-august-27-and-theyll-start-at-gbp699">cost of the first plug-in solar kits</a>. And if you're renting, you can take it with you should you decide to move.</p><p>One major drawback for now is not being allowed to hook up your plug-in panels to a battery for solar storage (without professional installation, at least), but that may well change in the future if <a href="https://www.techradar.com/home/smart-home/plug-in-batteries-are-the-real-game-changer-i-talked-to-octopus-energy-and-anker-about-the-home-energy-revolution-than-could-soon-be-bigger-than-solar-for-millions">plug-in batteries become legalized</a>. Also, you can't receive payment for excess energy you can't use in the home being exported back to the grid, as you can with a full solar panel installation (and a smart meter).</p><p>Plug-in solar could still be a great alternative for you, though, and if you're in the UK like me, the systems <a href="https://www.techradar.com/home/uk-government-says-plug-in-solar-panels-will-be-legal-from-august-27-opening-the-door-for-amazon-lidl-currys-and-more-to-help-save-you-gbp110-a-year">become legal on August 27</a>, and kits that comply with the regulations set out by the government will be appearing on shelves thereafter.</p><p>Plug-in solar is already legal in other countries, notably Germany and other places in Europe, as well as some states in the US, so the DIY alternative to my setup is very much gaining momentum. But each approach still has its own distinct advantages and drawbacks, and that will continue to be the case after August 27. </p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Google Home update adds new Gemini voice commands and Spotify fixes ]]></title>
                                                                                                <dc:content><![CDATA[ <ul><li><strong>Google is rolling out a new Gemini for Home update to fix voice commands for Spotify</strong></li><li><strong>The company is also fixing message broadcasting and smart light controls </strong></li><li><strong>Despite the upgrades, users are criticizing Google for not fixing the issues they've been experiencing for a while</strong></li></ul><p>The transition to Gemini has been rough — even Google knows that, but the latest Google Home update aims to tackle a handful of pain points with voice commands.</p><p><a href="https://support.google.com/googlehome/answer/15962877#zippy=%2Caugust" target="_blank">In an announcement issued yesterday</a> (August 20), Google shared three fixes coming to the Gemini for Home voice assistant, which is still in early access. Additionally, features in the Google Home app are also tipped to get a glow-up. </p><p>The first voice command fix is for Spotify requests, which Google says has been improved to better recognize the artists, songs, and playlists you ask your Google smart speaker to play. More often than not, Gemini for Home has struggled to register commands when you ask it to launch certain playlists, while other voice commands have been interpreted as music requests. </p><p>Now, you can get your smart hub to play specific personal playlists, such as your Liked songs, and it will produce smoother results, but Google adds that Personal Results need to be enabled to request things like Liked songs and personal playlists. </p><p>As well as Spotify improvements, Google says it’s updated message broadcasting, which now works as a two-step process. The first step requires you to say ‘Hey Google, broadcast message’, and after a short wait, you can follow up with your message as a second command. Previously, you had to broadcast your message in one long voice request, so this fix removes the chance of miscommunication. </p><p>Lastly, Google is letting you be even more precise with adjusting the lighting in your home. The Gemini for Home update now lets you set your smart lights to a specific color temperature to create the perfect ambiance for a movie night or an evening soiree with friends. You can try saying, ‘Hey Google, make the living room lights 2700 kelvins,’ and your lights will change accordingly. </p><h2 id="useful-upgrades-but-there-s-more-to-be-done">Useful upgrades, but there’s more to be done </h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4032px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="ckkzBybSv3G9PWao637HpM" name="Google Home Speaker" alt="Google Home Speaker" src="https://cdn.mos.cms.futurecdn.net/ckkzBybSv3G9PWao637HpM-1920-80.jpg" mos="" align="middle" fullscreen="" width="4032" height="2268" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Jacob Krol/Future)</span></figcaption></figure><p>Google began phasing out the old Google Assistant across its ecosystem of devices in 2025, and it <a href="https://www.techradar.com/ai-platforms-assistants/gemini/google-assistant-will-shut-down-for-good-on-android-and-wear-os-in-september-heres-what-you-need-to-do-next">will be shut down for good on Android and Wear OS devices on September 4</a> in favor of Gemini. The same goes for smart home devices, but the switch to Gemini for Home has been far from smooth. </p><p>Though the Spotify fixes and other voice request updates are welcomed solutions, user have called Google out for glossing over the main issues that have been plaguing their experiences, and there’s still a lot more work to be done to fix surface-level features.  </p><p>Redditors who are also long-time Google Home users have shared their struggles with the transition; one user says, ‘the move to Gemini has been rough for us,’ recalling that basic household commands such as setting alarms are still hit-or-miss for them. ‘I just hope this all gets fixed soon,’ they added. </p><figure><blockquote class="reddit-card"  ><a href="https://www.reddit.com/r/googlehome/comments/1vtpkul/comment/p4vd67y">Comment</a><figcaption><cite> from <a href="https://www.reddit.com/r/googlehome">r/googlehome</a></cite></figcaption></blockquote></figure><script async src="//embed.redditmedia.com/widgets/platform.js" charset="UTF-8"></script><p>Luckily, they’re not the only one riding the struggle bus. <a href="https://www.reddit.com/r/googlehome/comments/1vtpkul/comment/p4vv0t7/?utm_source=share&utm_medium=web3x&utm_name=web3xcss&utm_term=1&utm_content=share_button" target="_blank">Another user says</a> they’re still experiencing issues with creating and scheduling basic automations for their thermostat, while <a href="https://www.reddit.com/r/googlehome/comments/1vtpkul/comment/p4xyhqm/?utm_source=share&utm_medium=web3x&utm_name=web3xcss&utm_term=1&utm_content=share_button" target="_blank">a user with multiple Google devices says</a> that Gemini is still unable to answer simple questions like ‘how long to cook a sweet potato’ — despite resetting their devices four times.</p><p>Not all the <a href="https://www.techradar.com/news/best-smart-speakers" target="_blank">best smart speakers</a> are perfect, but the rising reports of Gemini for Home’s ill performance are worrying for the future of Google’s smart home ecosystem. The updates are rolling out at too slow a pace, and users are already starting to lose trust.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/home/smart-home-hubs/a-new-gemini-for-home-update-is-rolling-out-but-users-are-slamming-google-for-not-fixing-missing-and-broken-features-despite-the-voice-upgrades</link>
                                                                            <description>
                            <![CDATA[ Gemini for Home is getting some new upgrades, but users are still waiting for Google to fix the real problems. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">8Eemdp6KRE9wYziitmxs2K</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/StcadX9qZd5xhesHz6nRhM-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 21 Aug 2026 16:15:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Smart Home Hubs]]></category>
                                                    <category><![CDATA[AI Platforms & Assistants]]></category>
                                                    <category><![CDATA[Home]]></category>
                                                    <category><![CDATA[Smart Home]]></category>
                                                                                                <author><![CDATA[ rowan.davies@futurenet.com (Rowan Davies) ]]></author>                    <dc:creator><![CDATA[ Rowan Davies ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/q5Az6iW5pbAotRovdNvQAf-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Rowan is an Editorial Associate and Apprentice Writer for TechRadar. A recent addition to the news team, he is involved in generating stories for topics that spread across TechRadar&#039;s categories. His interests in audio tech and knowledge in entertainment culture help bring the latest updates in tech news to our readers.&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;He has been writing for publications since he started his studies at age 18. Rowan graduated from Cardiff University in 2023 after attaining a Master&#039;s in Creative Writing, and earlier a Bachelor&#039;s in Media, Journalism, and Culture. He began his journey as a writer at Cardiff University&#039;s Quench Magazine contributing to film/ TV, music, and culture sections, later becoming Music Section Editor.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;In his free time, Rowan is a freelance writer for Cardiff-based culture magazine Buzz where he reviews music, film, and conducts interviews with featured guests. When he is not writing, you can find him at any given music gig, or endlessly scrolling TikTok immersing in celebrity news and drama. &amp;nbsp;&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/StcadX9qZd5xhesHz6nRhM-1920-80.jpg">
                                                            <media:credit><![CDATA[Jacob Krol/Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Google Home Speaker]]></media:description>                                                            <media:text><![CDATA[Google Home Speaker]]></media:text>
                                <media:title type="plain"><![CDATA[Google Home Speaker]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/StcadX9qZd5xhesHz6nRhM-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <ul><li><strong>Google is rolling out a new Gemini for Home update to fix voice commands for Spotify</strong></li><li><strong>The company is also fixing message broadcasting and smart light controls </strong></li><li><strong>Despite the upgrades, users are criticizing Google for not fixing the issues they've been experiencing for a while</strong></li></ul><p>The transition to Gemini has been rough — even Google knows that, but the latest Google Home update aims to tackle a handful of pain points with voice commands.</p><p><a href="https://support.google.com/googlehome/answer/15962877#zippy=%2Caugust" target="_blank">In an announcement issued yesterday</a> (August 20), Google shared three fixes coming to the Gemini for Home voice assistant, which is still in early access. Additionally, features in the Google Home app are also tipped to get a glow-up. </p><p>The first voice command fix is for Spotify requests, which Google says has been improved to better recognize the artists, songs, and playlists you ask your Google smart speaker to play. More often than not, Gemini for Home has struggled to register commands when you ask it to launch certain playlists, while other voice commands have been interpreted as music requests. </p><p>Now, you can get your smart hub to play specific personal playlists, such as your Liked songs, and it will produce smoother results, but Google adds that Personal Results need to be enabled to request things like Liked songs and personal playlists. </p><p>As well as Spotify improvements, Google says it’s updated message broadcasting, which now works as a two-step process. The first step requires you to say ‘Hey Google, broadcast message’, and after a short wait, you can follow up with your message as a second command. Previously, you had to broadcast your message in one long voice request, so this fix removes the chance of miscommunication. </p><p>Lastly, Google is letting you be even more precise with adjusting the lighting in your home. The Gemini for Home update now lets you set your smart lights to a specific color temperature to create the perfect ambiance for a movie night or an evening soiree with friends. You can try saying, ‘Hey Google, make the living room lights 2700 kelvins,’ and your lights will change accordingly. </p><h2 id="useful-upgrades-but-there-s-more-to-be-done">Useful upgrades, but there’s more to be done </h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4032px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="ckkzBybSv3G9PWao637HpM" name="Google Home Speaker" alt="Google Home Speaker" src="https://cdn.mos.cms.futurecdn.net/ckkzBybSv3G9PWao637HpM-1920-80.jpg" mos="" align="middle" fullscreen="" width="4032" height="2268" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Jacob Krol/Future)</span></figcaption></figure><p>Google began phasing out the old Google Assistant across its ecosystem of devices in 2025, and it <a href="https://www.techradar.com/ai-platforms-assistants/gemini/google-assistant-will-shut-down-for-good-on-android-and-wear-os-in-september-heres-what-you-need-to-do-next">will be shut down for good on Android and Wear OS devices on September 4</a> in favor of Gemini. The same goes for smart home devices, but the switch to Gemini for Home has been far from smooth. </p><p>Though the Spotify fixes and other voice request updates are welcomed solutions, user have called Google out for glossing over the main issues that have been plaguing their experiences, and there’s still a lot more work to be done to fix surface-level features.  </p><p>Redditors who are also long-time Google Home users have shared their struggles with the transition; one user says, ‘the move to Gemini has been rough for us,’ recalling that basic household commands such as setting alarms are still hit-or-miss for them. ‘I just hope this all gets fixed soon,’ they added. </p><figure><blockquote class="reddit-card"  ><a href="https://www.reddit.com/r/googlehome/comments/1vtpkul/comment/p4vd67y">Comment</a><figcaption><cite> from <a href="https://www.reddit.com/r/googlehome">r/googlehome</a></cite></figcaption></blockquote></figure><script async src="//embed.redditmedia.com/widgets/platform.js" charset="UTF-8"></script><p>Luckily, they’re not the only one riding the struggle bus. <a href="https://www.reddit.com/r/googlehome/comments/1vtpkul/comment/p4vv0t7/?utm_source=share&utm_medium=web3x&utm_name=web3xcss&utm_term=1&utm_content=share_button" target="_blank">Another user says</a> they’re still experiencing issues with creating and scheduling basic automations for their thermostat, while <a href="https://www.reddit.com/r/googlehome/comments/1vtpkul/comment/p4xyhqm/?utm_source=share&utm_medium=web3x&utm_name=web3xcss&utm_term=1&utm_content=share_button" target="_blank">a user with multiple Google devices says</a> that Gemini is still unable to answer simple questions like ‘how long to cook a sweet potato’ — despite resetting their devices four times.</p><p>Not all the <a href="https://www.techradar.com/news/best-smart-speakers" target="_blank">best smart speakers</a> are perfect, but the rising reports of Gemini for Home’s ill performance are worrying for the future of Google’s smart home ecosystem. The updates are rolling out at too slow a pace, and users are already starting to lose trust.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ First plug-in solar kits get regulatory green light in UK ]]></title>
                                                                                                <dc:content><![CDATA[ <ul><li><strong>UKSOL says it's the first in the UK to achieve regulatory compliance for plug-in solar products</strong></li><li><strong>It's ground mount kits with one or two solar panels go on sale on August 27</strong></li><li><strong>That's when solar is legal in the UK, and we can expect more of these kits to be available</strong></li></ul><p>UKSOL has announced that it's the first solar company in the UK to achieve regulatory compliance for <a href="https://www.techradar.com/home/smart-home/plug-in-batteries-are-the-real-game-changer-i-talked-to-octopus-energy-and-anker-about-the-home-energy-revolution-than-could-soon-be-bigger-than-solar-for-millions">plug-in solar kits</a>, the first of which will be on sale in just a week.</p><p>Those products are the UKSOL Plug-In Solar Pro Compact 460W Ground Mount Kit (consisting of a single solar panel), and the Plug-In Solar Pro Duo 890W Ground Mount Kit (two panels). Both of these go on sale from August 27 in the UK — when plug-in kits become legal in this country — albeit in "limited stocks" to begin with.</p><p>A pair of hybrid mount kits — a single panel 515W offering, and a 920W two-panel product — have also been approved, and these should be available in October 2026 (or that's the current plan).</p><p>All of these have met the relevant regulatory standards, and are listed as 'compliant' in the ENA (Energy Network Association) Connect Direct plug-in solar device database.</p><p>The Plug-In Solar Pro products have been developed specifically for the British market, UKSOL informs us in a press release, and these are all-in-one kits that come with everything you need to be up and running.</p><p>With the kits out next week, alongside the UKSOL panel(s) you get an integrated (foldable) ground-mounting frame with a ballast tray, as well as the necessary 800W microinverter plus DC and AC cables. There's a smartphone app for monitoring the system, too.</p><p>Pricing for the Pro Compact (single panel) 460W Ground Mount Kit is £849 with VAT and two-man delivery included, with the Pro Duo 890W Ground Mount Kit running to £1,199 (also with VAT and delivery). The RRP at retailers is £699 and £1,089 respectively.</p><p>Andrew Moore, the CEO of UKSOL, commented: "We expect plug in solar to become an exciting new consumer category, but there is a real responsibility on manufacturers and retailers to get the introduction right. Consumers should be able to understand who manufactured or supplied their system, what testing has been undertaken, what warranty and technical support sits behind it and whether it meets the requirements for the UK market."</p><p>He added: "Price will obviously matter, but solar equipment is a long-term electrical product. Safety, provenance, quality and after-sales support need to matter too."</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-WlMAdO"></div>                            </div>                            <script src="https://kwizly.com/embed/WlMAdO.js" async></script><h2 id="analysis-an-alternative-to-full-solar-is-almost-here">Analysis: An alternative to full solar is (almost) here</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="tUcfCFcevsjbUD2kzwnXPa" name="UKSOL-2" alt="A UKSOL plug-in solar kit" src="https://cdn.mos.cms.futurecdn.net/tUcfCFcevsjbUD2kzwnXPa-1920-80.jpg" mos="" align="middle" fullscreen="" width="2048" height="1152" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: UKSOL)</span></figcaption></figure><p>The ground mount kits are, of course, placed on the ground in your garden or other outside area (and weighed down using the ballast tray, to ensure that if it gets windy, you aren't going to end up with overturned panels). </p><p>The other option from UKSOL is to buy a hybrid mount kit in October, and these can be situated on the ground, or on a wall (or balcony). They'll arrive in a 515W compact (one panel) variant and an 890W dual panel setup, with other offerings too (up to a 1260W hybrid kit). No pricing is available for those yet.</p><p>Kits from other manufacturers should be going on sale soon enough as <a href="https://www.techradar.com/home/uk-government-says-plug-in-solar-panels-will-be-legal-from-august-27-opening-the-door-for-amazon-lidl-currys-and-more-to-help-save-you-gbp110-a-year">plug-in solar becomes legal on August 27</a>, when UKSOL's first ground mount offerings become available. Manufacturers must ensure compliance with UK regulations, of course, as UKSOL has done, with the likes of Asda, Currys, B&Q, Wickes, and Screwfix potentially stocking these solutions.</p><p>Plug-in panels offer a good alternative as a scaled-down version of a full roof-mounted solar setup, as not every house can have the latter — flats certainly can't, and some roofs just aren't suitable. Plug-in solar is the obvious choice if you're renting, and don't own the property, too — and they're a lot less of a financial commitment than a full roof installation. </p><p>A typical payback period for plug-in (when the electricity saved roughly equals the cost of the panels) is <a href="https://www.techradar.com/home/smart-home/three-to-five-years-is-a-realistic-payback-period-plug-in-solar-panels-will-be-legal-next-month-but-what-do-they-cost-who-can-fit-them-and-is-your-home-even-suitable-we-asked-the-experts">three to five years, according to the experts</a>, which is way quicker than a typical full solar install.</p><p>Note that there are <a href="https://www.techradar.com/home/3-places-you-cant-install-plug-in-solar-panels-the-new-planning-rules-that-could-ruin-your-grand-designs-for-your-balcony">certain requirements in terms of the rules for the location of plug-in solar</a> panels — you can't put them on wooden balconies for example (due to the fire risk), and the same goes for fences.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/home/smart-home/first-plug-in-solar-kits-get-regulatory-green-light-in-the-uk-ahead-of-legal-lift-off-on-august-27-and-theyll-start-at-gbp699</link>
                                                                            <description>
                            <![CDATA[ 'Safety, quality and after-sales support need to matter': UKSOL's ground mount plug-in solar panels are on sale in a week. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">7FWHMAXcn9YRXUGRcp98bC</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/zhFxW4ku7LCEqbPaAWYpJa-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 20 Aug 2026 18:07:40 +0000</pubDate>                                                                                                                                <updated>Tue, 25 Aug 2026 15:45:25 +0000</updated>
                                                                                                                                            <category><![CDATA[Smart Home]]></category>
                                                    <category><![CDATA[Energy Saving]]></category>
                                                    <category><![CDATA[Home]]></category>
                                                                                                                    <dc:creator><![CDATA[ Darren Allan ]]></dc:creator>                                                                                                        <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/zhFxW4ku7LCEqbPaAWYpJa-1920-80.jpg">
                                                            <media:credit><![CDATA[UKSOL]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[A UKSOL plug-in solar kit]]></media:description>                                                            <media:text><![CDATA[A UKSOL plug-in solar kit]]></media:text>
                                <media:title type="plain"><![CDATA[A UKSOL plug-in solar kit]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/zhFxW4ku7LCEqbPaAWYpJa-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <ul><li><strong>UKSOL says it's the first in the UK to achieve regulatory compliance for plug-in solar products</strong></li><li><strong>It's ground mount kits with one or two solar panels go on sale on August 27</strong></li><li><strong>That's when solar is legal in the UK, and we can expect more of these kits to be available</strong></li></ul><p>UKSOL has announced that it's the first solar company in the UK to achieve regulatory compliance for <a href="https://www.techradar.com/home/smart-home/plug-in-batteries-are-the-real-game-changer-i-talked-to-octopus-energy-and-anker-about-the-home-energy-revolution-than-could-soon-be-bigger-than-solar-for-millions">plug-in solar kits</a>, the first of which will be on sale in just a week.</p><p>Those products are the UKSOL Plug-In Solar Pro Compact 460W Ground Mount Kit (consisting of a single solar panel), and the Plug-In Solar Pro Duo 890W Ground Mount Kit (two panels). Both of these go on sale from August 27 in the UK — when plug-in kits become legal in this country — albeit in "limited stocks" to begin with.</p><p>A pair of hybrid mount kits — a single panel 515W offering, and a 920W two-panel product — have also been approved, and these should be available in October 2026 (or that's the current plan).</p><p>All of these have met the relevant regulatory standards, and are listed as 'compliant' in the ENA (Energy Network Association) Connect Direct plug-in solar device database.</p><p>The Plug-In Solar Pro products have been developed specifically for the British market, UKSOL informs us in a press release, and these are all-in-one kits that come with everything you need to be up and running.</p><p>With the kits out next week, alongside the UKSOL panel(s) you get an integrated (foldable) ground-mounting frame with a ballast tray, as well as the necessary 800W microinverter plus DC and AC cables. There's a smartphone app for monitoring the system, too.</p><p>Pricing for the Pro Compact (single panel) 460W Ground Mount Kit is £849 with VAT and two-man delivery included, with the Pro Duo 890W Ground Mount Kit running to £1,199 (also with VAT and delivery). The RRP at retailers is £699 and £1,089 respectively.</p><p>Andrew Moore, the CEO of UKSOL, commented: "We expect plug in solar to become an exciting new consumer category, but there is a real responsibility on manufacturers and retailers to get the introduction right. Consumers should be able to understand who manufactured or supplied their system, what testing has been undertaken, what warranty and technical support sits behind it and whether it meets the requirements for the UK market."</p><p>He added: "Price will obviously matter, but solar equipment is a long-term electrical product. Safety, provenance, quality and after-sales support need to matter too."</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-WlMAdO"></div>                            </div>                            <script src="https://kwizly.com/embed/WlMAdO.js" async></script><h2 id="analysis-an-alternative-to-full-solar-is-almost-here">Analysis: An alternative to full solar is (almost) here</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="tUcfCFcevsjbUD2kzwnXPa" name="UKSOL-2" alt="A UKSOL plug-in solar kit" src="https://cdn.mos.cms.futurecdn.net/tUcfCFcevsjbUD2kzwnXPa-1920-80.jpg" mos="" align="middle" fullscreen="" width="2048" height="1152" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: UKSOL)</span></figcaption></figure><p>The ground mount kits are, of course, placed on the ground in your garden or other outside area (and weighed down using the ballast tray, to ensure that if it gets windy, you aren't going to end up with overturned panels). </p><p>The other option from UKSOL is to buy a hybrid mount kit in October, and these can be situated on the ground, or on a wall (or balcony). They'll arrive in a 515W compact (one panel) variant and an 890W dual panel setup, with other offerings too (up to a 1260W hybrid kit). No pricing is available for those yet.</p><p>Kits from other manufacturers should be going on sale soon enough as <a href="https://www.techradar.com/home/uk-government-says-plug-in-solar-panels-will-be-legal-from-august-27-opening-the-door-for-amazon-lidl-currys-and-more-to-help-save-you-gbp110-a-year">plug-in solar becomes legal on August 27</a>, when UKSOL's first ground mount offerings become available. Manufacturers must ensure compliance with UK regulations, of course, as UKSOL has done, with the likes of Asda, Currys, B&Q, Wickes, and Screwfix potentially stocking these solutions.</p><p>Plug-in panels offer a good alternative as a scaled-down version of a full roof-mounted solar setup, as not every house can have the latter — flats certainly can't, and some roofs just aren't suitable. Plug-in solar is the obvious choice if you're renting, and don't own the property, too — and they're a lot less of a financial commitment than a full roof installation. </p><p>A typical payback period for plug-in (when the electricity saved roughly equals the cost of the panels) is <a href="https://www.techradar.com/home/smart-home/three-to-five-years-is-a-realistic-payback-period-plug-in-solar-panels-will-be-legal-next-month-but-what-do-they-cost-who-can-fit-them-and-is-your-home-even-suitable-we-asked-the-experts">three to five years, according to the experts</a>, which is way quicker than a typical full solar install.</p><p>Note that there are <a href="https://www.techradar.com/home/3-places-you-cant-install-plug-in-solar-panels-the-new-planning-rules-that-could-ruin-your-grand-designs-for-your-balcony">certain requirements in terms of the rules for the location of plug-in solar</a> panels — you can't put them on wooden balconies for example (due to the fire risk), and the same goes for fences.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Google's been developing a new AI smartphone camera tool to measure body fat ]]></title>
                                                                                                <dc:content><![CDATA[ <ul><li><strong>Google is building on its new Insulin Resistance Trends health feature with PhotoScan</strong></li><li><strong>PhotoScan is 'an investigational deep learning framework' that can estimate body fat using a phone's camera with 'near DXA accuracy'</strong></li><li><strong>It's not yet available to the public, but the research 'demonstrate[s] the feasibility' of such features</strong></li></ul><p>As the Google Pixel Watch 5 launched last week alongside a slew of new Pixel phones, one of the most interesting new developments was the introduction of the <a href="https://www.techradar.com/health-fitness/smartwatches/the-google-pixel-watch-5s-insulin-resistance-trends-might-be-the-biggest-deal-in-smartwatches-in-ages-for-better-or-worse">Pixel Watch's new Health Guardian suite of tools, including Insulin Resistance Trends</a>. </p><p>Insulin Resistance Trends showcases a month-by-month breakdown containing estimations of how  your body responded to blood sugar spikes — a crucial component in weight management and the development of Type-2 diabetes. </p><p>Body composition — your ratio of different kinds of fat, skeletal muscle, and bone — is also an excellent marker of insulin resistance and metabolic health, so body scans are often used to help determine insulin resistance. Body comp is often measured with medical-grade 'DXA' scans, which use X-Rays, or commercially available devices at home.</p><p>These home devices can be the <a href="https://www.techradar.com/best/best-smart-scales">best smart scales</a> or even some smartwatches, such as the <a href="https://www.techradar.com/health-fitness/smartwatches/samsung-galaxy-watch-ultra-2-review">Samsung Galaxy Watch Ultra 2</a>. Without medical DXA scanners, they usually use a process called 'bioelectrical impedence analysis', or BIA. A low-level electric current is sent through the user's body, moving through fat, muscle, and bone at different speeds. The speed of the electrical current helps the device estimate the percentages of each material in the body: a useful thing to have on a health-monitoring device like a smartwatch.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2097px;"><p class="vanilla-image-block" style="padding-top:56.27%;"><img id="Pa85LabQm8h87AXQbgQR4o" name="profileActive Band_Fog_Lifestyle 3" alt="Google Pixel Watch 5" src="https://cdn.mos.cms.futurecdn.net/Pa85LabQm8h87AXQbgQR4o-1920-80.jpg" mos="" align="middle" fullscreen="" width="2097" height="1180" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Google)</span></figcaption></figure><p>However, Google is busy researching an even more accurate version of a body scan without using any specialist equipment or BIA kit — in fact, it's just a smartphone camera and an onboard AI model. This in-development feature is called PhotoScan, appropriately. </p><p>According <a href="https://research.google/blog/seeing-beyond-bmi-estimating-cardiometabolic-risk-with-smartphone-imagery/" target="_blank">to its research blog</a>, Google has been developing PhotoScan by matching smartphone photographs of subjects with medical-grade DXA scans, along with other subject information, then running it all through an AI model.  The AI model eventually achieved 'strong DXA agreement' when estimating body fat percentage and other metrics, leading to 'near-DXA accuracy for predicting insulin resistance'. </p><p>The researchers conclude that 'clinical DXA imaging delivers the most accurate body composition but lacks scalability, whereas wearable BIA sensors offer convenience but are limited to basic body fat percentage. </p><p>'Our PhotoScan approach offers a promising middle ground, estimating granular body composition from standard smartphone imagery with near-DXA accuracy.' Sorry, Samsung — it looks like we'll be pivoting away from BIA sensors and towards smartphone cameras for body fat percentage calculation in future. </p><p>While the technology doesn't seem to be commercially available yet, it does 'demonstrate the feasibility of smartphone-based body composition estimation,' and I'd be surprised not to see it make its way to the <a href="https://www.techradar.com/news/best-pixel-phones">best Pixel phones</a> eventually.  </p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-O6kMjX"></div>                            </div>                            <script src="https://kwizly.com/embed/O6kMjX.js" async></script><div data-widget-type="merchantlink" data-model-name="Google Pixel 11,Google Pixel 11 Pro"></div> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/health-fitness/sorry-samsung-google-says-its-latest-ai-smartphone-camera-tool-can-measure-bodies-better-than-the-galaxy-watchs-bioelectric-sensors</link>
                                                                            <description>
                            <![CDATA[ In the midst of a health wearables arms race, Google's been quietly developing health scanning tools for your smartphone's camera instead. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">ag22nhMkB7swpMn7MJBHHM</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/AgUNwYV57X23xzkHdvUgQb-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 19 Aug 2026 03:30:00 +0000</pubDate>                                                                                                                                <updated>Thu, 20 Aug 2026 08:30:31 +0000</updated>
                                                                                                                                            <category><![CDATA[Health & Fitness]]></category>
                                                    <category><![CDATA[Smart Scales]]></category>
                                                    <category><![CDATA[Home]]></category>
                                                    <category><![CDATA[Smart Home]]></category>
                                                                                                <author><![CDATA[ matt.evans@futurenet.com (Matt Evans) ]]></author>                    <dc:creator><![CDATA[ Matt Evans ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/PC6SDeYdcjEPS4ES8uLSDU-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/AgUNwYV57X23xzkHdvUgQb-1920-80.jpg">
                                                            <media:credit><![CDATA[Future / Getty Images / LEONELLO CALVETTI/SCIENCE PHOTO LIBRARY]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Google Pixel 11 phone in hibiscus and image of body scans]]></media:description>                                                            <media:text><![CDATA[Google Pixel 11 phone in hibiscus and image of body scans]]></media:text>
                                <media:title type="plain"><![CDATA[Google Pixel 11 phone in hibiscus and image of body scans]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/AgUNwYV57X23xzkHdvUgQb-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <ul><li><strong>Google is building on its new Insulin Resistance Trends health feature with PhotoScan</strong></li><li><strong>PhotoScan is 'an investigational deep learning framework' that can estimate body fat using a phone's camera with 'near DXA accuracy'</strong></li><li><strong>It's not yet available to the public, but the research 'demonstrate[s] the feasibility' of such features</strong></li></ul><p>As the Google Pixel Watch 5 launched last week alongside a slew of new Pixel phones, one of the most interesting new developments was the introduction of the <a href="https://www.techradar.com/health-fitness/smartwatches/the-google-pixel-watch-5s-insulin-resistance-trends-might-be-the-biggest-deal-in-smartwatches-in-ages-for-better-or-worse">Pixel Watch's new Health Guardian suite of tools, including Insulin Resistance Trends</a>. </p><p>Insulin Resistance Trends showcases a month-by-month breakdown containing estimations of how  your body responded to blood sugar spikes — a crucial component in weight management and the development of Type-2 diabetes. </p><p>Body composition — your ratio of different kinds of fat, skeletal muscle, and bone — is also an excellent marker of insulin resistance and metabolic health, so body scans are often used to help determine insulin resistance. Body comp is often measured with medical-grade 'DXA' scans, which use X-Rays, or commercially available devices at home.</p><p>These home devices can be the <a href="https://www.techradar.com/best/best-smart-scales">best smart scales</a> or even some smartwatches, such as the <a href="https://www.techradar.com/health-fitness/smartwatches/samsung-galaxy-watch-ultra-2-review">Samsung Galaxy Watch Ultra 2</a>. Without medical DXA scanners, they usually use a process called 'bioelectrical impedence analysis', or BIA. A low-level electric current is sent through the user's body, moving through fat, muscle, and bone at different speeds. The speed of the electrical current helps the device estimate the percentages of each material in the body: a useful thing to have on a health-monitoring device like a smartwatch.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2097px;"><p class="vanilla-image-block" style="padding-top:56.27%;"><img id="Pa85LabQm8h87AXQbgQR4o" name="profileActive Band_Fog_Lifestyle 3" alt="Google Pixel Watch 5" src="https://cdn.mos.cms.futurecdn.net/Pa85LabQm8h87AXQbgQR4o-1920-80.jpg" mos="" align="middle" fullscreen="" width="2097" height="1180" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Google)</span></figcaption></figure><p>However, Google is busy researching an even more accurate version of a body scan without using any specialist equipment or BIA kit — in fact, it's just a smartphone camera and an onboard AI model. This in-development feature is called PhotoScan, appropriately. </p><p>According <a href="https://research.google/blog/seeing-beyond-bmi-estimating-cardiometabolic-risk-with-smartphone-imagery/" target="_blank">to its research blog</a>, Google has been developing PhotoScan by matching smartphone photographs of subjects with medical-grade DXA scans, along with other subject information, then running it all through an AI model.  The AI model eventually achieved 'strong DXA agreement' when estimating body fat percentage and other metrics, leading to 'near-DXA accuracy for predicting insulin resistance'. </p><p>The researchers conclude that 'clinical DXA imaging delivers the most accurate body composition but lacks scalability, whereas wearable BIA sensors offer convenience but are limited to basic body fat percentage. </p><p>'Our PhotoScan approach offers a promising middle ground, estimating granular body composition from standard smartphone imagery with near-DXA accuracy.' Sorry, Samsung — it looks like we'll be pivoting away from BIA sensors and towards smartphone cameras for body fat percentage calculation in future. </p><p>While the technology doesn't seem to be commercially available yet, it does 'demonstrate the feasibility of smartphone-based body composition estimation,' and I'd be surprised not to see it make its way to the <a href="https://www.techradar.com/news/best-pixel-phones">best Pixel phones</a> eventually.  </p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-O6kMjX"></div>                            </div>                            <script src="https://kwizly.com/embed/O6kMjX.js" async></script><div data-widget-type="merchantlink" data-model-name="Google Pixel 11,Google Pixel 11 Pro"></div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ IKEA launches £5 3-in-1 clock, thermometer, and humidity sensor ]]></title>
                                                                                                <dc:content><![CDATA[ <ul><li><strong>IKEA's new 3-in-1 display is a clock, thermometer, and humidity sensor</strong></li><li><strong>The display follows the release of IKEA's TIMMERFLOTTE temperature sensor </strong></li><li><strong>It's only available in the UK so far, priced at £5</strong></li></ul><p>If you’re looking for simple, convenient, and affordable home tech, IKEA is surprisingly handy when it comes to this — and the Swedish home furnishing giant just launched a new 3-in-1 display that does more than tell the time. </p><p>As well as displaying a clock, the new ÖRNVRÅK device also shows the temperature and humidity of your home, a true triple threat. Right now, ÖRNVRÅK is available in the UK online and in-store, but we’re keeping our eyes peeled for a US rollout. </p><p>The ÖRNVRÅK’s 3-in-1 functions aren’t its only selling points, however — it costs a mere £5 — a cheap and cheerful device that’s not overly complicated. And because it’s powered by one AAA battery, you won’t have to worry about constantly charging it. </p><p>As far as its specs go, ÖRNVRÅK is a small device at just 8x3cm and incredibly lightweight, weighing just over 100g. With its IP44 resistance rating, the display can endure small splashes of water, meaning it can be placed pretty much anywhere in your home, from your kitchen to your utility room or bathroom. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="vJ4qAw367EyzmZ3gMBMtrd" name="split-image-1920 (6)" alt="IKEA's new clock, temperature, and humidity display on a fridge and in a bathroom" src="https://cdn.mos.cms.futurecdn.net/vJ4qAw367EyzmZ3gMBMtrd-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: IKEA)</span></figcaption></figure><p>It’s also multi-faceted when it comes to attachments. Its magnetic back allows it to stick to surfaces such as your fridge door, or you can use its built-in hook attachment to hang it on the wall, or use it as a stand for flat surfaces. </p><p>In recent years, IKEA has really taken advantage of the demand for cheap home devices that just get the job done. Earlier this year, the retailer launched its £5 <a href="https://www.techradar.com/home/smart-home/its-my-unexpected-favorite-ikea-exec-reveals-why-this-usd10-gbp5-sensor-is-his-top-pick-from-the-new-smart-gadget-range">Matter-supported TIMMERFLOTTE temperature sensor,</a> which fits perfectly into your existing smart home ecosystem. The company also has a cheap lineup of audio devices, most notably its colorful <a href="https://www.techradar.com/audio/wireless-bluetooth-speakers/fun-flexible-and-affordable-i-tested-ikeas-super-cheap-bluetooth-speaker-and-as-long-as-youre-not-expecting-sonos-toppling-sound-its-a-blast">KALLSUP Bluetooth speaker</a> — which packs a punch for just £10. </p><p>While the TIMMERFLOTTE sensor has the smart home bells and whistles, this isn’t the case for the new ÖRNVRÅK display. Instead, it keeps things simple, swapping the smart home connectivity for the digital clock face. </p><p>If you’re all about smart home connectivity when it comes to IKEA’s devices, this might not be the product for you, but what the ÖRNVRÅK display does that the TIMMERFLOTTE sensor doesn't is show the time, temperature, and humidity simultaneously. ÖRNVRÅK removes the need to swipe through each reading individually, which gives it the edge when appealing to those who value simplicity over smart features.  </p> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/home/smart-lights/ikeas-super-cheap-bathroom-gadget-combines-a-clock-thermometer-and-humidity-reader-in-one-so-you-can-quickly-check-how-late-you-are-for-work</link>
                                                                            <description>
                            <![CDATA[ IKEA has launched a new £5 device that triples as a clock, thermometer, and humidity reader. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">b9PgbFdvQsJSf7c5v84aSc</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/udNhFGt82HtVmGvKv32kpH-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Mon, 17 Aug 2026 11:04:43 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Smart Lights]]></category>
                                                    <category><![CDATA[Home]]></category>
                                                    <category><![CDATA[Smart Home]]></category>
                                                                                                <author><![CDATA[ rowan.davies@futurenet.com (Rowan Davies) ]]></author>                    <dc:creator><![CDATA[ Rowan Davies ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/q5Az6iW5pbAotRovdNvQAf-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Rowan is an Editorial Associate and Apprentice Writer for TechRadar. A recent addition to the news team, he is involved in generating stories for topics that spread across TechRadar&#039;s categories. His interests in audio tech and knowledge in entertainment culture help bring the latest updates in tech news to our readers.&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;He has been writing for publications since he started his studies at age 18. Rowan graduated from Cardiff University in 2023 after attaining a Master&#039;s in Creative Writing, and earlier a Bachelor&#039;s in Media, Journalism, and Culture. He began his journey as a writer at Cardiff University&#039;s Quench Magazine contributing to film/ TV, music, and culture sections, later becoming Music Section Editor.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;In his free time, Rowan is a freelance writer for Cardiff-based culture magazine Buzz where he reviews music, film, and conducts interviews with featured guests. When he is not writing, you can find him at any given music gig, or endlessly scrolling TikTok immersing in celebrity news and drama. &amp;nbsp;&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/udNhFGt82HtVmGvKv32kpH-1920-80.jpg">
                                                            <media:credit><![CDATA[IKEA]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[IKEA&#039;s new ÖRNVRÅK device standing on a wooden surface ]]></media:description>                                                            <media:text><![CDATA[IKEA&#039;s new ÖRNVRÅK device standing on a wooden surface ]]></media:text>
                                <media:title type="plain"><![CDATA[IKEA&#039;s new ÖRNVRÅK device standing on a wooden surface ]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/udNhFGt82HtVmGvKv32kpH-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <ul><li><strong>IKEA's new 3-in-1 display is a clock, thermometer, and humidity sensor</strong></li><li><strong>The display follows the release of IKEA's TIMMERFLOTTE temperature sensor </strong></li><li><strong>It's only available in the UK so far, priced at £5</strong></li></ul><p>If you’re looking for simple, convenient, and affordable home tech, IKEA is surprisingly handy when it comes to this — and the Swedish home furnishing giant just launched a new 3-in-1 display that does more than tell the time. </p><p>As well as displaying a clock, the new ÖRNVRÅK device also shows the temperature and humidity of your home, a true triple threat. Right now, ÖRNVRÅK is available in the UK online and in-store, but we’re keeping our eyes peeled for a US rollout. </p><p>The ÖRNVRÅK’s 3-in-1 functions aren’t its only selling points, however — it costs a mere £5 — a cheap and cheerful device that’s not overly complicated. And because it’s powered by one AAA battery, you won’t have to worry about constantly charging it. </p><p>As far as its specs go, ÖRNVRÅK is a small device at just 8x3cm and incredibly lightweight, weighing just over 100g. With its IP44 resistance rating, the display can endure small splashes of water, meaning it can be placed pretty much anywhere in your home, from your kitchen to your utility room or bathroom. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="vJ4qAw367EyzmZ3gMBMtrd" name="split-image-1920 (6)" alt="IKEA's new clock, temperature, and humidity display on a fridge and in a bathroom" src="https://cdn.mos.cms.futurecdn.net/vJ4qAw367EyzmZ3gMBMtrd-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: IKEA)</span></figcaption></figure><p>It’s also multi-faceted when it comes to attachments. Its magnetic back allows it to stick to surfaces such as your fridge door, or you can use its built-in hook attachment to hang it on the wall, or use it as a stand for flat surfaces. </p><p>In recent years, IKEA has really taken advantage of the demand for cheap home devices that just get the job done. Earlier this year, the retailer launched its £5 <a href="https://www.techradar.com/home/smart-home/its-my-unexpected-favorite-ikea-exec-reveals-why-this-usd10-gbp5-sensor-is-his-top-pick-from-the-new-smart-gadget-range">Matter-supported TIMMERFLOTTE temperature sensor,</a> which fits perfectly into your existing smart home ecosystem. The company also has a cheap lineup of audio devices, most notably its colorful <a href="https://www.techradar.com/audio/wireless-bluetooth-speakers/fun-flexible-and-affordable-i-tested-ikeas-super-cheap-bluetooth-speaker-and-as-long-as-youre-not-expecting-sonos-toppling-sound-its-a-blast">KALLSUP Bluetooth speaker</a> — which packs a punch for just £10. </p><p>While the TIMMERFLOTTE sensor has the smart home bells and whistles, this isn’t the case for the new ÖRNVRÅK display. Instead, it keeps things simple, swapping the smart home connectivity for the digital clock face. </p><p>If you’re all about smart home connectivity when it comes to IKEA’s devices, this might not be the product for you, but what the ÖRNVRÅK display does that the TIMMERFLOTTE sensor doesn't is show the time, temperature, and humidity simultaneously. ÖRNVRÅK removes the need to swipe through each reading individually, which gives it the edge when appealing to those who value simplicity over smart features.  </p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Layered lighting will bring your home to life — here's how to try it ]]></title>
                                                                                                <dc:content><![CDATA[ <p>If you’ve not heard of layered lighting, you’re in for a treat. Sure, a single ceiling fixture is the easiest way to illuminate a room, but adding a variety of light sources in different places in a room — a technique known as layered lighting — can completely change the way your home looks and feels, making it more inviting and more practical, without the need to redecorate.</p><p>To find out why layered lighting is worth trying, and how you to get started, I spoke experts from lighting companies <a href="https://uk.paulmann.com/" target="_blank">Paulmann</a>, <a href="https://uk.govee.com/" target="_blank">Govee</a>, and <a href="https://www.philips-hue.com/" target="_blank">Philips Hue</a> . Hue and Govee are two of the biggest names in smart lights, while German company Paulmann produces a range of rechargeable lights that attach to backplates mounted on the wall with screws or adhesive — ideal if you rent or don’t want to get involved with wiring. </p><div><blockquote><p>A well-designed environment combines different layers of light</p><p>Jerry Lin, Govee</p></blockquote></div><p>“We believe lighting should do more than simply illuminate a room,” explains Jerry Lin, Product Manager at Govee. “A well-designed environment combines different layers of light to create depth, balance and atmosphere, helping people adapt their spaces for any moment of the day.”</p><p>Tom Amelung, Junior Product Manager at Paulmann Licht, agrees that lighting is about much more than just function. “It shapes mood, enhances texture and brings colors to life,” he says. “Without a considered lighting scheme, even the most beautifully designed interior can feel flat and uninspiring. When thoughtfully layered, however, lighting creates depth, adds warmth and brings balance and harmony to a room.”</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3508px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="7KvepgfSbjBrKCAPyHHcfD" name="Mi_Paulmann_P20230101_07" alt="Bedroom lit using layered Paulmann lights" src="https://cdn.mos.cms.futurecdn.net/7KvepgfSbjBrKCAPyHHcfD-1920-80.jpg" mos="" align="middle" fullscreen="" width="3508" height="1973" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">Tom Amelung of Paulmann says layered lighting can bring a space to life </span><span class="credit" itemprop="copyrightHolder">(Image credit: Paulmann)</span></figcaption></figure><h2 id="think-beyond-the-ceiling">Think beyond the ceiling</h2><p>So what are the layers that you should be thinking about? “At its core, layered lighting is about combining four key types of light: ambient, task, accent and decorative, so that they work together seamlessly,” explains Philips Hue’s spokesperson. “The result is a home that not only meets practical lighting needs, but one that also adapts effortlessly to different activities, moods and times of day.</p><div  class="fancy-box"><div class="fancy_box-title">Did you know TechRadar now has membership?</div><div class="fancy_box_body"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' ><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="MZftMKPquR3jRGaoR9TwcB" name="TechRadar-Insider-banner" caption="" alt="Various tech product cutouts next to the words 'Insider TechRadar Learn More'" src="https://cdn.mos.cms.futurecdn.net/MZftMKPquR3jRGaoR9TwcB-1920-80.jpg" mos="" link="" align="" fullscreen="" width="" height="" attribution="" endorsement="" class="pinterest-pin-exclude"></p></div></div><figcaption itemprop="caption description" class=""><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p class="fancy-box__body-text">Become a TechRadar Insider by simply clicking 'Join Now' at the top of this page. Have a question? Please email <a data-analytics-id="inline-link" href="https://futureplc.slgnt.eu/optiext/optiextension.dll?ID=XWc%2BNZbmPVY1QXCHegXUW5hAZTqddroX0h4zBFHHIu3aOyPDcGIlPjK%2BJMv55n1J8bfl5bA494yjEg3_i0iSaOXD%2BXycXT" target="_blank">membership@techradar.com</a></p></div></div><p>Your central ceiling light can be part of that mix, but you need to think beyond it. “Introducing table lamps, floor lamps, wall lights or light strips adds dimension, highlights architectural features and furnishings, and enhances the richness of colors and textures throughout the room,” adds Hue’s lighting expert.</p><p>Amelung suggests trying spotlights as well, thinking outside of the standard grid arrangement that you might already have in your bathroom or kitchen. “A uniform grid of spotlights might feel like the easy option, but it often creates flat, overly bright spaces,” he says. “Instead, position lights based on how the room is used.”</p><div><blockquote><p>Position lights based on how the room is used</p><p>Tom Amelung, Paulmann</p></blockquote></div><p>That doesn’t mean placing lights directly above seating, though — lights placed directly over your sofa can be harsh and uncomfortable when you’re trying to relax. The same is true in a bedroom, where softer lighting is a better option to avoid making the space feel clinical.</p><p>“Place lights above worktops, not behind you, to avoid casting shadows while cooking,” adds Amelung. “Directional options, such as Paulmann’s directional recessed and spotlight options, are ideal for targeting key areas.”</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="qomLYNnmerh5FgDPCn3G4S" name="Philips-hue-tropical-ambience" alt="Room illuminated with Philips Hue lights in tropical colors" src="https://cdn.mos.cms.futurecdn.net/qomLYNnmerh5FgDPCn3G4S-1920-80.jpg" mos="" align="middle" fullscreen="" width="2048" height="1152" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">Think beyond just a big central ceiling light to make the most of your space </span><span class="credit" itemprop="copyrightHolder">(Image credit: Signify)</span></figcaption></figure><h2 id="smart-ideas">Smart ideas</h2><p>Smart lights are particularly effective for layering thanks to their versatility. Using connected light fittings lets you transform a space throughout the day without moving anything around. Want to use a corner of your living room as a study during work hours, then use the whole space for relaxing in the evening? With smart lights you can do exactly that, helping delineate spaces that serve multiple purposes.</p><p>“One of the greatest advantages of smart lighting is its ability to transform a space throughout the day without requiring any changes to the room’s layout,” says Philips Hue’s spokesperson. “Instead of moving lamps, changing bulbs or adjusting fixtures manually, smart lighting allows you to easily adapt brightness, color temperature and ambience to suit different activities and moods.”</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3307px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="CzzGSyzh4gng4QzWHBRLhD" name="Mi_Paulmann_P20230102_05" alt="Kitchen lit using layered Paulmann lights" src="https://cdn.mos.cms.futurecdn.net/CzzGSyzh4gng4QzWHBRLhD-1920-80.jpg" mos="" align="middle" fullscreen="" width="3307" height="1860" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">Layered lighting lets you adapt your space depending on the time of day </span><span class="credit" itemprop="copyrightHolder">(Image credit: Paulmann)</span></figcaption></figure><p>Your home — and the way you use it — is unique, and smart lights let you personalize your layered lighting setup to suit the way you live.</p><p>“With intelligent features such as Govee DaySync, your lighting can automatically adjust its temperature and brightness to match your daily routine, shifting naturally from morning to evening,” says Govee’s Jerry Lin. “At the same time, advanced color management systems such as Govee LuminBlend+ let you explore more lighting experiences, from subtle pastel tones to immersive ambient scenes to strike the perfect mood every time.”</p><p>Ultimately, smart lighting gives people the flexibility to create spaces that feel more connected to the way they live,” says Lin.</p><h2 id="go-for-it">Go for it!</h2><p>Are you feeling inspired? I asked Philips Hue where I should start if I want to begin experimenting with layered lighting tonight.</p><p>“When layering a room, the use cases could be many,” said Hue’s spokesperson. “Say, for example, in a bedroom – a layered set-up might look like an overhead fixture for clarity, bedside lamps for reading, soft accent lights for atmosphere, and hidden strip lights that trace architectural lines. </p><p>“Once everything is dimmed, the room feels cohesive rather than cluttered, with each source playing a distinct role.”</p><p>Ready to go? Each expert has suggested four products to help you begin experimenting with layered lighting, including recessed spotlights, table lamps, floor lamps, smart ceiling lights, and gradient light strips. Want even more inspiration? Take a look at our complete guide to the <a href="https://www.techradar.com/news/best-smart-lighting">best smart lights</a>.</p><h2 id="lights-for-layering">Lights for layering</h2>        <div class="featured_product_block featured_block_hero" data-id="8e2e128c-917f-11f1-ae85-53ae7430d74c">            <a href="https://uk.paulmann.com/p/recessed-luminaire-cole-round-88mm-gu10-max.-10w-230v-dimmable-black-gold-matt/93395" data-model-name="Downlight Cole Round" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/gXDCn4iKYgXJcgfaXBnwAC.jpg" alt="Paulmann recessed spotlight"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Paulmann</div>                                        <div class="featured__title">Downlight Cole Round</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="8e2e12fa-917f-11f1-ab03-4736a01d6d5e">            <a href="https://uk.paulmann.com/p/led-downlight-smart-home-zigbee-3.0-base-coin-basic-set-swivelling-round-90mm-200-coin-3x4-9w-3x420lm-230v-dimmable-rgbw-white/92466" data-model-name="LED Downlight Smart Home" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/B5PX8QvxnKDHSKxzcjiwAC.jpg" alt="Paulmann recessed spotlights"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Paulmann</div>                                        <div class="featured__title">LED Downlight Smart Home</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="8e2e1368-917f-11f1-ab7e-f360980c18bd">            <a href="https://uk.paulmann.com/p/led-downlight-3-step-dim-nova-coin-basic-set-swivelling-round-84mm-500-coin-3x6w-3x470lm-230v-dimmable-2700k-matt-white/93485" data-model-name="LED Downlight 3-Step-Dim Nova" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/wTQgv7ycaMrowQf6wiRwFC.jpg" alt="Paulmann recessed spotlights"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Paulmann</div>                                        <div class="featured__title">LED Downlight 3-Step-Dim Nova</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="8e2e13cc-917f-11f1-a73c-875601cdee67">            <a href="https://uk.paulmann.com/p/led-downlight-nova-plus-coin-basic-set-swivelling-round-84mm-500-coin-3x6w-3x470lm-230v-dimmable-2700k-matt-white/93875" data-model-name="LED Downlight Nova Plus Coin Basic Set" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/sbDeCzsLjVGzodwPM9ngCC.jpg" alt="Paulmann recessed spotlights"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Paulmann</div>                                        <div class="featured__title">LED Downlight Nova Plus Coin Basic Set</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="8e2e143a-917f-11f1-95f4-79e1d882edf9">            <a href="https://www.philips-hue.com/en-gb/p/hue-white-and-colour-ambiance-datura-ceiling-light-large/8720169277557" data-model-name="Datura Ceiling Light Large" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/HcnS7YxbwSQYrsbwPhvk3C.jpg" alt="Philips Hue ceiling light"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Philips Hue</div>                                        <div class="featured__title">Datura Ceiling Light Large</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="8e2e149e-917f-11f1-a12b-a756cd72b23b">            <a href="https://www.philips-hue.com/en-gb/p/hue-white-and-colour-ambiance-go-portable-accent-light/7602031PU" data-model-name="Go Portable Accent Light" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/CRpZr9hRS7MXMXSwfudt8C.jpg" alt="Philips Hue table lamp"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Philips Hue</div>                                        <div class="featured__title">Go Portable Accent Light</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="8e2e1502-917f-11f1-ac4b-7b39a3304885">            <a href="https://www.philips-hue.com/en-gb/p/hue-white-and-colour-ambiance-signe-gradient-table-lamp/8718696176245" data-model-name="Signe Gradient Table Lamp" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/SyhZHiYa9GwCGrDXXmQ86C.jpg" alt="Philips Hue table lamp"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Philips Hue</div>                                        <div class="featured__title">Signe Gradient Table Lamp</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="8e2e1566-917f-11f1-b621-d9c73f884cfe">            <a href="https://www.philips-hue.com/en-gb/p/lightstrips-omniglow-strip-light-3-m/8721103089359" data-model-name="Omniglow Strip Light 3 M" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/LWKY4gwjYrEyiHXkk8G26C.jpg" alt="Philips Hue light strip"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Philips Hue</div>                                        <div class="featured__title">Omniglow Strip Light 3 M</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="8e2e15ca-917f-11f1-8610-fdddd120868e">            <a href="https://uk.govee.com/products/govee-smart-floor-lamp-3" data-model-name="Floor Lamp 3" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/px9L8MNN3XkfBzMKufeDHC.jpg" alt="Govee floor lamp"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>GOVEE</div>                                        <div class="featured__title">Floor Lamp 3</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="8e2e162e-917f-11f1-865d-37ff28610241">            <a href="https://uk.govee.com/products/govee-lantern-floor-lamp" data-model-name="Lantern Floor Lamp" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/u9uxLLy9w2K5JHxDtTxF3C.jpg" alt="Philips Hue floor lamp"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>GOVEE</div>                                        <div class="featured__title">Lantern Floor Lamp</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="8e2e1692-917f-11f1-8058-6d217675c7fe">            <a href="https://uk.govee.com/products/govee-38cm-rgbicww-smart-ceiling-light-pro" data-model-name="38cm Smart Ceiling Light Pro" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/FWCsDcrHBJn3iv3iM9V4EC.jpg" alt="Govee ceiling light"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>GOVEE</div>                                        <div class="featured__title">38cm Smart Ceiling Light Pro</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="8e2e16f6-917f-11f1-8a8a-19cd5a4ec6e8">            <a href="https://uk.govee.com/products/govee-tv-backlight-3" data-model-name="TV Backlight 3" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/rJ8ohG5yeVARcsGhKmSMGC.jpg" alt="Govee TV backlight set"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>GOVEE</div>                                        <div class="featured__title">TV Backlight 3</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/home/smart-lights/still-using-one-big-overhead-bulb-3-lighting-experts-explain-how-layering-light-sources-can-bring-your-home-to-life-and-how-you-can-try-it-yourself-tonight</link>
                                                                            <description>
                            <![CDATA[ I asked three lighting experts how you can layer strip lights, lamps, recessed lights and bulbs to create a bespoke setup that suits the way you live. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">KuJa65kjgAMFYZSxSNbaPo</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/WfmVkRJpSAoExRHJHmm74S-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sat, 08 Aug 2026 09:00:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Smart Lights]]></category>
                                                    <category><![CDATA[Home]]></category>
                                                    <category><![CDATA[Smart Home]]></category>
                                                                                                <author><![CDATA[ catherine.ellis@futurenet.com (Cat Ellis) ]]></author>                    <dc:creator><![CDATA[ Cat Ellis ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/gxZz6rCoNR6sXhqL34MvML-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Cat is TechRadar&#039;s Homes Editor, covering smart home tech, kitchen appliances, vacuums, haircare and more. She&#039;s been a tech journalist for 15 years, having worked on print magazines including PC Plus and PC Format, and is a&lt;a href=&quot;https://sca.coffee/&quot;&gt; &lt;u&gt;Speciality Coffee Association&lt;/u&gt;&lt;/a&gt; (SCA) certified barista. Whether you want to invest in some smart lights, find your ideal hair styler, or pick the espresso machine of your dreams, she&#039;s the right person to help.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/WfmVkRJpSAoExRHJHmm74S-1920-80.jpg">
                                                            <media:credit><![CDATA[Signify]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Two people on couch illuminated with white and pink Philips Hue lights]]></media:description>                                                            <media:text><![CDATA[Two people on couch illuminated with white and pink Philips Hue lights]]></media:text>
                                <media:title type="plain"><![CDATA[Two people on couch illuminated with white and pink Philips Hue lights]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/WfmVkRJpSAoExRHJHmm74S-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>If you’ve not heard of layered lighting, you’re in for a treat. Sure, a single ceiling fixture is the easiest way to illuminate a room, but adding a variety of light sources in different places in a room — a technique known as layered lighting — can completely change the way your home looks and feels, making it more inviting and more practical, without the need to redecorate.</p><p>To find out why layered lighting is worth trying, and how you to get started, I spoke experts from lighting companies <a href="https://uk.paulmann.com/" target="_blank">Paulmann</a>, <a href="https://uk.govee.com/" target="_blank">Govee</a>, and <a href="https://www.philips-hue.com/" target="_blank">Philips Hue</a> . Hue and Govee are two of the biggest names in smart lights, while German company Paulmann produces a range of rechargeable lights that attach to backplates mounted on the wall with screws or adhesive — ideal if you rent or don’t want to get involved with wiring. </p><div><blockquote><p>A well-designed environment combines different layers of light</p><p>Jerry Lin, Govee</p></blockquote></div><p>“We believe lighting should do more than simply illuminate a room,” explains Jerry Lin, Product Manager at Govee. “A well-designed environment combines different layers of light to create depth, balance and atmosphere, helping people adapt their spaces for any moment of the day.”</p><p>Tom Amelung, Junior Product Manager at Paulmann Licht, agrees that lighting is about much more than just function. “It shapes mood, enhances texture and brings colors to life,” he says. “Without a considered lighting scheme, even the most beautifully designed interior can feel flat and uninspiring. When thoughtfully layered, however, lighting creates depth, adds warmth and brings balance and harmony to a room.”</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3508px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="7KvepgfSbjBrKCAPyHHcfD" name="Mi_Paulmann_P20230101_07" alt="Bedroom lit using layered Paulmann lights" src="https://cdn.mos.cms.futurecdn.net/7KvepgfSbjBrKCAPyHHcfD-1920-80.jpg" mos="" align="middle" fullscreen="" width="3508" height="1973" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">Tom Amelung of Paulmann says layered lighting can bring a space to life </span><span class="credit" itemprop="copyrightHolder">(Image credit: Paulmann)</span></figcaption></figure><h2 id="think-beyond-the-ceiling">Think beyond the ceiling</h2><p>So what are the layers that you should be thinking about? “At its core, layered lighting is about combining four key types of light: ambient, task, accent and decorative, so that they work together seamlessly,” explains Philips Hue’s spokesperson. “The result is a home that not only meets practical lighting needs, but one that also adapts effortlessly to different activities, moods and times of day.</p><div  class="fancy-box"><div class="fancy_box-title">Did you know TechRadar now has membership?</div><div class="fancy_box_body"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' ><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="MZftMKPquR3jRGaoR9TwcB" name="TechRadar-Insider-banner" caption="" alt="Various tech product cutouts next to the words 'Insider TechRadar Learn More'" src="https://cdn.mos.cms.futurecdn.net/MZftMKPquR3jRGaoR9TwcB-1920-80.jpg" mos="" link="" align="" fullscreen="" width="" height="" attribution="" endorsement="" class="pinterest-pin-exclude"></p></div></div><figcaption itemprop="caption description" class=""><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p class="fancy-box__body-text">Become a TechRadar Insider by simply clicking 'Join Now' at the top of this page. Have a question? Please email <a data-analytics-id="inline-link" href="https://futureplc.slgnt.eu/optiext/optiextension.dll?ID=XWc%2BNZbmPVY1QXCHegXUW5hAZTqddroX0h4zBFHHIu3aOyPDcGIlPjK%2BJMv55n1J8bfl5bA494yjEg3_i0iSaOXD%2BXycXT" target="_blank">membership@techradar.com</a></p></div></div><p>Your central ceiling light can be part of that mix, but you need to think beyond it. “Introducing table lamps, floor lamps, wall lights or light strips adds dimension, highlights architectural features and furnishings, and enhances the richness of colors and textures throughout the room,” adds Hue’s lighting expert.</p><p>Amelung suggests trying spotlights as well, thinking outside of the standard grid arrangement that you might already have in your bathroom or kitchen. “A uniform grid of spotlights might feel like the easy option, but it often creates flat, overly bright spaces,” he says. “Instead, position lights based on how the room is used.”</p><div><blockquote><p>Position lights based on how the room is used</p><p>Tom Amelung, Paulmann</p></blockquote></div><p>That doesn’t mean placing lights directly above seating, though — lights placed directly over your sofa can be harsh and uncomfortable when you’re trying to relax. The same is true in a bedroom, where softer lighting is a better option to avoid making the space feel clinical.</p><p>“Place lights above worktops, not behind you, to avoid casting shadows while cooking,” adds Amelung. “Directional options, such as Paulmann’s directional recessed and spotlight options, are ideal for targeting key areas.”</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="qomLYNnmerh5FgDPCn3G4S" name="Philips-hue-tropical-ambience" alt="Room illuminated with Philips Hue lights in tropical colors" src="https://cdn.mos.cms.futurecdn.net/qomLYNnmerh5FgDPCn3G4S-1920-80.jpg" mos="" align="middle" fullscreen="" width="2048" height="1152" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">Think beyond just a big central ceiling light to make the most of your space </span><span class="credit" itemprop="copyrightHolder">(Image credit: Signify)</span></figcaption></figure><h2 id="smart-ideas">Smart ideas</h2><p>Smart lights are particularly effective for layering thanks to their versatility. Using connected light fittings lets you transform a space throughout the day without moving anything around. Want to use a corner of your living room as a study during work hours, then use the whole space for relaxing in the evening? With smart lights you can do exactly that, helping delineate spaces that serve multiple purposes.</p><p>“One of the greatest advantages of smart lighting is its ability to transform a space throughout the day without requiring any changes to the room’s layout,” says Philips Hue’s spokesperson. “Instead of moving lamps, changing bulbs or adjusting fixtures manually, smart lighting allows you to easily adapt brightness, color temperature and ambience to suit different activities and moods.”</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3307px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="CzzGSyzh4gng4QzWHBRLhD" name="Mi_Paulmann_P20230102_05" alt="Kitchen lit using layered Paulmann lights" src="https://cdn.mos.cms.futurecdn.net/CzzGSyzh4gng4QzWHBRLhD-1920-80.jpg" mos="" align="middle" fullscreen="" width="3307" height="1860" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">Layered lighting lets you adapt your space depending on the time of day </span><span class="credit" itemprop="copyrightHolder">(Image credit: Paulmann)</span></figcaption></figure><p>Your home — and the way you use it — is unique, and smart lights let you personalize your layered lighting setup to suit the way you live.</p><p>“With intelligent features such as Govee DaySync, your lighting can automatically adjust its temperature and brightness to match your daily routine, shifting naturally from morning to evening,” says Govee’s Jerry Lin. “At the same time, advanced color management systems such as Govee LuminBlend+ let you explore more lighting experiences, from subtle pastel tones to immersive ambient scenes to strike the perfect mood every time.”</p><p>Ultimately, smart lighting gives people the flexibility to create spaces that feel more connected to the way they live,” says Lin.</p><h2 id="go-for-it">Go for it!</h2><p>Are you feeling inspired? I asked Philips Hue where I should start if I want to begin experimenting with layered lighting tonight.</p><p>“When layering a room, the use cases could be many,” said Hue’s spokesperson. “Say, for example, in a bedroom – a layered set-up might look like an overhead fixture for clarity, bedside lamps for reading, soft accent lights for atmosphere, and hidden strip lights that trace architectural lines. </p><p>“Once everything is dimmed, the room feels cohesive rather than cluttered, with each source playing a distinct role.”</p><p>Ready to go? Each expert has suggested four products to help you begin experimenting with layered lighting, including recessed spotlights, table lamps, floor lamps, smart ceiling lights, and gradient light strips. Want even more inspiration? Take a look at our complete guide to the <a href="https://www.techradar.com/news/best-smart-lighting">best smart lights</a>.</p><h2 id="lights-for-layering">Lights for layering</h2>        <div class="featured_product_block featured_block_hero" data-id="8e2e128c-917f-11f1-ae85-53ae7430d74c">            <a href="https://uk.paulmann.com/p/recessed-luminaire-cole-round-88mm-gu10-max.-10w-230v-dimmable-black-gold-matt/93395" data-model-name="Downlight Cole Round" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/gXDCn4iKYgXJcgfaXBnwAC.jpg" alt="Paulmann recessed spotlight"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Paulmann</div>                                        <div class="featured__title">Downlight Cole Round</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="8e2e12fa-917f-11f1-ab03-4736a01d6d5e">            <a href="https://uk.paulmann.com/p/led-downlight-smart-home-zigbee-3.0-base-coin-basic-set-swivelling-round-90mm-200-coin-3x4-9w-3x420lm-230v-dimmable-rgbw-white/92466" data-model-name="LED Downlight Smart Home" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/B5PX8QvxnKDHSKxzcjiwAC.jpg" alt="Paulmann recessed spotlights"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Paulmann</div>                                        <div class="featured__title">LED Downlight Smart Home</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="8e2e1368-917f-11f1-ab7e-f360980c18bd">            <a href="https://uk.paulmann.com/p/led-downlight-3-step-dim-nova-coin-basic-set-swivelling-round-84mm-500-coin-3x6w-3x470lm-230v-dimmable-2700k-matt-white/93485" data-model-name="LED Downlight 3-Step-Dim Nova" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/wTQgv7ycaMrowQf6wiRwFC.jpg" alt="Paulmann recessed spotlights"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Paulmann</div>                                        <div class="featured__title">LED Downlight 3-Step-Dim Nova</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="8e2e13cc-917f-11f1-a73c-875601cdee67">            <a href="https://uk.paulmann.com/p/led-downlight-nova-plus-coin-basic-set-swivelling-round-84mm-500-coin-3x6w-3x470lm-230v-dimmable-2700k-matt-white/93875" data-model-name="LED Downlight Nova Plus Coin Basic Set" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/sbDeCzsLjVGzodwPM9ngCC.jpg" alt="Paulmann recessed spotlights"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Paulmann</div>                                        <div class="featured__title">LED Downlight Nova Plus Coin Basic Set</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="8e2e143a-917f-11f1-95f4-79e1d882edf9">            <a href="https://www.philips-hue.com/en-gb/p/hue-white-and-colour-ambiance-datura-ceiling-light-large/8720169277557" data-model-name="Datura Ceiling Light Large" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/HcnS7YxbwSQYrsbwPhvk3C.jpg" alt="Philips Hue ceiling light"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Philips Hue</div>                                        <div class="featured__title">Datura Ceiling Light Large</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="8e2e149e-917f-11f1-a12b-a756cd72b23b">            <a href="https://www.philips-hue.com/en-gb/p/hue-white-and-colour-ambiance-go-portable-accent-light/7602031PU" data-model-name="Go Portable Accent Light" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/CRpZr9hRS7MXMXSwfudt8C.jpg" alt="Philips Hue table lamp"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Philips Hue</div>                                        <div class="featured__title">Go Portable Accent Light</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="8e2e1502-917f-11f1-ac4b-7b39a3304885">            <a href="https://www.philips-hue.com/en-gb/p/hue-white-and-colour-ambiance-signe-gradient-table-lamp/8718696176245" data-model-name="Signe Gradient Table Lamp" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/SyhZHiYa9GwCGrDXXmQ86C.jpg" alt="Philips Hue table lamp"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Philips Hue</div>                                        <div class="featured__title">Signe Gradient Table Lamp</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="8e2e1566-917f-11f1-b621-d9c73f884cfe">            <a href="https://www.philips-hue.com/en-gb/p/lightstrips-omniglow-strip-light-3-m/8721103089359" data-model-name="Omniglow Strip Light 3 M" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/LWKY4gwjYrEyiHXkk8G26C.jpg" alt="Philips Hue light strip"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Philips Hue</div>                                        <div class="featured__title">Omniglow Strip Light 3 M</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="8e2e15ca-917f-11f1-8610-fdddd120868e">            <a href="https://uk.govee.com/products/govee-smart-floor-lamp-3" data-model-name="Floor Lamp 3" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/px9L8MNN3XkfBzMKufeDHC.jpg" alt="Govee floor lamp"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>GOVEE</div>                                        <div class="featured__title">Floor Lamp 3</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="8e2e162e-917f-11f1-865d-37ff28610241">            <a href="https://uk.govee.com/products/govee-lantern-floor-lamp" data-model-name="Lantern Floor Lamp" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/u9uxLLy9w2K5JHxDtTxF3C.jpg" alt="Philips Hue floor lamp"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>GOVEE</div>                                        <div class="featured__title">Lantern Floor Lamp</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="8e2e1692-917f-11f1-8058-6d217675c7fe">            <a href="https://uk.govee.com/products/govee-38cm-rgbicww-smart-ceiling-light-pro" data-model-name="38cm Smart Ceiling Light Pro" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/FWCsDcrHBJn3iv3iM9V4EC.jpg" alt="Govee ceiling light"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>GOVEE</div>                                        <div class="featured__title">38cm Smart Ceiling Light Pro</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="8e2e16f6-917f-11f1-8a8a-19cd5a4ec6e8">            <a href="https://uk.govee.com/products/govee-tv-backlight-3" data-model-name="TV Backlight 3" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/rJ8ohG5yeVARcsGhKmSMGC.jpg" alt="Govee TV backlight set"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>GOVEE</div>                                        <div class="featured__title">TV Backlight 3</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ My whole family used the RunStar 4e Body Scale, and this affordable scale is great for weight — but let down by inaccurate body composition ]]></title>
                                                                                                <dc:content><![CDATA[ <h3 class="article-body__section" id="section-runstar-4e-body-scale-one-minute-review"><span>RunStar 4E Body Scale: One minute review</span></h3><p>The RunStar 4E is an affordable smart scale that costs little more than a standard set of electrical scales. Considering it measures more than 20 different body composition metrics, the low price becomes even more impressive. As you’d expect at this price, there are limitations though, with the inability to measure composition accurately (fat-to-muscle ratios and so on) being the most glaring one.</p><p>Despite these shortcomings, everything, from app setup to using the scales, is smooth, straightforward, and wonderfully intuitive. Connecting the scales to the companion app is quick and easy thanks to a robust Bluetooth signal, and the option to create multiple users within the app is a nice touch for a family of my size and stage.</p><p>The weight measurement consistently measured around 0.4% more than the pricier RunStar 8E SmartScan Pro, which isn’t a massive deviation. For almost all the other measurements, the RunStar 4E adopts a bioelectrical impedance analysis (BIA) measuring method through four metal sensors located on the top panel of the scale.</p><p>BMI measurements were almost identical every single time compared to the 8E SmartScan Pro (probably because it's a mathematical calculation not dependent on the electrodes), but almost all other composition measurements offered up a deviation of between 3 and 30%. For these reasons, it’s not likely to make it into our <a href="https://www.techradar.com/best/best-smart-scales">best smart scales</a> guide. That said, for the price, the RunStar 4E is a respectable set of scales for weight and quick BMI calculation.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4032px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="UX72CtWsyG4LPRgXa8ey5b" name="RunStar 4E Body Scale_23.JPG" alt="RunStar 4E Body Scale" src="https://cdn.mos.cms.futurecdn.net/UX72CtWsyG4LPRgXa8ey5b-1920-80.jpg" mos="" align="middle" fullscreen="" width="4032" height="2268" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future / Paul Hatton)</span></figcaption></figure><h3 class="article-body__section" id="section-runstar-4e-body-scale-specifications"><span>RunStar 4E Body Scale: Specifications</span></h3><div ><table><tbody><tr><td class="firstcol " ><p>Component</p></td><td  ><p><strong>RunStar 4E Body Scale</strong></p></td></tr><tr><td class="firstcol " ><p>Price</p></td><td  ><p>$33.54 / £31.00</p></td></tr><tr><td class="firstcol " ><p>Dimensions</p></td><td  ><p>11.02 x 11.02 x 0.78 inches</p></td></tr><tr><td class="firstcol " ><p>Weight</p></td><td  ><p>3.17 pounds</p></td></tr><tr><td class="firstcol " ><p>Material</p></td><td  ><p>6 mm tempered glass</p></td></tr><tr><td class="firstcol " ><p>Display</p></td><td  ><p>LCD</p></td></tr><tr><td class="firstcol " ><p>Battery</p></td><td  ><p>3x AAA</p></td></tr><tr><td class="firstcol " ><p>Connection</p></td><td  ><p>Bluetooth</p></td></tr></tbody></table></div><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4032px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Vaj354rXtoSJXYwDY5jQNb" name="RunStar 4E Body Scale_12.JPG" alt="RunStar 4E Body Scale" src="https://cdn.mos.cms.futurecdn.net/Vaj354rXtoSJXYwDY5jQNb-1920-80.jpg" mos="" align="middle" fullscreen="" width="4032" height="2268" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future / Paul Hatton)</span></figcaption></figure><h3 class="article-body__section" id="section-runstar-4e-body-scale-price-and-availability"><span>RunStar 4E Body Scale: Price and availability</span></h3><ul><li><strong>$33.54 / £31.00 </strong></li><li><strong>Not available in Australia</strong></li><li><strong>Budget-friendly smart scale</strong></li></ul><p>At $33.54 USD / £31.00 GBP, the RunStar 4E Body Scale is incredibly affordable as far as smart scales go. It might lack full body measurements for fat loss and fitness and muscle gain, but for that pleasure you’ll have to part with a lot more money and shoot for something like the RunStar 8E SmartScan Pro, Withings Body Scan series, or Wyze Scale X.</p><p>A comparable option in terms of price and features would be the <a href="https://www.techradar.com/health-fitness/vitafit-smart-bathroom-scale-review-a-usd20-health-hero">Vitafit Smart Bathroom Scale</a>, which scored a respectable four stars in our testing. Positives included the easy connection, extremely fast results, and the comprehensive app. Our reviewer had some concerns over accuracy, but overall it’s a solid choice.</p><p>The scales are FSA and HSA eligible, which means US users are able to use them in conjunction with designating pre-tax money to be taken from pay and put towards paying medical expenses.</p><ul><li><strong>Value score 4.5/5</strong></li></ul><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/WNMhqtt83z4NgSubZsUsQb-1920-80.jpg" alt="RunStar 4E Body Scale" /><figcaption><small role="credit">Future / Paul Hatton</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/guPQgycrKq2BLGcrAMxcQb-1920-80.jpg" alt="RunStar 4E Body Scale" /><figcaption><small role="credit">Future / Paul Hatton</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/wgbLr2BcdLRSQfGqC6ndRb-1920-80.jpg" alt="RunStar 4E Body Scale" /><figcaption><small role="credit">Future / Paul Hatton</small></figcaption></figure></figure><h3 class="article-body__section" id="section-runstar-4e-body-scale-design"><span>RunStar 4E Body Scale: Design</span></h3><ul><li><strong>LCD display with color graphics</strong></li><li><strong>Compact and lightweight design</strong></li><li><strong>Powered by 3x AAA batteries</strong></li></ul><p>At the heart of the RunStar 4E is a bright LCD display that provides an easy-to-access readout of six metrics: weight, body fat, BMI, muscle mass, body water, and bone mass. The display cycles through these with a few seconds given over to each stat. Unfortunately there’s no way to move to a specific metric using on-device controls, although the full list is available in the accompanying app.</p><p>At 11.02 x 11.02 x 0.78 inches and 3.17 pounds, the smart scale is both compact and lightweight. As a result, finding a suitable spot for it in a bathroom or bedroom shouldn’t be a problem. It can also be easily stowed on its side in a cupboard while not in use.</p><p>The scale is covered in 6mm tempered glass, which protects against scratches and cracks, neither of which I suffered despite my children doing their accidental best to inflict a dent or two. Underneath you’ll find four anti-slip silicone feet.</p><p>Quick and effortless connectivity is via Bluetooth, and power is delivered courtesy of three AAA batteries. USB-C charging would have been better for the environment, but with minimal power required, I don’t envisage getting through too many batteries.</p><ul><li><strong>Design Score: 4/5</strong></li></ul><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4032px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="PUPkVzf8LmNSPuF8nNTFNb" name="RunStar 4E Body Scale_28.JPG" alt="RunStar 4E Body Scale" src="https://cdn.mos.cms.futurecdn.net/PUPkVzf8LmNSPuF8nNTFNb-1920-80.jpg" mos="" align="middle" fullscreen="" width="4032" height="2268" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future / Paul Hatton)</span></figcaption></figure><h3 class="article-body__section" id="section-runstar-4e-body-scale-features"><span>RunStar 4E Body Scale: Features</span></h3><ul><li><strong>22 reportable metrics including weight, BMI, and muscle mass</strong></li><li><strong>App supports multiple users</strong></li></ul><p>The RunStar 4E boasts an impressive feature set for such an affordable scale, or at least it would be if the extras were more impressive. At its core, the scale is capable of measuring over 20 metrics, including weight, BMI, body fat percentage, body mass, muscle mass, body water rate, bone mass, and visceral fat. Six of these are visible on the smart scale itself, while the full set is reported in the Starfit RunStar app.</p><p>To accommodate families, the Starfit app enables users to set up multiple profiles, one for each family member. By entering the height and target weight of each person, the app is able to provide more accurate and informed reporting. The app also tracks measurements over time and plots them on a chart for trend analysis.</p><ul><li><strong>Features Score: 4/5</strong></li></ul><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4032px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="WTidMWBzeN43m8vxPKrsJb" name="RunStar 4E Body Scale_27.JPG" alt="RunStar 4E Body Scale" src="https://cdn.mos.cms.futurecdn.net/WTidMWBzeN43m8vxPKrsJb-1920-80.jpg" mos="" align="middle" fullscreen="" width="4032" height="2268" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future / Paul Hatton)</span></figcaption></figure><h3 class="article-body__section" id="section-runstar-4e-body-scale-performance"><span>RunStar 4E Body Scale: Performance</span></h3><ul><li><strong>Quick results on-device and in-app</strong></li><li><strong>Accurate weight, BMI, and metabolic age</strong></li><li><strong>Some inaccuracies consistently reported</strong></li></ul><p>The first thing to note is that the RunStar 4E is quick. In a matter of seconds the scale is able to measure over 20 different body composition metrics and display them instantly in the app. There’s no waiting around for calculations to be made and zero lag when the display is cycling through the six core metrics.</p><p>Weight, as you’d expect, is measured prior to all the body composition elements. Having measured myself hundreds of times, I found that the 4E regularly mismeasured my weight by around 0.4% compared to the RunStar 8E SmartScan Pro and, indeed, my rudimentary pair of digital weight scales. It would be unfair to judge the scales too harshly for this small deviation, especially given the price.</p><p>According to research published in the <a href="https://pmc.ncbi.nlm.nih.gov/articles/PMC8122302/">Journal of Medical Internet Research</a>, one study conducted on smart scales shows a median margin of error of around 0.3kgs, so I can forgive it some small deviation. That said, if you’re requiring absolute accuracy, you’ll need to look elsewhere.</p><p>BMI was also consistently measured more or less accurately, with deviations of only 0.5%. If you’re only concerned with quick measurements such as weight and BMI, then the RunStar 4E won’t cause you any problems.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4032px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="2cZCYZJ7YUKsqEWQmch5PN" name="RunStar 4E Body Scale_13.JPG" alt="RunStar 4E Body Scale" src="https://cdn.mos.cms.futurecdn.net/2cZCYZJ7YUKsqEWQmch5PN-1920-80.jpg" mos="" align="middle" fullscreen="" width="4032" height="2268" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future / Paul Hatton)</span></figcaption></figure><p>Getting into the specifics, musculoskeletal-related measurements using BIA include muscle, muscle mass, and skeletal muscle rates. The first two measured around a 3% deviation from the 8E SmartScan Pro, but it was the skeletal muscle rate which was most concerning, measuring a deviation of nearly 15%.</p><p>Unfortunately variable results continue with fat-related metrics. Compared to the SmartScan Pro, body fat percentage, subcutaneous fat, and body fat mass all reported a massive 30% deviation.</p><p>Despite comparably poor results on some metrics, it’s worth remembering that most of these are specialized measurements, and to expect too much from a smart scale that costs $33.54 / £31.00 might be a little unreasonable. </p><p>That said, it would be preferable for consumers if smart scale manufacturers would only include metrics that they could report on accurately. The RunStar 4E also measures consistently with itself, which means it can still be trusted as a weight loss tool assuming you allow for the margin of error.</p><ul><li><strong>Performance score: 3.5/5</strong></li></ul><h3 class="article-body__section" id="section-runstar-4e-body-scale-scorecard"><span>RunStar 4E Body Scale: Scorecard</span></h3><div ><table><tbody><tr><td class="firstcol " ><p>Category</p></td><td  ><p>Comment</p></td><td  ><p>Score</p></td></tr><tr><td class="firstcol " ><p>Value</p></td><td  ><p>An impressive smart scale given its budget-friendly price point. </p></td><td  ><p>4.5/5</p></td></tr><tr><td class="firstcol " ><p>Design</p></td><td  ><p>A compact and lightweight smart scale with a bright LCD display.</p></td><td  ><p>4/5</p></td></tr><tr><td class="firstcol " ><p>Features</p></td><td  ><p>Over 20 body composition metrics with the RunStar app providing a reasonable level of trend analysis.</p></td><td  ><p>4/5</p></td></tr><tr><td class="firstcol " ><p>Performance</p></td><td  ><p>Weight and BMI are accurate, but other measurements are subject to sizable deviations.</p></td><td  ><p>3.5/5</p></td></tr></tbody></table></div><h3 class="article-body__section" id="section-runstar-4e-body-scale-should-i-buy"><span>RunStar 4E Body Scale: Should I buy?</span></h3><h2 id="buy-it-if-6">Buy it if...</h2><div class="product"><p><strong>You’re looking for a decent affordable smart scale</strong></p><p>A surprisingly solid set of features for such a cheap scale.</p></div><div class="product"><p><strong>You only care about working towards a healthier BMI</strong></p><p>As well as weight, the RunStar 4E delivers accurate BMI calculations.</p></div><h2 id="don-t-buy-it-if-2">Don't buy it if...</h2><div class="product"><p><strong>You want to be able to sync results with health apps</strong></p><p>The RunStar isn’t capable of linking in with any sort of wider ecosystem.</p></div><h3 class="article-body__section" id="section-also-consider"><span>Also consider</span></h3><div class="product"><a data-dimension112="cbdae820-80eb-11f1-8cf0-9342d99169f4" data-action="Deal Block" data-label="Vitafit Smart Bathroom Scale" data-dimension48="Vitafit Smart Bathroom Scale" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1500px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="QchpCHbkfy5UFpm6GtGccC" name="Vitafit Smart Bathroom Scale" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/QchpCHbkfy5UFpm6GtGccC-1920-80.jpg" mos="" align="middle" fullscreen="" width="1500" height="1500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong>Vitafit Smart Bathroom Scale</strong></p><p>A similarly priced smart scale with a comparable set of features. Boasts a slightly larger display and a more comprehensive app experience.</p><p><a href="https://www.techradar.com/health-fitness/vitafit-smart-bathroom-scale-review-a-usd20-health-hero" data-dimension112="cbdae820-80eb-11f1-8cf0-9342d99169f4" data-action="Deal Block" data-label="Vitafit Smart Bathroom Scale" data-dimension48="Vitafit Smart Bathroom Scale" data-dimension25="">Vitafit Smart Bathroom Scale</a><a class="view-deal button" href="" target="_blank" rel="nofollow" data-dimension112="cbdae820-80eb-11f1-8cf0-9342d99169f4" data-action="Deal Block" data-label="Vitafit Smart Bathroom Scale" data-dimension48="Vitafit Smart Bathroom Scale" data-dimension25="">View Deal</a></p></div><div class="product"><a data-dimension112="13baf8c0-80fa-11f1-be6e-73b847322ec4" data-action="Deal Block" data-label="RunStar 8E SmartScan ProA superior, and pricier, smart scale capable of measuring more metrics and breaking them down into specific parts of the body." data-dimension48="RunStar 8E SmartScan ProA superior, and pricier, smart scale capable of measuring more metrics and breaking them down into specific parts of the body." target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:800px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="Dqjy3XSeo2yDJYA5diMBF9" name="RunStar 8E SmartScan Pro" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/Dqjy3XSeo2yDJYA5diMBF9-1920-80.jpg" mos="" align="middle" fullscreen="" width="800" height="800" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong>RunStar 8E SmartScan Pro</strong></p><p>A superior, and pricier, smart scale capable of measuring more metrics and breaking them down into specific parts of the body.<a class="view-deal button" href="" target="_blank" rel="nofollow" data-dimension112="13baf8c0-80fa-11f1-be6e-73b847322ec4" data-action="Deal Block" data-label="RunStar 8E SmartScan ProA superior, and pricier, smart scale capable of measuring more metrics and breaking them down into specific parts of the body." data-dimension48="RunStar 8E SmartScan ProA superior, and pricier, smart scale capable of measuring more metrics and breaking them down into specific parts of the body." data-dimension25="">View Deal</a></p></div><h3 class="article-body__section" id="section-how-i-tested"><span>How I tested</span></h3><p>My family (two adults and three children) has been using the RunStar 4E for three months. We’ve used it to measure and track all types of metrics, including weight, BMI, and muscle mass. I carried out comparison tests with the more premium RunStar 8E SmartScan Pro. In addition, I’ve used every feature of the app to give the smart scales a thorough testing.</p><p><em>First reviewed: July 2026</em></p> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/home/smart-scales/runstar-4e-body-scale-review</link>
                                                                            <description>
                            <![CDATA[ The RunStar 4E Body Scale is a basic smart body scale that measures over 20 different metrics. Accurate performance is sketchy, although the core measurements of weight and BMI are accurate. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">gVWFVTfwhEVeR7HFdYgYHe</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/2cZCYZJ7YUKsqEWQmch5PN-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 07 Aug 2026 15:58:24 +0000</pubDate>                                                                                                                                <updated>Mon, 10 Aug 2026 08:59:05 +0000</updated>
                                                                                                                                            <category><![CDATA[Smart Scales]]></category>
                                                    <category><![CDATA[Home]]></category>
                                                    <category><![CDATA[Smart Home]]></category>
                                                                                                <author><![CDATA[ paulo.n.hatton@gmail.com (Paul Hatton) ]]></author>                    <dc:creator><![CDATA[ Paul Hatton ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/KH8owg4K7JgU8kjNPDsfYj-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/2cZCYZJ7YUKsqEWQmch5PN-1920-80.jpg">
                                                            <media:credit><![CDATA[Future / Paul Hatton]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[RunStar 4E Body Scale]]></media:description>                                                            <media:text><![CDATA[RunStar 4E Body Scale]]></media:text>
                                <media:title type="plain"><![CDATA[RunStar 4E Body Scale]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/2cZCYZJ7YUKsqEWQmch5PN-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <h3 class="article-body__section" id="section-runstar-4e-body-scale-one-minute-review"><span>RunStar 4E Body Scale: One minute review</span></h3><p>The RunStar 4E is an affordable smart scale that costs little more than a standard set of electrical scales. Considering it measures more than 20 different body composition metrics, the low price becomes even more impressive. As you’d expect at this price, there are limitations though, with the inability to measure composition accurately (fat-to-muscle ratios and so on) being the most glaring one.</p><p>Despite these shortcomings, everything, from app setup to using the scales, is smooth, straightforward, and wonderfully intuitive. Connecting the scales to the companion app is quick and easy thanks to a robust Bluetooth signal, and the option to create multiple users within the app is a nice touch for a family of my size and stage.</p><p>The weight measurement consistently measured around 0.4% more than the pricier RunStar 8E SmartScan Pro, which isn’t a massive deviation. For almost all the other measurements, the RunStar 4E adopts a bioelectrical impedance analysis (BIA) measuring method through four metal sensors located on the top panel of the scale.</p><p>BMI measurements were almost identical every single time compared to the 8E SmartScan Pro (probably because it's a mathematical calculation not dependent on the electrodes), but almost all other composition measurements offered up a deviation of between 3 and 30%. For these reasons, it’s not likely to make it into our <a href="https://www.techradar.com/best/best-smart-scales">best smart scales</a> guide. That said, for the price, the RunStar 4E is a respectable set of scales for weight and quick BMI calculation.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4032px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="UX72CtWsyG4LPRgXa8ey5b" name="RunStar 4E Body Scale_23.JPG" alt="RunStar 4E Body Scale" src="https://cdn.mos.cms.futurecdn.net/UX72CtWsyG4LPRgXa8ey5b-1920-80.jpg" mos="" align="middle" fullscreen="" width="4032" height="2268" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future / Paul Hatton)</span></figcaption></figure><h3 class="article-body__section" id="section-runstar-4e-body-scale-specifications"><span>RunStar 4E Body Scale: Specifications</span></h3><div ><table><tbody><tr><td class="firstcol " ><p>Component</p></td><td  ><p><strong>RunStar 4E Body Scale</strong></p></td></tr><tr><td class="firstcol " ><p>Price</p></td><td  ><p>$33.54 / £31.00</p></td></tr><tr><td class="firstcol " ><p>Dimensions</p></td><td  ><p>11.02 x 11.02 x 0.78 inches</p></td></tr><tr><td class="firstcol " ><p>Weight</p></td><td  ><p>3.17 pounds</p></td></tr><tr><td class="firstcol " ><p>Material</p></td><td  ><p>6 mm tempered glass</p></td></tr><tr><td class="firstcol " ><p>Display</p></td><td  ><p>LCD</p></td></tr><tr><td class="firstcol " ><p>Battery</p></td><td  ><p>3x AAA</p></td></tr><tr><td class="firstcol " ><p>Connection</p></td><td  ><p>Bluetooth</p></td></tr></tbody></table></div><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4032px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Vaj354rXtoSJXYwDY5jQNb" name="RunStar 4E Body Scale_12.JPG" alt="RunStar 4E Body Scale" src="https://cdn.mos.cms.futurecdn.net/Vaj354rXtoSJXYwDY5jQNb-1920-80.jpg" mos="" align="middle" fullscreen="" width="4032" height="2268" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future / Paul Hatton)</span></figcaption></figure><h3 class="article-body__section" id="section-runstar-4e-body-scale-price-and-availability"><span>RunStar 4E Body Scale: Price and availability</span></h3><ul><li><strong>$33.54 / £31.00 </strong></li><li><strong>Not available in Australia</strong></li><li><strong>Budget-friendly smart scale</strong></li></ul><p>At $33.54 USD / £31.00 GBP, the RunStar 4E Body Scale is incredibly affordable as far as smart scales go. It might lack full body measurements for fat loss and fitness and muscle gain, but for that pleasure you’ll have to part with a lot more money and shoot for something like the RunStar 8E SmartScan Pro, Withings Body Scan series, or Wyze Scale X.</p><p>A comparable option in terms of price and features would be the <a href="https://www.techradar.com/health-fitness/vitafit-smart-bathroom-scale-review-a-usd20-health-hero">Vitafit Smart Bathroom Scale</a>, which scored a respectable four stars in our testing. Positives included the easy connection, extremely fast results, and the comprehensive app. Our reviewer had some concerns over accuracy, but overall it’s a solid choice.</p><p>The scales are FSA and HSA eligible, which means US users are able to use them in conjunction with designating pre-tax money to be taken from pay and put towards paying medical expenses.</p><ul><li><strong>Value score 4.5/5</strong></li></ul><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/WNMhqtt83z4NgSubZsUsQb-1920-80.jpg" alt="RunStar 4E Body Scale" /><figcaption><small role="credit">Future / Paul Hatton</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/guPQgycrKq2BLGcrAMxcQb-1920-80.jpg" alt="RunStar 4E Body Scale" /><figcaption><small role="credit">Future / Paul Hatton</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/wgbLr2BcdLRSQfGqC6ndRb-1920-80.jpg" alt="RunStar 4E Body Scale" /><figcaption><small role="credit">Future / Paul Hatton</small></figcaption></figure></figure><h3 class="article-body__section" id="section-runstar-4e-body-scale-design"><span>RunStar 4E Body Scale: Design</span></h3><ul><li><strong>LCD display with color graphics</strong></li><li><strong>Compact and lightweight design</strong></li><li><strong>Powered by 3x AAA batteries</strong></li></ul><p>At the heart of the RunStar 4E is a bright LCD display that provides an easy-to-access readout of six metrics: weight, body fat, BMI, muscle mass, body water, and bone mass. The display cycles through these with a few seconds given over to each stat. Unfortunately there’s no way to move to a specific metric using on-device controls, although the full list is available in the accompanying app.</p><p>At 11.02 x 11.02 x 0.78 inches and 3.17 pounds, the smart scale is both compact and lightweight. As a result, finding a suitable spot for it in a bathroom or bedroom shouldn’t be a problem. It can also be easily stowed on its side in a cupboard while not in use.</p><p>The scale is covered in 6mm tempered glass, which protects against scratches and cracks, neither of which I suffered despite my children doing their accidental best to inflict a dent or two. Underneath you’ll find four anti-slip silicone feet.</p><p>Quick and effortless connectivity is via Bluetooth, and power is delivered courtesy of three AAA batteries. USB-C charging would have been better for the environment, but with minimal power required, I don’t envisage getting through too many batteries.</p><ul><li><strong>Design Score: 4/5</strong></li></ul><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4032px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="PUPkVzf8LmNSPuF8nNTFNb" name="RunStar 4E Body Scale_28.JPG" alt="RunStar 4E Body Scale" src="https://cdn.mos.cms.futurecdn.net/PUPkVzf8LmNSPuF8nNTFNb-1920-80.jpg" mos="" align="middle" fullscreen="" width="4032" height="2268" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future / Paul Hatton)</span></figcaption></figure><h3 class="article-body__section" id="section-runstar-4e-body-scale-features"><span>RunStar 4E Body Scale: Features</span></h3><ul><li><strong>22 reportable metrics including weight, BMI, and muscle mass</strong></li><li><strong>App supports multiple users</strong></li></ul><p>The RunStar 4E boasts an impressive feature set for such an affordable scale, or at least it would be if the extras were more impressive. At its core, the scale is capable of measuring over 20 metrics, including weight, BMI, body fat percentage, body mass, muscle mass, body water rate, bone mass, and visceral fat. Six of these are visible on the smart scale itself, while the full set is reported in the Starfit RunStar app.</p><p>To accommodate families, the Starfit app enables users to set up multiple profiles, one for each family member. By entering the height and target weight of each person, the app is able to provide more accurate and informed reporting. The app also tracks measurements over time and plots them on a chart for trend analysis.</p><ul><li><strong>Features Score: 4/5</strong></li></ul><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4032px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="WTidMWBzeN43m8vxPKrsJb" name="RunStar 4E Body Scale_27.JPG" alt="RunStar 4E Body Scale" src="https://cdn.mos.cms.futurecdn.net/WTidMWBzeN43m8vxPKrsJb-1920-80.jpg" mos="" align="middle" fullscreen="" width="4032" height="2268" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future / Paul Hatton)</span></figcaption></figure><h3 class="article-body__section" id="section-runstar-4e-body-scale-performance"><span>RunStar 4E Body Scale: Performance</span></h3><ul><li><strong>Quick results on-device and in-app</strong></li><li><strong>Accurate weight, BMI, and metabolic age</strong></li><li><strong>Some inaccuracies consistently reported</strong></li></ul><p>The first thing to note is that the RunStar 4E is quick. In a matter of seconds the scale is able to measure over 20 different body composition metrics and display them instantly in the app. There’s no waiting around for calculations to be made and zero lag when the display is cycling through the six core metrics.</p><p>Weight, as you’d expect, is measured prior to all the body composition elements. Having measured myself hundreds of times, I found that the 4E regularly mismeasured my weight by around 0.4% compared to the RunStar 8E SmartScan Pro and, indeed, my rudimentary pair of digital weight scales. It would be unfair to judge the scales too harshly for this small deviation, especially given the price.</p><p>According to research published in the <a href="https://pmc.ncbi.nlm.nih.gov/articles/PMC8122302/">Journal of Medical Internet Research</a>, one study conducted on smart scales shows a median margin of error of around 0.3kgs, so I can forgive it some small deviation. That said, if you’re requiring absolute accuracy, you’ll need to look elsewhere.</p><p>BMI was also consistently measured more or less accurately, with deviations of only 0.5%. If you’re only concerned with quick measurements such as weight and BMI, then the RunStar 4E won’t cause you any problems.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4032px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="2cZCYZJ7YUKsqEWQmch5PN" name="RunStar 4E Body Scale_13.JPG" alt="RunStar 4E Body Scale" src="https://cdn.mos.cms.futurecdn.net/2cZCYZJ7YUKsqEWQmch5PN-1920-80.jpg" mos="" align="middle" fullscreen="" width="4032" height="2268" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future / Paul Hatton)</span></figcaption></figure><p>Getting into the specifics, musculoskeletal-related measurements using BIA include muscle, muscle mass, and skeletal muscle rates. The first two measured around a 3% deviation from the 8E SmartScan Pro, but it was the skeletal muscle rate which was most concerning, measuring a deviation of nearly 15%.</p><p>Unfortunately variable results continue with fat-related metrics. Compared to the SmartScan Pro, body fat percentage, subcutaneous fat, and body fat mass all reported a massive 30% deviation.</p><p>Despite comparably poor results on some metrics, it’s worth remembering that most of these are specialized measurements, and to expect too much from a smart scale that costs $33.54 / £31.00 might be a little unreasonable. </p><p>That said, it would be preferable for consumers if smart scale manufacturers would only include metrics that they could report on accurately. The RunStar 4E also measures consistently with itself, which means it can still be trusted as a weight loss tool assuming you allow for the margin of error.</p><ul><li><strong>Performance score: 3.5/5</strong></li></ul><h3 class="article-body__section" id="section-runstar-4e-body-scale-scorecard"><span>RunStar 4E Body Scale: Scorecard</span></h3><div ><table><tbody><tr><td class="firstcol " ><p>Category</p></td><td  ><p>Comment</p></td><td  ><p>Score</p></td></tr><tr><td class="firstcol " ><p>Value</p></td><td  ><p>An impressive smart scale given its budget-friendly price point. </p></td><td  ><p>4.5/5</p></td></tr><tr><td class="firstcol " ><p>Design</p></td><td  ><p>A compact and lightweight smart scale with a bright LCD display.</p></td><td  ><p>4/5</p></td></tr><tr><td class="firstcol " ><p>Features</p></td><td  ><p>Over 20 body composition metrics with the RunStar app providing a reasonable level of trend analysis.</p></td><td  ><p>4/5</p></td></tr><tr><td class="firstcol " ><p>Performance</p></td><td  ><p>Weight and BMI are accurate, but other measurements are subject to sizable deviations.</p></td><td  ><p>3.5/5</p></td></tr></tbody></table></div><h3 class="article-body__section" id="section-runstar-4e-body-scale-should-i-buy"><span>RunStar 4E Body Scale: Should I buy?</span></h3><h2 id="buy-it-if-6">Buy it if...</h2><div class="product"><p><strong>You’re looking for a decent affordable smart scale</strong></p><p>A surprisingly solid set of features for such a cheap scale.</p></div><div class="product"><p><strong>You only care about working towards a healthier BMI</strong></p><p>As well as weight, the RunStar 4E delivers accurate BMI calculations.</p></div><h2 id="don-t-buy-it-if-2">Don't buy it if...</h2><div class="product"><p><strong>You want to be able to sync results with health apps</strong></p><p>The RunStar isn’t capable of linking in with any sort of wider ecosystem.</p></div><h3 class="article-body__section" id="section-also-consider"><span>Also consider</span></h3><div class="product"><a data-dimension112="cbdae820-80eb-11f1-8cf0-9342d99169f4" data-action="Deal Block" data-label="Vitafit Smart Bathroom Scale" data-dimension48="Vitafit Smart Bathroom Scale" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1500px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="QchpCHbkfy5UFpm6GtGccC" name="Vitafit Smart Bathroom Scale" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/QchpCHbkfy5UFpm6GtGccC-1920-80.jpg" mos="" align="middle" fullscreen="" width="1500" height="1500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong>Vitafit Smart Bathroom Scale</strong></p><p>A similarly priced smart scale with a comparable set of features. Boasts a slightly larger display and a more comprehensive app experience.</p><p><a href="https://www.techradar.com/health-fitness/vitafit-smart-bathroom-scale-review-a-usd20-health-hero" data-dimension112="cbdae820-80eb-11f1-8cf0-9342d99169f4" data-action="Deal Block" data-label="Vitafit Smart Bathroom Scale" data-dimension48="Vitafit Smart Bathroom Scale" data-dimension25="">Vitafit Smart Bathroom Scale</a><a class="view-deal button" href="" target="_blank" rel="nofollow" data-dimension112="cbdae820-80eb-11f1-8cf0-9342d99169f4" data-action="Deal Block" data-label="Vitafit Smart Bathroom Scale" data-dimension48="Vitafit Smart Bathroom Scale" data-dimension25="">View Deal</a></p></div><div class="product"><a data-dimension112="13baf8c0-80fa-11f1-be6e-73b847322ec4" data-action="Deal Block" data-label="RunStar 8E SmartScan ProA superior, and pricier, smart scale capable of measuring more metrics and breaking them down into specific parts of the body." data-dimension48="RunStar 8E SmartScan ProA superior, and pricier, smart scale capable of measuring more metrics and breaking them down into specific parts of the body." target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:800px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="Dqjy3XSeo2yDJYA5diMBF9" name="RunStar 8E SmartScan Pro" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/Dqjy3XSeo2yDJYA5diMBF9-1920-80.jpg" mos="" align="middle" fullscreen="" width="800" height="800" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong>RunStar 8E SmartScan Pro</strong></p><p>A superior, and pricier, smart scale capable of measuring more metrics and breaking them down into specific parts of the body.<a class="view-deal button" href="" target="_blank" rel="nofollow" data-dimension112="13baf8c0-80fa-11f1-be6e-73b847322ec4" data-action="Deal Block" data-label="RunStar 8E SmartScan ProA superior, and pricier, smart scale capable of measuring more metrics and breaking them down into specific parts of the body." data-dimension48="RunStar 8E SmartScan ProA superior, and pricier, smart scale capable of measuring more metrics and breaking them down into specific parts of the body." data-dimension25="">View Deal</a></p></div><h3 class="article-body__section" id="section-how-i-tested"><span>How I tested</span></h3><p>My family (two adults and three children) has been using the RunStar 4E for three months. We’ve used it to measure and track all types of metrics, including weight, BMI, and muscle mass. I carried out comparison tests with the more premium RunStar 8E SmartScan Pro. In addition, I’ve used every feature of the app to give the smart scales a thorough testing.</p><p><em>First reviewed: July 2026</em></p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ A new lightstrip has leaked on the Philips Hue website, and we suspect we know what it is ]]></title>
                                                                                                <dc:content><![CDATA[ <ul><li><strong>Philips Hue accidentally leaked a new Pro TV lightstrip on its own website</strong></li><li><strong>There are no details of its price or release date yet</strong></li><li><strong>A new Philips Hue Play Sync camera is expected to launch soon</strong></li></ul><p>I love Philips Hue lights, and I particularly love Hue lightstrips — so I'm excited by an accidental leak that indicates a new Pro lightstrip is coming to your TV.</p><p>The leak was spotted by the excellent <a href="https://hueblog.com/2026/08/03/philips-hue-is-working-on-the-play-gradient-strip-light-pro/" target="_blank">Hueblog</a>, who discovered the following text on the US Hue website: "Check out Philips Hue Play gradient strip lights and Play gradient strip light pro." There isn't currently a gradient strip with the 'pro' suffix, so this appears to be a new product that's coming very soon.</p><p>I hope so, although I worry about the "pro" bit because that usually indicates a premium price. But if it uses the same tech as the spectacular <a href="https://www.techradar.com/home/smart-lights/philips-hue-omniglow-review">Hue Omniglow lighting strip</a> I reviewed earlier this year, it could be a stunning addition to your home cinema or gaming setup.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1980px;"><p class="vanilla-image-block" style="padding-top:41.52%;"><img id="R5QqxjjQFyPcuAxv5ezjhn" name="Hue Omniglow Lightstrip" alt="Hue Omniglow Lightstrip draped over some guitar hangers in a dark room" src="https://cdn.mos.cms.futurecdn.net/R5QqxjjQFyPcuAxv5ezjhn-1920-80.jpg" mos="" align="middle" fullscreen="" width="1980" height="822" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">Unlike other Hue lightstrips, the Omniglow delivers seamless gradients where individual LEDs aren't obvious. </span><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><h2 id="philips-hue-play-gradient-strip-light-pro-what-to-expect">Philips Hue Play Gradient Strip Light Pro: what to expect</h2><p>The Philips Hue Play system synchronizes your smart lights and bulbs, enabling you to change the lighting with music or to reflect what's going on in a game, TV show or movie. The Gradient Strip Light models are designed to go on the back of your TV and deliver a similar experience to an Ambilight TV, extending the colours from your screen onto the walls and ceiling. </p><p>I'm a huge fan of Hue Play – I've been using it since the first-gen Play Sync box was released in 2019 – but the individual LEDs are very visible. If the Pro version were to be closer to the Omniglow, which delivers seamless gradients without the LEDs being visible individually, that would be a great upgrade. Although I suspect it's likely to be pricey too: the Omniglow has an RRP of $139.99 / £119.99 / AU$279.99 for the 3m model.</p><p>At the moment details are non-existent, but we do know that Hue is getting some more Hue Play products imminently: the Hue Play Screen Sync TV camera is expected to launch very soon as a more affordable alternative to the clever but expensive <a href="https://www.techradar.com/home/small-appliances/philips-hue-play-hdmi-sync-box-8k-review">Hue Play HDMI Sync Box 8K</a>. As with the Sync Box it'll mirror your display to your smart lights and bulbs, but you won't need to connect any devices to do it as it'll simply watch what's on the TV.</p><div data-widget-type="review" data-model-name="Philips Hue Play HDMI Sync Box 8K"></div> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/home/smart-lights/philips-hue-may-be-bringing-its-best-ever-lightstrip-to-the-back-of-your-tv-but-were-primed-for-a-painful-price</link>
                                                                            <description>
                            <![CDATA[ Hue has mentioned a new Play Pro lightstrip for TVs that isn't currently available to buy. Could it be a TV Omniglow? ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">r3adhYAhkMhicWq26nV5eJ</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/yGRPMBGZbjLk5NiGYcnH7A-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Tue, 04 Aug 2026 14:25:07 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Smart Lights]]></category>
                                                    <category><![CDATA[Home]]></category>
                                                    <category><![CDATA[Smart Home]]></category>
                                                                                                                    <dc:creator><![CDATA[ Carrie Marshall ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/xJGRRy6MkKwN3qJ5X6enZG-320-70.jpeg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/yGRPMBGZbjLk5NiGYcnH7A-1920-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                        <media:description><![CDATA[We love the Hue Omniglow lightstrip. Could the next-gen Play lightstrip use the same design?]]></media:description>                                                            <media:text><![CDATA[Hue Omniglow lightstrip held in a hand]]></media:text>
                                <media:title type="plain"><![CDATA[Hue Omniglow lightstrip held in a hand]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/yGRPMBGZbjLk5NiGYcnH7A-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <ul><li><strong>Philips Hue accidentally leaked a new Pro TV lightstrip on its own website</strong></li><li><strong>There are no details of its price or release date yet</strong></li><li><strong>A new Philips Hue Play Sync camera is expected to launch soon</strong></li></ul><p>I love Philips Hue lights, and I particularly love Hue lightstrips — so I'm excited by an accidental leak that indicates a new Pro lightstrip is coming to your TV.</p><p>The leak was spotted by the excellent <a href="https://hueblog.com/2026/08/03/philips-hue-is-working-on-the-play-gradient-strip-light-pro/" target="_blank">Hueblog</a>, who discovered the following text on the US Hue website: "Check out Philips Hue Play gradient strip lights and Play gradient strip light pro." There isn't currently a gradient strip with the 'pro' suffix, so this appears to be a new product that's coming very soon.</p><p>I hope so, although I worry about the "pro" bit because that usually indicates a premium price. But if it uses the same tech as the spectacular <a href="https://www.techradar.com/home/smart-lights/philips-hue-omniglow-review">Hue Omniglow lighting strip</a> I reviewed earlier this year, it could be a stunning addition to your home cinema or gaming setup.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1980px;"><p class="vanilla-image-block" style="padding-top:41.52%;"><img id="R5QqxjjQFyPcuAxv5ezjhn" name="Hue Omniglow Lightstrip" alt="Hue Omniglow Lightstrip draped over some guitar hangers in a dark room" src="https://cdn.mos.cms.futurecdn.net/R5QqxjjQFyPcuAxv5ezjhn-1920-80.jpg" mos="" align="middle" fullscreen="" width="1980" height="822" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">Unlike other Hue lightstrips, the Omniglow delivers seamless gradients where individual LEDs aren't obvious. </span><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><h2 id="philips-hue-play-gradient-strip-light-pro-what-to-expect">Philips Hue Play Gradient Strip Light Pro: what to expect</h2><p>The Philips Hue Play system synchronizes your smart lights and bulbs, enabling you to change the lighting with music or to reflect what's going on in a game, TV show or movie. The Gradient Strip Light models are designed to go on the back of your TV and deliver a similar experience to an Ambilight TV, extending the colours from your screen onto the walls and ceiling. </p><p>I'm a huge fan of Hue Play – I've been using it since the first-gen Play Sync box was released in 2019 – but the individual LEDs are very visible. If the Pro version were to be closer to the Omniglow, which delivers seamless gradients without the LEDs being visible individually, that would be a great upgrade. Although I suspect it's likely to be pricey too: the Omniglow has an RRP of $139.99 / £119.99 / AU$279.99 for the 3m model.</p><p>At the moment details are non-existent, but we do know that Hue is getting some more Hue Play products imminently: the Hue Play Screen Sync TV camera is expected to launch very soon as a more affordable alternative to the clever but expensive <a href="https://www.techradar.com/home/small-appliances/philips-hue-play-hdmi-sync-box-8k-review">Hue Play HDMI Sync Box 8K</a>. As with the Sync Box it'll mirror your display to your smart lights and bulbs, but you won't need to connect any devices to do it as it'll simply watch what's on the TV.</p><div data-widget-type="review" data-model-name="Philips Hue Play HDMI Sync Box 8K"></div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Solar energy sets new UK record — as plug-in solar kits head for shelves ]]></title>
                                                                                                <dc:content><![CDATA[ <ul><li><strong>Solar energy just had its best-ever month in the UK</strong></li><li><strong>Rooftop panels and farms provided 14.4% of the country's electricity</strong></li><li><strong>The record comes ahead of the legalisation of plug-in solar kits soon</strong></li></ul><p>Our gardens may be wilting in this exceptionally dry, sunny summer in the UK, but one thing that is benefitting from all the rays is solar panels. Solar energy just had its best-ever month for supplying power to the grid — and plug-in solar panels are aiming to keep that run going when they become legal later this month.</p><p>Alongside solar farms, rooftop panels — which are surging in popularity — helped provide an impressive 14.4% of the UK's electricity in July (via <a href="https://www.theguardian.com/environment/2026/aug/02/solar-powers-record-share-britain-electricity-july" target="_blank">The Guardian</a>). That's 50% more than this time last year, according to National Energy System Operator (Neso) data, and helped to power the <a href="https://www.techradar.com/home/air-quality/9-tips-to-get-more-from-your-fan-or-air-conditioner-air-quality-experts-on-how-to-keep-your-whole-home-cool-without-spiking-your-energy-bill">fans and air con units</a> we're all relying on to survive while working from home.</p><p>The record comes from a combination of two factors. The incredible amount of sunshine we saw in July helped — the UK bathed in around twice the amount of sunshine hours that it usually gets on average at this time of year.</p><p>But it was also powered by the popularity of solar panels, which many are installing to help cut their energy bills in the UK. The country saw more solar power installations in the first half of 2026 than in any similar period for 15 years, while last year saw the highest total number of solar installations (269,000) ever recorded in a calendar year, according to <a href="https://www.gov.uk/government/news/britain-continues-to-break-clean-power-records" target="_blank">government data</a>.</p><p>Those figures include ground-based solar farms, but a significant proportion (just under a third of the UK's total solar power) is provided by rooftop panels. However, with these panels still prohibitively expensive for many, eyes will now be turning to the legalisation of plug-in solar kits from August 27.</p><h2 id="can-plug-in-solar-add-some-extra-shine">Can plug-in solar add some extra shine?</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:8192px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="yv89x6LL6fgFPa8t2ABFN9" name="GettyImages-2169877472" alt="A balcony solar panel" src="https://cdn.mos.cms.futurecdn.net/yv89x6LL6fgFPa8t2ABFN9-1920-80.jpg" mos="" align="middle" fullscreen="" width="8192" height="4608" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Getty Images / Sean Gallup)</span></figcaption></figure><p>It's unfortunate that plug-in solar panels weren't legalised a few months ago, when they could have contributed to these record UK solar energy figures.</p><p>Still, the <a href="https://www.techradar.com/home/uk-government-says-plug-in-solar-panels-will-be-legal-from-august-27-opening-the-door-for-amazon-lidl-currys-and-more-to-help-save-you-gbp110-a-year">UK government made the welcome announcement last week</a> that these plug-in solar kits — which can send electricity into your wall socket without needing professional installation — will become legal from August 27. That's good news if you've felt frozen out of solar due to its cost, a lack of roof access or the fact that you're renting.</p><p>The <a href="https://www.legislation.gov.uk/uksi/2026/848/made" target="_blank">Statutory Instrument 2026/848</a> clears the blocks that previously prevented UK residents from buying self-installed, ‘plug-in’ solar systems. The August 27 date is more of a legal landmark, so it isn't clear exactly when these kits will go on sale. But you can expect to see them in the likes of Lidl, Currys and Amazon soon, when they'll apparently cost around £400 and could save households up to £70-£110 a year.</p><iframe allow="" height="600px" width="100%" id="" style="width:100%;height:600px;" class="position-center" data-lazy-priority="low" data-lazy-src="https://flo.uri.sh/visualisation/29820356/embed"></iframe><p>While many have argued that <a href="">plug-in batteries could be the real home energy revolution</a> (they were left out of the government's new legislation), the combination of this new solar energy record and the legalisation of plug-in solar kits later this month means that renewable energy is having a big moment.</p><p>"Fifteen years ago, solar energy was a footnote in the electricity mix," said Chris Hewett (Chief executive of Solar Energy UK). "Now it is a major player, delivering homegrown, cheap, clean and reliable energy." </p><p>“The UK is firmly in its second solar boom, joining the trend we’re seeing worldwide, as households and governments look to it as a low-cost and local alternative to oil and gas,” added Frankie Mayo, a senior analyst at Ember.</p><p>The UK is still well behind Germany when it comes to balcony solar (which is called 'Balkonkraftwerk'), as you can see in the graph above, but at least the country's sun-powered potential is now finally on the charge.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/home/smart-home/solar-energy-just-had-its-best-ever-month-in-the-uk-as-the-first-plug-in-solar-kits-prepare-to-go-on-sale-within-weeks</link>
                                                                            <description>
                            <![CDATA[ Solar energy just set a new record in the UK, supplying more power to the grid than in any previous month. And it will soon get another boost from the legalisation of plug-in solar in weeks. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">a9DhchS5RfZ5QWtV4JHXSb</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/AerDXJGwG5XESQCPC2qqkD-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Mon, 03 Aug 2026 17:30:03 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Smart Home]]></category>
                                                    <category><![CDATA[Energy Saving]]></category>
                                                    <category><![CDATA[Home]]></category>
                                                                                                <author><![CDATA[ mark.wilson@futurenet.com (Mark Wilson) ]]></author>                    <dc:creator><![CDATA[ Mark Wilson ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/hiSfWHffhY5csLv7eyzrXL-320-70.jpeg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Mark is TechRadar&#039;s Senior news editor and has been a technology journalist since 2004, back when people used the word &#039;gadgets&#039; and the world&#039;s most desirable phones were made by Sony Ericsson. He&#039;s so old that his first published feature was a &#039;next big thing?&#039; article about Blu-Ray. Mark started life in the print world as Reviews Editor then Features Editor on Stuff, which was the world&#039;s biggest-selling tech magazine. He then moved into the online world, becoming Acting Editor on Stuff.tv before leaving to focus on his main tech love of cameras and photography.&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;After spending two years as Cameras Editor for Trusted Reviews, Mark became TechRadar&#039;s Cameras Editor in 2019, before moving on to news in early 2023. During his lengthy time in tech journalism, Mark has also been a regular contributor to The Sunday Times, Robb Report and Arena. Back in his early days, he also won The Daily Telegraph&#039;s &#039;Young Sportswriter of the Year&#039; (2003) and was nominated for the PTC&#039;s &#039;Most Promising Student Journalist&#039;. Although given that was 20 years ago, it&#039;s surely time to stop dining out on it.&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;Outside of work, Mark is a keen cyclist, Liverpool FC fan and music lover who&#039;s going through a mid-life crisis of listening to electronic music that sounds suspiciously like shoegaze. He also buys synths and grooveboxes that he has no time to play and very little idea how to use, but enjoys their flashing lights and laudable commitment to physical buttons.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/AerDXJGwG5XESQCPC2qqkD-1920-80.jpg">
                                                            <media:credit><![CDATA[Geography Photos / Image Broker / Robert Poorten / Getty Images]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[A house with solar panels on the roof, next to a balcony solar kit]]></media:description>                                                            <media:text><![CDATA[A house with solar panels on the roof, next to a balcony solar kit]]></media:text>
                                <media:title type="plain"><![CDATA[A house with solar panels on the roof, next to a balcony solar kit]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/AerDXJGwG5XESQCPC2qqkD-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <ul><li><strong>Solar energy just had its best-ever month in the UK</strong></li><li><strong>Rooftop panels and farms provided 14.4% of the country's electricity</strong></li><li><strong>The record comes ahead of the legalisation of plug-in solar kits soon</strong></li></ul><p>Our gardens may be wilting in this exceptionally dry, sunny summer in the UK, but one thing that is benefitting from all the rays is solar panels. Solar energy just had its best-ever month for supplying power to the grid — and plug-in solar panels are aiming to keep that run going when they become legal later this month.</p><p>Alongside solar farms, rooftop panels — which are surging in popularity — helped provide an impressive 14.4% of the UK's electricity in July (via <a href="https://www.theguardian.com/environment/2026/aug/02/solar-powers-record-share-britain-electricity-july" target="_blank">The Guardian</a>). That's 50% more than this time last year, according to National Energy System Operator (Neso) data, and helped to power the <a href="https://www.techradar.com/home/air-quality/9-tips-to-get-more-from-your-fan-or-air-conditioner-air-quality-experts-on-how-to-keep-your-whole-home-cool-without-spiking-your-energy-bill">fans and air con units</a> we're all relying on to survive while working from home.</p><p>The record comes from a combination of two factors. The incredible amount of sunshine we saw in July helped — the UK bathed in around twice the amount of sunshine hours that it usually gets on average at this time of year.</p><p>But it was also powered by the popularity of solar panels, which many are installing to help cut their energy bills in the UK. The country saw more solar power installations in the first half of 2026 than in any similar period for 15 years, while last year saw the highest total number of solar installations (269,000) ever recorded in a calendar year, according to <a href="https://www.gov.uk/government/news/britain-continues-to-break-clean-power-records" target="_blank">government data</a>.</p><p>Those figures include ground-based solar farms, but a significant proportion (just under a third of the UK's total solar power) is provided by rooftop panels. However, with these panels still prohibitively expensive for many, eyes will now be turning to the legalisation of plug-in solar kits from August 27.</p><h2 id="can-plug-in-solar-add-some-extra-shine">Can plug-in solar add some extra shine?</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:8192px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="yv89x6LL6fgFPa8t2ABFN9" name="GettyImages-2169877472" alt="A balcony solar panel" src="https://cdn.mos.cms.futurecdn.net/yv89x6LL6fgFPa8t2ABFN9-1920-80.jpg" mos="" align="middle" fullscreen="" width="8192" height="4608" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Getty Images / Sean Gallup)</span></figcaption></figure><p>It's unfortunate that plug-in solar panels weren't legalised a few months ago, when they could have contributed to these record UK solar energy figures.</p><p>Still, the <a href="https://www.techradar.com/home/uk-government-says-plug-in-solar-panels-will-be-legal-from-august-27-opening-the-door-for-amazon-lidl-currys-and-more-to-help-save-you-gbp110-a-year">UK government made the welcome announcement last week</a> that these plug-in solar kits — which can send electricity into your wall socket without needing professional installation — will become legal from August 27. That's good news if you've felt frozen out of solar due to its cost, a lack of roof access or the fact that you're renting.</p><p>The <a href="https://www.legislation.gov.uk/uksi/2026/848/made" target="_blank">Statutory Instrument 2026/848</a> clears the blocks that previously prevented UK residents from buying self-installed, ‘plug-in’ solar systems. The August 27 date is more of a legal landmark, so it isn't clear exactly when these kits will go on sale. But you can expect to see them in the likes of Lidl, Currys and Amazon soon, when they'll apparently cost around £400 and could save households up to £70-£110 a year.</p><iframe allow="" height="600px" width="100%" id="" style="width:100%;height:600px;" class="position-center" data-lazy-priority="low" data-lazy-src="https://flo.uri.sh/visualisation/29820356/embed"></iframe><p>While many have argued that <a href="">plug-in batteries could be the real home energy revolution</a> (they were left out of the government's new legislation), the combination of this new solar energy record and the legalisation of plug-in solar kits later this month means that renewable energy is having a big moment.</p><p>"Fifteen years ago, solar energy was a footnote in the electricity mix," said Chris Hewett (Chief executive of Solar Energy UK). "Now it is a major player, delivering homegrown, cheap, clean and reliable energy." </p><p>“The UK is firmly in its second solar boom, joining the trend we’re seeing worldwide, as households and governments look to it as a low-cost and local alternative to oil and gas,” added Frankie Mayo, a senior analyst at Ember.</p><p>The UK is still well behind Germany when it comes to balcony solar (which is called 'Balkonkraftwerk'), as you can see in the graph above, but at least the country's sun-powered potential is now finally on the charge.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I tested the Xiaomi Robot Vacuum X20 Max and it’s a great all-round performer — when it actually works ]]></title>
                                                                                                <dc:content><![CDATA[ <h3 class="article-body__section" id="section-xiaomi-robot-vacuum-x20-max-review-one-minute-review"><span>Xiaomi Robot Vacuum X20 Max review: one-minute review</span></h3><p>The Xiaomi Robot Vacuum X20 Max seems like a slam dunk in the robot vacuum space. Positioned right in between the budget and upper mid range sections of the market, it delivers strong vacuum and mopping performance that make it capable of tackling a wide variety of messes in your home.</p><p>With LiDAR technology, its mapping is excellent and the robot vacuum does a great job of navigating unexpected obstacles that it might encounter during a clean. The design isn't the most exciting, though it still has a good range of features like an extendable mop arm and automatic carpet detection.</p><p>The dock is large, which might make it tricky to fit into smaller homes, but it's pretty capable as well, with hot water washing and air drying capabilities to keep the mop pads clean between uses.</p><p>It's all underpinned by a competent app that's easy to use and offers key functions such as being able to schedule cleans, restricting the robot vacuum to certain rooms, and allowing you to customize the vacuuming power and amount of water used by the mop.</p><p>The elephant in the room is that my unit developed a fault after a year of testing, occasionally spilling water during a mop pad clean. It's unfortunate and, even though it doesn't seem widespread, makes this model difficult to recommend unreservedly. </p><h3 class="article-body__section" id="section-xiaomi-robot-vacuum-x20-max-review-price-range-availability"><span>Xiaomi Robot Vacuum X20 Max review: price, range & availability</span></h3><ul><li><strong>List price $999.99 / £499.99 / AU$1,199</strong></li><li><strong>Launched late 2024</strong></li><li><strong>No longer available in Australia</strong></li><li><strong>Limited stock in the US</strong></li></ul><p>The Xiaomi Robot Vacuum X20 Max has a list price of $999.99 / £499.99 / AU$1,199, and is readily available via the brand’s website in the UK. It often receives discounts too, taking the price down by £100 or so around major sales events. At this price it sits neatly between the budget and upper mid range price brackets, coming in much more expensive than under $300 / £300 / AU$500  favorites like the Roborock Q7 M5 but cheaper than the likes of the Eufy X10 Pro Omni, which goes for $799.99 / £799 / AU$1,699.95.</p><p>That latter model is a good point of comparison here, as it also features mop and similar LiDAR sensor setup. With this in mind, the Xiaomi Robot Vacuum X20 Max is very solid value - especially if you get it at that reduced price point. Accessories like replacement brushes, dust bags, and mop pads are all available via the Xiaomi website at pretty reasonable prices too.</p><p>Unfortunately, this model seems a lot harder to come by in the US. You can find it on Amazon, but it goes for an eye-watering $999.99 and stock appears limited. At this price it’s significantly worse value and you would be better off spending less on an alternative. Its list price is AU$1,199 in Australia, but it appears to no longer be available either through Xiaomi's own store, or Amazon.</p><ul><li><strong>Value for money score: 3/5</strong></li></ul><h3 class="article-body__section" id="section-xiaomi-robot-vacuum-x20-max-specs"><span>Xiaomi Robot Vacuum X20 Max specs</span></h3><div ><table><tbody><tr><td class="firstcol " ><p><strong>Suction</strong></p></td><td  ><p>8,000Pa</p></td></tr><tr><td class="firstcol " ><p><strong>Mopping</strong></p></td><td  ><p>Yes</p></td></tr><tr><td class="firstcol " ><p><strong>Mop type</strong></p></td><td  ><p>Dual rotating discs</p></td></tr><tr><td class="firstcol " ><p><strong>Robot size (W x D)</strong></p></td><td  ><p>13.78 x 3.82 inches / 350 x 97mm</p></td></tr><tr><td class="firstcol " ><p><strong>Robot height</strong></p></td><td  ><p>~3.82 inches / ~97mm</p></td></tr><tr><td class="firstcol " ><p><strong>Dock dimensions (W x D x H)</strong></p></td><td  ><p>13.39 x 16.54 x 22.17 inches / 340 x 420 x 563mm</p></td></tr><tr><td class="firstcol " ><p><strong>Dust bin volume (onboard)</strong></p></td><td  ><p>15.22oz / 450ml</p></td></tr><tr><td class="firstcol " ><p><strong>Water tank volume (onboard)</strong></p></td><td  ><p>Not stated</p></td></tr><tr><td class="firstcol " ><p><strong>Dust bin volume (base)</strong></p></td><td  ><p>84.5oz / 2.5l</p></td></tr><tr><td class="firstcol " ><p><strong>Water tank volume (base)</strong></p></td><td  ><p>135.3oz / 4l</p></td></tr><tr><td class="firstcol " ><p><strong>Self-empty dust</strong></p></td><td  ><p>Yes</p></td></tr><tr><td class="firstcol " ><p><strong>Self-empty / refill water</strong></p></td><td  ><p>Yes</p></td></tr><tr><td class="firstcol " ><p><strong>Mop pad cleaning:</strong></p></td><td  ><p>Yes</p></td></tr><tr><td class="firstcol " ><p><strong>Wi-Fi control</strong></p></td><td  ><p>Yes</p></td></tr></tbody></table></div><h3 class="article-body__section" id="section-xiaomi-robot-vacuum-x20-max-design"><span>Xiaomi Robot Vacuum X20 Max: design</span></h3><ul><li><strong>Raised LiDAR puck</strong></li><li><strong>Extendable mop arm</strong></li></ul><p>The Xiaomi Robot Vacuum X20 Max isn’t pushing any boundaries when it comes to its overall design, but honestly that’s not such a bad thing.</p><p>It looks like your average robot vacuum, which is to say a big plastic disc with a chunky bumper at the front and a whole host of sensors. The most prominent of these is a big LiDAR sensor that sits in a little raised puck on the top, though there are others designed to spot obstacles or prevent the vacuum from falling off ledges.</p><p>Despite the basic look, the Xiaomi Robot Vacuum X20 Max has a bunch of useful features including two mop pads, one of which can be extended on a little arm for edge cleaning. The Xiaomi Robot Vacuum X20 Max is also capable of detecting which kind of surface it’s on, raising the mop pads when it goes over carpet to prevent any accidental stains.</p><p>Coming in at13.39 x 16.54 x 22.17 inches / 340 x 420 x 563mm, the docking station that it comes with is absolutely ginormous which could make it awkward to fit in smaller homes, but there are some good reasons for this size. Firstly, you’re getting a large 135.3oz / 4l clean water tank (removed for filling by simply popping up the lid on top of the dock) and a slightly smaller but still sizable 128.5oz / 3.8l tank for dirty water storage.</p><p>Xiaomi says that this is more than enough water to clean 2,152.8 square feet / 200 square meters on a single fill, and while my testing area was considerably smaller, I can say that it didn’t need refilling across multiple cleans.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4096px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="WfH9sjV2pP7jKEcEasPaTb" name="IMG_20251103_132432" alt="The Robot Vacuum X20 Max from Xiaomi in a hallway with a tiled floor." src="https://cdn.mos.cms.futurecdn.net/WfH9sjV2pP7jKEcEasPaTb-1920-80.jpg" mos="" align="middle" fullscreen="" width="4096" height="2304" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The dock also has a hot water system to help wash both mop pads at 131F / 55C - a temperature that Xiaomi claims reduces odours more effectively. It dries the mop pads using hot air, a process that takes a few hours and produces a small level of sound akin to a desk fan.</p><p>There’s also a generous 84.5oz / 2.5l dust bag, which Xiaomi says only needs emptying once every 75 days in a three-person household with one pet. This seems like a very generous estimate to me, and your mileage will vary depending on your specific level of household mess. This bag size is on par with much of the competition, such as the aforementioned Eufy X10 Pro Omni, so you can expect similar performance to those models.</p><p>One feature that I particularly appreciate is the ability to remove parts of the dock for cleaning, including the little tray where the vacuum sits while charging. This isn't something that you will need to do regularly, but my previous robot vacuum tracked a decent layer of grime in its dock over the years and was comparatively pretty tricky to clean.</p><p>My only real complaint from a design standpoint is the vacuum’s incessant need to narrate what it's doing. By default it frequently declares 'start to dry the mop pad' and similar phrases in a loud, annoying voice. It's disruptive, though mercifully can be turned off in the app.</p><ul><li><strong>Design score: 4/5 </strong></li></ul><h3 class="article-body__section" id="section-xiaomi-robot-vacuum-x20-max-review-performance"><span>Xiaomi Robot Vacuum X20 Max review: performance</span></h3><ul><li><strong>Good navigation</strong></li><li><strong>Deals with multiple surfaces well</strong></li><li><strong>Base station pump developed issues</strong></li></ul><p>I've been using the Xiaomi Robot Vacuum X20 Max for a year now, and can say that it handles most daily cleaning tasks well. Its navigation capabilities are excellent and map that it generated of my cleaning area was spot on. I have the base station in the corner of an L-shape hallway and the robot never struggles to find it, even when it's been cleaning the handful of adjoining rooms.</p><p>Setting room boundaries works excellently too — if you want to restrict cleaning to a specific defined area, the vacuum won't stray beyond it. It also deals with unexpected obstacles like closed doors or moved furniture well, bumping into them once or twice and then adapting its path smartly. You  don't need to worry about multiple surfaces, either. Every time I spot the vacuum going over the rug in the middle of a mop cycle, the pads are automatically raised as it detects the soft surface to prevent damage.</p><p>The vacuum picks up small debris and cleans up small spills with no sweat, and for a more intensive task I doused my kitchen floor with oats, cereal crumbs, flour, ketchup, and pretty much anything else that I could find in the cupboard.</p><p>How did the Xiaomi Robot Vacuum X20 Max fare? I sent it out on the most intensive possible cleaning mode and it made a commendable dent in the mess. The oats, crumbs, and flour were masterfully hoovered up with the exception of a few survivors in the hardest to reach corners of the room. </p><p>The ketchup was more of a challenge, and at first I was pretty worried that it wouldn't be able to overcome it: the mop pads smeared it in a thin layer over the middle of the floor at first but, sure enough, after multiple visits to the base station in order to clean itself and to refill its water tanks, it was all gone after a few runs. I did spot some red residue in the grouting between tiles, but this took just a few seconds for me to wipe up.</p><p>It's the kind of performance you would want from a mid-range robot vacuum. It's not a total replacement for doing the cleaning, but it does decrease the need for big cleans.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4096px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="UBNEWVeftDihmwGboQ6kVb" name="IMG_20251102_131748" alt="The Robot Vacuum X20 Max from Xiaomi in a hallway with a tiled floor." src="https://cdn.mos.cms.futurecdn.net/UBNEWVeftDihmwGboQ6kVb-1920-80.jpg" mos="" align="middle" fullscreen="" width="4096" height="2304" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>That said, my unit has developed a major issue over long-term testing. Sometimes when the vacuum cleans its own mop pads (either at the start or during a cleaning task) the motor that's meant to suck away all the dirty water doesn't kick in. This means that dirty water starts to accumulate in the base station, eventually overflowing and spilling out onto the floor.</p><p>It's frustrating (and pretty gross), and I'm struggling to resolve the issue by cleaning the water sensors, fiddling with the base station, and so on. Anecdotally, a family member bought Xiaomi Robot Vacuum X20 Max a few weeks after seeing my one, and it developed a similar fault within just a couple of months. It was, after some back and forth, repaired by Xiaomi.</p><p>Looking online, it doesn't seem to be a widespread problem, though I've still been able to find at least a few others who report the same thing. Users on Facebook and Reddit also seem to have had luck getting their vacuums replaced via Xiaomi's support service, though I suspect I can't go through this route with a review sample.</p><p>For this reason, I would recommend buying from Xiaomi directly rather than through reseller if you do chose to pick one up, as you otherwise will likely have more trouble getting support if issues do arise.</p><ul><li><strong>Performance score: 2.5/5</strong></li></ul><h3 class="article-body__section" id="section-xiaomi-robot-vacuum-x20-max-review-app"><span>Xiaomi Robot Vacuum X20 Max review: app</span></h3><ul><li><strong>Easy to use</strong></li><li><strong>Scheduling features </strong></li><li><strong>Different suction levels</strong></li></ul><p>The Xiaomi Robot Vacuum X20 is compatible with the Xiaomi Home app. It's easy to use and has plenty of features, including the ability to view the map generated by the robot, and its location real time. This is on top of the option to start cleans in specific rooms, schedule cleans, or clean the mop pads.</p><p>You can view the battery level, and change cleaning modes. These include basic vacuuming, mopping, vacuuming and mopping, or vacuuming before mopping. You can increase the water output too, with three levels to choose between, but bear in mind that this will increase how quickly you will need to refill everything.</p><p>I didn't encounter any bugs within the app, and it remained quick and responsive during my year of testing. The fact that you have to set up a Mi account is a bit annoying, but otherwise it offers everything you could from robot vacuum companion software.</p><ul><li><strong>App score:</strong> <strong>4.5/5</strong></li></ul><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4096px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="n6wmKPdCteyuwShqFUfqDb" name="IMG_20251102_131802" alt="The Robot Vacuum X20 Max from Xiaomi in a hallway with a tiled floor" src="https://cdn.mos.cms.futurecdn.net/n6wmKPdCteyuwShqFUfqDb-1920-80.jpg" mos="" align="middle" fullscreen="" width="4096" height="2304" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><h3 class="article-body__section" id="section-should-you-buy-the-xiaomi-robot-vacuum-x20-max"><span>Should you buy the Xiaomi Robot Vacuum X20 Max?</span></h3><div ><table><thead><tr><th class="firstcol " ><p>Attribute</p></th><th  ><p>Notes</p></th><th  ><p>Score</p></th></tr></thead><tbody><tr><td class="firstcol " ><p>Performance</p></td><td  ><p>Good at vacuuming up debris and cleaning up small spills... when it works as intended.</p></td><td  ><p>2.5/5</p></td></tr><tr><td class="firstcol " ><p>Design</p></td><td  ><p>The Xiaomi Robot Vacuum X20 Max doesn't defy any design conventions, but it's perfectly functional and packed with features.</p></td><td  ><p>4/5</p></td></tr><tr><td class="firstcol " ><p>App</p></td><td  ><p>An easy to use app that offers every feature you could reasonably expect.</p></td><td  ><p>4.5/5</p></td></tr><tr><td class="firstcol " ><p>Value</p></td><td  ><p>Decently positioned in the UK and regularly on sale, but  far too expensive if you're in the US and no longer sold in Australia..</p></td><td  ><p>3/5</p></td></tr></tbody></table></div><h2 id="buy-it-if-7">Buy it if… </h2><div class="product"><p><strong>You want a robot vacuum capable of cleaning serious mess</strong><br>The Xiaomi Robot Vacuum X20 Max did a good job dealing with some serious kitchen debris and spills. It requires multiple passes for some wet stains, but it is able to get through large amounts of grime.</p></div><div class="product"><p><strong>You have a mix of hard flooring and carpet</strong><br>The Xiaomi Robot Vacuum X20 Max does a great job differentiating between different flooring types.</p></div><div class="product"><p><strong>You need a good app</strong><br>The Xiaomi Robot Vacuum X20 Max's companion app has all the features you could reasonably expect. It's a great bit of software.</p></div><h2 id="don-t-buy-it-if-3">Don’t buy it if… </h2><div class="product"><p><strong>You need long term reliability</strong><br>Although likely not widespread, it's hard to ignore the fact that my unit developed a fault after a year of use.</p></div><div class="product"><p><strong>You can't fit a large base station</strong><br>The base station here is pretty large, is an includes two water tanks in addition to the standard waste bag. Only pick this model if you know you have the space for it.</p></div><h3 class="article-body__section" id="section-xiaomi-robot-vacuum-x20-max-review-alternatives-to-consider"><span>Xiaomi Robot Vacuum X20 Max review: alternatives to consider</span></h3><div ><table><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>Xiaomi Robot Vacuum X20 Max</strong></p></td><td  ><p><strong>Eufy X10 Pro Omni</strong> </p></td><td  ><p><strong>Eufy Omni S1 Pro</strong></p></td></tr><tr><td class="firstcol " ><p><strong>Suction:</strong></p></td><td  ><p>8,000Pa</p></td><td  ><p>8,000Pa</p></td><td  ><p>8,000Pa</p></td></tr><tr><td class="firstcol " ><p><strong>Mopping:</strong></p></td><td  ><p>Yes</p></td><td  ><p>Yes</p></td><td  ><p>Yes</p></td></tr><tr><td class="firstcol " ><p><strong>Mop type:</strong></p></td><td  ><p>Dual rotating discs</p></td><td  ><p>Dual rotating discs</p></td><td  ><p>Spinning roller</p></td></tr><tr><td class="firstcol " ><p><strong>Robot size (W x D):</strong></p></td><td  ><p>350×97mm</p></td><td  ><p>12.9 x 13.9" / 32.7 x 35.3cm</p></td><td  ><p>12.8 x 13.7" / 32.5 x 34.8cm</p></td></tr><tr><td class="firstcol " ><p><strong>Robot height:</strong></p></td><td  ><p>~97mm</p></td><td  ><p>4.5" / 11.4cm</p></td><td  ><p>3.8" / 9.7cm</p></td></tr><tr><td class="firstcol " ><p><strong>Dock dimensions (W x D x H):</strong></p></td><td  ><p>340×420×563mm</p></td><td  ><p>14.4 x 18.9 x 18.1" / 36.6 x 48 x 46cm</p></td><td  ><p>15.8 x 18.4 x 26.4" / 40.1 x 46.7 x 67.1cm</p></td></tr><tr><td class="firstcol " ><p><strong>Dust bin volume (onboard):</strong></p></td><td  ><p>450ml</p></td><td  ><p>Not stated</p></td><td  ><p>0.25L</p></td></tr><tr><td class="firstcol " ><p><strong>Water tank volume (onboard):</strong></p></td><td  ><p>Not stated</p></td><td  ><p>Not stated</p></td><td  ><p>0.24L</p></td></tr><tr><td class="firstcol " ><p><strong>Dust bin volume (base):</strong></p></td><td  ><p>2.5L</p></td><td  ><p>2.5L</p></td><td  ><p>2.5L</p></td></tr><tr><td class="firstcol " ><p><strong>Water tank volume (base):</strong></p></td><td  ><p>4L</p></td><td  ><p>Not stated</p></td><td  ><p>Not stated</p></td></tr><tr><td class="firstcol " ><p><strong>Self-empty dust:</strong></p></td><td  ><p>Yes</p></td><td  ><p>Yes</p></td><td  ><p>Yes</p></td></tr><tr><td class="firstcol " ><p><strong>Self-empty / refill water:</strong></p></td><td  ><p>Yes</p></td><td  ><p>Yes</p></td><td  ><p>Yes</p></td></tr><tr><td class="firstcol " ><p><strong>Mop pad cleaning:</strong></p></td><td  ><p>Yes</p></td><td  ><p>Yes</p></td><td  ><p>Yes</p></td></tr><tr><td class="firstcol " ><p><strong>Wi-Fi control:</strong></p></td><td  ><p>Yes</p></td><td  ><p>Yes</p></td><td  ><p>Yes</p></td></tr></tbody></table></div><div class="product"><p><strong>Eufy X10 Pro Omni</strong><br>This powerful alternative from Eufy costs about the same as the Xiaomi Robot Vacuum X20 Max and offers excellent cleaning performance and a good app.</p><p><strong>Read our full </strong><a href="https://www.techradar.com/home/robot-vacuums/eufy-x10-pro-omni" data-dimension112="59de3f74-8d9d-11f1-bf31-b9ac75999063" data-action="Deal Block" data-label="Read our full Eufy X10 Pro Omni review" data-dimension48="Read our full Eufy X10 Pro Omni review" data-dimension25=""><strong>Eufy X10 Pro Omni review</strong></a></p></div><div class="product"><p><strong>Eufy Omni S1 Pro</strong><br>The Omni S1 Pro, also from Eufy, is a good higher-end alternative. It's much more expensive, but comes with a raft of extra features to justify the higher price tag.</p><p><strong>Read our full </strong><a href="https://www.techradar.com/home/robot-vacuums/eufy-omni-s1-pro-review" data-dimension112="b0722670-8d93-11f1-8dae-e757e67323fe" data-action="Deal Block" data-label="Read our full Eufy Omni S1 Pro review" data-dimension48="Read our full Eufy Omni S1 Pro review" data-dimension25=""><strong>Eufy Omni S1 Pro review</strong></a><strong></strong></p></div><h3 class="article-body__section" id="section-how-i-tested-the-xiaomi-robot-vacuum-x20-max"><span>How I tested the Xiaomi Robot Vacuum X20 Max</span></h3><p>I tested the Xiaomi Robot Vacuum X20 Max in my home for over a year, using it to clean a hallway and two large rooms on a weekly basis. It cleaned a wide variety of messes in that time on a number of different surfaces, namely carpet and tiled flooring. I fully utilized the companion app in order to evaluate its performance and compared the overall experience to other robot vacuums that I own. </p><p><strong>Read more about </strong><a href="https://www.techradar.com/news/how-we-test"><strong>how we test</strong></a></p><p><em>First reviewed August 2026</em></p> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/home/robot-vacuums/xiaomi-robot-vacuum-x20-max-review</link>
                                                                            <description>
                            <![CDATA[ The Xiaomi Robot Vacuum X20 Max is a capable robot vacuum cleaner, but my unit developed issues after a year of testing. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">t5Q8GSMRfTAJT6awXkGaQZ</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/7oJPxRx4iaUrYMsutPUDVb-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Mon, 03 Aug 2026 09:58:16 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Robot Vacuums]]></category>
                                                    <category><![CDATA[Home]]></category>
                                                    <category><![CDATA[Smart Home]]></category>
                                                                                                <author><![CDATA[ dash.wood@futurenet.com (Dashiell Wood) ]]></author>                    <dc:creator><![CDATA[ Dashiell Wood ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/fcZC2LhPK8ufw6QWmhv6kY-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Dash is an experienced tech journalist who specializes in video games, electronic entertainment products, and the wider industry that surrounds them. He currently serves as the Gaming Editor at TechRadar, leading our review, preview, feature, and news coverage of the latest and greatest releases.&lt;/p&gt;&lt;p&gt;Before joining the team, he was Contributing Writer at PLAY (formerly Official PlayStation Magazine UK) and has written articles for many of the UK&#039;s other biggest gaming magazines including the likes of Edge, PC Gamer, and SFX.&lt;/p&gt;&lt;p&gt;Now, when he&#039;s not getting his greasy little mitts on the newest hardware or gaming gadget, he can be found listening to J-pop or feverishly devouring the latest Nintendo Switch otome.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/7oJPxRx4iaUrYMsutPUDVb-1920-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[The Robot Vacuum X20 Max from Xiaomi in a hallway with a tiled floor.]]></media:description>                                                            <media:text><![CDATA[The Robot Vacuum X20 Max from Xiaomi in a hallway with a tiled floor.]]></media:text>
                                <media:title type="plain"><![CDATA[The Robot Vacuum X20 Max from Xiaomi in a hallway with a tiled floor.]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/7oJPxRx4iaUrYMsutPUDVb-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <h3 class="article-body__section" id="section-xiaomi-robot-vacuum-x20-max-review-one-minute-review"><span>Xiaomi Robot Vacuum X20 Max review: one-minute review</span></h3><p>The Xiaomi Robot Vacuum X20 Max seems like a slam dunk in the robot vacuum space. Positioned right in between the budget and upper mid range sections of the market, it delivers strong vacuum and mopping performance that make it capable of tackling a wide variety of messes in your home.</p><p>With LiDAR technology, its mapping is excellent and the robot vacuum does a great job of navigating unexpected obstacles that it might encounter during a clean. The design isn't the most exciting, though it still has a good range of features like an extendable mop arm and automatic carpet detection.</p><p>The dock is large, which might make it tricky to fit into smaller homes, but it's pretty capable as well, with hot water washing and air drying capabilities to keep the mop pads clean between uses.</p><p>It's all underpinned by a competent app that's easy to use and offers key functions such as being able to schedule cleans, restricting the robot vacuum to certain rooms, and allowing you to customize the vacuuming power and amount of water used by the mop.</p><p>The elephant in the room is that my unit developed a fault after a year of testing, occasionally spilling water during a mop pad clean. It's unfortunate and, even though it doesn't seem widespread, makes this model difficult to recommend unreservedly. </p><h3 class="article-body__section" id="section-xiaomi-robot-vacuum-x20-max-review-price-range-availability"><span>Xiaomi Robot Vacuum X20 Max review: price, range & availability</span></h3><ul><li><strong>List price $999.99 / £499.99 / AU$1,199</strong></li><li><strong>Launched late 2024</strong></li><li><strong>No longer available in Australia</strong></li><li><strong>Limited stock in the US</strong></li></ul><p>The Xiaomi Robot Vacuum X20 Max has a list price of $999.99 / £499.99 / AU$1,199, and is readily available via the brand’s website in the UK. It often receives discounts too, taking the price down by £100 or so around major sales events. At this price it sits neatly between the budget and upper mid range price brackets, coming in much more expensive than under $300 / £300 / AU$500  favorites like the Roborock Q7 M5 but cheaper than the likes of the Eufy X10 Pro Omni, which goes for $799.99 / £799 / AU$1,699.95.</p><p>That latter model is a good point of comparison here, as it also features mop and similar LiDAR sensor setup. With this in mind, the Xiaomi Robot Vacuum X20 Max is very solid value - especially if you get it at that reduced price point. Accessories like replacement brushes, dust bags, and mop pads are all available via the Xiaomi website at pretty reasonable prices too.</p><p>Unfortunately, this model seems a lot harder to come by in the US. You can find it on Amazon, but it goes for an eye-watering $999.99 and stock appears limited. At this price it’s significantly worse value and you would be better off spending less on an alternative. Its list price is AU$1,199 in Australia, but it appears to no longer be available either through Xiaomi's own store, or Amazon.</p><ul><li><strong>Value for money score: 3/5</strong></li></ul><h3 class="article-body__section" id="section-xiaomi-robot-vacuum-x20-max-specs"><span>Xiaomi Robot Vacuum X20 Max specs</span></h3><div ><table><tbody><tr><td class="firstcol " ><p><strong>Suction</strong></p></td><td  ><p>8,000Pa</p></td></tr><tr><td class="firstcol " ><p><strong>Mopping</strong></p></td><td  ><p>Yes</p></td></tr><tr><td class="firstcol " ><p><strong>Mop type</strong></p></td><td  ><p>Dual rotating discs</p></td></tr><tr><td class="firstcol " ><p><strong>Robot size (W x D)</strong></p></td><td  ><p>13.78 x 3.82 inches / 350 x 97mm</p></td></tr><tr><td class="firstcol " ><p><strong>Robot height</strong></p></td><td  ><p>~3.82 inches / ~97mm</p></td></tr><tr><td class="firstcol " ><p><strong>Dock dimensions (W x D x H)</strong></p></td><td  ><p>13.39 x 16.54 x 22.17 inches / 340 x 420 x 563mm</p></td></tr><tr><td class="firstcol " ><p><strong>Dust bin volume (onboard)</strong></p></td><td  ><p>15.22oz / 450ml</p></td></tr><tr><td class="firstcol " ><p><strong>Water tank volume (onboard)</strong></p></td><td  ><p>Not stated</p></td></tr><tr><td class="firstcol " ><p><strong>Dust bin volume (base)</strong></p></td><td  ><p>84.5oz / 2.5l</p></td></tr><tr><td class="firstcol " ><p><strong>Water tank volume (base)</strong></p></td><td  ><p>135.3oz / 4l</p></td></tr><tr><td class="firstcol " ><p><strong>Self-empty dust</strong></p></td><td  ><p>Yes</p></td></tr><tr><td class="firstcol " ><p><strong>Self-empty / refill water</strong></p></td><td  ><p>Yes</p></td></tr><tr><td class="firstcol " ><p><strong>Mop pad cleaning:</strong></p></td><td  ><p>Yes</p></td></tr><tr><td class="firstcol " ><p><strong>Wi-Fi control</strong></p></td><td  ><p>Yes</p></td></tr></tbody></table></div><h3 class="article-body__section" id="section-xiaomi-robot-vacuum-x20-max-design"><span>Xiaomi Robot Vacuum X20 Max: design</span></h3><ul><li><strong>Raised LiDAR puck</strong></li><li><strong>Extendable mop arm</strong></li></ul><p>The Xiaomi Robot Vacuum X20 Max isn’t pushing any boundaries when it comes to its overall design, but honestly that’s not such a bad thing.</p><p>It looks like your average robot vacuum, which is to say a big plastic disc with a chunky bumper at the front and a whole host of sensors. The most prominent of these is a big LiDAR sensor that sits in a little raised puck on the top, though there are others designed to spot obstacles or prevent the vacuum from falling off ledges.</p><p>Despite the basic look, the Xiaomi Robot Vacuum X20 Max has a bunch of useful features including two mop pads, one of which can be extended on a little arm for edge cleaning. The Xiaomi Robot Vacuum X20 Max is also capable of detecting which kind of surface it’s on, raising the mop pads when it goes over carpet to prevent any accidental stains.</p><p>Coming in at13.39 x 16.54 x 22.17 inches / 340 x 420 x 563mm, the docking station that it comes with is absolutely ginormous which could make it awkward to fit in smaller homes, but there are some good reasons for this size. Firstly, you’re getting a large 135.3oz / 4l clean water tank (removed for filling by simply popping up the lid on top of the dock) and a slightly smaller but still sizable 128.5oz / 3.8l tank for dirty water storage.</p><p>Xiaomi says that this is more than enough water to clean 2,152.8 square feet / 200 square meters on a single fill, and while my testing area was considerably smaller, I can say that it didn’t need refilling across multiple cleans.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4096px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="WfH9sjV2pP7jKEcEasPaTb" name="IMG_20251103_132432" alt="The Robot Vacuum X20 Max from Xiaomi in a hallway with a tiled floor." src="https://cdn.mos.cms.futurecdn.net/WfH9sjV2pP7jKEcEasPaTb-1920-80.jpg" mos="" align="middle" fullscreen="" width="4096" height="2304" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The dock also has a hot water system to help wash both mop pads at 131F / 55C - a temperature that Xiaomi claims reduces odours more effectively. It dries the mop pads using hot air, a process that takes a few hours and produces a small level of sound akin to a desk fan.</p><p>There’s also a generous 84.5oz / 2.5l dust bag, which Xiaomi says only needs emptying once every 75 days in a three-person household with one pet. This seems like a very generous estimate to me, and your mileage will vary depending on your specific level of household mess. This bag size is on par with much of the competition, such as the aforementioned Eufy X10 Pro Omni, so you can expect similar performance to those models.</p><p>One feature that I particularly appreciate is the ability to remove parts of the dock for cleaning, including the little tray where the vacuum sits while charging. This isn't something that you will need to do regularly, but my previous robot vacuum tracked a decent layer of grime in its dock over the years and was comparatively pretty tricky to clean.</p><p>My only real complaint from a design standpoint is the vacuum’s incessant need to narrate what it's doing. By default it frequently declares 'start to dry the mop pad' and similar phrases in a loud, annoying voice. It's disruptive, though mercifully can be turned off in the app.</p><ul><li><strong>Design score: 4/5 </strong></li></ul><h3 class="article-body__section" id="section-xiaomi-robot-vacuum-x20-max-review-performance"><span>Xiaomi Robot Vacuum X20 Max review: performance</span></h3><ul><li><strong>Good navigation</strong></li><li><strong>Deals with multiple surfaces well</strong></li><li><strong>Base station pump developed issues</strong></li></ul><p>I've been using the Xiaomi Robot Vacuum X20 Max for a year now, and can say that it handles most daily cleaning tasks well. Its navigation capabilities are excellent and map that it generated of my cleaning area was spot on. I have the base station in the corner of an L-shape hallway and the robot never struggles to find it, even when it's been cleaning the handful of adjoining rooms.</p><p>Setting room boundaries works excellently too — if you want to restrict cleaning to a specific defined area, the vacuum won't stray beyond it. It also deals with unexpected obstacles like closed doors or moved furniture well, bumping into them once or twice and then adapting its path smartly. You  don't need to worry about multiple surfaces, either. Every time I spot the vacuum going over the rug in the middle of a mop cycle, the pads are automatically raised as it detects the soft surface to prevent damage.</p><p>The vacuum picks up small debris and cleans up small spills with no sweat, and for a more intensive task I doused my kitchen floor with oats, cereal crumbs, flour, ketchup, and pretty much anything else that I could find in the cupboard.</p><p>How did the Xiaomi Robot Vacuum X20 Max fare? I sent it out on the most intensive possible cleaning mode and it made a commendable dent in the mess. The oats, crumbs, and flour were masterfully hoovered up with the exception of a few survivors in the hardest to reach corners of the room. </p><p>The ketchup was more of a challenge, and at first I was pretty worried that it wouldn't be able to overcome it: the mop pads smeared it in a thin layer over the middle of the floor at first but, sure enough, after multiple visits to the base station in order to clean itself and to refill its water tanks, it was all gone after a few runs. I did spot some red residue in the grouting between tiles, but this took just a few seconds for me to wipe up.</p><p>It's the kind of performance you would want from a mid-range robot vacuum. It's not a total replacement for doing the cleaning, but it does decrease the need for big cleans.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4096px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="UBNEWVeftDihmwGboQ6kVb" name="IMG_20251102_131748" alt="The Robot Vacuum X20 Max from Xiaomi in a hallway with a tiled floor." src="https://cdn.mos.cms.futurecdn.net/UBNEWVeftDihmwGboQ6kVb-1920-80.jpg" mos="" align="middle" fullscreen="" width="4096" height="2304" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>That said, my unit has developed a major issue over long-term testing. Sometimes when the vacuum cleans its own mop pads (either at the start or during a cleaning task) the motor that's meant to suck away all the dirty water doesn't kick in. This means that dirty water starts to accumulate in the base station, eventually overflowing and spilling out onto the floor.</p><p>It's frustrating (and pretty gross), and I'm struggling to resolve the issue by cleaning the water sensors, fiddling with the base station, and so on. Anecdotally, a family member bought Xiaomi Robot Vacuum X20 Max a few weeks after seeing my one, and it developed a similar fault within just a couple of months. It was, after some back and forth, repaired by Xiaomi.</p><p>Looking online, it doesn't seem to be a widespread problem, though I've still been able to find at least a few others who report the same thing. Users on Facebook and Reddit also seem to have had luck getting their vacuums replaced via Xiaomi's support service, though I suspect I can't go through this route with a review sample.</p><p>For this reason, I would recommend buying from Xiaomi directly rather than through reseller if you do chose to pick one up, as you otherwise will likely have more trouble getting support if issues do arise.</p><ul><li><strong>Performance score: 2.5/5</strong></li></ul><h3 class="article-body__section" id="section-xiaomi-robot-vacuum-x20-max-review-app"><span>Xiaomi Robot Vacuum X20 Max review: app</span></h3><ul><li><strong>Easy to use</strong></li><li><strong>Scheduling features </strong></li><li><strong>Different suction levels</strong></li></ul><p>The Xiaomi Robot Vacuum X20 is compatible with the Xiaomi Home app. It's easy to use and has plenty of features, including the ability to view the map generated by the robot, and its location real time. This is on top of the option to start cleans in specific rooms, schedule cleans, or clean the mop pads.</p><p>You can view the battery level, and change cleaning modes. These include basic vacuuming, mopping, vacuuming and mopping, or vacuuming before mopping. You can increase the water output too, with three levels to choose between, but bear in mind that this will increase how quickly you will need to refill everything.</p><p>I didn't encounter any bugs within the app, and it remained quick and responsive during my year of testing. The fact that you have to set up a Mi account is a bit annoying, but otherwise it offers everything you could from robot vacuum companion software.</p><ul><li><strong>App score:</strong> <strong>4.5/5</strong></li></ul><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4096px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="n6wmKPdCteyuwShqFUfqDb" name="IMG_20251102_131802" alt="The Robot Vacuum X20 Max from Xiaomi in a hallway with a tiled floor" src="https://cdn.mos.cms.futurecdn.net/n6wmKPdCteyuwShqFUfqDb-1920-80.jpg" mos="" align="middle" fullscreen="" width="4096" height="2304" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><h3 class="article-body__section" id="section-should-you-buy-the-xiaomi-robot-vacuum-x20-max"><span>Should you buy the Xiaomi Robot Vacuum X20 Max?</span></h3><div ><table><thead><tr><th class="firstcol " ><p>Attribute</p></th><th  ><p>Notes</p></th><th  ><p>Score</p></th></tr></thead><tbody><tr><td class="firstcol " ><p>Performance</p></td><td  ><p>Good at vacuuming up debris and cleaning up small spills... when it works as intended.</p></td><td  ><p>2.5/5</p></td></tr><tr><td class="firstcol " ><p>Design</p></td><td  ><p>The Xiaomi Robot Vacuum X20 Max doesn't defy any design conventions, but it's perfectly functional and packed with features.</p></td><td  ><p>4/5</p></td></tr><tr><td class="firstcol " ><p>App</p></td><td  ><p>An easy to use app that offers every feature you could reasonably expect.</p></td><td  ><p>4.5/5</p></td></tr><tr><td class="firstcol " ><p>Value</p></td><td  ><p>Decently positioned in the UK and regularly on sale, but  far too expensive if you're in the US and no longer sold in Australia..</p></td><td  ><p>3/5</p></td></tr></tbody></table></div><h2 id="buy-it-if-7">Buy it if… </h2><div class="product"><p><strong>You want a robot vacuum capable of cleaning serious mess</strong><br>The Xiaomi Robot Vacuum X20 Max did a good job dealing with some serious kitchen debris and spills. It requires multiple passes for some wet stains, but it is able to get through large amounts of grime.</p></div><div class="product"><p><strong>You have a mix of hard flooring and carpet</strong><br>The Xiaomi Robot Vacuum X20 Max does a great job differentiating between different flooring types.</p></div><div class="product"><p><strong>You need a good app</strong><br>The Xiaomi Robot Vacuum X20 Max's companion app has all the features you could reasonably expect. It's a great bit of software.</p></div><h2 id="don-t-buy-it-if-3">Don’t buy it if… </h2><div class="product"><p><strong>You need long term reliability</strong><br>Although likely not widespread, it's hard to ignore the fact that my unit developed a fault after a year of use.</p></div><div class="product"><p><strong>You can't fit a large base station</strong><br>The base station here is pretty large, is an includes two water tanks in addition to the standard waste bag. Only pick this model if you know you have the space for it.</p></div><h3 class="article-body__section" id="section-xiaomi-robot-vacuum-x20-max-review-alternatives-to-consider"><span>Xiaomi Robot Vacuum X20 Max review: alternatives to consider</span></h3><div ><table><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>Xiaomi Robot Vacuum X20 Max</strong></p></td><td  ><p><strong>Eufy X10 Pro Omni</strong> </p></td><td  ><p><strong>Eufy Omni S1 Pro</strong></p></td></tr><tr><td class="firstcol " ><p><strong>Suction:</strong></p></td><td  ><p>8,000Pa</p></td><td  ><p>8,000Pa</p></td><td  ><p>8,000Pa</p></td></tr><tr><td class="firstcol " ><p><strong>Mopping:</strong></p></td><td  ><p>Yes</p></td><td  ><p>Yes</p></td><td  ><p>Yes</p></td></tr><tr><td class="firstcol " ><p><strong>Mop type:</strong></p></td><td  ><p>Dual rotating discs</p></td><td  ><p>Dual rotating discs</p></td><td  ><p>Spinning roller</p></td></tr><tr><td class="firstcol " ><p><strong>Robot size (W x D):</strong></p></td><td  ><p>350×97mm</p></td><td  ><p>12.9 x 13.9" / 32.7 x 35.3cm</p></td><td  ><p>12.8 x 13.7" / 32.5 x 34.8cm</p></td></tr><tr><td class="firstcol " ><p><strong>Robot height:</strong></p></td><td  ><p>~97mm</p></td><td  ><p>4.5" / 11.4cm</p></td><td  ><p>3.8" / 9.7cm</p></td></tr><tr><td class="firstcol " ><p><strong>Dock dimensions (W x D x H):</strong></p></td><td  ><p>340×420×563mm</p></td><td  ><p>14.4 x 18.9 x 18.1" / 36.6 x 48 x 46cm</p></td><td  ><p>15.8 x 18.4 x 26.4" / 40.1 x 46.7 x 67.1cm</p></td></tr><tr><td class="firstcol " ><p><strong>Dust bin volume (onboard):</strong></p></td><td  ><p>450ml</p></td><td  ><p>Not stated</p></td><td  ><p>0.25L</p></td></tr><tr><td class="firstcol " ><p><strong>Water tank volume (onboard):</strong></p></td><td  ><p>Not stated</p></td><td  ><p>Not stated</p></td><td  ><p>0.24L</p></td></tr><tr><td class="firstcol " ><p><strong>Dust bin volume (base):</strong></p></td><td  ><p>2.5L</p></td><td  ><p>2.5L</p></td><td  ><p>2.5L</p></td></tr><tr><td class="firstcol " ><p><strong>Water tank volume (base):</strong></p></td><td  ><p>4L</p></td><td  ><p>Not stated</p></td><td  ><p>Not stated</p></td></tr><tr><td class="firstcol " ><p><strong>Self-empty dust:</strong></p></td><td  ><p>Yes</p></td><td  ><p>Yes</p></td><td  ><p>Yes</p></td></tr><tr><td class="firstcol " ><p><strong>Self-empty / refill water:</strong></p></td><td  ><p>Yes</p></td><td  ><p>Yes</p></td><td  ><p>Yes</p></td></tr><tr><td class="firstcol " ><p><strong>Mop pad cleaning:</strong></p></td><td  ><p>Yes</p></td><td  ><p>Yes</p></td><td  ><p>Yes</p></td></tr><tr><td class="firstcol " ><p><strong>Wi-Fi control:</strong></p></td><td  ><p>Yes</p></td><td  ><p>Yes</p></td><td  ><p>Yes</p></td></tr></tbody></table></div><div class="product"><p><strong>Eufy X10 Pro Omni</strong><br>This powerful alternative from Eufy costs about the same as the Xiaomi Robot Vacuum X20 Max and offers excellent cleaning performance and a good app.</p><p><strong>Read our full </strong><a href="https://www.techradar.com/home/robot-vacuums/eufy-x10-pro-omni" data-dimension112="59de3f74-8d9d-11f1-bf31-b9ac75999063" data-action="Deal Block" data-label="Read our full Eufy X10 Pro Omni review" data-dimension48="Read our full Eufy X10 Pro Omni review" data-dimension25=""><strong>Eufy X10 Pro Omni review</strong></a></p></div><div class="product"><p><strong>Eufy Omni S1 Pro</strong><br>The Omni S1 Pro, also from Eufy, is a good higher-end alternative. It's much more expensive, but comes with a raft of extra features to justify the higher price tag.</p><p><strong>Read our full </strong><a href="https://www.techradar.com/home/robot-vacuums/eufy-omni-s1-pro-review" data-dimension112="b0722670-8d93-11f1-8dae-e757e67323fe" data-action="Deal Block" data-label="Read our full Eufy Omni S1 Pro review" data-dimension48="Read our full Eufy Omni S1 Pro review" data-dimension25=""><strong>Eufy Omni S1 Pro review</strong></a><strong></strong></p></div><h3 class="article-body__section" id="section-how-i-tested-the-xiaomi-robot-vacuum-x20-max"><span>How I tested the Xiaomi Robot Vacuum X20 Max</span></h3><p>I tested the Xiaomi Robot Vacuum X20 Max in my home for over a year, using it to clean a hallway and two large rooms on a weekly basis. It cleaned a wide variety of messes in that time on a number of different surfaces, namely carpet and tiled flooring. I fully utilized the companion app in order to evaluate its performance and compared the overall experience to other robot vacuums that I own. </p><p><strong>Read more about </strong><a href="https://www.techradar.com/news/how-we-test"><strong>how we test</strong></a></p><p><em>First reviewed August 2026</em></p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
            </channel>
</rss>