Work Header

the heart of the storm

Work Text:

Viktor was probably imagining it. He’d had a perfect night with Yuuri, so his brain was probably concocting some insane way for it to go terribly wrong. He was imagining the smell of smoke in the distance, or it was… nothing important. Maybe a small fire? Restaurants had small fires all the time, right? Probably? Something wasn’t going terribly wrong?

Yuuri and Viktor were in a cab on the way back from their first date. Yuuri was leaning against him, looking unfairly beautiful, talking softly about their dogs. He was holding his phone and showing him pictures of his tiny puppy Vicchan, and cooing every time that Viktor brought up one of Makkachin. They were almost to Yuuri’s apartment, and Viktor didn’t want it to end. 

He’d already decided what he’d do next – he’d get out of the car at Yuuri’s apartment, walk him up to the door. He’d make sure that he asked for a second date, and then kiss him. God, Viktor had wanted to kiss Yuuri all night, but he had been waiting for the right moment, to make sure that it was perfect. He had never been on a date as amazing as this one had been, and he wasn’t going to ruin it. 

It would be the perfect ending to the perfect night.

In the distance, something exploded. 

Damn it.

Yuuri immediately sat up as the driver slammed on the brakes. Viktor looked outside. Just as he’d expected – the city was on fire. A building a few streets in front of them exploded. As Viktor moved towards Yuuri, something scraped against the top of their car.

The car in front of them went flying. It slammed into a building with a terrifying crash and an unreasonably enormous explosion. Yuuri flinched, and Viktor wrapped an arm around his waist. 

“Maybe we should get out of the car,” he suggested. They were pulling near to the shopping mall, where a crowd had gathered outside. If he let go of Yuuri’s hand while in that crowd, he could play it off as an accident in the shuffle, and it would give him time to change.

“I’d like that,” Yuuri agreed, flinching again at the sound of another explosion. His fingers were digging into Viktor’s arm and eyes darting over the crowd. He probably wanted to get away, which was completely understandable when he was so defenseless against what was happening.

Viktor pulled out his wallet and handed the driver a couple bills and quickly scrawling his name on the back of an expired coupon. “Get out of the car and get to safety,” he said to the taxi driver, grabbing Yuuri’s hand. “If that doesn’t cover our fee, just call me after this is over and I’ll happily pay the difference!”

Finally, they were out of the taxi and Viktor tugged Yuuri into the crowd, holding loosely onto his hand. He would make sure that Yuuri was safe in the middle of the crowd, somewhere that Viktor could keep an eye on him, and then he would quickly change and come out to fight.

But –

Shit. He’d already lost Yuuri! He hadn’t even been meaning to, but people had been pushing against them as they ran into the crowd, Yuuri’s hand must have gotten knocked out of his and – Viktor breathed out. He was trying to keep all of the civilians safe, was he not? Therefore, it didn’t matter if he didn’t know exactly where Yuuri was. Maybe it was better, because it meant that he wouldn’t foolishly risk anyone else to go save him.

Viktor ducked off into an abandoned store, quickly pulling off his clothes, stirring up a strong wind around him in order to cover himself. As the wind dispersed, he stepped out, fully clothed. His hair was still mostly in the updo he’d taken so long to make perfect for his date, but he’d taken it out enough to not cause suspicion.

He didn’t usually have someone so close to him anywhere near involved with his fights. No one who could recognize what he had been wearing earlier. But he didn’t know Yuuri nearly well enough to let it slip that he was Zephyr. This was their first date, and that didn’t exactly seem to be quite the thing to reveal then.

Viktor waved his hand to create another wind, pushing his way through the crowd to get back out of the shopping center, focusing on the clouds to clear the sky, making the fight easier for himself. 

The crowd had done what they always did and gathered at the worst of it and Viktor pressed forward, glad that they saw him and started to make a path. He scanned the tops of the buildings for the villains, trying to figure out who was attacking. The sun was shining brightly on the scene, but he could quickly stir up a storm if he had to.

Suddenly, he heard commotion from above and he rushed forward, his hands outstretched. All he could see was a flash of silver and yellow, and in the distance another building exploded. Screams came from the building as a figure landed, making the fire burn brighter before he jumped off again, swooping straight down.

As he drifted toward Viktor, Viktor realized what was happening. He recognized those wings, long metallic feathers, serrated at the edges to be nearly as dangerous as his explosions. Those wings weren’t a good sign. Those wings meant someone Viktor knew well.

It was Pyre. Viktor ducked underneath the incoming wings, reaching up to the clouds to gather them thicker, to throw him off. His wings wouldn’t be nearly as much of an advantage if it was so windy that he couldn’t control his flight. It might endanger nearby pedestrians, but there weren’t enough on scene that that was going to be a problem. Most had fled when things started to explode.

Pyre was thrown off as soon as the winds picked up, his metallic wings throwing him from the sky onto the ground. He tumbled down, but almost immediately jumped back to his feet, his hands in front of him, already gathering small explosions into his hands. His eyes lit up in anger as he started to walk forward. “Hey, idiot!” he shouted immediately, traipsing forward.

Viktor started to back up, gathering the winds behind him again. Maybe if he led Pyre into a whirlwind, that would discourage him from –

“Watch out!” Viktor spun around and someone was tumbling from the air above him, out of… nowhere. His eyes widened and he stepped out of the way. The other man landed in front of him, ripping open the sky in front of them and grabbing onto Viktor’s arm. Viktor yelped but followed him, right as the spot he had just been standing exploded.

“I’m sorry, I should have warned you I was here, but I could see he was about to attack, and you weren’t ready, and your winds weren’t going to hold off an explosion of that size,” the other hero babbled, pushing his bangs out of his eyes. His hair was slicked back from his face, held away from eyes that were… uncomfortably familiar.

“Who are you?“ Viktor asked. Had they fought together before? Something about the shine of his eyes was… impossible to ignore.

“I’m… Call me Fatale, right now.” Fatale’s cape blew in the breeze, warm brown eyes meeting Viktor’s. He turned from Viktor to keep his eyes on the street.

Right now? Was there something that he should be calling Fatale later? He couldn’t think about that - he had to find Yuuri, and he had to get these villains out of the city. If Fatale wanted to talk more, they could talk when everything around them wasn’t on fire and when Viktor’s date wasn’t missing.

“Zephyr,” he introduced, finally tearing his eyes away. He gathered the clouds to put out the fires that Pyre had caused, letting the rain fall to put it out. “Have you faced Pyre before?” They stood back to back, watching the sky for any sign of the villain.

“I have. I don’t think he’s working alone, though. The fires are him, definitely, and I think that the explosions are, too. But something about this… is different. It’s larger scale than Pyre usually tries, he must have someone with him.” Fatale then stepped away, his eyes wide. He pointed to the top of a building, and Viktor let some of the rain clear so he could also look in that direction. Someone was standing on top of the roof, and it took no time to recognize who it was, even from the distance.

A dark purple cape billowed behind him, and even from the distance, Viktor could see the darkness around his eyes. He wouldn’t mistake the spiked black hair and makeup thick (and smudged) enough to call a mask. Prince manipulated the shadows, filling them with a somniferous gas that would put you to sleep, allowing other forms of his magic to take control. Viktor swallowed. “Can you get me there?” he asked, turning to look at Fatale. Fatale nodded immediately. “You handle Pyre, he should be confused from the winds. I’ll get Prince.”

Fatale came up behind him, wrapping his arms around his waist. “Just close your eyes!” was his  only warning before the world around him warped. He closed his eyes tightly, stumbling a little as he was let go, now on top of the roof. He looked at Fatale with wide eyes, but he’d already vanished again, taking care of something else, apparently. Viktor stirred up the winds, watching for the villain. A park nearby had clothes left out to dry, and he reached out for them, using the winds to rip the clothes lines from the ground toward him.

The city was cloudy. Viktor had gathered the clouds to throw Pyre off of his path, and thrown the entire city into shadow, the perfect playground for Prince to work with. Pyre and Prince working together… it didn’t work out well for Viktor.  

“Zephyr!” he shouted as he approached, and Viktor could see the purple fumes coming from his body – his magic was lacing all of the shadows around them. “I told you I’d hunt you down eventually.” Prince smirked, gathering misty wisps of his magic and moving them along with him. He stepped closer to Viktor and Viktor stepped back.

“And you’ve surprised me that you actually did it!” Viktor answered, trying not to be noticed as he let the winds calm down. If he could bring out the sun, then he would be able to stop Prince. With it this dark, though, it was never going to happen.

“It’s too late.” Prince stared at the sky, wearing a bright smile. “You’re trying to make it sunny? It’s too late for you,” Prince laughed.

“That’s… not… true.” He could feel the magic approaching him, and he fought to keep his eyes open.

“It sure looks like it is.” Prince had backed him into a corner, so no matter how brightly VIktor got the sun to shine through the clouds, he would be trapped in the shadows. How had he not noticed that!? “You shouldn’t have run away! Now you’ve left me behind in the sun, but look around you. It’s all shadows!”

“You’ve gotten better,” Viktor said, his cheeks red as he voiced his surprise. How long could he hold his breath? What would possibly knock Prince away from him?

 “Oh, Zephyr? How does it feel, to watch me from where you’re standing now?” Prince asked with a laugh. The purple magic started to drift closer to Viktor, and he cursed himself for getting distracted with the conversation. He had to try to break up the shadows. Viktor’s eyes drooped, and he blinked, trying to keep them open. He had to get rid of some of the shadows. Viktor focused, covering his mouth. He just had to keep from breathing in while the clouds separated. It was getting harder and harder, though, as the mist rose around him. “Your reign on the city has ended, Zephyr. From now on, it’s my time to shine!”

Viktor collapsed onto the ground, and barely saw a figure in the distance standing in front of Prince, throwing himself toward him. “Yuuri,” he whispered dimly as the mist thickened around him. “Is Yuuri safe?” Viktor’s eyes slipped shut. He couldn’t open them, no matter how hard he tried.

As his eyes shut, Prince screamed loudly. Viktor wished he could open his eyes, wished he could see what was happening. “I’m an evil witch! I cast a spell on him, he’ll sleep forever!” Prince shouted.

“Shut! Up!” Was that… Yuuri? It sounded like Yuuri.

Viktor slipped unconscious, his final thought lost in his garbled confusion. Why would Yuuri be fighting Prince?

As he woke up, the fog was lifted from the rooftop, and Fatale stood with his back to him, tying Prince up with the clothesline Viktor had grabbed earlier. “Fatale?” Viktor’s mouth tasted like leftover sleep, and he pushed himself up to a sitting position. “Where’s Pyre?”

“I left him on the ground, the police are taking care of him now. I’m tying Prince up, and then I need to get out of here, I left someone on the ground, I need to get back to him, he’s probably panicked, he was trying to take care of me,” Fatale said, standing up once Prince was tied, his eyes wide.

“Shit, Yuuri!” Viktor hadn’t forgotten Yuuri, but he had forgotten hearing his voice on the rooftop right before he’d fallen asleep. “Have… is…” He tried to form his question, but Fatale was staring at him, eyes wide.

“Did… you say Yuuri?” he asked quietly, and Viktor looked up, nodding his head. How was he going to explain this!? His hair was completely free, loose around his shoulders, and no explanation in the world would be good enough for Yuuri, standing on the ground, waiting for him.

“I was on a date before… this happened,” Viktor explained, stepping ahead of Fatale, gathering enough winds to pull him off of the roof. His hair and cape billowed behind him but Fatale stepped forward.

“Viktor?” Fatale asked quietly. Viktor froze in place, staring at Fatale. “Are…” Fatale looked around them before stepping forward, closer. “Are you Viktor Nikiforov?” his words were nearly covered with the wind that Viktor had summoned to take him back to Yuuri, but he heard them perfectly clearly. “Are you… looking for Yuuri Katsuki?”

“Yes?” Viktor said. 

Fatale covered his mouth with his hands, a bright smile starting to cross his face. “Viktor… I’m… I’m Yuuri. I left you, when we were in the mall. I was terrified that Pyre was going to do something worse if I didn’t find him, so I dropped your hand, I was hoping you wouldn’t notice, and I ran, and you’re here, you’re Zephyr?” 

Fatale, Yuuri, stared at Viktor with wide eyes and he couldn’t believe himself. “I… left you behind for the same reason,” he said, laughing softly before a smile filled his face. The winds picked up faster. “We should always fight together,” Viktor said. Yuuri looked at him in surprise, making a confused noise and Viktor continued, “This worked well, didn’t it? Our fighting styles and powers were so complementary and we took them down so fast and you were amazing, I’ve never seen someone fight as gracefully as you did.”

“Oh,” Yuuri looked up at him with wide eyes. “You… you don’t need to say all of that about me, Zephyr. I’m just…”

“Amazing,” Viktor finished for him. Everything about Yuuri was amazing, even if he wasn’t an amazingly strong and brave hero. Civilian Yuuri had stolen his heart, hero Fatale had only made it worse. “You’re just amazing. We didn’t know who each other were, but you saved me. I couldn’t have done this without you. Stay by my side, fight crime with me.”

“I… okay.” Yuuri ducked his head down with a beautiful blush, and Viktor couldn’t help himself. The sounds of cop cars were fast approaching on the streets, and Yuuri would be needed on the ground to help move them up, but he had to ask before they were done –

“And what would you say if I asked you on a second date?” Viktor’s eyes glimmered in excitement as he reached out to take Yuuri’s hand, so they could go down together, the remaining gusts of wind blowing his hair and cape out behind him. He didn’t know what he would do if Yuuri said no, but he had already agreed to fighting crime with him, and it had seemed like their date was going well, before the attack at least.

“I would say yes.” Yuuri’s cheeks were red as he answered, taking Viktor’s hand as he stared out overtop the buildings, his hold tightening. Viktor smiled, turning to him and throwing his arms around his neck, holding him close as he kissed him softly.

Their first kiss. On the rooftop of a skyscraper, Viktor’s storm winds blowing far too strongly behind them. The police sirens and lights filling the streets below them and a few villains tied up behind. Those were the details that were forgettable, for Viktor. All of those crazy things meant nothing.

What meant something was Yuuri’s lips on his own, the soft press of his fingers against Viktor’s sides. The soft smile as Yuuri pulled away from him, standing hand in hand as he closed his eyes and transported them to the ground.

It wasn’t exactly the happy ending Viktor wanted at the beginning, but that wasn’t a problem. It was still amazing, and he got everything that he wanted. 

Maybe, even, it was more. He didn’t have to hide his only secret from Yuuri, and Yuuri had his off of his back as well. They would be able to protect the city together, and when there was no danger, hang out, and play with their dogs. It was better than what Viktor had originally wanted, really.

It was the beginning of a perfect partnership.