Error message

  • Deprecated function: Methods with the same name as their class will not be constructors in a future version of PHP; views_display has a deprecated constructor in require_once() (line 3080 of /home/ewg56ffgqu3p/public_html/includes/bootstrap.inc).
  • Deprecated function: Methods with the same name as their class will not be constructors in a future version of PHP; views_many_to_one_helper has a deprecated constructor in require_once() (line 113 of /home/ewg56ffgqu3p/public_html/modules/ctools/ctools.module).
  • Notice: Undefined offset: 5 in user_node_load() (line 3604 of /home/ewg56ffgqu3p/public_html/modules/user/user.module).
  • Notice: Trying to get property 'name' of non-object in user_node_load() (line 3604 of /home/ewg56ffgqu3p/public_html/modules/user/user.module).
  • Notice: Undefined offset: 5 in user_node_load() (line 3605 of /home/ewg56ffgqu3p/public_html/modules/user/user.module).
  • Notice: Trying to get property 'picture' of non-object in user_node_load() (line 3605 of /home/ewg56ffgqu3p/public_html/modules/user/user.module).
  • Notice: Undefined offset: 5 in user_node_load() (line 3606 of /home/ewg56ffgqu3p/public_html/modules/user/user.module).
  • Notice: Trying to get property 'data' of non-object in user_node_load() (line 3606 of /home/ewg56ffgqu3p/public_html/modules/user/user.module).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6401 of /home/ewg56ffgqu3p/public_html/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6401 of /home/ewg56ffgqu3p/public_html/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6401 of /home/ewg56ffgqu3p/public_html/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6401 of /home/ewg56ffgqu3p/public_html/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6401 of /home/ewg56ffgqu3p/public_html/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6401 of /home/ewg56ffgqu3p/public_html/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6401 of /home/ewg56ffgqu3p/public_html/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6401 of /home/ewg56ffgqu3p/public_html/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6401 of /home/ewg56ffgqu3p/public_html/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6401 of /home/ewg56ffgqu3p/public_html/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6401 of /home/ewg56ffgqu3p/public_html/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6401 of /home/ewg56ffgqu3p/public_html/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6401 of /home/ewg56ffgqu3p/public_html/includes/common.inc).
  • Deprecated function: implode(): Passing glue string after array is deprecated. Swap the parameters in drupal_get_feeds() (line 394 of /home/ewg56ffgqu3p/public_html/includes/common.inc).
  • Deprecated function: The each() function is deprecated. This message will be suppressed on further calls in menu_set_active_trail() (line 2386 of /home/ewg56ffgqu3p/public_html/includes/menu.inc).

News

'My soul left my body': customers see bills in the billions after AWS billing system goes haywire — but don't go emptying your bank accounts - Friday, July 17, 2026 - 17:18
  • Amazon's AWS cloud services billing system went wild on Friday
  • Customers saw bills in the trillions
  • AWS apologized and is working on a fix

AWS, the cloud platform that serves millions who use Amazon's servers to run websites and businesses you use every day, just freaked out many of its customers with usage bills that literally went into the trillions.

"I just saw $1.5 trillion on my AWS bill and my soul left my body," wrote Bharath_uwu on X (formerly Twitter) on Friday, and he wasn't alone.

The Guardian originally spotted the Tweet and multiple social posts relating to the seemingly widespread glitch.

AWS doesn't mail out invoices. Instead, customers logging into the Billing and Cost Management console spotted the billion- and trillion-dollar bills and expressed emotions ranging from concern to panic.

I just saw $1.5 trillion on my AWS bill and my soul left my body https://t.co/EgfQKJTHVl pic.twitter.com/L0gXYbDio7July 17, 2026

As Dan Harvey, who heads marketing at Learning Through Landscapes, told the Guardian, "I almost had a heart attack when I received an email alert from Amazon Web Services with the billing for our charity’s school grounds audit app."

Some tried to take the billing error in stride. Chinmay on X encouraged others to post their highest AWS bills. As of 10 hours ago, he was at $333B.

Others called out AWS for the error with something less than good humor. "I bet someone must have had a real heart attack. This shouldn't be legal...," wrote Mr Doob on X.

Amazon, to its credit, has been delivering multiple updates starting at around 1:30AM PDT on Friday, July 17, when they first spotted the error: "We are investigating issues with Cost Explorer reflecting inaccurate estimated billing data."

A few hours later, AWS reported it had found the culprit: "We have identified the root cause as an issue with unit pricing within the estimated billing computation subsystem, and we are working on a mitigation," they wrote on the AWS Status page.

However, hours later, AWS admitted, "Our efforts to backfill corrected estimated cost and usage data are still underway. We are progressing slower than anticipated."

The good news is that AWS is not asking anyone to pay these incorrect fees and that, while this has been a big frustration for services that run their websites and businesses on AWS, the cloud system has been working flawlessly, and there have been no reports of outages or performance issues on Friday (if you don't count the years shaved off freaked-out customers' lives).

AWS has even tried to make light of the mistake, posting this on X:

"Typo alert: Some customers saw quadrillion-dollar AWS billing estimates today. Slight miscalculation on our end (very slight ). We're fixing it now. No action needed on your end. Sorry for the confusion. Real question: what will you do with those trillions instead?"

Yes, everyone can all laugh now, though I'm not certain customers like Harvey, Bharath, and others are chuckling along with them.

Was your business affected? How big was your AWS Billing mistake? Let us know the "damage" in the comments below.

NYT Strands hints and answers for Saturday, July 18 (game #867) - Friday, July 17, 2026 - 19:00
Looking for a different day?

A new NYT Strands puzzle appears at midnight each day for your time zone – which means that some people are always playing 'today's game' while others are playing 'yesterday's'. If you're looking for Friday's puzzle instead then click here: NYT Strands hints and answers for Friday, July 17 (game #866).

Strands is the NYT's latest word game after the likes of Wordle, Spelling Bee and Connections – and it's great fun. It can be difficult, though, so read on for my Strands hints.

Want more word-based fun? Then check out my NYT Connections today and Quordle today pages for hints and answers for those games, and Marc's Wordle today page for the original viral word game.

SPOILER WARNING: Information about NYT Strands today is below, so don't read on if you don't want to know the answers.

NYT Strands today (game #867) - hint #1 - today's themeWhat is the theme of today's NYT Strands?

Today's NYT Strands theme is… A healthy breakfast

NYT Strands today (game #867) - hint #2 - clue words

Play any of these words to unlock the in-game hints system.

  • COUNT
  • STAY
  • WOOLY
  • LUNCH
  • LONG
  • LARGE
NYT Strands today (game #867) - hint #3 - spangram lettersHow many letters are in today's spangram?

Spangram has 13 letters

NYT Strands today (game #867) - hint #4 - spangram positionWhat are two sides of the board that today's spangram touches?

First side: left, 4th row

Last side: right, 4th row

Right, the answers are below, so DO NOT SCROLL ANY FURTHER IF YOU DON'T WANT TO SEE THEM.

NYT Strands today (game #867) - the answers

(Image credit: New York Times)

The answers to today's Strands, game #867, are…

  • SWEET
  • OATY
  • NUTTY
  • CRUNCHY
  • SALTY
  • WHOLESOME
  • SPANGRAM: BOWLOFGRANOLA
  • My rating: Easy
  • My score: Perfect

I go through phases with breakfasts of having the same thing for ages before getting bored and switching to something new.

In recent months I’ve been through porridge, overnight oats, fruit and yoghurt, and recently a BOWLOFGRANOLA all in pursuit of “a healthy breakfast" when in truth I would love to eat bacon and eggs every day.

I digress. After finding SWEET and OATY the search became a hunt for the obvious — although I was unaware granola could also be SALTY.

Yesterday's NYT Strands answers (Friday, July 17, game #866)
  • ENTERTAINMENT
  • NATURE
  • SPORTS
  • GEOGRAPHY
  • SPANGRAM: TRIVIALPURSUIT
What is NYT Strands?

Strands is the NYT's not-so-new-any-more word game, following Wordle and Connections. It's now a fully fledged member of the NYT's games stable that has been running for a year and which can be played on the NYT Games site on desktop or mobile.

I've got a full guide to how to play NYT Strands, complete with tips for solving it, so check that out if you're struggling to beat it each day.

Quordle hints and answers for Saturday, July 18 (game #1636) - Friday, July 17, 2026 - 19:00
Looking for a different day?

A new Quordle puzzle appears at midnight each day for your time zone – which means that some people are always playing 'today's game' while others are playing 'yesterday's'. If you're looking for Friday's puzzle instead then click here: Quordle hints and answers for Friday, July 17 (game #1635).

Quordle was one of the original Wordle alternatives and is still going strong now more than 1,500 games later. It offers a genuine challenge, though, so read on if you need some Quordle hints today — or scroll down further for the answers.

Enjoy playing word games? You can also check out my NYT Connections today and NYT Strands today pages for hints and answers for those puzzles, while Marc's Wordle today column covers the original viral word game.

SPOILER WARNING: Information about Quordle today is below, so don't read on if you don't want to know the answers.

Quordle today (game #1636) — hint #1 — VowelsHow many different vowels are in Quordle today?

The number of different vowels in Quordle today is 4*.

* Note that by vowel we mean the five standard vowels (A, E, I, O, U), not Y (which is sometimes counted as a vowel too).

Quordle today (game #1636) — hint #2 — repeated lettersDo any of today's Quordle answers contain repeated letters?

The number of Quordle answers containing a repeated letter today is 1.

Quordle today (game #1636) — hint #3 — uncommon lettersDo the letters Q, Z, X or J appear in Quordle today?

• No. None of Q, Z, X or J appear among today's Quordle answers.

Quordle today (game #1636) — hint #4 — starting letters (1)Do any of today's Quordle puzzles start with the same letter?

The number of today's Quordle answers starting with the same letter is 0.

If you just want to know the answers at this stage, simply scroll down. If you're not ready yet then here's one more clue to make things a lot easier:

Quordle today (game #1636) — hint #5 — starting letters (2)What letters do today's Quordle answers start with?

• K

• T

• B

• C

Right, the answers are below, so DO NOT SCROLL ANY FURTHER IF YOU DON'T WANT TO SEE THEM.

Quordle today (game #1636) — the answers

(Image credit: Merriam-Webster)

The answers to today's Quordle, game #1636, are…

  • KNAVE
  • TIGHT
  • BLEAT
  • CHAOS

This was already a tricky game, with two words featuring silent letters. I navigated those okay, then crashed out — ending my win streak on the final word.

I had four possibilities for words ending I-G-H-T and I picked three wrong ones before I ran out of guesses.

Why I went with the obscure “wight” rather than TIGHT I can’t explain.

Daily Sequence today (game #1636) — the answers

(Image credit: Merriam-Webster)

The answers to today's Quordle Daily Sequence, game #1636, are…

  • DEPTH
  • CHUCK
  • CRISP
  • ETHOS
Quordle answers: The past 20
  • Quordle #1635, Friday, 17 July: CUMIN, PALER, GRASS, INBOX
  • Quordle #1634, Thursday, 16 July: IGLOO, PLAIT, YEAST, AROMA
  • Quordle #1633, Wednesday, 15 July: PROXY, BRICK, BROTH, SURGE
  • Quordle #1632, Tuesday, 14 July: EBONY, AVOID, RODEO, CUTIE
  • Quordle #1631, Monday, 13 July: VOICE, BISON, BURNT, BUILT
  • Quordle #1630, Sunday, 12 July: STAIN, BINGO, LARVA, DICEY
  • Quordle #1629, Saturday, 11 July: WORTH, PRONG, DINGO, DRUID
  • Quordle #1628, Friday, 10 July: GREET, STEAK, DUSKY, HAUTE
  • Quordle #1627, Thursday, 9 July: CRUMP, PHONE, SHINY, STONY
  • Quordle #1626, Wednesday, 8 July: GHOST, TREND, EXALT, ALONG
  • Quordle #1625, Tuesday, 7 July: ARRAY, SUITE, KIOSK, BOULE
  • Quordle #1624, Monday, 6 July: TRAWL, SPICE, PIANO, SHARK
  • Quordle #1623, Sunday, 5 July: PINEY, SWOON, TITLE, PINTO
  • Quordle #1622, Saturday, 4 July: ARGUE, MOTEL, OPERA, TRUCE
  • Quordle #1621, Friday, 3 July: AVERT, MOTOR, MANIC, WORDY
  • Quordle #1620, Thursday, 2 July: BULKY, PARSE, BELOW, MOVIE
  • Quordle #1619, Wednesday, 1 July: EASEL, OTTER, LYRIC, SHACK
  • Quordle #1618, Tuesday, 30 June: HALVE, DRYER, THERE, MINTY
  • Quordle #1617, Monday, 29 June: SLURP, CRACK, CRANK, PHONY
  • Quordle #1616, Sunday, 28 June: RUPEE, TOPAZ, FULLY, BEING
NYT Connections hints and answers for Saturday, July 18 (game #1133) - Friday, July 17, 2026 - 19:00
Looking for a different day?

A new NYT Connections puzzle appears at midnight each day for your time zone – which means that some people are always playing 'today's game' while others are playing 'yesterday's'. If you're looking for Friday's puzzle instead then click here: NYT Connections hints and answers for Friday, July 17 (game #1132).

Good morning! Let's play Connections, the NYT's clever word game that challenges you to group answers in various categories. It can be tough, so read on if you need Connections hints.

What should you do once you've finished? Why, play some more word games of course. I've also got daily Strands hints and answers and Quordle hints and answers articles if you need help for those too, while Marc's Wordle today page covers the original viral word game.

SPOILER WARNING: Information about NYT Connections today is below, so don't read on if you don't want to know the answers.

NYT Connections today (game #1133) - today's words

(Image credit: New York Times)

Today's NYT Connections words are…

  • TRAVEL
  • FLY
  • QUIZ
  • SCORE
  • OPINION
  • CARRY
  • HEALTH
  • TART
  • CULTURE
  • MIND
  • TIME
  • GOALTEND
  • VIEW
  • LIVES
  • DOUBLE DRIBBLE
  • ATTITUDE
NYT Connections today (game #1133) - hint #1 - group hints

What are some clues for today's NYT Connections groups?

  • YELLOW: NBA fouls
  • GREEN: Your convictions
  • BLUE: Arcade scoring systems
  • PURPLE: Begin with a musical sound

Need more clues?

We're firmly in spoiler territory now, but read on if you want to know what the four theme answers are for today's NYT Connections puzzles…

NYT Connections today (game #1133) - hint #2 - group answers

What are the answers for today's NYT Connections groups?

  • YELLOW: COMMIT A BASKETBALL VIOLATION
  • GREEN: BELIEF
  • BLUE: THINGS TRACKED IN VIDEO GAMES
  • PURPLE: WORDS AFTER "POP"

Right, the answers are below, so DO NOT SCROLL ANY FURTHER IF YOU DON'T WANT TO SEE THEM.

NYT Connections today (game #1133) - the answers

(Image credit: New York Times)

The answers to today's Connections, game #1133, are…

  • YELLOW: COMMIT A BASKETBALL VIOLATION: CARRY, DOUBLE DRIBBLE, GOALTEND, TRAVEL
  • GREEN: BELIEF: ATTITUDE, MIND, OPINION, VIEW
  • BLUE: THINGS TRACKED IN VIDEO GAMES: HEALTH, LIVES, SCORE, TIME
  • PURPLE: WORDS AFTER "POP": CULTURE, FLY, QUIZ, TART
  • My rating: Hard
  • My score: 1 mistake

I made my mistake after successfully threading ATTITUDE, MIND, OPINION and VIEW, although I was thinking about components of a debate rather than a BELIEF.

My error was, of course, confusion over basketball terminology. DOUBLE DRIBBLE and GOALTEND I knew, but instead of TRAVEL I selected SCORE. Which, on reflection, makes no sense.

Meanwhile my confidence over WORDS AFTER “POP” was fragile, but I successfully guessed FLY instead of SCORE. Before googling I thought it was an alternative to a zip fly. I now know it’s a baseball term.

Yesterday's NYT Connections answers (Friday, July 17, 2026, game #1132)
  • YELLOW: GRAND FINALE: EPILOGUE, FAREWELL, LAST DANCE, SWAN SONG
  • GREEN: SEEN IN AN ARCADE: CRANE GAME, PINBALL, TICKETS, TOKENS
  • BLUE: FOUR GROUPS OF FOUR: CARDINAL DIRECTIONS, CLASSICAL ELEMENTS, SEASONS, SUITS
  • PURPLE: ENDING IN PARTS OF A CAR: PLOT SPOILER, ROBIN HOOD, SATIRES, TREE TRUNK
What is NYT Connections?

NYT Connections is one of several increasingly popular word games made by the New York Times. It challenges you to find groups of four items that share something in common, and each group has a different difficulty level: green is easy, yellow a little harder, blue often quite tough and purple usually very difficult.

On the plus side, you don't technically need to solve the final one, as you'll be able to answer that one by a process of elimination. What's more, you can make up to four mistakes, which gives you a little bit of breathing room.

It's a little more involved than something like Wordle, however, and there are plenty of opportunities for the game to trip you up with tricks. For instance, watch out for homophones and other word games that could disguise the answers.

It's playable for free via the NYT Games site on desktop or mobile.

More and more US employees back forcing AI companies to transfer half of their stock into a public wealth fund - Friday, July 17, 2026 - 19:20
  • Survey inds 69% of Americans support Bernie Sanders’ policy of requiring AI firms to transfer 50% of their stock to a public fund
  • Respondents are also overwhelmingly in favor of giving the federal government the power to block new AI services deemed “risky”
  • Support does appear to drop when Sanders' name is mentioned

AI is developing an image problem, and respondents to a new survey have made their feelings clear: Bernie Sanders’ demand that AI firms contribute stock to a massive public fund is widely supported.

Conducted during June 2026 by the nonpartisan survey research company Verasight, the survey consisted of 17 questions sent to 1,690 adults (18 and above), finding over two-thirds (69%) supporting Sanders’ policy – a figure that only drops to 64% once it is revealed which politician the idea is associated with.

The bad news for the AI industry doesn’t end there, as respondents demonstrated a notable distrust for how AI companies conduct themselves, with nearly half (43%) believing that the regulations proposed by the AI companies are designed to benefit those same companies. Incredibly, 30% of respondents trust the US federal government more than companies like OpenAI and Anthropic.

How does AI wealth distribution work?

(Image credit: Getty Images / Tasos Katopodis)

Senator Bernie Sanders’ plan gives the public a direct stake in America’s largest AI companies, with a one-off tax paid not in cash, but in stock. "Since AI is built on the collective knowledge of humanity, the wealth it generated must benefit humanity," he said, announcing his planned Act on social media.

This would, according to Sanders’ proposal, deliver an annual $1000 check to U.S. citizens, and fund healthcare and education.

"The findings from our latest survey demonstrate a rare instance of bipartisan agreement," noted Ben Leff, CEO and Co-Founder of Verasight.

"There is an undeniable desire among Americans of both parties for federal oversight, absolute transparency, and accountability to ensure AI safety and to enable all Americans to participate in the economic benefits of AI."

Even with a polarizing figure like Bernie Sanders attached, the wealth fund idea retains support, which suggests that while people are happy to use AI to answer questions, streamline processes, and make tasks quicker, they’re less comfortable with the industry’s wider impact.

A poor public perception

While AI companies are becoming increasingly unpopular, it isn’t all bad news. The survey quizzed subjects about their feelings on other industries, including tobacco, pharmaceuticals, and casinos, along with social media. If the tide is turning against AI, it still isn’t regarded as poorly as casinos or tobacco.

Feelings about AI companies are also notably more positive than social media. Given the concerns expressed about federal oversight and public wealth funds, there could be an avenue for OpenAI, Google Gemini, Anthropic, Microsoft, and others to improve the general feeling about AI: accepting a degree of social responsibility.

Millions of Netflix viewers are abandoning shows after their first season — and I think I know the reasons why - Friday, July 17, 2026 - 20:00

You could hardly say Netflix is a business in trouble, but it does have a problem: for a lot of its shows, viewing figures are declining sharply after the first season. According to Bloomberg, Beef lost more than 70% of its viewers going into its second season, while The Night Agent lost 50% of its audience in season two.

This seems to be a pattern repeated over many Netflix shows, including some that rack up impressive viewing figures in their first season. The streaming platform relies on subscribers sticking around, and these stats are apparently "a major source of concern" for the executives at Netflix.

So what's going on? While I'm not privy to the internal discussions at Netflix or the statistics that its executives are available to them, I am a Netflix subscriber of many years standing — and I have a few ideas about what's going on.

Viewing fatigue

There's a lot to get through these days, isn't there? Tens of millions of songs on music streaming platforms, more movies than you'll ever have time to watch in ten lifetimes, and of course the entire history of TV — with new shows appearing weekly. It's perhaps no surprise that we're all finding it hard to stick with successive series when there's so much more out there to watch and listen to.

The way that Netflix's stats work, is that a drop-off in viewing numbers for a second season also includes those who abandoned the show somewhere along the way during the first run of episodes. And if you're not getting grabbed episode after episode by the plot and the characters, it's all too tempting to click away.

That's a shame for slow burn shows and those that need time to get going, and perhaps we all need to learn to be a bit more patient. However, it goes some way to explaining why Netflix shows can shed a lot of viewers after the initial pull of the first few episodes — there's an awful lot competing for our attention.

The binge model

For the most part, Netflix continues to drop its shows all at once, so as soon as they're live you can binge watch an entire season. Sometimes it's great to be able to burn through a bunch of episodes, but it also means you can be done with an entire season very quickly.

This exacerbates the problem of gaps between series (of which more in a moment), but it also means shows can be quickly forgotten in the rush of everything else that's going on. Some of my favorite TV shows are those that come out week by week: I watch the episode, then I catch up on the recap podcasts.

It means shows last longer — not in terms of the actual running time, but in terms of how many days and weeks it takes to get through a season. I actually quite like being able to binge shows sometimes, but it does mean they can be quickly forgotten.

Stranger Things lasted almost 10 years from start to finish (Image credit: Netflix)Season-to-season gaps

This isn't something that only affects Netflix, but we're still seeing huge gaps between seasons of shows — and unless the viewing experience is very special, that's likely to lead to waning enthusiasm from audiences as the months and years drag on.

Silo isn't a Netflix show, but the point is the same: as I was settling down to watch the third season a few days ago, even the initial recap montage had me confused (there was a mere 18 months between the end of season two and the start of season three). There were parts I didn't remember, and I had to head over to Wikipedia to get caught up.

Stranger Things is a Netflix show, and while I did manage to drag myself through it in its entirety, it was a struggle towards the end. The show lasted for just shy of a decade, and there are huge swathes of it that are no longer in my memory banks. It's not easy to produce television shows quickly, but the slow rollouts aren't helping their chances.

A trust issue

I've seen Netflix's regular cancellation of shows floated as a reason for second-series-syndrome, and I think this is an issue for program makers as well as audiences. If you don't know whether or not you're getting a second or third season, then you have to throw everything into the first one, and think more about wrapping it up neatly than extending it.

The Night Agent is one of the Netflix shows I've found it hard to stay with: the original rookie-on-the-run premise worked well and the first season was propulsive entertainment, but as it's continued, it's become more of a by-the-numbers action thriller. It's almost like they're making it up as they go.

Compare that with something like Bridgerton, which is a Netflix show I have managed to keep up with. It is of course based on a series of books (as is Apple TV's Slow Horses by the way), and that helps to ensure variety from season-to-season, with the focus switching between different characters and plotlines.

I'm not sure exactly how Netflix can fix the problem of viewing numbers declining in season two — I'm not a highly paid TV executive after all — but those are a few thoughts about why it's happening.

Best Smart Speakers for 2026: Big Sound and So Much More - Saturday, July 18, 2026 - 20:00
We tested smart speaker audio, voice assistants and sensors to find the best for your home.
Belgian Grand Prix: How to Watch the F1 Race Today - Sunday, July 19, 2026 - 04:30
Can George Russell gain further ground in the title race in Stavelot?
They Trained Robots on 100 Million Videos. Here's What Happened video - Sunday, July 19, 2026 - 05:00
Rhoda AI is betting the future of robotics starts with internet video, not lab data. We visited the company's headquarters to see how its Direct Video Action model learns physics from hundreds of millions of clips.
Argentina vs. Spain: Stream FIFA World Cup 2026 Final Live for Free - Sunday, July 19, 2026 - 05:00
Lionel Messi and Argentina face off against Lamine Yamal and Spain for soccer's biggest prize.
This iPhone Trick Can Eliminate Spam Calls for Good - Sunday, July 19, 2026 - 05:00
You don't have to put up with spam calls any longer.
ThinkPad X1 Carbon Gen 14 Review: Lenovo's Flagship Ultraportable Is Now More Repairable - Sunday, July 19, 2026 - 05:01
The new Space Frame design should extend the life of the laptop, but doesn't alter the familiar X1 Carbon look and feel.
The 4-Pile Closet Cleanout Method That Actually Gets the Job Done - Sunday, July 19, 2026 - 15:00
Four clearly defined piles turn an overwhelming closet cleanout into a decision-making process anyone can get through in an afternoon.
Wildfire Smoke Is Affecting Millions Right Now. Here's What Experts Say to Do - Sunday, July 19, 2026 - 15:30
Air quality experts from Columbia and UMass Amherst explain what wildfire smoke actually does to your body and the steps worth taking right now.
Today's NYT Strands Hints, Answers and Help for July 20 #869 - Sunday, July 19, 2026 - 16:00
Here are hints and answers for the NYT Strands puzzle for July 20 No. 869.
Today's Wordle Hints, Answer and Help for July 20, #1857 - Sunday, July 19, 2026 - 16:01
Here are hints and the answer for today's Wordle for July 20, No. 1,857.
Today's NYT Connections Hints, Answers and Help for July 20, #1135 - Sunday, July 19, 2026 - 16:01
Here are some hints and the answers for the NYT Connections puzzle for July 20, No. 1,135.
How to Stop Google Maps From Displaying Your Home to Strangers - Sunday, July 19, 2026 - 17:30
A straightforward privacy request to Google can remove your home from Street View entirely. Here's the step-by-step process.
Tubi Has Better Horror Picks Than Netflix. Here's What to Watch - Sunday, July 19, 2026 - 17:55
Free, ad-supported and surprisingly well-stocked: Tubi's horror library is worth taking seriously.
I tested the Eufy Omni S2 robotic vacuum — and it's expensive and impressive in equal measure - Sunday, July 19, 2026 - 08:00
Eufy Omni S2: two-minute review

Eufy’s latest flagship robotic vacuum and mop, the Omni S2 is a hugely impressive appliance that combines excellent mopping with brilliant vacuuming to create one of the best home cleaning systems you can buy. It also self-cleans so thoroughly that, after several weeks of daily use, the dust bin, rollers and mop still looked like new.

The Omni S2 uses warm water to clean its spinning mop as it goes, while also scraping away dirt and using cyclone technology to whisk dust more efficiently into the onboard bin, instead of leaving it to clog up the filters. Water is ozonated in the base station to further improve cleaning performance, and there’s an integrated detergent system too.

The robot itself can even be fitted with a fragrance diffuser, which makes your room smell nice after every clean; three different scents are included in the box and, along with the detergent, and can be replenished from Eufy’s website.

(Image credit: Future)

It navigates well, mostly avoiding contact with walls and doors while driving very closely to all manner of obstacles without pushing them around, driving over them or ingesting them. The S2 is good at climbing over raised carpets, rugs and door thresholds — something the Omni S1 struggled with – and the app does a great job of quickly mapping your home, with a simple editing system for labeling every room correctly, and even adding virtual furniture.

I was impressed by how quiet the Omni S2 is, even with its powerful Cyclone mode engaged, and how the base station doesn’t sound like an Airbus when emptying the robot. It’s a very expensive product, but one that looks good and performs extremely well.

Eufy Omni S2: price and availability
  • List price: $1,599 / £1,599 / AU$2,299
  • Launched: March 2026

Just two years on from the launch of the Omni S1 Pro, Eufy now has the Omni S2. This is now the company’s flagship robotic vacuum and mop, with a price, performance and feature set to match.

It carries a recommended retail price of $1,599 / £1,599 / AU$2,299, making it £300 more expensive than the S1 pro, which remains on sale. That’s an awful lot of money for a vacuum cleaner — especially when

Eufy’s own range of robovacs starts under the £150 mark, and one of my favourites — the X10 Pro Omni vacuum and mop — is a comparative snip at £599.

What does the extra £1,000 get you with the S2? More power, of course, with greater suction thanks to Eufy’s new AeroTurbo 2.0 tech, improved intelligence, greater threshold clearance, a more powerful mop, better computer vision, a self-cleaning mop, electrolysed water, integrated detergent and even a built-in fragrance system with three included scents to pick from.

An additional cost to bear in mind is Eufy’s replacement parts kit. The brushes, bags, mops and rollers of all vacuum cleaners need replacing, so ongoing costs aren’t unusual, but Eufy likes to charge plenty. A complete kit for the S2 is £79.99. Premium parts for a premium robovac, I suppose. More welcome is Eufy’s new two-year warranty, which applies to all robot vacuums launched in 2026 and doubles the previous coverage.

  • Value score: 3.5/5
Eufy Omni S2: specifications

Specification

Detail

Max suction

30,000 Pa

Robot diameter

350 mm

Robot height

3.4 in / 85 mm

Dock dimensions

15.0 x 17.7 x 26.4 in / 380 x 450 x 670 mm

Dust bin volume (base)

2.5 litres

Water tank volume (base)

3L (clean) 2L (dirty)

Base type

Charge, auto-empty, hot water mop wash, hot air mop dry, clean water refill, self-clean

Max threshold clearance

Up to 1.7 in / 42mm

Mop type

Self-cleaner roller

Mop pad lifting

1.10 in / 28 mm

Max runtime

180 minutes

Eufy Omni S2: design
  • Docking station with charger, dust bag, water tanks and mop drying
  • Rotating, self-cleaning mop
  • Integrated detergent and fragrance supply

The S2 has a similar but more refined look than its S1 predecessor. The subtle bronze tint to sections of the robot and docking station give it a premium aesthetic that blends nicely with the futuristic lighting in both the clean water tank of the dock, and the robot’s onboard dust bin.

Taller than many docking stations, but significantly more elegant than most, the Omni S2’s appearance helps to justify its lofty price tag — and that’s further aided by the display and touch controls on top of the dock. These are handily located to press without stooping down to the robot itself, while the screen is useful for checking on the robot’s status and spotting error messages.

FutureFutureFutureFuture

Short of making you a cup of tea while the robot cleans up, the S2’s docking station does absolutely everything. It charges the robot, empties its dust bin, replenishes its water supply (and even ozonates fresh water before it’s fed to the mop), cleans the mop with water heated to 70 degrees centigrade, dries it with hot air, refills the detergent tank, and has enough dust bin capacity for up to a claimed 68 days between bag replacements.

The robot itself is almost circular, with a central roller that’s claimed to be 100 percent tangle free, a pair of spinning side brushes, and a roller mop that self-cleans, slides outwards by 1.5cm to reach into corners and even an onboard fragrance supply to make your home smell nice. The S2 includes three different fragrances in the box, but these are a bespoke design so replacements can only be bought from Eufy itself. The same goes for the detergent bottle too, while thankfully the 2.5-litre dust bags are generic.

FutureFutureFutureFuture

I like how the Omni S2 looks. Its design is more sophisticated than that of the S1, and I can imagine it neatly complementing the lavish houses of its deep-pocketed buyers. And while tall, at 670mm (26.4 inches), the docking station is relatively slim.

The robot is also relatively short, at 85mm. This compares favorably against taller, bulkier robovacs like the Dyson Spot+Scrub AI, which towers over the Eufy at 110mm and is less capable of cleaning beneath low furniture.

A welcome design upgrade for the Eufy Omni S2 is its ability to now clear door thresholds up to 4.2cm tall, up from just 2cm for the Omni S1. I was often left frustrated by that robot’s inability to drive up from exposed floorboards to a carpeted neighboring room, but have had no such issues with the S2.

  • Design score: 5/5
Eufy Omni S2: performance
  • Impressive vacuuming
  • Excellent mopping
  • Strong improvement over the S1

From the setup process and mapping, to vacuuming, mopping, navigation and self-cleaning, the Omni S2 is a triumph. You might say it should well be for the massive price tag, but even in 2026 it’s rare for such a complex new product to impress so universally. Where the Eufy Omni S1 struggled in some key areas — navigation, threshold clearance and sometimes even vacuuming — the S2’s performance is close to perfect.

Yes, it’s an ultra-premium product with a price to match. This is right up there with your Leica camera, Rimowa suitcase and five-figure turntable. I imagine the typical Omni S2 owner is the sort of person who wouldn't blink at splashing out on a pair of Apple AirPods Max 2 at the airport because they forgot their first-gens at home. They’d probably deal with a flight delay by picking up a new Swiss watch, too.

(Image credit: Future)

And that’s absolutely fine. Whatever the product, there’s always something that happens to sell the most expensive one, and for robotic vacuums that just so happens to be Eufy with the Omni S2. That doesn’t inherently count against it, because there are always customers happy to pay a premium for the one they like, or not really care about the cost because the S2’s spec sheet, design and feature set already put it at the top of the market.

What matters is how it performs in the real world, and how that compares to user expectations. Naturally, mine were at an all-time high and the S2 mostly delivered. The vacuuming performance is noticeably better than with the S1, and after a month of testing I still smile at the neat stripes vacuumed into my lounge carpet — and at how pleasant the S2’s fragrance system makes every room smell.

(Image credit: Future)

Eufy has improved navigation since the S1, and now the S2 is smart enough to not vacuum over the tasselled ends of a rug. It also automatically detects rug and carpet thickness, then raises itself by up to 50mm (1.97 inches) to prevent getting stuck in deep-pile fabric. In my testing, the S2 flagged a potentially tricky bit of carpet — which was actually an integrated but deeply contoured door mat — so I could tell it to ignore the concern or permanently avoid it.

Navigation and map creation is generally good. The robot only once got stuck and called for help, and I was impressed by how quickly the S2 mapped the ground floor of my home and did a decent job of detecting room boundaries. I used the app to fine-tune these, and was pleased to see how the S2 had added 3D cupboards, sofas, tables, chairs and other bits of furniture to the map. This isn’t strictly necessary, but it’s nice to see how the S2 correctly understands its environment.

(Image credit: Future)

Eufy claims a maximum suction of 30,000Pa, which is a huge upgrade over the 8,000Pa of the Omni S1 and other Eufy robots like the X10. There are four suction modes — Quiet, Standard, Turbo and Max — three options of cleaning intensity, three water levels, and the option of performing each cleaning task once or twice. As with the S1, the S2 returns to base whenever it needs to empty its bin, clean the mop, replenish its water supply or charge the battery. A mode called AI Automation promises to adjust cleaning strategy based on room type, floor material and cleaning frequency.

The Omni S2 deeply impressed during the first few weeks of general use, keeping hard floors and carpets clean — even after a cockapoo puppy joined our household, and his insistence on helping with garden projects brought a lot of dirt into the house. It was a joy, quite frankly, to have the S2 on hand, ready to clean up after every chaotic evening of dog zoomies.

(Image credit: Future)

I also loved how the S2 kept itself clean. Not only is the mop cleaned and dried with every use, but the cyclone-style dust collection ensures the onboard bin is practically spotless after each empty, and the filters don’t get clogged up. The rollers also looked like new after many hours of use, thanks to an anti-tangle design that actually works.

The mopping system works as well as the S1’s — evidenced by the absolutely filthy water collected in the waste tank of the docking station. I’d recommend owners empty this frequently, because if you wait a couple of weeks or so until it’s full, pouring it away is a seriously stinky process.

(Image credit: Future)

During TechRadar’s standardized robovac tests the Omni S2 continued to perform very well. These tests include two rounds of vacuuming on both carpets and hard floors, plus an obstacle avoidance test and a mopping test.

Pleasingly, the Omni S2’s vacuum performance is better than its predecessor, the two-year-old Omni S1. Vacuuming up oats from carpet was particularly impressive, with not a single piece being missed (except where I set the target zone in slightly the wrong place).

@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-1784294155314-yqci7jgyv *, #fv-chart-1784294155314-yqci7jgyv *:before, #fv-chart-1784294155314-yqci7jgyv *:after, #fv-chart-1784294155314-yqci7jgyv-slideshow *, #fv-chart-1784294155314-yqci7jgyv-slideshow *:before, #fv-chart-1784294155314-yqci7jgyv-slideshow *:after {box-sizing: border-box !important; margin: 0; padding: 0; border: 0;font-size: 100%; font: inherit; vertical-align: baseline;}#fv-chart-1784294155314-yqci7jgyv, #fv-chart-1784294155314-yqci7jgyv-slideshow { font-family: 'Open Sans', sans-serif !important; }#fv-chart-1784294155314-yqci7jgyv {position: relative !important; overflow: visible !important;--riv-primary: #2E6E93;}#fv-chart-1784294155314-yqci7jgyv .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-1784294155314-yqci7jgyv .fv-inner-wrapper.fv-no-header.fv-is-image-compare {padding-top: 0 !important;}#fv-chart-1784294155314-yqci7jgyv.fv-full-bleed {width: 100vw !important;margin-left: calc(50% - 50vw) !important;}body {overflow-x: clip !important;}#fv-chart-1784294155314-yqci7jgyv.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-1784294155314-yqci7jgyv .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-1784294155314-yqci7jgyv-slideshow {position: relative !important;width: 100% !important;margin: 1rem 0 !important;--riv-primary: #2E6E93;}#fv-chart-1784294155314-yqci7jgyv-slideshow .fv-slides-wrapper {position: relative !important;width: 100% !important;}#fv-chart-1784294155314-yqci7jgyv-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-1784294155314-yqci7jgyv-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-1784294155314-yqci7jgyv-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-1784294155314-yqci7jgyv-slideshow .fv-nav-btn svg {width: 18px !important;height: 18px !important;stroke-width: 3px !important;filter: none !important;}#fv-chart-1784294155314-yqci7jgyv-slideshow .fv-nav-btn:hover {opacity: 0.9 !important;transform: translateY(-1px) !important;}#fv-chart-1784294155314-yqci7jgyv-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-1784294155314-yqci7jgyv-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-1784294155314-yqci7jgyv-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-1784294155314-yqci7jgyv-slideshow .fv-slideshow-select:focus {outline: 2px solid #2E6E93 !important;border-color: #2E6E93 !important;}#fv-chart-1784294155314-yqci7jgyv .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-1784294155314-yqci7jgyv .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-1784294155314-yqci7jgyv .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-1784294155314-yqci7jgyv .fv-versus-chart { display: flex; flex-direction: column; width: 100%; margin-top: 1rem; }#fv-chart-1784294155314-yqci7jgyv .fv-versus-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding: 0 1rem; }#fv-chart-1784294155314-yqci7jgyv .fv-versus-select-wrapper { flex: 1; min-width: 0; }#fv-chart-1784294155314-yqci7jgyv .fv-versus-select-wrapper.fv-left { text-align: center; padding-right: 1rem; }#fv-chart-1784294155314-yqci7jgyv .fv-versus-select-wrapper.fv-right { text-align: center; padding-left: 1rem; }#fv-chart-1784294155314-yqci7jgyv .fv-versus-select-container { position: relative; display: inline-block; max-width: 100%; width: 100%; }#fv-chart-1784294155314-yqci7jgyv .fv-versus-chevron { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; width: 16px; height: 16px; flex-shrink: 0; }#fv-chart-1784294155314-yqci7jgyv .fv-versus-select-wrapper.fv-left .fv-versus-chevron { right: 0; }#fv-chart-1784294155314-yqci7jgyv .fv-versus-select-wrapper.fv-right .fv-versus-chevron { right: 0; }#fv-chart-1784294155314-yqci7jgyv .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-1784294155314-yqci7jgyv .fv-versus-select.fv-select-left { text-align: center; direction: ltr; padding-right: 1.25rem; }#fv-chart-1784294155314-yqci7jgyv .fv-versus-select.fv-select-right { text-align: center; padding-right: 1.25rem; }#fv-chart-1784294155314-yqci7jgyv .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-1784294155314-yqci7jgyv .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-1784294155314-yqci7jgyv .fv-versus-body { display: flex; flex-direction: column; gap: 1.5rem; }#fv-chart-1784294155314-yqci7jgyv .fv-versus-row { position: relative; height: auto; padding-top: 20px; margin-bottom: 0.25rem; display: block; }#fv-chart-1784294155314-yqci7jgyv .fv-versus-bar-container { position: relative; height: 32px; display: flex; align-items: center; }#fv-chart-1784294155314-yqci7jgyv .fv-versus-bar-left-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-end; align-items: center; }#fv-chart-1784294155314-yqci7jgyv .fv-versus-bar-right-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-start; align-items: center; }#fv-chart-1784294155314-yqci7jgyv .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-1784294155314-yqci7jgyv .fv-versus-bar-left { border-radius: 4px 0 0 4px; justify-content: flex-end; padding: 0 8px; }#fv-chart-1784294155314-yqci7jgyv .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-1784294155314-yqci7jgyv .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-1784294155314-yqci7jgyv .fv-inside-left { white-space: nowrap; flex-shrink: 0; }#fv-chart-1784294155314-yqci7jgyv .fv-inside-right { white-space: nowrap; flex-shrink: 0; }#fv-chart-1784294155314-yqci7jgyv .fv-versus-val-text { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; }#fv-chart-1784294155314-yqci7jgyv .fv-versus-pct-diff { font-size: 12px; font-weight: 600; }#fv-chart-1784294155314-yqci7jgyv .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-1784294155314-yqci7jgyv .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-1784294155314-yqci7jgyv .fv-image-compare-container { width: auto !important; margin-left: -1.5rem !important; margin-right: -1.5rem !important; margin-bottom: 2rem !important; }#fv-chart-1784294155314-yqci7jgyv.fv-full-bleed .fv-image-compare-container { width: 100% !important; max-width: none !important; margin: 0 auto !important; }#fv-chart-1784294155314-yqci7jgyv .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-1784294155314-yqci7jgyv .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-1784294155314-yqci7jgyv .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-1784294155314-yqci7jgyv .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-1784294155314-yqci7jgyv .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-1784294155314-yqci7jgyv .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-1784294155314-yqci7jgyv .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-1784294155314-yqci7jgyv .fv-image-compare-handle.fv-image-compare-handle-square { border-radius: 6px !important; }#fv-chart-1784294155314-yqci7jgyv .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-1784294155314-yqci7jgyv .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-1784294155314-yqci7jgyv .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-1784294155314-yqci7jgyv .fv-image-compare-label-left { left: 1rem !important; }#fv-chart-1784294155314-yqci7jgyv .fv-image-compare-label-right { right: 1rem !important; }#fv-chart-1784294155314-yqci7jgyv .fv-image-compare-expand-btn, #fv-chart-1784294155314-yqci7jgyv .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-1784294155314-yqci7jgyv .fv-image-compare-expand-btn:hover, #fv-chart-1784294155314-yqci7jgyv .fv-image-compare-close-btn:hover { background-color: rgba(0, 0, 0, 0.7) !important; }#fv-chart-1784294155314-yqci7jgyv .fv-image-compare-close-btn { display: none !important; top: 1rem !important; bottom: auto !important; }#fv-chart-1784294155314-yqci7jgyv .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-1784294155314-yqci7jgyv .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-1784294155314-yqci7jgyv .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-inner:active { cursor: grabbing !important; }#fv-chart-1784294155314-yqci7jgyv .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-1784294155314-yqci7jgyv .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-1784294155314-yqci7jgyv .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-expand-btn { display: none !important; }#fv-chart-1784294155314-yqci7jgyv .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-close-btn { display: flex !important; }#fv-chart-1784294155314-yqci7jgyv .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-label-right { right: 4rem !important; }#fv-chart-1784294155314-yqci7jgyv .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; }#fv-chart-1784294155314-yqci7jgyv .fv-footer-content { text-align: center !important; width: 100% !important; }#fv-chart-1784294155314-yqci7jgyv .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-1784294155314-yqci7jgyv .fv-dropdown-wrapper { text-align: center !important; margin-bottom: 16px !important; margin-top: 0 !important; }#fv-chart-1784294155314-yqci7jgyv .fv-dropdown-title-container { position: relative !important; display: inline-block !important; max-width: 100% !important; }#fv-chart-1784294155314-yqci7jgyv .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-1784294155314-yqci7jgyv .fv-dropdown-title:focus { outline: none !important; }#fv-chart-1784294155314-yqci7jgyv .fv-dropdown-title::-ms-expand { display: none !important; }#fv-chart-1784294155314-yqci7jgyv .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-1784294155314-yqci7jgyv .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-1784294155314-yqci7jgyv .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-1784294155314-yqci7jgyv .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; }#fv-chart-1784294155314-yqci7jgyv .fv-carousel-counter { font-size: 14px !important; color: #374151 !important; text-align: center !important; margin-top: 1rem !important; }#fv-chart-1784294155314-yqci7jgyv .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-1784294155314-yqci7jgyv .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #374151 !important; }#fv-chart-1784294155314-yqci7jgyv .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; }#fv-chart-1784294155314-yqci7jgyv .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-1784294155314-yqci7jgyv .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-1784294155314-yqci7jgyv .fv-multi-legend-swatch { width: 16px !important; height: 16px !important; border-radius: 3px !important; }#fv-chart-1784294155314-yqci7jgyv .fv-benchmark-group { margin-bottom: 1rem !important; }#fv-chart-1784294155314-yqci7jgyv .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-1784294155314-yqci7jgyv .fv-bar-row, #fv-chart-1784294155314-yqci7jgyv .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; position: relative !important; }#fv-chart-1784294155314-yqci7jgyv .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-1784294155314-yqci7jgyv .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-1784294155314-yqci7jgyv .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-1784294155314-yqci7jgyv.preview-wrapper .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1784294155314-yqci7jgyv.preview-wrapper .fv-bar-commentary-inline:focus, #fv-chart-1784294155314-yqci7jgyv.preview-wrapper .fv-bar-commentary-inline:focus-within, #fv-chart-1784294155314-yqci7jgyv.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1784294155314-yqci7jgyv.mobile-view .fv-bar-commentary-inline:focus, #fv-chart-1784294155314-yqci7jgyv.mobile-view .fv-bar-commentary-inline:focus-within { display: flex !important; }#fv-chart-1784294155314-yqci7jgyv .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-1784294155314-yqci7jgyv .fv-bar:hover { opacity: 0.8 !important; }#fv-chart-1784294155314-yqci7jgyv .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-1784294155314-yqci7jgyv .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; }#fv-chart-1784294155314-yqci7jgyv .fv-bar-inner-value { flex-shrink: 0 !important; }#fv-chart-1784294155314-yqci7jgyv .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-1784294155314-yqci7jgyv .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; }#fv-chart-1784294155314-yqci7jgyv .fv-multi-bar-container { flex-direction: column !important; padding: 4px !important; align-items: stretch !important; gap: 4px !important; height: auto !important; }#fv-chart-1784294155314-yqci7jgyv .fv-multi-bar-item { display: flex !important; align-items: center !important; height: 25px !important; width: 100% !important; }#fv-chart-1784294155314-yqci7jgyv .fv-stacked-bar { display: flex !important; overflow: hidden !important; }#fv-chart-1784294155314-yqci7jgyv .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-1784294155314-yqci7jgyv .fv-stacked-segment:last-child { border-right: none !important; }#fv-chart-1784294155314-yqci7jgyv .fv-segment-value { font-size: 14px !important; font-weight: bold !important; }#fv-chart-1784294155314-yqci7jgyv .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; }#fv-chart-1784294155314-yqci7jgyv .fv-grouped-product-title-wrapper { padding-left: 150px !important; }#fv-chart-1784294155314-yqci7jgyv .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-1784294155314-yqci7jgyv .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; }#fv-chart-1784294155314-yqci7jgyv .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; }#fv-chart-1784294155314-yqci7jgyv .fv-bar-cluster .fv-bar-container { height: 20px !important; }#fv-chart-1784294155314-yqci7jgyv .riv-grid line {stroke: #D1D5DB !important;stroke-dasharray: 3 3 !important;}#fv-chart-1784294155314-yqci7jgyv .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; }#fv-chart-1784294155314-yqci7jgyv .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; }#fv-chart-1784294155314-yqci7jgyv .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; }#fv-chart-1784294155314-yqci7jgyv .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; }#fv-chart-1784294155314-yqci7jgyv .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; }#fv-chart-1784294155314-yqci7jgyv .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-1784294155314-yqci7jgyv .fv-x-axis-ticks span { position: relative !important; }#fv-chart-1784294155314-yqci7jgyv .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-1784294155314-yqci7jgyv .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #374151 !important; margin-top: 8px !important; display: block !important; }#fv-chart-1784294155314-yqci7jgyv .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-1784294155314-yqci7jgyv .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-1784294155314-yqci7jgyv.mobile-view .fv-pie-container,#fv-chart-1784294155314-yqci7jgyv.labels-on-top .fv-pie-container {flex-direction: column !important; gap: 1rem !important;}#fv-chart-1784294155314-yqci7jgyv.mobile-view .fv-grouped-product-title-wrapper,#fv-chart-1784294155314-yqci7jgyv.labels-on-top .fv-grouped-product-title-wrapper {padding-left: 0 !important;}#fv-chart-1784294155314-yqci7jgyv.mobile-view .fv-bar-row,#fv-chart-1784294155314-yqci7jgyv.mobile-view .fv-stacked-product,#fv-chart-1784294155314-yqci7jgyv.mobile-view .fv-grouped-bar-product,#fv-chart-1784294155314-yqci7jgyv.labels-on-top .fv-bar-row,#fv-chart-1784294155314-yqci7jgyv.labels-on-top .fv-stacked-product,#fv-chart-1784294155314-yqci7jgyv.labels-on-top .fv-grouped-bar-product {flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important;}#fv-chart-1784294155314-yqci7jgyv.mobile-view .fv-bar-label:not(.fv-grouped-product-title),#fv-chart-1784294155314-yqci7jgyv.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-1784294155314-yqci7jgyv.mobile-view .fv-bar-label,#fv-chart-1784294155314-yqci7jgyv.mobile-view .fv-grouped-product-title,#fv-chart-1784294155314-yqci7jgyv.labels-on-top .fv-bar-label,#fv-chart-1784294155314-yqci7jgyv.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-1784294155314-yqci7jgyv.mobile-view .fv-bar-container,#fv-chart-1784294155314-yqci7jgyv.mobile-view .fv-bar-cluster,#fv-chart-1784294155314-yqci7jgyv.labels-on-top .fv-bar-container,#fv-chart-1784294155314-yqci7jgyv.labels-on-top .fv-bar-cluster {width: 100% !important;}#fv-chart-1784294155314-yqci7jgyv.mobile-view .fv-bar-row .fv-bar-commentary-inline,#fv-chart-1784294155314-yqci7jgyv.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline,#fv-chart-1784294155314-yqci7jgyv.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus,#fv-chart-1784294155314-yqci7jgyv.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus-within,#fv-chart-1784294155314-yqci7jgyv.labels-on-top .fv-bar-row .fv-bar-commentary-inline,#fv-chart-1784294155314-yqci7jgyv.labels-on-top .fv-bar-row:hover .fv-bar-commentary-inline,#fv-chart-1784294155314-yqci7jgyv.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus,#fv-chart-1784294155314-yqci7jgyv.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-1784294155314-yqci7jgyv.mobile-view .fv-x-axis-wrapper,#fv-chart-1784294155314-yqci7jgyv.labels-on-top .fv-x-axis-wrapper {margin-left: 0 !important;}#fv-chart-1784294155314-yqci7jgyv.mobile-view .fv-x-axis-label-space,#fv-chart-1784294155314-yqci7jgyv.labels-on-top .fv-x-axis-label-space {display: none !important;}#fv-chart-1784294155314-yqci7jgyv.mobile-view .fv-x-axis-chart-space,#fv-chart-1784294155314-yqci7jgyv.labels-on-top .fv-x-axis-chart-space {padding-right: 0 !important;}#fv-chart-1784294155314-yqci7jgyv.mobile-view .fv-benchmark-title,#fv-chart-1784294155314-yqci7jgyv.labels-on-top .fv-benchmark-title {font-size: 16px !important;}#fv-chart-1784294155314-yqci7jgyv.mobile-view .fv-dropdown-title,#fv-chart-1784294155314-yqci7jgyv.labels-on-top .fv-dropdown-title {font-size: 16px !important;}#fv-chart-1784294155314-yqci7jgyv.mobile-view .fv-carousel-nav-btn,#fv-chart-1784294155314-yqci7jgyv.labels-on-top .fv-carousel-nav-btn {padding: 8px 12px !important; font-size: 14px !important;}#fv-chart-1784294155314-yqci7jgyv.mobile-view .fv-chart-title,#fv-chart-1784294155314-yqci7jgyv.labels-on-top .fv-chart-title {padding: 0 8px !important;}#fv-chart-1784294155314-yqci7jgyv.mobile-view .fv-chart-subhead,#fv-chart-1784294155314-yqci7jgyv.labels-on-top .fv-chart-subhead {padding: 0 8px !important;}#fv-chart-1784294155314-yqci7jgyv.mobile-view .fv-versus-header,#fv-chart-1784294155314-yqci7jgyv.labels-on-top .fv-versus-header {flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important;}#fv-chart-1784294155314-yqci7jgyv.mobile-view .fv-versus-select-wrapper,#fv-chart-1784294155314-yqci7jgyv.labels-on-top .fv-versus-select-wrapper {flex: 1 !important; min-width: 0 !important; width: 100% !important;}#fv-chart-1784294155314-yqci7jgyv.mobile-view .fv-versus-select-wrapper.fv-left,#fv-chart-1784294155314-yqci7jgyv.labels-on-top .fv-versus-select-wrapper.fv-left {text-align: center !important; padding-right: 0 !important;}#fv-chart-1784294155314-yqci7jgyv.mobile-view .fv-versus-select-wrapper.fv-right,#fv-chart-1784294155314-yqci7jgyv.labels-on-top .fv-versus-select-wrapper.fv-right {text-align: center !important; padding-left: 0 !important;}#fv-chart-1784294155314-yqci7jgyv.mobile-view .fv-versus-select.fv-select-left,#fv-chart-1784294155314-yqci7jgyv.labels-on-top .fv-versus-select.fv-select-left {text-align: center !important;}#fv-chart-1784294155314-yqci7jgyv.mobile-view .fv-versus-select.fv-select-right,#fv-chart-1784294155314-yqci7jgyv.labels-on-top .fv-versus-select.fv-select-right {text-align: center !important;}#fv-chart-1784294155314-yqci7jgyv.mobile-view .fv-versus-vs,#fv-chart-1784294155314-yqci7jgyv.labels-on-top .fv-versus-vs {text-align: center !important; padding: 0.25rem 0 !important;}#fv-chart-1784294155314-yqci7jgyv.mobile-view .fv-versus-select-container,#fv-chart-1784294155314-yqci7jgyv.labels-on-top .fv-versus-select-container {max-width: 100% !important; width: 100% !important;}#fv-chart-1784294155314-yqci7jgyv.mobile-view .fv-versus-select,#fv-chart-1784294155314-yqci7jgyv.labels-on-top .fv-versus-select {font-size: 14px !important; width: 100% !important;}#fv-chart-1784294155314-yqci7jgyv.mobile-view .fv-stl-shop-all-btn,#fv-chart-1784294155314-yqci7jgyv.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-1784294155314-yqci7jgyv.mobile-view .fv-stl-shop-all-logo,#fv-chart-1784294155314-yqci7jgyv.mobile-view .fv-stl-shop-all-icon,#fv-chart-1784294155314-yqci7jgyv.labels-on-top .fv-stl-shop-all-logo,#fv-chart-1784294155314-yqci7jgyv.labels-on-top .fv-stl-shop-all-icon {width: 2rem !important; height: 2rem !important;}#fv-chart-1784294155314-yqci7jgyv.mobile-view .fv-stl-shop-all-icon svg,#fv-chart-1784294155314-yqci7jgyv.labels-on-top .fv-stl-shop-all-icon svg {width: 14px !important; height: 14px !important;}#fv-chart-1784294155314-yqci7jgyv.mobile-view .fv-bar-commentary-inline,#fv-chart-1784294155314-yqci7jgyv.labels-on-top .fv-bar-commentary-inline {display: block !important; margin-left: 0 !important; width: 100% !important;}#fv-chart-1784294155314-yqci7jgyv.mobile-view .fv-y-axis-title { padding-left: 5% !important; }#fv-chart-1784294155314-yqci7jgyv.mobile-view.fv-contains-line-chart .fv-footer-content {margin-left: -1rem !important;margin-right: -1rem !important;}@media (max-width: 599px) {#fv-chart-1784294155314-yqci7jgyv .fv-pie-container {flex-direction: column !important; gap: 1rem !important;}#fv-chart-1784294155314-yqci7jgyv .fv-grouped-product-title-wrapper {padding-left: 0 !important;}#fv-chart-1784294155314-yqci7jgyv .fv-bar-row,#fv-chart-1784294155314-yqci7jgyv .fv-stacked-product,#fv-chart-1784294155314-yqci7jgyv .fv-grouped-bar-product {flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important;}#fv-chart-1784294155314-yqci7jgyv .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-1784294155314-yqci7jgyv .fv-bar-label,#fv-chart-1784294155314-yqci7jgyv .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-1784294155314-yqci7jgyv .fv-bar-container,#fv-chart-1784294155314-yqci7jgyv .fv-bar-cluster {width: 100% !important;}#fv-chart-1784294155314-yqci7jgyv .fv-bar-row .fv-bar-commentary-inline,#fv-chart-1784294155314-yqci7jgyv .fv-bar-row:hover .fv-bar-commentary-inline,#fv-chart-1784294155314-yqci7jgyv .fv-bar-row .fv-bar-commentary-inline:focus,#fv-chart-1784294155314-yqci7jgyv .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-1784294155314-yqci7jgyv .fv-x-axis-wrapper {margin-left: 0 !important;}#fv-chart-1784294155314-yqci7jgyv .fv-x-axis-label-space {display: none !important;}#fv-chart-1784294155314-yqci7jgyv .fv-x-axis-chart-space {padding-right: 0 !important;}#fv-chart-1784294155314-yqci7jgyv .fv-benchmark-title {font-size: 16px !important;}#fv-chart-1784294155314-yqci7jgyv .fv-dropdown-title {font-size: 16px !important;}#fv-chart-1784294155314-yqci7jgyv .fv-carousel-nav-btn {padding: 8px 12px !important; font-size: 14px !important;}#fv-chart-1784294155314-yqci7jgyv .fv-chart-title {padding: 0 8px !important;}#fv-chart-1784294155314-yqci7jgyv .fv-chart-subhead {padding: 0 8px !important;}#fv-chart-1784294155314-yqci7jgyv .fv-versus-header {flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important;}#fv-chart-1784294155314-yqci7jgyv .fv-versus-select-wrapper {flex: 1 !important; min-width: 0 !important; width: 100% !important;}#fv-chart-1784294155314-yqci7jgyv .fv-versus-select-wrapper.fv-left {text-align: center !important; padding-right: 0 !important;}#fv-chart-1784294155314-yqci7jgyv .fv-versus-select-wrapper.fv-right {text-align: center !important; padding-left: 0 !important;}#fv-chart-1784294155314-yqci7jgyv .fv-versus-select.fv-select-left {text-align: center !important;}#fv-chart-1784294155314-yqci7jgyv .fv-versus-select.fv-select-right {text-align: center !important;}#fv-chart-1784294155314-yqci7jgyv .fv-versus-vs {text-align: center !important; padding: 0.25rem 0 !important;}#fv-chart-1784294155314-yqci7jgyv .fv-versus-select-container {max-width: 100% !important; width: 100% !important;}#fv-chart-1784294155314-yqci7jgyv .fv-versus-select {font-size: 14px !important; width: 100% !important;}#fv-chart-1784294155314-yqci7jgyv .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-1784294155314-yqci7jgyv .fv-stl-shop-all-logo,#fv-chart-1784294155314-yqci7jgyv .fv-stl-shop-all-icon {width: 2rem !important; height: 2rem !important;}#fv-chart-1784294155314-yqci7jgyv .fv-stl-shop-all-icon svg {width: 14px !important; height: 14px !important;}#fv-chart-1784294155314-yqci7jgyv .fv-bar-commentary-inline {display: block !important; margin-left: 0 !important; width: 100% !important;}#fv-chart-1784294155314-yqci7jgyv .fv-y-axis-title { padding-left: 5% !important; }#fv-chart-1784294155314-yqci7jgyv.fv-contains-line-chart .fv-footer-content {margin-left: -1rem !important;margin-right: -1rem !important;}}{"@context": "https://schema.org","@type": "Dataset","name": "Overall Chart Title","description": "Subhead to describe the test and what's being measured and why","creator": {"@type": "Organization","name": "TechRadar","logo": "https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png"},"isAccessibleForFree": true,"dateCreated": "2026-07-17T13:15:55.315Z","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": []}Before vacuumingAfter vacuumingwindow.iFrameResizer = {heightCalculationMethod: 'taggedElement'};(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-1784294155314-yqci7jgyv', false); });} else {initialize('fv-chart-1784294155314-yqci7jgyv', false);}})();

During these tests I found the quickest, least powerful mode, called Quiet, was indeed very quiet (just 55 decibels on carpet), but the S2 performs best when suction is upped to the Standard or Turbo modes, cleaning intensity is increased from Fast to Standard, and the S2 is asked to perform two passes of the target zone or room, instead of one.

A crumb mix made of flour and crushed biscuit was completely lifted from a wooden kitchen floor using the S2’s standard intensity and suction settings, while on carpet I found Turbo or Cyclone (the most powerful suction mode) was best.

@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-1784294463899-v6ki3xaut *, #fv-chart-1784294463899-v6ki3xaut *:before, #fv-chart-1784294463899-v6ki3xaut *:after, #fv-chart-1784294463899-v6ki3xaut-slideshow *, #fv-chart-1784294463899-v6ki3xaut-slideshow *:before, #fv-chart-1784294463899-v6ki3xaut-slideshow *:after {box-sizing: border-box !important; margin: 0; padding: 0; border: 0;font-size: 100%; font: inherit; vertical-align: baseline;}#fv-chart-1784294463899-v6ki3xaut, #fv-chart-1784294463899-v6ki3xaut-slideshow { font-family: 'Open Sans', sans-serif !important; }#fv-chart-1784294463899-v6ki3xaut {position: relative !important; overflow: visible !important;--riv-primary: #2E6E93;}#fv-chart-1784294463899-v6ki3xaut .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-1784294463899-v6ki3xaut .fv-inner-wrapper.fv-no-header.fv-is-image-compare {padding-top: 0 !important;}#fv-chart-1784294463899-v6ki3xaut.fv-full-bleed {width: 100vw !important;margin-left: calc(50% - 50vw) !important;}body {overflow-x: clip !important;}#fv-chart-1784294463899-v6ki3xaut.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-1784294463899-v6ki3xaut .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-1784294463899-v6ki3xaut-slideshow {position: relative !important;width: 100% !important;margin: 1rem 0 !important;--riv-primary: #2E6E93;}#fv-chart-1784294463899-v6ki3xaut-slideshow .fv-slides-wrapper {position: relative !important;width: 100% !important;}#fv-chart-1784294463899-v6ki3xaut-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-1784294463899-v6ki3xaut-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-1784294463899-v6ki3xaut-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-1784294463899-v6ki3xaut-slideshow .fv-nav-btn svg {width: 18px !important;height: 18px !important;stroke-width: 3px !important;filter: none !important;}#fv-chart-1784294463899-v6ki3xaut-slideshow .fv-nav-btn:hover {opacity: 0.9 !important;transform: translateY(-1px) !important;}#fv-chart-1784294463899-v6ki3xaut-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-1784294463899-v6ki3xaut-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-1784294463899-v6ki3xaut-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-1784294463899-v6ki3xaut-slideshow .fv-slideshow-select:focus {outline: 2px solid #2E6E93 !important;border-color: #2E6E93 !important;}#fv-chart-1784294463899-v6ki3xaut .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-1784294463899-v6ki3xaut .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-1784294463899-v6ki3xaut .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-1784294463899-v6ki3xaut .fv-versus-chart { display: flex; flex-direction: column; width: 100%; margin-top: 1rem; }#fv-chart-1784294463899-v6ki3xaut .fv-versus-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding: 0 1rem; }#fv-chart-1784294463899-v6ki3xaut .fv-versus-select-wrapper { flex: 1; min-width: 0; }#fv-chart-1784294463899-v6ki3xaut .fv-versus-select-wrapper.fv-left { text-align: center; padding-right: 1rem; }#fv-chart-1784294463899-v6ki3xaut .fv-versus-select-wrapper.fv-right { text-align: center; padding-left: 1rem; }#fv-chart-1784294463899-v6ki3xaut .fv-versus-select-container { position: relative; display: inline-block; max-width: 100%; width: 100%; }#fv-chart-1784294463899-v6ki3xaut .fv-versus-chevron { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; width: 16px; height: 16px; flex-shrink: 0; }#fv-chart-1784294463899-v6ki3xaut .fv-versus-select-wrapper.fv-left .fv-versus-chevron { right: 0; }#fv-chart-1784294463899-v6ki3xaut .fv-versus-select-wrapper.fv-right .fv-versus-chevron { right: 0; }#fv-chart-1784294463899-v6ki3xaut .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-1784294463899-v6ki3xaut .fv-versus-select.fv-select-left { text-align: center; direction: ltr; padding-right: 1.25rem; }#fv-chart-1784294463899-v6ki3xaut .fv-versus-select.fv-select-right { text-align: center; padding-right: 1.25rem; }#fv-chart-1784294463899-v6ki3xaut .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-1784294463899-v6ki3xaut .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-1784294463899-v6ki3xaut .fv-versus-body { display: flex; flex-direction: column; gap: 1.5rem; }#fv-chart-1784294463899-v6ki3xaut .fv-versus-row { position: relative; height: auto; padding-top: 20px; margin-bottom: 0.25rem; display: block; }#fv-chart-1784294463899-v6ki3xaut .fv-versus-bar-container { position: relative; height: 32px; display: flex; align-items: center; }#fv-chart-1784294463899-v6ki3xaut .fv-versus-bar-left-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-end; align-items: center; }#fv-chart-1784294463899-v6ki3xaut .fv-versus-bar-right-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-start; align-items: center; }#fv-chart-1784294463899-v6ki3xaut .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-1784294463899-v6ki3xaut .fv-versus-bar-left { border-radius: 4px 0 0 4px; justify-content: flex-end; padding: 0 8px; }#fv-chart-1784294463899-v6ki3xaut .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-1784294463899-v6ki3xaut .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-1784294463899-v6ki3xaut .fv-inside-left { white-space: nowrap; flex-shrink: 0; }#fv-chart-1784294463899-v6ki3xaut .fv-inside-right { white-space: nowrap; flex-shrink: 0; }#fv-chart-1784294463899-v6ki3xaut .fv-versus-val-text { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; }#fv-chart-1784294463899-v6ki3xaut .fv-versus-pct-diff { font-size: 12px; font-weight: 600; }#fv-chart-1784294463899-v6ki3xaut .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-1784294463899-v6ki3xaut .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-1784294463899-v6ki3xaut .fv-image-compare-container { width: auto !important; margin-left: -1.5rem !important; margin-right: -1.5rem !important; margin-bottom: 2rem !important; }#fv-chart-1784294463899-v6ki3xaut.fv-full-bleed .fv-image-compare-container { width: 100% !important; max-width: none !important; margin: 0 auto !important; }#fv-chart-1784294463899-v6ki3xaut .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-1784294463899-v6ki3xaut .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-1784294463899-v6ki3xaut .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-1784294463899-v6ki3xaut .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-1784294463899-v6ki3xaut .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-1784294463899-v6ki3xaut .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-1784294463899-v6ki3xaut .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-1784294463899-v6ki3xaut .fv-image-compare-handle.fv-image-compare-handle-square { border-radius: 6px !important; }#fv-chart-1784294463899-v6ki3xaut .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-1784294463899-v6ki3xaut .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-1784294463899-v6ki3xaut .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-1784294463899-v6ki3xaut .fv-image-compare-label-left { left: 1rem !important; }#fv-chart-1784294463899-v6ki3xaut .fv-image-compare-label-right { right: 1rem !important; }#fv-chart-1784294463899-v6ki3xaut .fv-image-compare-expand-btn, #fv-chart-1784294463899-v6ki3xaut .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-1784294463899-v6ki3xaut .fv-image-compare-expand-btn:hover, #fv-chart-1784294463899-v6ki3xaut .fv-image-compare-close-btn:hover { background-color: rgba(0, 0, 0, 0.7) !important; }#fv-chart-1784294463899-v6ki3xaut .fv-image-compare-close-btn { display: none !important; top: 1rem !important; bottom: auto !important; }#fv-chart-1784294463899-v6ki3xaut .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-1784294463899-v6ki3xaut .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-1784294463899-v6ki3xaut .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-inner:active { cursor: grabbing !important; }#fv-chart-1784294463899-v6ki3xaut .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-1784294463899-v6ki3xaut .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-1784294463899-v6ki3xaut .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-expand-btn { display: none !important; }#fv-chart-1784294463899-v6ki3xaut .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-close-btn { display: flex !important; }#fv-chart-1784294463899-v6ki3xaut .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-label-right { right: 4rem !important; }#fv-chart-1784294463899-v6ki3xaut .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; }#fv-chart-1784294463899-v6ki3xaut .fv-footer-content { text-align: center !important; width: 100% !important; }#fv-chart-1784294463899-v6ki3xaut .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-1784294463899-v6ki3xaut .fv-dropdown-wrapper { text-align: center !important; margin-bottom: 16px !important; margin-top: 0 !important; }#fv-chart-1784294463899-v6ki3xaut .fv-dropdown-title-container { position: relative !important; display: inline-block !important; max-width: 100% !important; }#fv-chart-1784294463899-v6ki3xaut .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-1784294463899-v6ki3xaut .fv-dropdown-title:focus { outline: none !important; }#fv-chart-1784294463899-v6ki3xaut .fv-dropdown-title::-ms-expand { display: none !important; }#fv-chart-1784294463899-v6ki3xaut .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-1784294463899-v6ki3xaut .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-1784294463899-v6ki3xaut .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-1784294463899-v6ki3xaut .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; }#fv-chart-1784294463899-v6ki3xaut .fv-carousel-counter { font-size: 14px !important; color: #374151 !important; text-align: center !important; margin-top: 1rem !important; }#fv-chart-1784294463899-v6ki3xaut .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-1784294463899-v6ki3xaut .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #374151 !important; }#fv-chart-1784294463899-v6ki3xaut .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; }#fv-chart-1784294463899-v6ki3xaut .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-1784294463899-v6ki3xaut .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-1784294463899-v6ki3xaut .fv-multi-legend-swatch { width: 16px !important; height: 16px !important; border-radius: 3px !important; }#fv-chart-1784294463899-v6ki3xaut .fv-benchmark-group { margin-bottom: 1rem !important; }#fv-chart-1784294463899-v6ki3xaut .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-1784294463899-v6ki3xaut .fv-bar-row, #fv-chart-1784294463899-v6ki3xaut .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; position: relative !important; }#fv-chart-1784294463899-v6ki3xaut .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-1784294463899-v6ki3xaut .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-1784294463899-v6ki3xaut .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-1784294463899-v6ki3xaut.preview-wrapper .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1784294463899-v6ki3xaut.preview-wrapper .fv-bar-commentary-inline:focus, #fv-chart-1784294463899-v6ki3xaut.preview-wrapper .fv-bar-commentary-inline:focus-within, #fv-chart-1784294463899-v6ki3xaut.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1784294463899-v6ki3xaut.mobile-view .fv-bar-commentary-inline:focus, #fv-chart-1784294463899-v6ki3xaut.mobile-view .fv-bar-commentary-inline:focus-within { display: flex !important; }#fv-chart-1784294463899-v6ki3xaut .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-1784294463899-v6ki3xaut .fv-bar:hover { opacity: 0.8 !important; }#fv-chart-1784294463899-v6ki3xaut .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-1784294463899-v6ki3xaut .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; }#fv-chart-1784294463899-v6ki3xaut .fv-bar-inner-value { flex-shrink: 0 !important; }#fv-chart-1784294463899-v6ki3xaut .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-1784294463899-v6ki3xaut .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; }#fv-chart-1784294463899-v6ki3xaut .fv-multi-bar-container { flex-direction: column !important; padding: 4px !important; align-items: stretch !important; gap: 4px !important; height: auto !important; }#fv-chart-1784294463899-v6ki3xaut .fv-multi-bar-item { display: flex !important; align-items: center !important; height: 25px !important; width: 100% !important; }#fv-chart-1784294463899-v6ki3xaut .fv-stacked-bar { display: flex !important; overflow: hidden !important; }#fv-chart-1784294463899-v6ki3xaut .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-1784294463899-v6ki3xaut .fv-stacked-segment:last-child { border-right: none !important; }#fv-chart-1784294463899-v6ki3xaut .fv-segment-value { font-size: 14px !important; font-weight: bold !important; }#fv-chart-1784294463899-v6ki3xaut .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; }#fv-chart-1784294463899-v6ki3xaut .fv-grouped-product-title-wrapper { padding-left: 150px !important; }#fv-chart-1784294463899-v6ki3xaut .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-1784294463899-v6ki3xaut .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; }#fv-chart-1784294463899-v6ki3xaut .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; }#fv-chart-1784294463899-v6ki3xaut .fv-bar-cluster .fv-bar-container { height: 20px !important; }#fv-chart-1784294463899-v6ki3xaut .riv-grid line {stroke: #D1D5DB !important;stroke-dasharray: 3 3 !important;}#fv-chart-1784294463899-v6ki3xaut .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; }#fv-chart-1784294463899-v6ki3xaut .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; }#fv-chart-1784294463899-v6ki3xaut .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; }#fv-chart-1784294463899-v6ki3xaut .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; }#fv-chart-1784294463899-v6ki3xaut .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; }#fv-chart-1784294463899-v6ki3xaut .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-1784294463899-v6ki3xaut .fv-x-axis-ticks span { position: relative !important; }#fv-chart-1784294463899-v6ki3xaut .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-1784294463899-v6ki3xaut .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #374151 !important; margin-top: 8px !important; display: block !important; }#fv-chart-1784294463899-v6ki3xaut .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-1784294463899-v6ki3xaut .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-1784294463899-v6ki3xaut.mobile-view .fv-pie-container,#fv-chart-1784294463899-v6ki3xaut.labels-on-top .fv-pie-container {flex-direction: column !important; gap: 1rem !important;}#fv-chart-1784294463899-v6ki3xaut.mobile-view .fv-grouped-product-title-wrapper,#fv-chart-1784294463899-v6ki3xaut.labels-on-top .fv-grouped-product-title-wrapper {padding-left: 0 !important;}#fv-chart-1784294463899-v6ki3xaut.mobile-view .fv-bar-row,#fv-chart-1784294463899-v6ki3xaut.mobile-view .fv-stacked-product,#fv-chart-1784294463899-v6ki3xaut.mobile-view .fv-grouped-bar-product,#fv-chart-1784294463899-v6ki3xaut.labels-on-top .fv-bar-row,#fv-chart-1784294463899-v6ki3xaut.labels-on-top .fv-stacked-product,#fv-chart-1784294463899-v6ki3xaut.labels-on-top .fv-grouped-bar-product {flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important;}#fv-chart-1784294463899-v6ki3xaut.mobile-view .fv-bar-label:not(.fv-grouped-product-title),#fv-chart-1784294463899-v6ki3xaut.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-1784294463899-v6ki3xaut.mobile-view .fv-bar-label,#fv-chart-1784294463899-v6ki3xaut.mobile-view .fv-grouped-product-title,#fv-chart-1784294463899-v6ki3xaut.labels-on-top .fv-bar-label,#fv-chart-1784294463899-v6ki3xaut.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-1784294463899-v6ki3xaut.mobile-view .fv-bar-container,#fv-chart-1784294463899-v6ki3xaut.mobile-view .fv-bar-cluster,#fv-chart-1784294463899-v6ki3xaut.labels-on-top .fv-bar-container,#fv-chart-1784294463899-v6ki3xaut.labels-on-top .fv-bar-cluster {width: 100% !important;}#fv-chart-1784294463899-v6ki3xaut.mobile-view .fv-bar-row .fv-bar-commentary-inline,#fv-chart-1784294463899-v6ki3xaut.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline,#fv-chart-1784294463899-v6ki3xaut.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus,#fv-chart-1784294463899-v6ki3xaut.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus-within,#fv-chart-1784294463899-v6ki3xaut.labels-on-top .fv-bar-row .fv-bar-commentary-inline,#fv-chart-1784294463899-v6ki3xaut.labels-on-top .fv-bar-row:hover .fv-bar-commentary-inline,#fv-chart-1784294463899-v6ki3xaut.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus,#fv-chart-1784294463899-v6ki3xaut.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-1784294463899-v6ki3xaut.mobile-view .fv-x-axis-wrapper,#fv-chart-1784294463899-v6ki3xaut.labels-on-top .fv-x-axis-wrapper {margin-left: 0 !important;}#fv-chart-1784294463899-v6ki3xaut.mobile-view .fv-x-axis-label-space,#fv-chart-1784294463899-v6ki3xaut.labels-on-top .fv-x-axis-label-space {display: none !important;}#fv-chart-1784294463899-v6ki3xaut.mobile-view .fv-x-axis-chart-space,#fv-chart-1784294463899-v6ki3xaut.labels-on-top .fv-x-axis-chart-space {padding-right: 0 !important;}#fv-chart-1784294463899-v6ki3xaut.mobile-view .fv-benchmark-title,#fv-chart-1784294463899-v6ki3xaut.labels-on-top .fv-benchmark-title {font-size: 16px !important;}#fv-chart-1784294463899-v6ki3xaut.mobile-view .fv-dropdown-title,#fv-chart-1784294463899-v6ki3xaut.labels-on-top .fv-dropdown-title {font-size: 16px !important;}#fv-chart-1784294463899-v6ki3xaut.mobile-view .fv-carousel-nav-btn,#fv-chart-1784294463899-v6ki3xaut.labels-on-top .fv-carousel-nav-btn {padding: 8px 12px !important; font-size: 14px !important;}#fv-chart-1784294463899-v6ki3xaut.mobile-view .fv-chart-title,#fv-chart-1784294463899-v6ki3xaut.labels-on-top .fv-chart-title {padding: 0 8px !important;}#fv-chart-1784294463899-v6ki3xaut.mobile-view .fv-chart-subhead,#fv-chart-1784294463899-v6ki3xaut.labels-on-top .fv-chart-subhead {padding: 0 8px !important;}#fv-chart-1784294463899-v6ki3xaut.mobile-view .fv-versus-header,#fv-chart-1784294463899-v6ki3xaut.labels-on-top .fv-versus-header {flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important;}#fv-chart-1784294463899-v6ki3xaut.mobile-view .fv-versus-select-wrapper,#fv-chart-1784294463899-v6ki3xaut.labels-on-top .fv-versus-select-wrapper {flex: 1 !important; min-width: 0 !important; width: 100% !important;}#fv-chart-1784294463899-v6ki3xaut.mobile-view .fv-versus-select-wrapper.fv-left,#fv-chart-1784294463899-v6ki3xaut.labels-on-top .fv-versus-select-wrapper.fv-left {text-align: center !important; padding-right: 0 !important;}#fv-chart-1784294463899-v6ki3xaut.mobile-view .fv-versus-select-wrapper.fv-right,#fv-chart-1784294463899-v6ki3xaut.labels-on-top .fv-versus-select-wrapper.fv-right {text-align: center !important; padding-left: 0 !important;}#fv-chart-1784294463899-v6ki3xaut.mobile-view .fv-versus-select.fv-select-left,#fv-chart-1784294463899-v6ki3xaut.labels-on-top .fv-versus-select.fv-select-left {text-align: center !important;}#fv-chart-1784294463899-v6ki3xaut.mobile-view .fv-versus-select.fv-select-right,#fv-chart-1784294463899-v6ki3xaut.labels-on-top .fv-versus-select.fv-select-right {text-align: center !important;}#fv-chart-1784294463899-v6ki3xaut.mobile-view .fv-versus-vs,#fv-chart-1784294463899-v6ki3xaut.labels-on-top .fv-versus-vs {text-align: center !important; padding: 0.25rem 0 !important;}#fv-chart-1784294463899-v6ki3xaut.mobile-view .fv-versus-select-container,#fv-chart-1784294463899-v6ki3xaut.labels-on-top .fv-versus-select-container {max-width: 100% !important; width: 100% !important;}#fv-chart-1784294463899-v6ki3xaut.mobile-view .fv-versus-select,#fv-chart-1784294463899-v6ki3xaut.labels-on-top .fv-versus-select {font-size: 14px !important; width: 100% !important;}#fv-chart-1784294463899-v6ki3xaut.mobile-view .fv-stl-shop-all-btn,#fv-chart-1784294463899-v6ki3xaut.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-1784294463899-v6ki3xaut.mobile-view .fv-stl-shop-all-logo,#fv-chart-1784294463899-v6ki3xaut.mobile-view .fv-stl-shop-all-icon,#fv-chart-1784294463899-v6ki3xaut.labels-on-top .fv-stl-shop-all-logo,#fv-chart-1784294463899-v6ki3xaut.labels-on-top .fv-stl-shop-all-icon {width: 2rem !important; height: 2rem !important;}#fv-chart-1784294463899-v6ki3xaut.mobile-view .fv-stl-shop-all-icon svg,#fv-chart-1784294463899-v6ki3xaut.labels-on-top .fv-stl-shop-all-icon svg {width: 14px !important; height: 14px !important;}#fv-chart-1784294463899-v6ki3xaut.mobile-view .fv-bar-commentary-inline,#fv-chart-1784294463899-v6ki3xaut.labels-on-top .fv-bar-commentary-inline {display: block !important; margin-left: 0 !important; width: 100% !important;}#fv-chart-1784294463899-v6ki3xaut.mobile-view .fv-y-axis-title { padding-left: 5% !important; }#fv-chart-1784294463899-v6ki3xaut.mobile-view.fv-contains-line-chart .fv-footer-content {margin-left: -1rem !important;margin-right: -1rem !important;}@media (max-width: 599px) {#fv-chart-1784294463899-v6ki3xaut .fv-pie-container {flex-direction: column !important; gap: 1rem !important;}#fv-chart-1784294463899-v6ki3xaut .fv-grouped-product-title-wrapper {padding-left: 0 !important;}#fv-chart-1784294463899-v6ki3xaut .fv-bar-row,#fv-chart-1784294463899-v6ki3xaut .fv-stacked-product,#fv-chart-1784294463899-v6ki3xaut .fv-grouped-bar-product {flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important;}#fv-chart-1784294463899-v6ki3xaut .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-1784294463899-v6ki3xaut .fv-bar-label,#fv-chart-1784294463899-v6ki3xaut .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-1784294463899-v6ki3xaut .fv-bar-container,#fv-chart-1784294463899-v6ki3xaut .fv-bar-cluster {width: 100% !important;}#fv-chart-1784294463899-v6ki3xaut .fv-bar-row .fv-bar-commentary-inline,#fv-chart-1784294463899-v6ki3xaut .fv-bar-row:hover .fv-bar-commentary-inline,#fv-chart-1784294463899-v6ki3xaut .fv-bar-row .fv-bar-commentary-inline:focus,#fv-chart-1784294463899-v6ki3xaut .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-1784294463899-v6ki3xaut .fv-x-axis-wrapper {margin-left: 0 !important;}#fv-chart-1784294463899-v6ki3xaut .fv-x-axis-label-space {display: none !important;}#fv-chart-1784294463899-v6ki3xaut .fv-x-axis-chart-space {padding-right: 0 !important;}#fv-chart-1784294463899-v6ki3xaut .fv-benchmark-title {font-size: 16px !important;}#fv-chart-1784294463899-v6ki3xaut .fv-dropdown-title {font-size: 16px !important;}#fv-chart-1784294463899-v6ki3xaut .fv-carousel-nav-btn {padding: 8px 12px !important; font-size: 14px !important;}#fv-chart-1784294463899-v6ki3xaut .fv-chart-title {padding: 0 8px !important;}#fv-chart-1784294463899-v6ki3xaut .fv-chart-subhead {padding: 0 8px !important;}#fv-chart-1784294463899-v6ki3xaut .fv-versus-header {flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important;}#fv-chart-1784294463899-v6ki3xaut .fv-versus-select-wrapper {flex: 1 !important; min-width: 0 !important; width: 100% !important;}#fv-chart-1784294463899-v6ki3xaut .fv-versus-select-wrapper.fv-left {text-align: center !important; padding-right: 0 !important;}#fv-chart-1784294463899-v6ki3xaut .fv-versus-select-wrapper.fv-right {text-align: center !important; padding-left: 0 !important;}#fv-chart-1784294463899-v6ki3xaut .fv-versus-select.fv-select-left {text-align: center !important;}#fv-chart-1784294463899-v6ki3xaut .fv-versus-select.fv-select-right {text-align: center !important;}#fv-chart-1784294463899-v6ki3xaut .fv-versus-vs {text-align: center !important; padding: 0.25rem 0 !important;}#fv-chart-1784294463899-v6ki3xaut .fv-versus-select-container {max-width: 100% !important; width: 100% !important;}#fv-chart-1784294463899-v6ki3xaut .fv-versus-select {font-size: 14px !important; width: 100% !important;}#fv-chart-1784294463899-v6ki3xaut .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-1784294463899-v6ki3xaut .fv-stl-shop-all-logo,#fv-chart-1784294463899-v6ki3xaut .fv-stl-shop-all-icon {width: 2rem !important; height: 2rem !important;}#fv-chart-1784294463899-v6ki3xaut .fv-stl-shop-all-icon svg {width: 14px !important; height: 14px !important;}#fv-chart-1784294463899-v6ki3xaut .fv-bar-commentary-inline {display: block !important; margin-left: 0 !important; width: 100% !important;}#fv-chart-1784294463899-v6ki3xaut .fv-y-axis-title { padding-left: 5% !important; }#fv-chart-1784294463899-v6ki3xaut.fv-contains-line-chart .fv-footer-content {margin-left: -1rem !important;margin-right: -1rem !important;}}{"@context": "https://schema.org","@type": "Dataset","name": "Overall Chart Title","description": "Subhead to describe the test and what's being measured and why","creator": {"@type": "Organization","name": "TechRadar","logo": "https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png"},"isAccessibleForFree": true,"dateCreated": "2026-07-17T13:21:03.899Z","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": []}Crumb mix before first passCrumb mix after first passwindow.iFrameResizer = {heightCalculationMethod: 'taggedElement'};(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-1784294463899-v6ki3xaut', false); });} else {initialize('fv-chart-1784294463899-v6ki3xaut', false);}})();

With that enabled, plus the intensity increased to Deep and the number of passes upped to two, the robot did a superb job.

@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-1784294519188-pba2ojlaz *, #fv-chart-1784294519188-pba2ojlaz *:before, #fv-chart-1784294519188-pba2ojlaz *:after, #fv-chart-1784294519188-pba2ojlaz-slideshow *, #fv-chart-1784294519188-pba2ojlaz-slideshow *:before, #fv-chart-1784294519188-pba2ojlaz-slideshow *:after {box-sizing: border-box !important; margin: 0; padding: 0; border: 0;font-size: 100%; font: inherit; vertical-align: baseline;}#fv-chart-1784294519188-pba2ojlaz, #fv-chart-1784294519188-pba2ojlaz-slideshow { font-family: 'Open Sans', sans-serif !important; }#fv-chart-1784294519188-pba2ojlaz {position: relative !important; overflow: visible !important;--riv-primary: #2E6E93;}#fv-chart-1784294519188-pba2ojlaz .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-1784294519188-pba2ojlaz .fv-inner-wrapper.fv-no-header.fv-is-image-compare {padding-top: 0 !important;}#fv-chart-1784294519188-pba2ojlaz.fv-full-bleed {width: 100vw !important;margin-left: calc(50% - 50vw) !important;}body {overflow-x: clip !important;}#fv-chart-1784294519188-pba2ojlaz.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-1784294519188-pba2ojlaz .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-1784294519188-pba2ojlaz-slideshow {position: relative !important;width: 100% !important;margin: 1rem 0 !important;--riv-primary: #2E6E93;}#fv-chart-1784294519188-pba2ojlaz-slideshow .fv-slides-wrapper {position: relative !important;width: 100% !important;}#fv-chart-1784294519188-pba2ojlaz-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-1784294519188-pba2ojlaz-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-1784294519188-pba2ojlaz-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-1784294519188-pba2ojlaz-slideshow .fv-nav-btn svg {width: 18px !important;height: 18px !important;stroke-width: 3px !important;filter: none !important;}#fv-chart-1784294519188-pba2ojlaz-slideshow .fv-nav-btn:hover {opacity: 0.9 !important;transform: translateY(-1px) !important;}#fv-chart-1784294519188-pba2ojlaz-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-1784294519188-pba2ojlaz-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-1784294519188-pba2ojlaz-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-1784294519188-pba2ojlaz-slideshow .fv-slideshow-select:focus {outline: 2px solid #2E6E93 !important;border-color: #2E6E93 !important;}#fv-chart-1784294519188-pba2ojlaz .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-1784294519188-pba2ojlaz .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-1784294519188-pba2ojlaz .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-1784294519188-pba2ojlaz .fv-versus-chart { display: flex; flex-direction: column; width: 100%; margin-top: 1rem; }#fv-chart-1784294519188-pba2ojlaz .fv-versus-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding: 0 1rem; }#fv-chart-1784294519188-pba2ojlaz .fv-versus-select-wrapper { flex: 1; min-width: 0; }#fv-chart-1784294519188-pba2ojlaz .fv-versus-select-wrapper.fv-left { text-align: center; padding-right: 1rem; }#fv-chart-1784294519188-pba2ojlaz .fv-versus-select-wrapper.fv-right { text-align: center; padding-left: 1rem; }#fv-chart-1784294519188-pba2ojlaz .fv-versus-select-container { position: relative; display: inline-block; max-width: 100%; width: 100%; }#fv-chart-1784294519188-pba2ojlaz .fv-versus-chevron { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; width: 16px; height: 16px; flex-shrink: 0; }#fv-chart-1784294519188-pba2ojlaz .fv-versus-select-wrapper.fv-left .fv-versus-chevron { right: 0; }#fv-chart-1784294519188-pba2ojlaz .fv-versus-select-wrapper.fv-right .fv-versus-chevron { right: 0; }#fv-chart-1784294519188-pba2ojlaz .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-1784294519188-pba2ojlaz .fv-versus-select.fv-select-left { text-align: center; direction: ltr; padding-right: 1.25rem; }#fv-chart-1784294519188-pba2ojlaz .fv-versus-select.fv-select-right { text-align: center; padding-right: 1.25rem; }#fv-chart-1784294519188-pba2ojlaz .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-1784294519188-pba2ojlaz .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-1784294519188-pba2ojlaz .fv-versus-body { display: flex; flex-direction: column; gap: 1.5rem; }#fv-chart-1784294519188-pba2ojlaz .fv-versus-row { position: relative; height: auto; padding-top: 20px; margin-bottom: 0.25rem; display: block; }#fv-chart-1784294519188-pba2ojlaz .fv-versus-bar-container { position: relative; height: 32px; display: flex; align-items: center; }#fv-chart-1784294519188-pba2ojlaz .fv-versus-bar-left-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-end; align-items: center; }#fv-chart-1784294519188-pba2ojlaz .fv-versus-bar-right-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-start; align-items: center; }#fv-chart-1784294519188-pba2ojlaz .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-1784294519188-pba2ojlaz .fv-versus-bar-left { border-radius: 4px 0 0 4px; justify-content: flex-end; padding: 0 8px; }#fv-chart-1784294519188-pba2ojlaz .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-1784294519188-pba2ojlaz .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-1784294519188-pba2ojlaz .fv-inside-left { white-space: nowrap; flex-shrink: 0; }#fv-chart-1784294519188-pba2ojlaz .fv-inside-right { white-space: nowrap; flex-shrink: 0; }#fv-chart-1784294519188-pba2ojlaz .fv-versus-val-text { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; }#fv-chart-1784294519188-pba2ojlaz .fv-versus-pct-diff { font-size: 12px; font-weight: 600; }#fv-chart-1784294519188-pba2ojlaz .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-1784294519188-pba2ojlaz .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-1784294519188-pba2ojlaz .fv-image-compare-container { width: auto !important; margin-left: -1.5rem !important; margin-right: -1.5rem !important; margin-bottom: 2rem !important; }#fv-chart-1784294519188-pba2ojlaz.fv-full-bleed .fv-image-compare-container { width: 100% !important; max-width: none !important; margin: 0 auto !important; }#fv-chart-1784294519188-pba2ojlaz .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-1784294519188-pba2ojlaz .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-1784294519188-pba2ojlaz .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-1784294519188-pba2ojlaz .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-1784294519188-pba2ojlaz .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-1784294519188-pba2ojlaz .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-1784294519188-pba2ojlaz .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-1784294519188-pba2ojlaz .fv-image-compare-handle.fv-image-compare-handle-square { border-radius: 6px !important; }#fv-chart-1784294519188-pba2ojlaz .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-1784294519188-pba2ojlaz .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-1784294519188-pba2ojlaz .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-1784294519188-pba2ojlaz .fv-image-compare-label-left { left: 1rem !important; }#fv-chart-1784294519188-pba2ojlaz .fv-image-compare-label-right { right: 1rem !important; }#fv-chart-1784294519188-pba2ojlaz .fv-image-compare-expand-btn, #fv-chart-1784294519188-pba2ojlaz .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-1784294519188-pba2ojlaz .fv-image-compare-expand-btn:hover, #fv-chart-1784294519188-pba2ojlaz .fv-image-compare-close-btn:hover { background-color: rgba(0, 0, 0, 0.7) !important; }#fv-chart-1784294519188-pba2ojlaz .fv-image-compare-close-btn { display: none !important; top: 1rem !important; bottom: auto !important; }#fv-chart-1784294519188-pba2ojlaz .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-1784294519188-pba2ojlaz .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-1784294519188-pba2ojlaz .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-inner:active { cursor: grabbing !important; }#fv-chart-1784294519188-pba2ojlaz .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-1784294519188-pba2ojlaz .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-1784294519188-pba2ojlaz .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-expand-btn { display: none !important; }#fv-chart-1784294519188-pba2ojlaz .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-close-btn { display: flex !important; }#fv-chart-1784294519188-pba2ojlaz .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-label-right { right: 4rem !important; }#fv-chart-1784294519188-pba2ojlaz .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; }#fv-chart-1784294519188-pba2ojlaz .fv-footer-content { text-align: center !important; width: 100% !important; }#fv-chart-1784294519188-pba2ojlaz .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-1784294519188-pba2ojlaz .fv-dropdown-wrapper { text-align: center !important; margin-bottom: 16px !important; margin-top: 0 !important; }#fv-chart-1784294519188-pba2ojlaz .fv-dropdown-title-container { position: relative !important; display: inline-block !important; max-width: 100% !important; }#fv-chart-1784294519188-pba2ojlaz .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-1784294519188-pba2ojlaz .fv-dropdown-title:focus { outline: none !important; }#fv-chart-1784294519188-pba2ojlaz .fv-dropdown-title::-ms-expand { display: none !important; }#fv-chart-1784294519188-pba2ojlaz .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-1784294519188-pba2ojlaz .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-1784294519188-pba2ojlaz .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-1784294519188-pba2ojlaz .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; }#fv-chart-1784294519188-pba2ojlaz .fv-carousel-counter { font-size: 14px !important; color: #374151 !important; text-align: center !important; margin-top: 1rem !important; }#fv-chart-1784294519188-pba2ojlaz .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-1784294519188-pba2ojlaz .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #374151 !important; }#fv-chart-1784294519188-pba2ojlaz .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; }#fv-chart-1784294519188-pba2ojlaz .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-1784294519188-pba2ojlaz .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-1784294519188-pba2ojlaz .fv-multi-legend-swatch { width: 16px !important; height: 16px !important; border-radius: 3px !important; }#fv-chart-1784294519188-pba2ojlaz .fv-benchmark-group { margin-bottom: 1rem !important; }#fv-chart-1784294519188-pba2ojlaz .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-1784294519188-pba2ojlaz .fv-bar-row, #fv-chart-1784294519188-pba2ojlaz .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; position: relative !important; }#fv-chart-1784294519188-pba2ojlaz .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-1784294519188-pba2ojlaz .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-1784294519188-pba2ojlaz .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-1784294519188-pba2ojlaz.preview-wrapper .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1784294519188-pba2ojlaz.preview-wrapper .fv-bar-commentary-inline:focus, #fv-chart-1784294519188-pba2ojlaz.preview-wrapper .fv-bar-commentary-inline:focus-within, #fv-chart-1784294519188-pba2ojlaz.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1784294519188-pba2ojlaz.mobile-view .fv-bar-commentary-inline:focus, #fv-chart-1784294519188-pba2ojlaz.mobile-view .fv-bar-commentary-inline:focus-within { display: flex !important; }#fv-chart-1784294519188-pba2ojlaz .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-1784294519188-pba2ojlaz .fv-bar:hover { opacity: 0.8 !important; }#fv-chart-1784294519188-pba2ojlaz .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-1784294519188-pba2ojlaz .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; }#fv-chart-1784294519188-pba2ojlaz .fv-bar-inner-value { flex-shrink: 0 !important; }#fv-chart-1784294519188-pba2ojlaz .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-1784294519188-pba2ojlaz .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; }#fv-chart-1784294519188-pba2ojlaz .fv-multi-bar-container { flex-direction: column !important; padding: 4px !important; align-items: stretch !important; gap: 4px !important; height: auto !important; }#fv-chart-1784294519188-pba2ojlaz .fv-multi-bar-item { display: flex !important; align-items: center !important; height: 25px !important; width: 100% !important; }#fv-chart-1784294519188-pba2ojlaz .fv-stacked-bar { display: flex !important; overflow: hidden !important; }#fv-chart-1784294519188-pba2ojlaz .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-1784294519188-pba2ojlaz .fv-stacked-segment:last-child { border-right: none !important; }#fv-chart-1784294519188-pba2ojlaz .fv-segment-value { font-size: 14px !important; font-weight: bold !important; }#fv-chart-1784294519188-pba2ojlaz .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; }#fv-chart-1784294519188-pba2ojlaz .fv-grouped-product-title-wrapper { padding-left: 150px !important; }#fv-chart-1784294519188-pba2ojlaz .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-1784294519188-pba2ojlaz .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; }#fv-chart-1784294519188-pba2ojlaz .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; }#fv-chart-1784294519188-pba2ojlaz .fv-bar-cluster .fv-bar-container { height: 20px !important; }#fv-chart-1784294519188-pba2ojlaz .riv-grid line {stroke: #D1D5DB !important;stroke-dasharray: 3 3 !important;}#fv-chart-1784294519188-pba2ojlaz .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; }#fv-chart-1784294519188-pba2ojlaz .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; }#fv-chart-1784294519188-pba2ojlaz .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; }#fv-chart-1784294519188-pba2ojlaz .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; }#fv-chart-1784294519188-pba2ojlaz .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; }#fv-chart-1784294519188-pba2ojlaz .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-1784294519188-pba2ojlaz .fv-x-axis-ticks span { position: relative !important; }#fv-chart-1784294519188-pba2ojlaz .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-1784294519188-pba2ojlaz .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #374151 !important; margin-top: 8px !important; display: block !important; }#fv-chart-1784294519188-pba2ojlaz .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-1784294519188-pba2ojlaz .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-1784294519188-pba2ojlaz.mobile-view .fv-pie-container,#fv-chart-1784294519188-pba2ojlaz.labels-on-top .fv-pie-container {flex-direction: column !important; gap: 1rem !important;}#fv-chart-1784294519188-pba2ojlaz.mobile-view .fv-grouped-product-title-wrapper,#fv-chart-1784294519188-pba2ojlaz.labels-on-top .fv-grouped-product-title-wrapper {padding-left: 0 !important;}#fv-chart-1784294519188-pba2ojlaz.mobile-view .fv-bar-row,#fv-chart-1784294519188-pba2ojlaz.mobile-view .fv-stacked-product,#fv-chart-1784294519188-pba2ojlaz.mobile-view .fv-grouped-bar-product,#fv-chart-1784294519188-pba2ojlaz.labels-on-top .fv-bar-row,#fv-chart-1784294519188-pba2ojlaz.labels-on-top .fv-stacked-product,#fv-chart-1784294519188-pba2ojlaz.labels-on-top .fv-grouped-bar-product {flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important;}#fv-chart-1784294519188-pba2ojlaz.mobile-view .fv-bar-label:not(.fv-grouped-product-title),#fv-chart-1784294519188-pba2ojlaz.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-1784294519188-pba2ojlaz.mobile-view .fv-bar-label,#fv-chart-1784294519188-pba2ojlaz.mobile-view .fv-grouped-product-title,#fv-chart-1784294519188-pba2ojlaz.labels-on-top .fv-bar-label,#fv-chart-1784294519188-pba2ojlaz.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-1784294519188-pba2ojlaz.mobile-view .fv-bar-container,#fv-chart-1784294519188-pba2ojlaz.mobile-view .fv-bar-cluster,#fv-chart-1784294519188-pba2ojlaz.labels-on-top .fv-bar-container,#fv-chart-1784294519188-pba2ojlaz.labels-on-top .fv-bar-cluster {width: 100% !important;}#fv-chart-1784294519188-pba2ojlaz.mobile-view .fv-bar-row .fv-bar-commentary-inline,#fv-chart-1784294519188-pba2ojlaz.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline,#fv-chart-1784294519188-pba2ojlaz.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus,#fv-chart-1784294519188-pba2ojlaz.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus-within,#fv-chart-1784294519188-pba2ojlaz.labels-on-top .fv-bar-row .fv-bar-commentary-inline,#fv-chart-1784294519188-pba2ojlaz.labels-on-top .fv-bar-row:hover .fv-bar-commentary-inline,#fv-chart-1784294519188-pba2ojlaz.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus,#fv-chart-1784294519188-pba2ojlaz.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-1784294519188-pba2ojlaz.mobile-view .fv-x-axis-wrapper,#fv-chart-1784294519188-pba2ojlaz.labels-on-top .fv-x-axis-wrapper {margin-left: 0 !important;}#fv-chart-1784294519188-pba2ojlaz.mobile-view .fv-x-axis-label-space,#fv-chart-1784294519188-pba2ojlaz.labels-on-top .fv-x-axis-label-space {display: none !important;}#fv-chart-1784294519188-pba2ojlaz.mobile-view .fv-x-axis-chart-space,#fv-chart-1784294519188-pba2ojlaz.labels-on-top .fv-x-axis-chart-space {padding-right: 0 !important;}#fv-chart-1784294519188-pba2ojlaz.mobile-view .fv-benchmark-title,#fv-chart-1784294519188-pba2ojlaz.labels-on-top .fv-benchmark-title {font-size: 16px !important;}#fv-chart-1784294519188-pba2ojlaz.mobile-view .fv-dropdown-title,#fv-chart-1784294519188-pba2ojlaz.labels-on-top .fv-dropdown-title {font-size: 16px !important;}#fv-chart-1784294519188-pba2ojlaz.mobile-view .fv-carousel-nav-btn,#fv-chart-1784294519188-pba2ojlaz.labels-on-top .fv-carousel-nav-btn {padding: 8px 12px !important; font-size: 14px !important;}#fv-chart-1784294519188-pba2ojlaz.mobile-view .fv-chart-title,#fv-chart-1784294519188-pba2ojlaz.labels-on-top .fv-chart-title {padding: 0 8px !important;}#fv-chart-1784294519188-pba2ojlaz.mobile-view .fv-chart-subhead,#fv-chart-1784294519188-pba2ojlaz.labels-on-top .fv-chart-subhead {padding: 0 8px !important;}#fv-chart-1784294519188-pba2ojlaz.mobile-view .fv-versus-header,#fv-chart-1784294519188-pba2ojlaz.labels-on-top .fv-versus-header {flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important;}#fv-chart-1784294519188-pba2ojlaz.mobile-view .fv-versus-select-wrapper,#fv-chart-1784294519188-pba2ojlaz.labels-on-top .fv-versus-select-wrapper {flex: 1 !important; min-width: 0 !important; width: 100% !important;}#fv-chart-1784294519188-pba2ojlaz.mobile-view .fv-versus-select-wrapper.fv-left,#fv-chart-1784294519188-pba2ojlaz.labels-on-top .fv-versus-select-wrapper.fv-left {text-align: center !important; padding-right: 0 !important;}#fv-chart-1784294519188-pba2ojlaz.mobile-view .fv-versus-select-wrapper.fv-right,#fv-chart-1784294519188-pba2ojlaz.labels-on-top .fv-versus-select-wrapper.fv-right {text-align: center !important; padding-left: 0 !important;}#fv-chart-1784294519188-pba2ojlaz.mobile-view .fv-versus-select.fv-select-left,#fv-chart-1784294519188-pba2ojlaz.labels-on-top .fv-versus-select.fv-select-left {text-align: center !important;}#fv-chart-1784294519188-pba2ojlaz.mobile-view .fv-versus-select.fv-select-right,#fv-chart-1784294519188-pba2ojlaz.labels-on-top .fv-versus-select.fv-select-right {text-align: center !important;}#fv-chart-1784294519188-pba2ojlaz.mobile-view .fv-versus-vs,#fv-chart-1784294519188-pba2ojlaz.labels-on-top .fv-versus-vs {text-align: center !important; padding: 0.25rem 0 !important;}#fv-chart-1784294519188-pba2ojlaz.mobile-view .fv-versus-select-container,#fv-chart-1784294519188-pba2ojlaz.labels-on-top .fv-versus-select-container {max-width: 100% !important; width: 100% !important;}#fv-chart-1784294519188-pba2ojlaz.mobile-view .fv-versus-select,#fv-chart-1784294519188-pba2ojlaz.labels-on-top .fv-versus-select {font-size: 14px !important; width: 100% !important;}#fv-chart-1784294519188-pba2ojlaz.mobile-view .fv-stl-shop-all-btn,#fv-chart-1784294519188-pba2ojlaz.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-1784294519188-pba2ojlaz.mobile-view .fv-stl-shop-all-logo,#fv-chart-1784294519188-pba2ojlaz.mobile-view .fv-stl-shop-all-icon,#fv-chart-1784294519188-pba2ojlaz.labels-on-top .fv-stl-shop-all-logo,#fv-chart-1784294519188-pba2ojlaz.labels-on-top .fv-stl-shop-all-icon {width: 2rem !important; height: 2rem !important;}#fv-chart-1784294519188-pba2ojlaz.mobile-view .fv-stl-shop-all-icon svg,#fv-chart-1784294519188-pba2ojlaz.labels-on-top .fv-stl-shop-all-icon svg {width: 14px !important; height: 14px !important;}#fv-chart-1784294519188-pba2ojlaz.mobile-view .fv-bar-commentary-inline,#fv-chart-1784294519188-pba2ojlaz.labels-on-top .fv-bar-commentary-inline {display: block !important; margin-left: 0 !important; width: 100% !important;}#fv-chart-1784294519188-pba2ojlaz.mobile-view .fv-y-axis-title { padding-left: 5% !important; }#fv-chart-1784294519188-pba2ojlaz.mobile-view.fv-contains-line-chart .fv-footer-content {margin-left: -1rem !important;margin-right: -1rem !important;}@media (max-width: 599px) {#fv-chart-1784294519188-pba2ojlaz .fv-pie-container {flex-direction: column !important; gap: 1rem !important;}#fv-chart-1784294519188-pba2ojlaz .fv-grouped-product-title-wrapper {padding-left: 0 !important;}#fv-chart-1784294519188-pba2ojlaz .fv-bar-row,#fv-chart-1784294519188-pba2ojlaz .fv-stacked-product,#fv-chart-1784294519188-pba2ojlaz .fv-grouped-bar-product {flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important;}#fv-chart-1784294519188-pba2ojlaz .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-1784294519188-pba2ojlaz .fv-bar-label,#fv-chart-1784294519188-pba2ojlaz .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-1784294519188-pba2ojlaz .fv-bar-container,#fv-chart-1784294519188-pba2ojlaz .fv-bar-cluster {width: 100% !important;}#fv-chart-1784294519188-pba2ojlaz .fv-bar-row .fv-bar-commentary-inline,#fv-chart-1784294519188-pba2ojlaz .fv-bar-row:hover .fv-bar-commentary-inline,#fv-chart-1784294519188-pba2ojlaz .fv-bar-row .fv-bar-commentary-inline:focus,#fv-chart-1784294519188-pba2ojlaz .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-1784294519188-pba2ojlaz .fv-x-axis-wrapper {margin-left: 0 !important;}#fv-chart-1784294519188-pba2ojlaz .fv-x-axis-label-space {display: none !important;}#fv-chart-1784294519188-pba2ojlaz .fv-x-axis-chart-space {padding-right: 0 !important;}#fv-chart-1784294519188-pba2ojlaz .fv-benchmark-title {font-size: 16px !important;}#fv-chart-1784294519188-pba2ojlaz .fv-dropdown-title {font-size: 16px !important;}#fv-chart-1784294519188-pba2ojlaz .fv-carousel-nav-btn {padding: 8px 12px !important; font-size: 14px !important;}#fv-chart-1784294519188-pba2ojlaz .fv-chart-title {padding: 0 8px !important;}#fv-chart-1784294519188-pba2ojlaz .fv-chart-subhead {padding: 0 8px !important;}#fv-chart-1784294519188-pba2ojlaz .fv-versus-header {flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important;}#fv-chart-1784294519188-pba2ojlaz .fv-versus-select-wrapper {flex: 1 !important; min-width: 0 !important; width: 100% !important;}#fv-chart-1784294519188-pba2ojlaz .fv-versus-select-wrapper.fv-left {text-align: center !important; padding-right: 0 !important;}#fv-chart-1784294519188-pba2ojlaz .fv-versus-select-wrapper.fv-right {text-align: center !important; padding-left: 0 !important;}#fv-chart-1784294519188-pba2ojlaz .fv-versus-select.fv-select-left {text-align: center !important;}#fv-chart-1784294519188-pba2ojlaz .fv-versus-select.fv-select-right {text-align: center !important;}#fv-chart-1784294519188-pba2ojlaz .fv-versus-vs {text-align: center !important; padding: 0.25rem 0 !important;}#fv-chart-1784294519188-pba2ojlaz .fv-versus-select-container {max-width: 100% !important; width: 100% !important;}#fv-chart-1784294519188-pba2ojlaz .fv-versus-select {font-size: 14px !important; width: 100% !important;}#fv-chart-1784294519188-pba2ojlaz .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-1784294519188-pba2ojlaz .fv-stl-shop-all-logo,#fv-chart-1784294519188-pba2ojlaz .fv-stl-shop-all-icon {width: 2rem !important; height: 2rem !important;}#fv-chart-1784294519188-pba2ojlaz .fv-stl-shop-all-icon svg {width: 14px !important; height: 14px !important;}#fv-chart-1784294519188-pba2ojlaz .fv-bar-commentary-inline {display: block !important; margin-left: 0 !important; width: 100% !important;}#fv-chart-1784294519188-pba2ojlaz .fv-y-axis-title { padding-left: 5% !important; }#fv-chart-1784294519188-pba2ojlaz.fv-contains-line-chart .fv-footer-content {margin-left: -1rem !important;margin-right: -1rem !important;}}{"@context": "https://schema.org","@type": "Dataset","name": "Overall Chart Title","description": "Subhead to describe the test and what's being measured and why","creator": {"@type": "Organization","name": "TechRadar","logo": "https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png"},"isAccessibleForFree": true,"dateCreated": "2026-07-17T13:21:59.188Z","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": []}Crumb mix after first passCrumb mix after second passwindow.iFrameResizer = {heightCalculationMethod: 'taggedElement'};(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-1784294519188-pba2ojlaz', false); });} else {initialize('fv-chart-1784294519188-pba2ojlaz', false);}})();

The oat test is usually tougher, because robovacs tend to flick larger debris across hard floors with their spinning side brushes. The Omni S2 fell foul of this too, but as ever my advice is to set the robot to vacuum the entire room twice, instead of aiming for a target and kicking it everywhere.

With the right settings applied, the S2 picked up every single piece – and passed the same test with flying colors on carpet too, where flicking debris is less of an issue.

@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-1784294576158-jknu8qhxr *, #fv-chart-1784294576158-jknu8qhxr *:before, #fv-chart-1784294576158-jknu8qhxr *:after, #fv-chart-1784294576158-jknu8qhxr-slideshow *, #fv-chart-1784294576158-jknu8qhxr-slideshow *:before, #fv-chart-1784294576158-jknu8qhxr-slideshow *:after {box-sizing: border-box !important; margin: 0; padding: 0; border: 0;font-size: 100%; font: inherit; vertical-align: baseline;}#fv-chart-1784294576158-jknu8qhxr, #fv-chart-1784294576158-jknu8qhxr-slideshow { font-family: 'Open Sans', sans-serif !important; }#fv-chart-1784294576158-jknu8qhxr {position: relative !important; overflow: visible !important;--riv-primary: #AA1124;}#fv-chart-1784294576158-jknu8qhxr .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-1784294576158-jknu8qhxr .fv-inner-wrapper.fv-no-header.fv-is-image-compare {padding-top: 0 !important;}#fv-chart-1784294576158-jknu8qhxr.fv-full-bleed {width: 100vw !important;margin-left: calc(50% - 50vw) !important;}body {overflow-x: clip !important;}#fv-chart-1784294576158-jknu8qhxr.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-1784294576158-jknu8qhxr .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-1784294576158-jknu8qhxr-slideshow {position: relative !important;width: 100% !important;margin: 1rem 0 !important;--riv-primary: #AA1124;}#fv-chart-1784294576158-jknu8qhxr-slideshow .fv-slides-wrapper {position: relative !important;width: 100% !important;}#fv-chart-1784294576158-jknu8qhxr-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-1784294576158-jknu8qhxr-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-1784294576158-jknu8qhxr-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-1784294576158-jknu8qhxr-slideshow .fv-nav-btn svg {width: 18px !important;height: 18px !important;stroke-width: 3px !important;filter: none !important;}#fv-chart-1784294576158-jknu8qhxr-slideshow .fv-nav-btn:hover {opacity: 0.9 !important;transform: translateY(-1px) !important;}#fv-chart-1784294576158-jknu8qhxr-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-1784294576158-jknu8qhxr-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-1784294576158-jknu8qhxr-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-1784294576158-jknu8qhxr-slideshow .fv-slideshow-select:focus {outline: 2px solid #AA1124 !important;border-color: #AA1124 !important;}#fv-chart-1784294576158-jknu8qhxr .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-1784294576158-jknu8qhxr .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-1784294576158-jknu8qhxr .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-1784294576158-jknu8qhxr .fv-versus-chart { display: flex; flex-direction: column; width: 100%; margin-top: 1rem; }#fv-chart-1784294576158-jknu8qhxr .fv-versus-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding: 0 1rem; }#fv-chart-1784294576158-jknu8qhxr .fv-versus-select-wrapper { flex: 1; min-width: 0; }#fv-chart-1784294576158-jknu8qhxr .fv-versus-select-wrapper.fv-left { text-align: center; padding-right: 1rem; }#fv-chart-1784294576158-jknu8qhxr .fv-versus-select-wrapper.fv-right { text-align: center; padding-left: 1rem; }#fv-chart-1784294576158-jknu8qhxr .fv-versus-select-container { position: relative; display: inline-block; max-width: 100%; width: 100%; }#fv-chart-1784294576158-jknu8qhxr .fv-versus-chevron { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; width: 16px; height: 16px; flex-shrink: 0; }#fv-chart-1784294576158-jknu8qhxr .fv-versus-select-wrapper.fv-left .fv-versus-chevron { right: 0; }#fv-chart-1784294576158-jknu8qhxr .fv-versus-select-wrapper.fv-right .fv-versus-chevron { right: 0; }#fv-chart-1784294576158-jknu8qhxr .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-1784294576158-jknu8qhxr .fv-versus-select.fv-select-left { text-align: center; direction: ltr; padding-right: 1.25rem; }#fv-chart-1784294576158-jknu8qhxr .fv-versus-select.fv-select-right { text-align: center; padding-right: 1.25rem; }#fv-chart-1784294576158-jknu8qhxr .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-1784294576158-jknu8qhxr .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-1784294576158-jknu8qhxr .fv-versus-body { display: flex; flex-direction: column; gap: 1.5rem; }#fv-chart-1784294576158-jknu8qhxr .fv-versus-row { position: relative; height: auto; padding-top: 20px; margin-bottom: 0.25rem; display: block; }#fv-chart-1784294576158-jknu8qhxr .fv-versus-bar-container { position: relative; height: 32px; display: flex; align-items: center; }#fv-chart-1784294576158-jknu8qhxr .fv-versus-bar-left-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-end; align-items: center; }#fv-chart-1784294576158-jknu8qhxr .fv-versus-bar-right-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-start; align-items: center; }#fv-chart-1784294576158-jknu8qhxr .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-1784294576158-jknu8qhxr .fv-versus-bar-left { border-radius: 4px 0 0 4px; justify-content: flex-end; padding: 0 8px; }#fv-chart-1784294576158-jknu8qhxr .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-1784294576158-jknu8qhxr .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-1784294576158-jknu8qhxr .fv-inside-left { white-space: nowrap; flex-shrink: 0; }#fv-chart-1784294576158-jknu8qhxr .fv-inside-right { white-space: nowrap; flex-shrink: 0; }#fv-chart-1784294576158-jknu8qhxr .fv-versus-val-text { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; }#fv-chart-1784294576158-jknu8qhxr .fv-versus-pct-diff { font-size: 12px; font-weight: 600; }#fv-chart-1784294576158-jknu8qhxr .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-1784294576158-jknu8qhxr .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-1784294576158-jknu8qhxr .fv-image-compare-container { width: auto !important; margin-left: -1.5rem !important; margin-right: -1.5rem !important; margin-bottom: 2rem !important; }#fv-chart-1784294576158-jknu8qhxr.fv-full-bleed .fv-image-compare-container { width: 100% !important; max-width: none !important; margin: 0 auto !important; }#fv-chart-1784294576158-jknu8qhxr .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-1784294576158-jknu8qhxr .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-1784294576158-jknu8qhxr .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-1784294576158-jknu8qhxr .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-1784294576158-jknu8qhxr .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-1784294576158-jknu8qhxr .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-1784294576158-jknu8qhxr .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-1784294576158-jknu8qhxr .fv-image-compare-handle.fv-image-compare-handle-square { border-radius: 6px !important; }#fv-chart-1784294576158-jknu8qhxr .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-1784294576158-jknu8qhxr .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-1784294576158-jknu8qhxr .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-1784294576158-jknu8qhxr .fv-image-compare-label-left { left: 1rem !important; }#fv-chart-1784294576158-jknu8qhxr .fv-image-compare-label-right { right: 1rem !important; }#fv-chart-1784294576158-jknu8qhxr .fv-image-compare-expand-btn, #fv-chart-1784294576158-jknu8qhxr .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-1784294576158-jknu8qhxr .fv-image-compare-expand-btn:hover, #fv-chart-1784294576158-jknu8qhxr .fv-image-compare-close-btn:hover { background-color: rgba(0, 0, 0, 0.7) !important; }#fv-chart-1784294576158-jknu8qhxr .fv-image-compare-close-btn { display: none !important; top: 1rem !important; bottom: auto !important; }#fv-chart-1784294576158-jknu8qhxr .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-1784294576158-jknu8qhxr .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-1784294576158-jknu8qhxr .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-inner:active { cursor: grabbing !important; }#fv-chart-1784294576158-jknu8qhxr .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-1784294576158-jknu8qhxr .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-1784294576158-jknu8qhxr .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-expand-btn { display: none !important; }#fv-chart-1784294576158-jknu8qhxr .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-close-btn { display: flex !important; }#fv-chart-1784294576158-jknu8qhxr .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-label-right { right: 4rem !important; }#fv-chart-1784294576158-jknu8qhxr .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; }#fv-chart-1784294576158-jknu8qhxr .fv-footer-content { text-align: center !important; width: 100% !important; }#fv-chart-1784294576158-jknu8qhxr .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-1784294576158-jknu8qhxr .fv-dropdown-wrapper { text-align: center !important; margin-bottom: 16px !important; margin-top: 0 !important; }#fv-chart-1784294576158-jknu8qhxr .fv-dropdown-title-container { position: relative !important; display: inline-block !important; max-width: 100% !important; }#fv-chart-1784294576158-jknu8qhxr .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-1784294576158-jknu8qhxr .fv-dropdown-title:focus { outline: none !important; }#fv-chart-1784294576158-jknu8qhxr .fv-dropdown-title::-ms-expand { display: none !important; }#fv-chart-1784294576158-jknu8qhxr .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-1784294576158-jknu8qhxr .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-1784294576158-jknu8qhxr .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-1784294576158-jknu8qhxr .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; }#fv-chart-1784294576158-jknu8qhxr .fv-carousel-counter { font-size: 14px !important; color: #374151 !important; text-align: center !important; margin-top: 1rem !important; }#fv-chart-1784294576158-jknu8qhxr .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-1784294576158-jknu8qhxr .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #374151 !important; }#fv-chart-1784294576158-jknu8qhxr .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; }#fv-chart-1784294576158-jknu8qhxr .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-1784294576158-jknu8qhxr .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-1784294576158-jknu8qhxr .fv-multi-legend-swatch { width: 16px !important; height: 16px !important; border-radius: 3px !important; }#fv-chart-1784294576158-jknu8qhxr .fv-benchmark-group { margin-bottom: 1rem !important; }#fv-chart-1784294576158-jknu8qhxr .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-1784294576158-jknu8qhxr .fv-bar-row, #fv-chart-1784294576158-jknu8qhxr .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; position: relative !important; }#fv-chart-1784294576158-jknu8qhxr .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-1784294576158-jknu8qhxr .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-1784294576158-jknu8qhxr .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-1784294576158-jknu8qhxr.preview-wrapper .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1784294576158-jknu8qhxr.preview-wrapper .fv-bar-commentary-inline:focus, #fv-chart-1784294576158-jknu8qhxr.preview-wrapper .fv-bar-commentary-inline:focus-within, #fv-chart-1784294576158-jknu8qhxr.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1784294576158-jknu8qhxr.mobile-view .fv-bar-commentary-inline:focus, #fv-chart-1784294576158-jknu8qhxr.mobile-view .fv-bar-commentary-inline:focus-within { display: flex !important; }#fv-chart-1784294576158-jknu8qhxr .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-1784294576158-jknu8qhxr .fv-bar:hover { opacity: 0.8 !important; }#fv-chart-1784294576158-jknu8qhxr .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-1784294576158-jknu8qhxr .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; }#fv-chart-1784294576158-jknu8qhxr .fv-bar-inner-value { flex-shrink: 0 !important; }#fv-chart-1784294576158-jknu8qhxr .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-1784294576158-jknu8qhxr .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; }#fv-chart-1784294576158-jknu8qhxr .fv-multi-bar-container { flex-direction: column !important; padding: 4px !important; align-items: stretch !important; gap: 4px !important; height: auto !important; }#fv-chart-1784294576158-jknu8qhxr .fv-multi-bar-item { display: flex !important; align-items: center !important; height: 25px !important; width: 100% !important; }#fv-chart-1784294576158-jknu8qhxr .fv-stacked-bar { display: flex !important; overflow: hidden !important; }#fv-chart-1784294576158-jknu8qhxr .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-1784294576158-jknu8qhxr .fv-stacked-segment:last-child { border-right: none !important; }#fv-chart-1784294576158-jknu8qhxr .fv-segment-value { font-size: 14px !important; font-weight: bold !important; }#fv-chart-1784294576158-jknu8qhxr .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; }#fv-chart-1784294576158-jknu8qhxr .fv-grouped-product-title-wrapper { padding-left: 150px !important; }#fv-chart-1784294576158-jknu8qhxr .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-1784294576158-jknu8qhxr .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; }#fv-chart-1784294576158-jknu8qhxr .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; }#fv-chart-1784294576158-jknu8qhxr .fv-bar-cluster .fv-bar-container { height: 20px !important; }#fv-chart-1784294576158-jknu8qhxr .riv-grid line {stroke: #D1D5DB !important;stroke-dasharray: 3 3 !important;}#fv-chart-1784294576158-jknu8qhxr .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; }#fv-chart-1784294576158-jknu8qhxr .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; }#fv-chart-1784294576158-jknu8qhxr .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; }#fv-chart-1784294576158-jknu8qhxr .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; }#fv-chart-1784294576158-jknu8qhxr .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; }#fv-chart-1784294576158-jknu8qhxr .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-1784294576158-jknu8qhxr .fv-x-axis-ticks span { position: relative !important; }#fv-chart-1784294576158-jknu8qhxr .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-1784294576158-jknu8qhxr .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #374151 !important; margin-top: 8px !important; display: block !important; }#fv-chart-1784294576158-jknu8qhxr .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-1784294576158-jknu8qhxr .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-1784294576158-jknu8qhxr.mobile-view .fv-pie-container,#fv-chart-1784294576158-jknu8qhxr.labels-on-top .fv-pie-container {flex-direction: column !important; gap: 1rem !important;}#fv-chart-1784294576158-jknu8qhxr.mobile-view .fv-grouped-product-title-wrapper,#fv-chart-1784294576158-jknu8qhxr.labels-on-top .fv-grouped-product-title-wrapper {padding-left: 0 !important;}#fv-chart-1784294576158-jknu8qhxr.mobile-view .fv-bar-row,#fv-chart-1784294576158-jknu8qhxr.mobile-view .fv-stacked-product,#fv-chart-1784294576158-jknu8qhxr.mobile-view .fv-grouped-bar-product,#fv-chart-1784294576158-jknu8qhxr.labels-on-top .fv-bar-row,#fv-chart-1784294576158-jknu8qhxr.labels-on-top .fv-stacked-product,#fv-chart-1784294576158-jknu8qhxr.labels-on-top .fv-grouped-bar-product {flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important;}#fv-chart-1784294576158-jknu8qhxr.mobile-view .fv-bar-label:not(.fv-grouped-product-title),#fv-chart-1784294576158-jknu8qhxr.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-1784294576158-jknu8qhxr.mobile-view .fv-bar-label,#fv-chart-1784294576158-jknu8qhxr.mobile-view .fv-grouped-product-title,#fv-chart-1784294576158-jknu8qhxr.labels-on-top .fv-bar-label,#fv-chart-1784294576158-jknu8qhxr.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-1784294576158-jknu8qhxr.mobile-view .fv-bar-container,#fv-chart-1784294576158-jknu8qhxr.mobile-view .fv-bar-cluster,#fv-chart-1784294576158-jknu8qhxr.labels-on-top .fv-bar-container,#fv-chart-1784294576158-jknu8qhxr.labels-on-top .fv-bar-cluster {width: 100% !important;}#fv-chart-1784294576158-jknu8qhxr.mobile-view .fv-bar-row .fv-bar-commentary-inline,#fv-chart-1784294576158-jknu8qhxr.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline,#fv-chart-1784294576158-jknu8qhxr.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus,#fv-chart-1784294576158-jknu8qhxr.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus-within,#fv-chart-1784294576158-jknu8qhxr.labels-on-top .fv-bar-row .fv-bar-commentary-inline,#fv-chart-1784294576158-jknu8qhxr.labels-on-top .fv-bar-row:hover .fv-bar-commentary-inline,#fv-chart-1784294576158-jknu8qhxr.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus,#fv-chart-1784294576158-jknu8qhxr.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-1784294576158-jknu8qhxr.mobile-view .fv-x-axis-wrapper,#fv-chart-1784294576158-jknu8qhxr.labels-on-top .fv-x-axis-wrapper {margin-left: 0 !important;}#fv-chart-1784294576158-jknu8qhxr.mobile-view .fv-x-axis-label-space,#fv-chart-1784294576158-jknu8qhxr.labels-on-top .fv-x-axis-label-space {display: none !important;}#fv-chart-1784294576158-jknu8qhxr.mobile-view .fv-x-axis-chart-space,#fv-chart-1784294576158-jknu8qhxr.labels-on-top .fv-x-axis-chart-space {padding-right: 0 !important;}#fv-chart-1784294576158-jknu8qhxr.mobile-view .fv-benchmark-title,#fv-chart-1784294576158-jknu8qhxr.labels-on-top .fv-benchmark-title {font-size: 16px !important;}#fv-chart-1784294576158-jknu8qhxr.mobile-view .fv-dropdown-title,#fv-chart-1784294576158-jknu8qhxr.labels-on-top .fv-dropdown-title {font-size: 16px !important;}#fv-chart-1784294576158-jknu8qhxr.mobile-view .fv-carousel-nav-btn,#fv-chart-1784294576158-jknu8qhxr.labels-on-top .fv-carousel-nav-btn {padding: 8px 12px !important; font-size: 14px !important;}#fv-chart-1784294576158-jknu8qhxr.mobile-view .fv-chart-title,#fv-chart-1784294576158-jknu8qhxr.labels-on-top .fv-chart-title {padding: 0 8px !important;}#fv-chart-1784294576158-jknu8qhxr.mobile-view .fv-chart-subhead,#fv-chart-1784294576158-jknu8qhxr.labels-on-top .fv-chart-subhead {padding: 0 8px !important;}#fv-chart-1784294576158-jknu8qhxr.mobile-view .fv-versus-header,#fv-chart-1784294576158-jknu8qhxr.labels-on-top .fv-versus-header {flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important;}#fv-chart-1784294576158-jknu8qhxr.mobile-view .fv-versus-select-wrapper,#fv-chart-1784294576158-jknu8qhxr.labels-on-top .fv-versus-select-wrapper {flex: 1 !important; min-width: 0 !important; width: 100% !important;}#fv-chart-1784294576158-jknu8qhxr.mobile-view .fv-versus-select-wrapper.fv-left,#fv-chart-1784294576158-jknu8qhxr.labels-on-top .fv-versus-select-wrapper.fv-left {text-align: center !important; padding-right: 0 !important;}#fv-chart-1784294576158-jknu8qhxr.mobile-view .fv-versus-select-wrapper.fv-right,#fv-chart-1784294576158-jknu8qhxr.labels-on-top .fv-versus-select-wrapper.fv-right {text-align: center !important; padding-left: 0 !important;}#fv-chart-1784294576158-jknu8qhxr.mobile-view .fv-versus-select.fv-select-left,#fv-chart-1784294576158-jknu8qhxr.labels-on-top .fv-versus-select.fv-select-left {text-align: center !important;}#fv-chart-1784294576158-jknu8qhxr.mobile-view .fv-versus-select.fv-select-right,#fv-chart-1784294576158-jknu8qhxr.labels-on-top .fv-versus-select.fv-select-right {text-align: center !important;}#fv-chart-1784294576158-jknu8qhxr.mobile-view .fv-versus-vs,#fv-chart-1784294576158-jknu8qhxr.labels-on-top .fv-versus-vs {text-align: center !important; padding: 0.25rem 0 !important;}#fv-chart-1784294576158-jknu8qhxr.mobile-view .fv-versus-select-container,#fv-chart-1784294576158-jknu8qhxr.labels-on-top .fv-versus-select-container {max-width: 100% !important; width: 100% !important;}#fv-chart-1784294576158-jknu8qhxr.mobile-view .fv-versus-select,#fv-chart-1784294576158-jknu8qhxr.labels-on-top .fv-versus-select {font-size: 14px !important; width: 100% !important;}#fv-chart-1784294576158-jknu8qhxr.mobile-view .fv-stl-shop-all-btn,#fv-chart-1784294576158-jknu8qhxr.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-1784294576158-jknu8qhxr.mobile-view .fv-stl-shop-all-logo,#fv-chart-1784294576158-jknu8qhxr.mobile-view .fv-stl-shop-all-icon,#fv-chart-1784294576158-jknu8qhxr.labels-on-top .fv-stl-shop-all-logo,#fv-chart-1784294576158-jknu8qhxr.labels-on-top .fv-stl-shop-all-icon {width: 2rem !important; height: 2rem !important;}#fv-chart-1784294576158-jknu8qhxr.mobile-view .fv-stl-shop-all-icon svg,#fv-chart-1784294576158-jknu8qhxr.labels-on-top .fv-stl-shop-all-icon svg {width: 14px !important; height: 14px !important;}#fv-chart-1784294576158-jknu8qhxr.mobile-view .fv-bar-commentary-inline,#fv-chart-1784294576158-jknu8qhxr.labels-on-top .fv-bar-commentary-inline {display: block !important; margin-left: 0 !important; width: 100% !important;}#fv-chart-1784294576158-jknu8qhxr.mobile-view .fv-y-axis-title { padding-left: 5% !important; }#fv-chart-1784294576158-jknu8qhxr.mobile-view.fv-contains-line-chart .fv-footer-content {margin-left: -1rem !important;margin-right: -1rem !important;}@media (max-width: 599px) {#fv-chart-1784294576158-jknu8qhxr .fv-pie-container {flex-direction: column !important; gap: 1rem !important;}#fv-chart-1784294576158-jknu8qhxr .fv-grouped-product-title-wrapper {padding-left: 0 !important;}#fv-chart-1784294576158-jknu8qhxr .fv-bar-row,#fv-chart-1784294576158-jknu8qhxr .fv-stacked-product,#fv-chart-1784294576158-jknu8qhxr .fv-grouped-bar-product {flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important;}#fv-chart-1784294576158-jknu8qhxr .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-1784294576158-jknu8qhxr .fv-bar-label,#fv-chart-1784294576158-jknu8qhxr .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-1784294576158-jknu8qhxr .fv-bar-container,#fv-chart-1784294576158-jknu8qhxr .fv-bar-cluster {width: 100% !important;}#fv-chart-1784294576158-jknu8qhxr .fv-bar-row .fv-bar-commentary-inline,#fv-chart-1784294576158-jknu8qhxr .fv-bar-row:hover .fv-bar-commentary-inline,#fv-chart-1784294576158-jknu8qhxr .fv-bar-row .fv-bar-commentary-inline:focus,#fv-chart-1784294576158-jknu8qhxr .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-1784294576158-jknu8qhxr .fv-x-axis-wrapper {margin-left: 0 !important;}#fv-chart-1784294576158-jknu8qhxr .fv-x-axis-label-space {display: none !important;}#fv-chart-1784294576158-jknu8qhxr .fv-x-axis-chart-space {padding-right: 0 !important;}#fv-chart-1784294576158-jknu8qhxr .fv-benchmark-title {font-size: 16px !important;}#fv-chart-1784294576158-jknu8qhxr .fv-dropdown-title {font-size: 16px !important;}#fv-chart-1784294576158-jknu8qhxr .fv-carousel-nav-btn {padding: 8px 12px !important; font-size: 14px !important;}#fv-chart-1784294576158-jknu8qhxr .fv-chart-title {padding: 0 8px !important;}#fv-chart-1784294576158-jknu8qhxr .fv-chart-subhead {padding: 0 8px !important;}#fv-chart-1784294576158-jknu8qhxr .fv-versus-header {flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important;}#fv-chart-1784294576158-jknu8qhxr .fv-versus-select-wrapper {flex: 1 !important; min-width: 0 !important; width: 100% !important;}#fv-chart-1784294576158-jknu8qhxr .fv-versus-select-wrapper.fv-left {text-align: center !important; padding-right: 0 !important;}#fv-chart-1784294576158-jknu8qhxr .fv-versus-select-wrapper.fv-right {text-align: center !important; padding-left: 0 !important;}#fv-chart-1784294576158-jknu8qhxr .fv-versus-select.fv-select-left {text-align: center !important;}#fv-chart-1784294576158-jknu8qhxr .fv-versus-select.fv-select-right {text-align: center !important;}#fv-chart-1784294576158-jknu8qhxr .fv-versus-vs {text-align: center !important; padding: 0.25rem 0 !important;}#fv-chart-1784294576158-jknu8qhxr .fv-versus-select-container {max-width: 100% !important; width: 100% !important;}#fv-chart-1784294576158-jknu8qhxr .fv-versus-select {font-size: 14px !important; width: 100% !important;}#fv-chart-1784294576158-jknu8qhxr .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-1784294576158-jknu8qhxr .fv-stl-shop-all-logo,#fv-chart-1784294576158-jknu8qhxr .fv-stl-shop-all-icon {width: 2rem !important; height: 2rem !important;}#fv-chart-1784294576158-jknu8qhxr .fv-stl-shop-all-icon svg {width: 14px !important; height: 14px !important;}#fv-chart-1784294576158-jknu8qhxr .fv-bar-commentary-inline {display: block !important; margin-left: 0 !important; width: 100% !important;}#fv-chart-1784294576158-jknu8qhxr .fv-y-axis-title { padding-left: 5% !important; }#fv-chart-1784294576158-jknu8qhxr.fv-contains-line-chart .fv-footer-content {margin-left: -1rem !important;margin-right: -1rem !important;}}{"@context": "https://schema.org","@type": "Dataset","name": "Overall Chart Title","description": "Subhead to describe the test and what's being measured and why","creator": {"@type": "Organization","name": "Default"},"isAccessibleForFree": true,"dateCreated": "2026-07-17T13:22:56.158Z","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","Default"],"measurementTechnique": "Performance Benchmarking","variableMeasured": []}Before vacuumingAfter vacuumingwindow.iFrameResizer = {heightCalculationMethod: 'taggedElement'};(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-1784294576158-jknu8qhxr', false); });} else {initialize('fv-chart-1784294576158-jknu8qhxr', false);}})();

I tested the mopping system with a dried smear of ketchup, which was promptly removed from the wooden floor. The cylindrical mop spins and pivots outwards to reach into the edges of the room, while the robot scrapes it clean and washes it while driving. The mop is then dried with hot air at the base station, which takes several hours but is very quiet.

@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-1784293750108-vrhlpw5yh *, #fv-chart-1784293750108-vrhlpw5yh *:before, #fv-chart-1784293750108-vrhlpw5yh *:after, #fv-chart-1784293750108-vrhlpw5yh-slideshow *, #fv-chart-1784293750108-vrhlpw5yh-slideshow *:before, #fv-chart-1784293750108-vrhlpw5yh-slideshow *:after {box-sizing: border-box !important; margin: 0; padding: 0; border: 0;font-size: 100%; font: inherit; vertical-align: baseline;}#fv-chart-1784293750108-vrhlpw5yh, #fv-chart-1784293750108-vrhlpw5yh-slideshow { font-family: 'Open Sans', sans-serif !important; }#fv-chart-1784293750108-vrhlpw5yh {position: relative !important; overflow: visible !important;--riv-primary: #2E6E93;}#fv-chart-1784293750108-vrhlpw5yh .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-1784293750108-vrhlpw5yh .fv-inner-wrapper.fv-no-header.fv-is-image-compare {padding-top: 0 !important;}#fv-chart-1784293750108-vrhlpw5yh.fv-full-bleed {width: 100vw !important;margin-left: calc(50% - 50vw) !important;}body {overflow-x: clip !important;}#fv-chart-1784293750108-vrhlpw5yh.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-1784293750108-vrhlpw5yh .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-1784293750108-vrhlpw5yh-slideshow {position: relative !important;width: 100% !important;margin: 1rem 0 !important;--riv-primary: #2E6E93;}#fv-chart-1784293750108-vrhlpw5yh-slideshow .fv-slides-wrapper {position: relative !important;width: 100% !important;}#fv-chart-1784293750108-vrhlpw5yh-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-1784293750108-vrhlpw5yh-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-1784293750108-vrhlpw5yh-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-1784293750108-vrhlpw5yh-slideshow .fv-nav-btn svg {width: 18px !important;height: 18px !important;stroke-width: 3px !important;filter: none !important;}#fv-chart-1784293750108-vrhlpw5yh-slideshow .fv-nav-btn:hover {opacity: 0.9 !important;transform: translateY(-1px) !important;}#fv-chart-1784293750108-vrhlpw5yh-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-1784293750108-vrhlpw5yh-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-1784293750108-vrhlpw5yh-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-1784293750108-vrhlpw5yh-slideshow .fv-slideshow-select:focus {outline: 2px solid #2E6E93 !important;border-color: #2E6E93 !important;}#fv-chart-1784293750108-vrhlpw5yh .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-1784293750108-vrhlpw5yh .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-1784293750108-vrhlpw5yh .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-1784293750108-vrhlpw5yh .fv-versus-chart { display: flex; flex-direction: column; width: 100%; margin-top: 1rem; }#fv-chart-1784293750108-vrhlpw5yh .fv-versus-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding: 0 1rem; }#fv-chart-1784293750108-vrhlpw5yh .fv-versus-select-wrapper { flex: 1; min-width: 0; }#fv-chart-1784293750108-vrhlpw5yh .fv-versus-select-wrapper.fv-left { text-align: center; padding-right: 1rem; }#fv-chart-1784293750108-vrhlpw5yh .fv-versus-select-wrapper.fv-right { text-align: center; padding-left: 1rem; }#fv-chart-1784293750108-vrhlpw5yh .fv-versus-select-container { position: relative; display: inline-block; max-width: 100%; width: 100%; }#fv-chart-1784293750108-vrhlpw5yh .fv-versus-chevron { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; width: 16px; height: 16px; flex-shrink: 0; }#fv-chart-1784293750108-vrhlpw5yh .fv-versus-select-wrapper.fv-left .fv-versus-chevron { right: 0; }#fv-chart-1784293750108-vrhlpw5yh .fv-versus-select-wrapper.fv-right .fv-versus-chevron { right: 0; }#fv-chart-1784293750108-vrhlpw5yh .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-1784293750108-vrhlpw5yh .fv-versus-select.fv-select-left { text-align: center; direction: ltr; padding-right: 1.25rem; }#fv-chart-1784293750108-vrhlpw5yh .fv-versus-select.fv-select-right { text-align: center; padding-right: 1.25rem; }#fv-chart-1784293750108-vrhlpw5yh .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-1784293750108-vrhlpw5yh .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-1784293750108-vrhlpw5yh .fv-versus-body { display: flex; flex-direction: column; gap: 1.5rem; }#fv-chart-1784293750108-vrhlpw5yh .fv-versus-row { position: relative; height: auto; padding-top: 20px; margin-bottom: 0.25rem; display: block; }#fv-chart-1784293750108-vrhlpw5yh .fv-versus-bar-container { position: relative; height: 32px; display: flex; align-items: center; }#fv-chart-1784293750108-vrhlpw5yh .fv-versus-bar-left-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-end; align-items: center; }#fv-chart-1784293750108-vrhlpw5yh .fv-versus-bar-right-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-start; align-items: center; }#fv-chart-1784293750108-vrhlpw5yh .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-1784293750108-vrhlpw5yh .fv-versus-bar-left { border-radius: 4px 0 0 4px; justify-content: flex-end; padding: 0 8px; }#fv-chart-1784293750108-vrhlpw5yh .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-1784293750108-vrhlpw5yh .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-1784293750108-vrhlpw5yh .fv-inside-left { white-space: nowrap; flex-shrink: 0; }#fv-chart-1784293750108-vrhlpw5yh .fv-inside-right { white-space: nowrap; flex-shrink: 0; }#fv-chart-1784293750108-vrhlpw5yh .fv-versus-val-text { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; }#fv-chart-1784293750108-vrhlpw5yh .fv-versus-pct-diff { font-size: 12px; font-weight: 600; }#fv-chart-1784293750108-vrhlpw5yh .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-1784293750108-vrhlpw5yh .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-1784293750108-vrhlpw5yh .fv-image-compare-container { width: auto !important; margin-left: -1.5rem !important; margin-right: -1.5rem !important; margin-bottom: 2rem !important; }#fv-chart-1784293750108-vrhlpw5yh.fv-full-bleed .fv-image-compare-container { width: 100% !important; max-width: none !important; margin: 0 auto !important; }#fv-chart-1784293750108-vrhlpw5yh .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-1784293750108-vrhlpw5yh .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-1784293750108-vrhlpw5yh .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-1784293750108-vrhlpw5yh .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-1784293750108-vrhlpw5yh .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-1784293750108-vrhlpw5yh .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-1784293750108-vrhlpw5yh .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-1784293750108-vrhlpw5yh .fv-image-compare-handle.fv-image-compare-handle-square { border-radius: 6px !important; }#fv-chart-1784293750108-vrhlpw5yh .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-1784293750108-vrhlpw5yh .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-1784293750108-vrhlpw5yh .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-1784293750108-vrhlpw5yh .fv-image-compare-label-left { left: 1rem !important; }#fv-chart-1784293750108-vrhlpw5yh .fv-image-compare-label-right { right: 1rem !important; }#fv-chart-1784293750108-vrhlpw5yh .fv-image-compare-expand-btn, #fv-chart-1784293750108-vrhlpw5yh .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-1784293750108-vrhlpw5yh .fv-image-compare-expand-btn:hover, #fv-chart-1784293750108-vrhlpw5yh .fv-image-compare-close-btn:hover { background-color: rgba(0, 0, 0, 0.7) !important; }#fv-chart-1784293750108-vrhlpw5yh .fv-image-compare-close-btn { display: none !important; top: 1rem !important; bottom: auto !important; }#fv-chart-1784293750108-vrhlpw5yh .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-1784293750108-vrhlpw5yh .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-1784293750108-vrhlpw5yh .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-inner:active { cursor: grabbing !important; }#fv-chart-1784293750108-vrhlpw5yh .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-1784293750108-vrhlpw5yh .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-1784293750108-vrhlpw5yh .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-expand-btn { display: none !important; }#fv-chart-1784293750108-vrhlpw5yh .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-close-btn { display: flex !important; }#fv-chart-1784293750108-vrhlpw5yh .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-label-right { right: 4rem !important; }#fv-chart-1784293750108-vrhlpw5yh .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; }#fv-chart-1784293750108-vrhlpw5yh .fv-footer-content { text-align: center !important; width: 100% !important; }#fv-chart-1784293750108-vrhlpw5yh .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-1784293750108-vrhlpw5yh .fv-dropdown-wrapper { text-align: center !important; margin-bottom: 16px !important; margin-top: 0 !important; }#fv-chart-1784293750108-vrhlpw5yh .fv-dropdown-title-container { position: relative !important; display: inline-block !important; max-width: 100% !important; }#fv-chart-1784293750108-vrhlpw5yh .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-1784293750108-vrhlpw5yh .fv-dropdown-title:focus { outline: none !important; }#fv-chart-1784293750108-vrhlpw5yh .fv-dropdown-title::-ms-expand { display: none !important; }#fv-chart-1784293750108-vrhlpw5yh .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-1784293750108-vrhlpw5yh .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-1784293750108-vrhlpw5yh .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-1784293750108-vrhlpw5yh .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; }#fv-chart-1784293750108-vrhlpw5yh .fv-carousel-counter { font-size: 14px !important; color: #374151 !important; text-align: center !important; margin-top: 1rem !important; }#fv-chart-1784293750108-vrhlpw5yh .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-1784293750108-vrhlpw5yh .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #374151 !important; }#fv-chart-1784293750108-vrhlpw5yh .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; }#fv-chart-1784293750108-vrhlpw5yh .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-1784293750108-vrhlpw5yh .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-1784293750108-vrhlpw5yh .fv-multi-legend-swatch { width: 16px !important; height: 16px !important; border-radius: 3px !important; }#fv-chart-1784293750108-vrhlpw5yh .fv-benchmark-group { margin-bottom: 1rem !important; }#fv-chart-1784293750108-vrhlpw5yh .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-1784293750108-vrhlpw5yh .fv-bar-row, #fv-chart-1784293750108-vrhlpw5yh .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; position: relative !important; }#fv-chart-1784293750108-vrhlpw5yh .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-1784293750108-vrhlpw5yh .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-1784293750108-vrhlpw5yh .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-1784293750108-vrhlpw5yh.preview-wrapper .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1784293750108-vrhlpw5yh.preview-wrapper .fv-bar-commentary-inline:focus, #fv-chart-1784293750108-vrhlpw5yh.preview-wrapper .fv-bar-commentary-inline:focus-within, #fv-chart-1784293750108-vrhlpw5yh.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1784293750108-vrhlpw5yh.mobile-view .fv-bar-commentary-inline:focus, #fv-chart-1784293750108-vrhlpw5yh.mobile-view .fv-bar-commentary-inline:focus-within { display: flex !important; }#fv-chart-1784293750108-vrhlpw5yh .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-1784293750108-vrhlpw5yh .fv-bar:hover { opacity: 0.8 !important; }#fv-chart-1784293750108-vrhlpw5yh .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-1784293750108-vrhlpw5yh .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; }#fv-chart-1784293750108-vrhlpw5yh .fv-bar-inner-value { flex-shrink: 0 !important; }#fv-chart-1784293750108-vrhlpw5yh .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-1784293750108-vrhlpw5yh .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; }#fv-chart-1784293750108-vrhlpw5yh .fv-multi-bar-container { flex-direction: column !important; padding: 4px !important; align-items: stretch !important; gap: 4px !important; height: auto !important; }#fv-chart-1784293750108-vrhlpw5yh .fv-multi-bar-item { display: flex !important; align-items: center !important; height: 25px !important; width: 100% !important; }#fv-chart-1784293750108-vrhlpw5yh .fv-stacked-bar { display: flex !important; overflow: hidden !important; }#fv-chart-1784293750108-vrhlpw5yh .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-1784293750108-vrhlpw5yh .fv-stacked-segment:last-child { border-right: none !important; }#fv-chart-1784293750108-vrhlpw5yh .fv-segment-value { font-size: 14px !important; font-weight: bold !important; }#fv-chart-1784293750108-vrhlpw5yh .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; }#fv-chart-1784293750108-vrhlpw5yh .fv-grouped-product-title-wrapper { padding-left: 150px !important; }#fv-chart-1784293750108-vrhlpw5yh .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-1784293750108-vrhlpw5yh .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; }#fv-chart-1784293750108-vrhlpw5yh .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; }#fv-chart-1784293750108-vrhlpw5yh .fv-bar-cluster .fv-bar-container { height: 20px !important; }#fv-chart-1784293750108-vrhlpw5yh .riv-grid line {stroke: #D1D5DB !important;stroke-dasharray: 3 3 !important;}#fv-chart-1784293750108-vrhlpw5yh .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; }#fv-chart-1784293750108-vrhlpw5yh .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; }#fv-chart-1784293750108-vrhlpw5yh .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; }#fv-chart-1784293750108-vrhlpw5yh .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; }#fv-chart-1784293750108-vrhlpw5yh .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; }#fv-chart-1784293750108-vrhlpw5yh .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-1784293750108-vrhlpw5yh .fv-x-axis-ticks span { position: relative !important; }#fv-chart-1784293750108-vrhlpw5yh .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-1784293750108-vrhlpw5yh .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #374151 !important; margin-top: 8px !important; display: block !important; }#fv-chart-1784293750108-vrhlpw5yh .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-1784293750108-vrhlpw5yh .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-1784293750108-vrhlpw5yh.mobile-view .fv-pie-container,#fv-chart-1784293750108-vrhlpw5yh.labels-on-top .fv-pie-container {flex-direction: column !important; gap: 1rem !important;}#fv-chart-1784293750108-vrhlpw5yh.mobile-view .fv-grouped-product-title-wrapper,#fv-chart-1784293750108-vrhlpw5yh.labels-on-top .fv-grouped-product-title-wrapper {padding-left: 0 !important;}#fv-chart-1784293750108-vrhlpw5yh.mobile-view .fv-bar-row,#fv-chart-1784293750108-vrhlpw5yh.mobile-view .fv-stacked-product,#fv-chart-1784293750108-vrhlpw5yh.mobile-view .fv-grouped-bar-product,#fv-chart-1784293750108-vrhlpw5yh.labels-on-top .fv-bar-row,#fv-chart-1784293750108-vrhlpw5yh.labels-on-top .fv-stacked-product,#fv-chart-1784293750108-vrhlpw5yh.labels-on-top .fv-grouped-bar-product {flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important;}#fv-chart-1784293750108-vrhlpw5yh.mobile-view .fv-bar-label:not(.fv-grouped-product-title),#fv-chart-1784293750108-vrhlpw5yh.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-1784293750108-vrhlpw5yh.mobile-view .fv-bar-label,#fv-chart-1784293750108-vrhlpw5yh.mobile-view .fv-grouped-product-title,#fv-chart-1784293750108-vrhlpw5yh.labels-on-top .fv-bar-label,#fv-chart-1784293750108-vrhlpw5yh.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-1784293750108-vrhlpw5yh.mobile-view .fv-bar-container,#fv-chart-1784293750108-vrhlpw5yh.mobile-view .fv-bar-cluster,#fv-chart-1784293750108-vrhlpw5yh.labels-on-top .fv-bar-container,#fv-chart-1784293750108-vrhlpw5yh.labels-on-top .fv-bar-cluster {width: 100% !important;}#fv-chart-1784293750108-vrhlpw5yh.mobile-view .fv-bar-row .fv-bar-commentary-inline,#fv-chart-1784293750108-vrhlpw5yh.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline,#fv-chart-1784293750108-vrhlpw5yh.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus,#fv-chart-1784293750108-vrhlpw5yh.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus-within,#fv-chart-1784293750108-vrhlpw5yh.labels-on-top .fv-bar-row .fv-bar-commentary-inline,#fv-chart-1784293750108-vrhlpw5yh.labels-on-top .fv-bar-row:hover .fv-bar-commentary-inline,#fv-chart-1784293750108-vrhlpw5yh.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus,#fv-chart-1784293750108-vrhlpw5yh.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-1784293750108-vrhlpw5yh.mobile-view .fv-x-axis-wrapper,#fv-chart-1784293750108-vrhlpw5yh.labels-on-top .fv-x-axis-wrapper {margin-left: 0 !important;}#fv-chart-1784293750108-vrhlpw5yh.mobile-view .fv-x-axis-label-space,#fv-chart-1784293750108-vrhlpw5yh.labels-on-top .fv-x-axis-label-space {display: none !important;}#fv-chart-1784293750108-vrhlpw5yh.mobile-view .fv-x-axis-chart-space,#fv-chart-1784293750108-vrhlpw5yh.labels-on-top .fv-x-axis-chart-space {padding-right: 0 !important;}#fv-chart-1784293750108-vrhlpw5yh.mobile-view .fv-benchmark-title,#fv-chart-1784293750108-vrhlpw5yh.labels-on-top .fv-benchmark-title {font-size: 16px !important;}#fv-chart-1784293750108-vrhlpw5yh.mobile-view .fv-dropdown-title,#fv-chart-1784293750108-vrhlpw5yh.labels-on-top .fv-dropdown-title {font-size: 16px !important;}#fv-chart-1784293750108-vrhlpw5yh.mobile-view .fv-carousel-nav-btn,#fv-chart-1784293750108-vrhlpw5yh.labels-on-top .fv-carousel-nav-btn {padding: 8px 12px !important; font-size: 14px !important;}#fv-chart-1784293750108-vrhlpw5yh.mobile-view .fv-chart-title,#fv-chart-1784293750108-vrhlpw5yh.labels-on-top .fv-chart-title {padding: 0 8px !important;}#fv-chart-1784293750108-vrhlpw5yh.mobile-view .fv-chart-subhead,#fv-chart-1784293750108-vrhlpw5yh.labels-on-top .fv-chart-subhead {padding: 0 8px !important;}#fv-chart-1784293750108-vrhlpw5yh.mobile-view .fv-versus-header,#fv-chart-1784293750108-vrhlpw5yh.labels-on-top .fv-versus-header {flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important;}#fv-chart-1784293750108-vrhlpw5yh.mobile-view .fv-versus-select-wrapper,#fv-chart-1784293750108-vrhlpw5yh.labels-on-top .fv-versus-select-wrapper {flex: 1 !important; min-width: 0 !important; width: 100% !important;}#fv-chart-1784293750108-vrhlpw5yh.mobile-view .fv-versus-select-wrapper.fv-left,#fv-chart-1784293750108-vrhlpw5yh.labels-on-top .fv-versus-select-wrapper.fv-left {text-align: center !important; padding-right: 0 !important;}#fv-chart-1784293750108-vrhlpw5yh.mobile-view .fv-versus-select-wrapper.fv-right,#fv-chart-1784293750108-vrhlpw5yh.labels-on-top .fv-versus-select-wrapper.fv-right {text-align: center !important; padding-left: 0 !important;}#fv-chart-1784293750108-vrhlpw5yh.mobile-view .fv-versus-select.fv-select-left,#fv-chart-1784293750108-vrhlpw5yh.labels-on-top .fv-versus-select.fv-select-left {text-align: center !important;}#fv-chart-1784293750108-vrhlpw5yh.mobile-view .fv-versus-select.fv-select-right,#fv-chart-1784293750108-vrhlpw5yh.labels-on-top .fv-versus-select.fv-select-right {text-align: center !important;}#fv-chart-1784293750108-vrhlpw5yh.mobile-view .fv-versus-vs,#fv-chart-1784293750108-vrhlpw5yh.labels-on-top .fv-versus-vs {text-align: center !important; padding: 0.25rem 0 !important;}#fv-chart-1784293750108-vrhlpw5yh.mobile-view .fv-versus-select-container,#fv-chart-1784293750108-vrhlpw5yh.labels-on-top .fv-versus-select-container {max-width: 100% !important; width: 100% !important;}#fv-chart-1784293750108-vrhlpw5yh.mobile-view .fv-versus-select,#fv-chart-1784293750108-vrhlpw5yh.labels-on-top .fv-versus-select {font-size: 14px !important; width: 100% !important;}#fv-chart-1784293750108-vrhlpw5yh.mobile-view .fv-stl-shop-all-btn,#fv-chart-1784293750108-vrhlpw5yh.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-1784293750108-vrhlpw5yh.mobile-view .fv-stl-shop-all-logo,#fv-chart-1784293750108-vrhlpw5yh.mobile-view .fv-stl-shop-all-icon,#fv-chart-1784293750108-vrhlpw5yh.labels-on-top .fv-stl-shop-all-logo,#fv-chart-1784293750108-vrhlpw5yh.labels-on-top .fv-stl-shop-all-icon {width: 2rem !important; height: 2rem !important;}#fv-chart-1784293750108-vrhlpw5yh.mobile-view .fv-stl-shop-all-icon svg,#fv-chart-1784293750108-vrhlpw5yh.labels-on-top .fv-stl-shop-all-icon svg {width: 14px !important; height: 14px !important;}#fv-chart-1784293750108-vrhlpw5yh.mobile-view .fv-bar-commentary-inline,#fv-chart-1784293750108-vrhlpw5yh.labels-on-top .fv-bar-commentary-inline {display: block !important; margin-left: 0 !important; width: 100% !important;}#fv-chart-1784293750108-vrhlpw5yh.mobile-view .fv-y-axis-title { padding-left: 5% !important; }#fv-chart-1784293750108-vrhlpw5yh.mobile-view.fv-contains-line-chart .fv-footer-content {margin-left: -1rem !important;margin-right: -1rem !important;}@media (max-width: 599px) {#fv-chart-1784293750108-vrhlpw5yh .fv-pie-container {flex-direction: column !important; gap: 1rem !important;}#fv-chart-1784293750108-vrhlpw5yh .fv-grouped-product-title-wrapper {padding-left: 0 !important;}#fv-chart-1784293750108-vrhlpw5yh .fv-bar-row,#fv-chart-1784293750108-vrhlpw5yh .fv-stacked-product,#fv-chart-1784293750108-vrhlpw5yh .fv-grouped-bar-product {flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important;}#fv-chart-1784293750108-vrhlpw5yh .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-1784293750108-vrhlpw5yh .fv-bar-label,#fv-chart-1784293750108-vrhlpw5yh .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-1784293750108-vrhlpw5yh .fv-bar-container,#fv-chart-1784293750108-vrhlpw5yh .fv-bar-cluster {width: 100% !important;}#fv-chart-1784293750108-vrhlpw5yh .fv-bar-row .fv-bar-commentary-inline,#fv-chart-1784293750108-vrhlpw5yh .fv-bar-row:hover .fv-bar-commentary-inline,#fv-chart-1784293750108-vrhlpw5yh .fv-bar-row .fv-bar-commentary-inline:focus,#fv-chart-1784293750108-vrhlpw5yh .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-1784293750108-vrhlpw5yh .fv-x-axis-wrapper {margin-left: 0 !important;}#fv-chart-1784293750108-vrhlpw5yh .fv-x-axis-label-space {display: none !important;}#fv-chart-1784293750108-vrhlpw5yh .fv-x-axis-chart-space {padding-right: 0 !important;}#fv-chart-1784293750108-vrhlpw5yh .fv-benchmark-title {font-size: 16px !important;}#fv-chart-1784293750108-vrhlpw5yh .fv-dropdown-title {font-size: 16px !important;}#fv-chart-1784293750108-vrhlpw5yh .fv-carousel-nav-btn {padding: 8px 12px !important; font-size: 14px !important;}#fv-chart-1784293750108-vrhlpw5yh .fv-chart-title {padding: 0 8px !important;}#fv-chart-1784293750108-vrhlpw5yh .fv-chart-subhead {padding: 0 8px !important;}#fv-chart-1784293750108-vrhlpw5yh .fv-versus-header {flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important;}#fv-chart-1784293750108-vrhlpw5yh .fv-versus-select-wrapper {flex: 1 !important; min-width: 0 !important; width: 100% !important;}#fv-chart-1784293750108-vrhlpw5yh .fv-versus-select-wrapper.fv-left {text-align: center !important; padding-right: 0 !important;}#fv-chart-1784293750108-vrhlpw5yh .fv-versus-select-wrapper.fv-right {text-align: center !important; padding-left: 0 !important;}#fv-chart-1784293750108-vrhlpw5yh .fv-versus-select.fv-select-left {text-align: center !important;}#fv-chart-1784293750108-vrhlpw5yh .fv-versus-select.fv-select-right {text-align: center !important;}#fv-chart-1784293750108-vrhlpw5yh .fv-versus-vs {text-align: center !important; padding: 0.25rem 0 !important;}#fv-chart-1784293750108-vrhlpw5yh .fv-versus-select-container {max-width: 100% !important; width: 100% !important;}#fv-chart-1784293750108-vrhlpw5yh .fv-versus-select {font-size: 14px !important; width: 100% !important;}#fv-chart-1784293750108-vrhlpw5yh .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-1784293750108-vrhlpw5yh .fv-stl-shop-all-logo,#fv-chart-1784293750108-vrhlpw5yh .fv-stl-shop-all-icon {width: 2rem !important; height: 2rem !important;}#fv-chart-1784293750108-vrhlpw5yh .fv-stl-shop-all-icon svg {width: 14px !important; height: 14px !important;}#fv-chart-1784293750108-vrhlpw5yh .fv-bar-commentary-inline {display: block !important; margin-left: 0 !important; width: 100% !important;}#fv-chart-1784293750108-vrhlpw5yh .fv-y-axis-title { padding-left: 5% !important; }#fv-chart-1784293750108-vrhlpw5yh.fv-contains-line-chart .fv-footer-content {margin-left: -1rem !important;margin-right: -1rem !important;}}{"@context": "https://schema.org","@type": "Dataset","name": "Overall Chart Title","description": "Subhead to describe the test and what's being measured and why","creator": {"@type": "Organization","name": "TechRadar","logo": "https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png"},"isAccessibleForFree": true,"dateCreated": "2026-07-17T13:09:10.108Z","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": []}Before moppingAfter moppingwindow.iFrameResizer = {heightCalculationMethod: 'taggedElement'};(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-1784293750108-vrhlpw5yh', false); });} else {initialize('fv-chart-1784293750108-vrhlpw5yh', false);}})();

Meanwhile, the S2’s obstacle avoidance saw it drive neatly around a shoe, a sock and a USB cable strewn across the floor. I was impressed by how close it got to each, with moving or ingesting anything.

Overall, the Eufy Omni S2 performed brilliantly. I would recommend using Standard intensity and Standard suction with two passes most of the time, then up the suction to Turbo or Cyclone for a deeper clean. The latter hitting just 70 decibels was also impressive — for context, my Dyson V10 stick vacuum is 90 dB at medium power.

FutureFutureFuture

I only encountered one serious problem with the S2, and unfortunately it led to a replacement unit being provided by Eufy. The first S2 performed perfectly for a month, but developed a fault where the robot and docking station lost their connection. Several reboots and lots of advice from customer services failed to find a solution, so a second S2 was delivered and the original went back to Eufy for an inspection.

Naturally, this is disappointing for such an expensive product. But I was impressed by Eufy’s customer service department — which I approached as a customer and not a journalist — and how quickly the problem was resolved. The second unit performed perfectly throughout the rest of my test.

  • Performance score: 4.5/5
Eufy Omni S2: app
  • Easy to use
  • Lots of configurability
  • Also handles Eufy security products
  • Option to charge at night — great if you have an EV tariff

The Eufy app gets better with every revision, and today it’s one of the best robovac apps I’ve ever used. Everything is logically laid out, with just the right amount of adjustability on offer to keep both newcomers and power users happy. The app is quick, responsive and presents everything in a way that’s easy to understand.

I especially like how it adds virtual furniture to your floor maps, which makes it easier to understand the layout and visualize where the robot is. Editing floor plans also works well, with simple tools for splitting, combining and renaming rooms after the robot has created an initial (but not always accurate) map of your home. Multiple floormaps can also be created, making it easy to save a second map for your bedrooms upstairs, for example.

FutureFuture

Another feature I like is how pre-defined tasks can be created. I have one called “After dinner”, which tells the S2 to vacuum and mop my kitchen a certain way. A single tap of this from the Eufy app home screen, and the robot gets to work.

Since getting a puppy I’ve come to value Eufy’s child lock function, which disables the buttons on top of the robot – handy for both inquisitive children and dogs alike. I also like the off-peak charging function, where you can configure the S2 to only charge its battery at certain times of day. Since I have an electric car and an EV tariff, I’ve set the robovac to only charge at night, when my electricity is much cheaper.

  • App score: 4.5/5
Should you buy the Eufy Omni S2?Eufy Omni S2 score card

Attribute

Notes

Score

Value

The Eufy Omni S2 really is very expensive indeed. It isn’t the most expensive robovac of all time, but it’s right up there. And while its lofty price makes alternatives look like excellent value, the S2 doesn’t necessarily feel like a rip-off. It’s a high-quality appliance that performs brilliantly and looks good too.

3.5/5

Design

Eufy knocked it out of the park with the S2’s design. It’s aesthetically pleasing, has a smaller footprint than some rivals, and the robot slips beneath most furniture. It also drives over raised rugs and thresholds better than before and keeps itself incredibly clean. All I wish is for a way to prevent the waste water tank from getting quite so pungent — frequent empties are a must!

5/5

Performance

The Omni S2 is much better at vacuuming than the S1 was, while being just as good at mopping and navigation. All of these attributes are now top-notch, while the onboard fragrance system is a lovely extra touch and the improved ability to clamber over raised thresholds is very welcome

4.5/5

App

Eufy’s app is great. Its robovac section is simpler to navigate than the slightly cluttered security section, with an excellent mapping system, handy shortcuts for frequently used cleaning chores, and some little features that are massively useful — like off-peak charging and the child/pet lock.

5/5

Buy it if

You want the best, regardless of price

Yes, it’s very expensive. But if you want the best this might well be it. Everything about the Omni S2 contributes to a premium ownership experience, from the app and the hardware, to the fragrance, cleaning performance and self-cleaning.

Mopping and vacuuming are equally important

Many robovacs are better at one task than the other — Eufy’s own Omni S1 mopped far better than it vacuumed — but with the S2 excellent mopping is paired with powerful vacuuming.

Self-cleaning is a must

The S2’s self-cleaning abilities are the best I’ve seen. Even after weeks of use in a busy home with a puppy, the robot’s dust bin, brushes, rollers and mop are like new. My only advice is to empty the waste water tank frequently, since older dirty water really does stink when poured away.

Don't buy it if

You're on a budget

There are a lot of very good robovacs that cost significantly less than the Omni S2. They don’t perform quite as well, but if you value vacuuming oliver mopping, for example, your money could be better spent (and saved!) elsewhere. If you have a lot of stairs, consider spending the same on a robovac and a conventional stick vacuum instead of splurging it all on the S2.

You don't want ongoing costs

This is a factor for all robovacs, since they mostly use dust bags and their brushes and rollers eventually need replacing. But the S2’s running costs are greater than most because Eufy sells its own mopping detergent in a specially-shaped bottle, and you’ll have to buy fragrance refills from Eufy too. Eufy’s official replacement parts kit is £80, three fragrance refills are £25 and the detergent is £20.

How I tested the Eufy Omni S2

I lived with the Eufy Omni S2 for several weeks before writing this review. During that time it was used exclusively to vacuum the carpets and mop the floors of my house. I tested its cleaning abilities, tried some of the included fragrance diffusers, and noted how its self-cleaning systems fared after many hours of use.

I then carried out a number of specific tests to understand how well it cleans different types of debris from carpet and hard floors, how effective its mopping system is, how good it is at avoiding obstacles, and how loud it is.

First reviewed July 2026

Pages