Work Text:
“Ugh. This feels so weird. Why couldn’t we have gone with?”
Catra rolled her eyes and picked up her head from where it’d been resting on Adora’s shins. They were in the barracks, alone for the first time in ages. And, true to character, Adora refused to enjoy even a moment of stillness.
“Because we already passed the maze simulation last week. The other cadets need to learn how to figure it out for themselves without you holding their hand through the entire thing. This is supposed to be a reward, Adora.”
Adora huffed and dislodged Catra off of her legs for a second time. “No, we were given free time to go over battle formations. Not lay in bed.”
Catra sat up and scowled, “Tanks in the front, then skiffs, then foot soldiers, yada yada. It’s not rocket science, and don’t pretend you don’t know every Horde formation backwards and forwards anyway.” Catra shoved at Adora’s knees, trying to get her to lay down again, but groaned when the action sparked a mischievous light in Adora’s eyes.
Before Catra could untangle her feet from the blankets Adora was already putting her in a headlock. Catra swore and Adora dug the fingers of her free hand into her ribs, making Catra laugh even as she struggled and hissed.
“Get off me you big blonde idiot,” Catra said as she managed to twist out from under Adora’s arm. She scrambled backwards, but only to create enough distance for a decent pounce, and Adora shrieked as she was bowled over backwards.
They wrestled for a few moments, each trying to end up on top, and it was only because they got too close to the edge of the bunk and Adora had to sacrifice her position to keep them from falling off that Catra triumphed.
“Hah!” She crowed, pinning Adora’s arms with her knees. Catra sat back and preened as her tail lashed in victory.
“I should’ve just let you fall on the floor,” Adora grumbled, but her faux-anger fell away as she gazed up at Catra. Catra wasn’t exactly sure what Adora saw, but it made her eyes soften and pupils dilate. It wasn’t the first time Catra had caught Adora looking at her with that expression. She didn’t really know what it meant, Adora probably didn’t either, but it always made her stomach feel swoopy. Which was new. Adora had looked at her thousands of times growing up but it had only ever started to feel like… this over the past few months.
Catra ran on impulse, she had to – she wasn’t as physically strong as the other cadets (well, as most of them. Kyle was useless in every way possible) and had to rely on her speed and flexibility. So, instead of trying to figure it out or letting Adora up, she succumbed to the draw that’d been building over the past weeks. All she wanted was to be close to Adora, all the time, and it didn’t make sense, but Catra leaned in and nuzzled her face against Adora’s cheek.
Adora stilled but didn’t push her away. In fact, she managed to pull her hand out from under Catra’s knee and use it to cup her jaw and hold her close. Catra’s heart started beating even though there wasn’t any reason for it. She nuzzled in harder, rubbing her cheekbone against Adora’s jaw and nosing at her neck.
It felt different than the other times they’d cuddled. Catra was sure the fur on her tail must have been on end because the atmosphere in the barracks felt like the crackle off a storm front moving in.
It felt good, but also not enough. Adora leaned her head back to offer more skin for Catra to touch, and she was breathing in little shaky breaths. Catra almost paused to ask if she was alright, but she knew Adora would tell her if she wasn’t, so she kept going. She brought her hands up and cupped Adora’s jaw and tilted it to the side so she could press her lips against the hollow underneath. There - that felt better. Catra drug her lips down further and then, purely on instinct, opened them wide enough so that she could taste Adora’s skin with the tip of her tongue.
Adora tensed like she’d been shocked and Catra sat up a little so she could meet her eyes. Adora’s face was bright red, flush spreading across her cheekbones and ears and even down her neck where Catra had been touching. Her eyes, though, were focused intently on Catra. Like nothing else existed. The attention was intoxicating and Catra moved her hands down to grasp Adora’s biceps. Adora tensed again and grasped at the sheets with her fingers, and it made her muscles flex and ripple under Catra’s touch.
“What are you doing?” Adora whispered, never taking her eyes away from Catra’s.
Catra ignored the question, she had no clue what she was doing or what was going on or why she felt like this – hot and thrumming with something she had no words for, but wasn’t about to admit that to Adora of all people. Instead she slowly ducked her head again, giving Adora time to object, and asked, “Do you want me to stop?”
Adora shifted underneath her before shaking her head. Catra had half a mind to make her say it out loud, but the pull was too great and she moved her face back against Adora’s instead. This time though when she tried to mouth at her cheekbone, Adora lifted her chin so that Catra’s lips fell on Adora’s instead. And oh, that was the feeling Catra had been chasing. She hadn’t known until their lips met- she’d never seen anyone do this before - but it was good; better than anything she’d ever felt before.
Adora breathed out against Catra’s lips and it should’ve been gross but it wasn’t, it wasn’t at all, and Catra pressed harder against her, chasing the pull that seemed to only grow and grow. Her stomach felt tight and tingly and it whirled as Adora opened her mouth enough so that Catra’s top lip slotted between Adora’s. They both moaned together and Adora’s fists were in her hair instead of the blankets and the tugging sent sparks down Catra’s spine.
It only felt natural to let the tip of her tongue flick out against Adora’s lip, and then inside when Adora opened her mouth wider. Adora’s tongue was soft, unlike her own, and when she licked into her mouth Catra whined with a mix of pleasure and building frustration. She pressed herself tighter against Adora, needing more without knowing what more was.
Catra stroked up Adora’s bicep, letting herself admire her friend’s strong frame. They had both been lanky children, but as they grew into adulthood Catra’s muscles had stayed lean and wiry while Adora’s had become chiseled, bulking up to fit her new height.
Usually being forced to acknowledge Adora’s extra few inches and superior brute strength meant Catra had lost a sparring session and sent her into a surly mood, but today Catra let herself explore, surprised at how much she enjoyed the feeling of them flexing and moving underneath her fingertips.
Catra nipped at Adora’s bottom lip and the other girl pulled back to suck in a ragged gasp. Catra darted back in, seeing an opening, and let her teeth drag along Adora’s pulse point. This seemed to finally snap Adora’s restraint. She strained upwards and Catra’s ears flattened in surprise as Adora flipped them over so that her hips straddled Catra’s and both of her wrists were caught up in one of Adora’s hands.
Catra hissed, but she didn’t really mean it. Adora’s iron-grip sent that sparking feeling down into her stomach again and Catra squirmed and flashed her teeth in a snarl at the compromising position.
Adora’s eyes locked onto Catra’s mouth- no, her teeth, and Adora brought up her forearm to press underneath Catra’s chin. Catra instinctively tilted her head back and opened her mouth wider to make sure she could still breathe and Adora actually whined.
“Really?” Catra hissed again, teasing.
Adora just shook her head and said, “You have no idea how amazing you are.”
Whatever retort Catra had lined up whited out with the rest of her thoughts. Something deep inside of her started to throb alongside her heartbeat.
Adora gazed down at her, her eyes fever-bright, hesitating for only one uncharacteristic moment. Then she gently pulled back Catra’s top lip with her thumb and teased her mouth open as Catra bemusedly but willingly let her jaw loosen. Adora slid her thumb further inside Catra’s mouth, tracing the sharp point of her canine.
Catra was suddenly reminded of being years younger, teething, wanting nothing but to gnaw and cut her fangs on anything she could find. She remembered her Horde minders swatting and snarling at her when she tried. But Adora never pushed her away, even as a little kid. She would let Catra nip at her and test her aching teeth on the inside of her wrist or the knuckles of her fingers, only yelping if Catra bit too hard, but never pulling away. (Adora never backed down, ever.) It was up to Catra to decide if she wanted to bite harder, cause pain.
She never wanted to. The act of Adora giving her the option was enough to satiate her.
Without realizing it, Adora taught Catra how to bite with just enough pressure to ride the line between stimulation and pain. Eventually Catra stopped getting punished by her superiors (at least for that reason) and natural bite inhibition was acquired from play wrestling and mouthing lazily at Adora’s ankle and pant leg before falling asleep at night.
Now, though, Adora was on top of her, and her chest heaved in a way that was decidedly not sleepy. She pleaded with Catra with her eyes, then her words, “Please, I just-” before cutting off, not knowing what to even ask for.
But Catra knew Adora better than anyone else in Etheria, so she pulled back her lips even wider in a toothy invitation. She let Adora trace her incisors with her thumb and pointer finger for a few moments and then, impatient for something she couldn’t put into words, used her sandpaper tongue to lave across them. Adora trembled and her hips stuttered down against Catra. Adora sharply exhaled and Catra gasped. Always in sync, yet distinctly opposed.
Catra’s inhalation had let the fingers in her mouth slip inside further to stroke over her pointed predator’s molars. Adora lingered for a second longer, then pulled back and allowed Catra to say, “I didn’t know you were so jealous of my teeth.” Catra’s intended smug tone was ruined by the trembling rasp in her voice; she’d never heard herself sound like that before.
Catra didn’t like that the tremble might insinuate vulnerability, because she wasn’t, so before Adora could reply Catra grasped her forearm and sunk her teeth into the spot on the underside of her wrist where she could hear blood pulsing.
Catra bit harder than she usually would have, but whatever was possessing Adora was making her own blood spark and zing through her system, faster than it did even in battle simulations. Adora didn’t seem to mind; the second Catra’s jaws closed on her, she collapsed down on top of her, and her moan reverberated against Catra’s throat.
Adora was heavy, and Catra would normally complain that Adora was squishing her, but right then the feeling of Adora’s weight on top of her was intoxicating. Catra wiggled for a moment, trying to see if she could squirm out from under Adora, but Adora tightened her her knees around Catra’s thighs and held her fast, and this for some reason started a pulsing, ravenous beat between Catra’s legs.
“You’re so-” Adora breathed into her skin.
Catra released her wrist and gave the bite marks a soothing lick so she could reply, “I’m so what?”
Adora shook her head, frustrated, and pressed into her instead – hips slotted against hips, and Catra suddenly became aware of Adora’s chest sliding against her own.
“I don’t know, I just… I want.”
“Want what? What does that even mean?” Catra asked, unable to keep from smirking at her, even as she struggled to find reason in her own head. Because she wanted, too.
Adora didn’t take the bait and instead rubbed her cheek against Catra’s again. Catra couldn’t stop the purr that rumbled up into her chest anymore than she could slow her ever-racing heartbeat.
Adora kissed her and the next time they broke apart both of them were breathing hard. Adora’s fingers brushed over Catra’s chest and Catra surprised herself by arching up into the touch. She’d never given much thought to her breasts before; they were small and didn’t seem to do much. But now her nipples were hard and straining through her jumpsuit and Catra pinched at one of them and reveled in the spike of pleasure that shot through her in response.
“Wait, can I?” Adora asked.
Catra tilted her head and shrugged, feigning nonchalance even as every cell in her body screamed yesyesyesplease yes. “Sure, I guess.”
Adora lifted her up a bit, effortlessly, so she could unzip the back of Catra’s suit. Catra helped her push it down to her waist and settled back onto the bed. Adora looked a little shell-shocked and Catra felt more than a little smug as her eyes raked over her body.
Catra put her hands behind her head and stretched, pushing her chest up towards Adora as she did so. This was all so weird, but it was just Adora, and there was nothing Catra did better than push her buttons. If her boobs happened to be one of them, as strange as it seemed, Catra wasn’t going to hold back. “I can go back to doing it myself if you’re not gonna.”
Adora finally stopped staring at her chest and said, very seriously, “You’re beautiful, Catra.”
That, combined with her fingers brushing gently over Catra’s nipple sent her into another plane of existence. Her eyes slammed shut and she pushed up into Adora’s hands, demanding instead of teasing this time. Adora cupped both of her breasts and rubbed her thumbs over Catra’s nipples until they felt so tight and straining that Catra thought she might actually pass out.
“Does it feel good?” Adora asked. There were tones of wonder in her voice and it made Catra flush with embarrassment.
“You tell me,” Catra replied breathlessly, trying to grab back some semblance of control as she pawed at Adora’s shirt until the other girl complied and shucked it off. Now it was Catra’s turn to stare, because holy shit, her own boobs might have been nothing special but Adora’s were legitimately amazing. Her nipples were just as hard as Catra’s and their light pink coloring stood out deliciously against Adora’s pale skin.
Catra caught one between her fingertips and, moving purely on instinct at this point, leaned up to run her tongue over the other one.
“Oh my god,” Adora whimpered. Catra took that as a go ahead to suck harder and Adora started to rock her hips against Catra’s.
The feelings in her stomach had taken up shop lower, between Catra’s legs in an area she’d never paid that much attention to. She wrapped her legs around Adora’s waist and pushed back as Adora ground down. But it wasn’t enough, none of it was enough; Catra had been winding tighter and tighter this entire time and she was on fire. She felt like an insatiable black hole that would keep devouring until it swallowed the whole universe.
“Can you get this off of me,” Catra pleaded (Catra never asked for help. She never begged. Not to anyone) and pulled her jumpsuit down to where Adora was straddling her.
Adora had the hungry gleam in her eyes that Catra secretly loved, even though she mostly saw it in battle simulations when Adora was slamming her against the mat. Adora got it when she faced down a challenge; so sure of her own prowess that she never even considered the possibility of failure.
She lifted Catra with one strong arm and used the other to peel off the rest of her jumpsuit. Instead of letting her back down against the bed right away though, Adora stroked the strip of fur that went down Catra’s spine to where her tail started. Catra keened, no longer self-conscious of any noises.
She would say anything, do anything, to make sure Adora never stopped touching her. Adora did it again and stroked down the length of her tail this time, too. Catra’s heat pulsed and she bit down on her own arm just to give the feelings some sort of outlet.
A rustling of fabric brought her attention back and Adora finally laid her back on the bed so that she could kick off her own pants and underwear.
Catra wanted to stare at Adora’s body (it was somehow so different in this context than it was in the locker room) but Adora wasted no time in climbing on top of her again, this time though she shoved her thigh between Catra’s legs and straddled one of Catra’s.
Catra gave up all pretenses of trying to free herself from Adora’s grasp because holy hell, there was finally friction right where she needed it and it took her breath away.
“Is this okay?” Adora gasped next to her ear. Her breasts slid against Catra’s bare chest and her leg pressed up into Catra and nothing had ever been more okay, not in Catra’s whole life.
“Yes, yes, just,” Catra scrabbled at her back, careful not to let her claws bite in too deeply, but not knowing what to ask for, “just move.”
Adora pressed her lips against Catra’s again and Catra shoved her tongue into Adora’s mouth to try and keep herself from crying out as Adora began to grind down against her thigh. Catra felt like she was dripping onto the sheets and she was sure Adora could feel her wetness against her skin as she moved against her, but Catra was so beyond caring.
She grabbed at Adora’s butt with her hands and pulled her harder as the other girl rocked against her. Adora was making little sobbing noises of pleasure into Catra’s ear and Catra felt an animalistic instinct take her over.
She arched up and met every roll of Adora’s hips with one of her own. Soon, their rhythm became faster and more frantic as Adora humped desperately against her. Catra urged her on with her teeth and her claws and the black hole inside of her yawned so wide and hungry she thought she might die.
“Ah, ah,” Adora babbled into Catra’s shoulder. Catra’s own purr was more of an incessant growl at that point and she lost all reason beyond chasing the coiling feeling inside of her until either it snapped or she did.
Catra thrust up against Adora’s thigh and then leaned forward to bury her teeth into the spot where Adora’s shoulder met her neck. She bit down and shook her head hard enough to tug her fangs against Adora’s muscle and Adora muffled a howl into the pillow next to Catra’s head.
Adora reached desperately between them and rubbed between Catra’s legs even as her own hips stuttered to a choking, straining stillness. Adora’s fingers slipping through Catra’s wetness and sliding roughly against her was finally enough to send Catra careening over the crest of the wave she’d been building for what seemed like eternity.
Catra’s insides tensed and released and it felt like the greatest relief in all of Etheria. Bliss oscillated through her, over and over until Catra thought she might run out of air. Catra kept her teeth buried in Adora’s shoulder as she shuddered above her.
The aftershocks trembled out between them and Adora gave a few more rocks of her hips, chasing the feeling.
Adora tipped to the side and flopped down next to her and Catra instantly missed her weight on top of her. She whimpered, still past the point of caring, and Adora tugged her tight against her chest, encircling her in strong arms.
“it’s okay, you’re okay,” She whispered into Catra’s hair. Catra let herself be held as her heart rate slowed back to normal levels and her lungs stopped heaving.
She tasted a bit of copper in her mouth and she tried to scoot backwards so she could look at Adora’s shoulder.
“I think you’re bleeding,” She said worriedly, but Adora kept her held close.
“I’m fine.”
“Adora-”
“Catra, I mean it. That was better than anything I’ve ever felt.”
Catra sighed and tucked her head back under Adora’s chin. She started to lick at Adora’s neck and shoulder, cleaning the wound with long healing rasps of her tongue.
“I didn’t mean to hurt you. What even was all that? I’ve never felt that way before.”
She felt Adora shrug. “You didn’t hurt me. And I have no idea. Nobody in the Horde mentioned doing anything like that to me before.”
Catra cringed at that mental image, “Ew, do you think Shadow Weaver’s ever done that with anyone before? Oh my god, do you think with Hordak-”
“Gross, Catra!”
“What, you brought it up, not me!”
“I absolutely did not.”
Catra rolled her eyes and reached down to tug the blanket over them. “Whatever. Will you finally take a nap with me now? The other cadets aren’t due back for hours. We can go over formations when we wake up.”
Adora surprisingly didn’t put up a fight. She simply snuggled down against Catra and hummed when Catra’s tail wrapped around her ankle.
“Thank you,” she murmured.
Catra pricked her ears up and asked, “For what?”
“You know what. Thank you for doing that with me, whatever it was. It felt really good.”
“Yeah, yeah. Just don’t go doing it with like, Lonnie or whoever now that you’ve figured it out.”
“I would never,” Adora said solemnly. “Only you.”
Catra’s heart squeezed and she tightened her tail around Adora’s leg. She couldn’t imagine doing that with anyone else besides Adora. She didn’t know why she’d ever want to. She gave Adora one last lick and then shut her eyes and willed herself to sleep.
Two days later, Adora got promoted to Force Captain, stole a skiff, and a magic sword ruined everything.