Actions

Work Header

Shared Citrus

Summary:

Sora and Kairi finally share that paopu fruit, and spend the night together before the final battle.

Written as my tribute to the series' 20th anniversary.

Notes:

So, how about that Kingdom Hearts 20th anniversary, huh? (Nearly 21st anniversary now!) Well, having been with this series since the start and having shipped SoKai for just as long, I figured it was about time I graced this series with my “talents”. I’ve decided to age them up to 18 here, not just to avoid potentially squicky content, but also because damn, I REFUSE to believe that a 20-plus-year saga took place in just TWO canonical years’ time. So yeah, they’re definitely at least 18 by the time KH3 happens in this continuity.

No beta reader, so be kind, please.

(See the end of the work for more notes.)

Work Text:

Kairi almost couldn’t believe it.  After all these years, after hopeful childhood doodles carved in rock, after memories lost and regained, after promises to find one another that were barely kept, she had finally gotten to share a paopu fruit with Sora.  The childhood crush she’d never outgrown, her handsome prince saving the universe, sunshine incarnate in dark times as the greatest threat the worlds had ever faced loomed on ahead.

 

She wasn’t sure how she’d imagined the semi-forbidden star shaped fruit to taste.  After all, how was something that had the power to permanently bind two souls’ fates together supposed to taste?  Sure, it might just be a legend, but the tang on her tongue was just like that of any other citrus she’d tried.  Maybe a bit like lime?  Or perhaps lemon?  The taste was incidental to the fact that she saw the sweet juice dripping down her beloved’s lip from the bite he’d taken, and she reached out to gently brush it from him before it ran down his chin.

 

Sora froze at the soft touch of the pad of her thumb to his lips, looking back at Kairi with wide blue eyes that conveyed equal parts adoration and momentary confusion.  She’d never been so bold before.  She’d barely had the chance to be.  The world had split apart—quite literally, in many ways—when they’d barely become teens, and then he was off, fighting on adventures across the worlds.  And she’d been there.  Just waiting.  First stuck in his heart, and then finishing high school.  Growing up.  She’d thought about him so often, during the times she was given the privilege of remembering him at all.  She’d briefly entertained trying to move on, but she just… couldn’t.  No matter what, her heart called out to him.  So she’d waited.

 

Kairi was so, so tired of waiting.

 

She impulsively rushed forward then, capturing his lips with hers.  She tried to be gentle at first, waiting for him to respond as she entwined her fingers in the front of his shirt, holding him close.  It took Sora a second for his brain to process the situation, but as soon as he did he threw his arms around her, pulling her to him as he returned her kiss, awkwardly still holding the star shaped fruit in one hand, trying not to stain the back of her dress with it.

 

“Whoops, sorry!” Kairi pulled back and giggled as she realized what he was trying to do.  She took the fruit from him and set it on the tree trunk behind her.  “Now, where were we?”

 

She let Sora pull her in this time, one hand solidly on her back as the other trailed up to cradle her head, fingers tangling in her hair as their lips met again.  A gentle press of her tongue at the seam of his lips, and he let her deepen the kiss, their tongues tangling as the golden rays of the sunset fell around them.  He tasted like the fruit they’d just shared, and honestly, if it weren’t for the potential imminent apocalypse, it would be almost exactly the romantic fantasy she’d had since she was a girl.

 

Indeed, she got the sense that Sora was perhaps a bit too romantic, or perhaps shy in this respect.  His hands, though they wandered slightly, stayed resolutely and properly in her hair and on her back.  Hers, meanwhile, started to wander, one hand flat against his chest to feel his racing heartbeat as the other trailed down to his hip, before wandering once again to playfully settle on his ass as her lips made their way to his neck.

 

“K…Kairi, are you sure?” his voice hitched as she found a sensitive spot at his throat, his whole body going still as he awaited her answer.

 

“Sora, I want you.  I don’t want to wait to see what the future holds,” she answered confidently, pulling away from his neck to meet his soft blue gaze with her own.  She took one of his hands and guided him to cup her breast over her dress.  “Make love to me?” She needed to know, to ask directly, to make her desires clear.  No more waiting.

 

“…Here?” was her beloved’s adorably perplexed answer.

 

She took stock of their surroundings.  Sure, the beach was technically public space, in that there was a lack of walls around them, but everyone else had left, with only the two of them around.  Sure, the sandy environment might not be ideal, but damn, by Kingdom Hearts, she just wanted the man in front of her.  She didn’t need a perfectly soft bed strewn with rose petals; he was enough, anywhere.

 

“I mean,” she answered, “If you’re alright with that…”

 

Sora paused, seemingly having to take effort to get his brain to think while being overloaded with thoughts of holy shit I just kissed Kairi and not only did I kiss her, but she just asked me for more.  

 

“Um, I think…” he responded, forcing the words out through the nervous thrill of young romance, “I think a bed would be more comfortable.  I’ll, uh, row us back to the main island?”  Maybe the few minutes of rowing would give him a chance to get his raging boner under control long enough to actually help see to any of Kairi’s needs… shit, did she know how turned on he was from just kissing her?  Could she tell?  He was caught between embarrassed that he was tenting his pants from what little they’d done and rationalizing that, well, if things were going the way they seemed, she’d be getting much more familiar with his anatomy anyway.

 

She giggled at his answer.  “Of course!  My place or yours?”

 

“Uhhh…” that really was the question, wasn’t it?  “I think yours would be better,” he answered after a moment’s pause.  She agreed, and he took her by the hand and led her back to the boat, taking the oars and steadily rowing them towards the main island.  Sora was relieved at her choice; as nerve wracking as it was to be going to her room rather than his, he also remembered that he hadn’t had a chance to update his room since he was fourteen—not exactly the most romantic of surroundings there!

 

She giggled as she led him in through the back door, both of them holding back half-nervous half-thrilled laughs as they tried to be quiet, attempting to make it to her room without waking the Mayor or his wife.  For a moment, they both felt a glimpse of what their teenage years might have been, perhaps should have been, had not a variety of events intervened.  They both shook off that cloud of missed opportunities as Kairi ushered Sora into her bedroom at last, closing and locking the door behind her.  No looking back, just the glow of the present and the hope of the future.

 

Neither of them paid much attention to her room; they were far too focused on each other to think further about surroundings.  Kairi was on him the second the door was securely locked; she already felt like she’d spent far too long parted from his sweet lips and soft kisses.  Now that they were ensured privacy, she grew bolder, pawing at the various buttons and fastenings on his clothing.  Thankfully the fairies had given him something relatively understandable now; for the most part it was a shirt, jacket, and cargo pants, nothing too magically inclined to figure out…

 

He was quick to help her out, although a slight blush spread over his cheeks and down his chest as he threw his shirt and jacket to the floor, leaving his upper half bare.  Sure, she’d seen him shirtless before at the beach, but the context was so different now…

 

For her part, Kairi was shameless about looking her fill, reaching out to gently touch his chest (she could touch him now!), trailing her fingers along his skin as she explored him, her eyes scanning his entire form, before settling on his lips, and then meeting his eyes again.  The cold metal of his necklace against his bare chest provided a momentary contrast against the heat he felt as, a moment later, Kairi shifted to undoing the fastenings of her own clothing, unzipping her dress and leaving herself in her bra and the shorts she wore under the skirt.

 

“Kairi, you’re…” Sora’s breath caught in his throat as she went ahead and tossed her bra aside as well, too impatient to wait to see if Sora knew anything about a bra.  She knew that they had all night with no fear of intrusions, but still, impatience was her rule for the evening.  Waiting had been too much of her relationship with Sora thus far, and she stood by that.

 

 “You’re beautiful…” he managed to finished his thought, impressed with himself that he’d managed to pull proper words form the mush of his thoughts.  Where Kairi was determined to finally get the night she’d fantasized about for ages, Sora was still catching up that he was THIS lucky to be spending it with her.  That she wanted him like this, not just as a friend.  It was still surreal in the best way.

 

She giggled and thanked him, only to retort “And you’re still wearing too many clothes!” with a playful smile as she kicked off her shoes and tossed aside her shorts and panties, leaving her totally bare.

 

Sora stared at her for a moment, slack-jawed.  Kairi had no fear that he was disappointed in what he saw; she was well assured that he found her attractive by now, and she was confident in her own looks.  Instead, she was more concerned that he seemed too in awe of her appearance.  He was going to have to come back down to earth a bit if this was actually going to go anywhere!

 

“Are, uh, you ok?  Earth to Sora!” She quipped, playfully waving a hand in front of his face.

 

“Oh, um, sorry Kai, uhhh… how do I put this…” he answered as he jolted back into the present.  “I honestly don’t know how long I’m going to…to last.”  Really, at this point it felt like the scant pressure from his briefs and shorts was the only thing containing him, and that even the cool air of the room might finally push him over the edge.  Because, holy shit, the girl of his dreams was standing naked in front of him and was asking him for sex!  No amount of either dangerous adventuring between the worlds, nor awkward parental talks from traveling companions who’d had to serve as parental substitutes, had prepared him for the reality of actually being in a situation remotely like this.

 

Kairi couldn’t help but give a good natured laugh at that.  “Silly goose!  You can just use your hands and your mouth on me then!”

 

Welp, there went the last of Sora’s brain cells.   Like, yeah, he’d fantasized about that too, but to hear her just say it out loud… to know she’d thought about him like that…to be asked…  He felt a bit stupid as his mouth only managed an “Oh….okay…”

 

“So, touch me,” she said, taking his hand and confidently placing it on her breast, inviting him to explore her as shamelessly as she had with him a moment ago.  She was relieved that he wasn’t shocked by her boldness, even as her hand trembled slightly as she guided his hands.

 

“I don’t know… can you show me what you like?  How to make you feel good?”

 

With a sweet smile and a soft “of course”, Kairi kept her hand over his as she directed his touch.  She left one of his hands on her breast, letting him feel the soft weight in his palm, while the other she directed downward, fingertips trailing over her stomach, unintentionally tickling a bit.  She adjusted to help him press more firmly so she wouldn’t have that uncomfortable feeling, and he took note of where she was ticklish.  He wouldn’t use it against her, of course…at least not now.  Perhaps in the future, if they were guaranteed one, and he was feeling more playful…

 

He zapped right back to the present as his fingers brushed against the soft, neatly trimmed bit of red hair she kept at the apex of her thighs.  She met his gaze again then, checking in with him, making sure he was still comfortable with how she was directing him.  She did her best to hide her own nerves; she wanted this so badly, and hoped he wouldn’t be too nervous or change his mind about her.  She could feel how his hand trembled, though, especially as she directed his fingers to her cleft, dipping to gather some slick from her opening before moving his now-wet touch to her clit.  She involuntarily gasped at the intense feeling of someone else—of Sora—touching her there for the first time.  His breath caught, too, at feeling directly just how much she wanted him.  It was reassuring, to know she was as aroused as he was.

 

“This is—ah—really sensitive,” she tried to explain to him, words difficult to grasp as she directed him for a few strokes.  “So be gentle.”  After directing his fingers for a few circles, she let go of his hand to drape both of hers around his neck as she leaned into him, her whole body leaning into his touch as he tried to find a rhythm she liked on her clit.  He’d mostly forgotten her tit in his hand, far too focused on the far more intimate touch she’d allowed him, but she didn’t care.  He was a quick learner and it wasn’t long before she started to feel weak in the knees.

 

“Bed…we should probably move to the bed,” she directed, not wanting to interrupt any of their pleasure by actually losing her balance.  It took something of an awkward shuffle to get them there, Kairi reaching behind herself to shove the blankets aside as they flopped onto the soft sheets.  She reclined, getting comfortable and setting a pillow behind her head, legs shamelessly spread as she pulled Sora back over her and directed his touch back where she wanted it.

 

He grew bolder in his explorations, and she became confident enough to release his hand, settling back to enjoy the sparks of pleasure that fed the flames of her desire.  She let her eyes shamelessly wander over him, seeing those royal blue eyes dark with desire as he watched her, seeking assurance that he was doing well, that he was making her feel good.  Soon she was begging for him to slip his fingers inside her, her eyes sliding shut and head falling back against the pillows, hand slipping down again to direct him.  She arched her back—an involuntary, instinctive response to the primal pleasure—as he followed her direction and slipped two fingers inside, curling them forward like she’d suggested based on her own self-exploration she’d done in his long absence.

 

Maybe it was the fact that she was so aroused already, or maybe it was the fact that Sora was so wonderfully attentive, but it barely took any time for him to stroke her to her peak.  She keened his name, arching her back and letting her hips buck against his hand as she came, walls fluttering around his fingers.  He gasped in awe at the sight and the feeling, pride growing in his chest at knowing he’d brought her to this, that he’d made her feel this good.  His mind also ran wild with the feeling of her clenching around his fingers.  Would he even survive feeling that on his cock?

 

Fuck me,” she asked—or, rather, ordered— breathlessly, still panting to recover from her orgasm.  “I wanna feel you inside me.”  Her eyes slipped open again, catching sight of his heated, if still slightly dazed, gaze.  Wow, so he would be blessed with knowing how she felt… assuming he could last more than two seconds.  And wait, no, that important talk he’d been subjected to…

 

“Uh…do we have protection?” he managed to ask.  As much as he really wanted to indulge her request, now was not the time for unintended consequences.  He was more than content to please her with his hands and mouth…he hadn’t even gotten to taste her yet!  He tentatively brought his fingers to his mouth to sample the fluids left on his fingers, reveling in the opportunity to know her so intimately.  Kairi moaned at the sight, before remembering his question.

 

“Um, not in the traditional sense, but I have this…”

 

He watched as she quickly weaved a spell, and cast it over the both of them, a green light briefly shimmering over both of their bodies.

 

“Yeah, an awkward part of keyblade training was Yen Sid of all people teaching me and Lea contraceptive spells,” she explained, wincing at the embarrassing memory.  “Apparently it’s a subset of healing magic, and obviously it’s important, but still…I had to learn it from Yen Sid.  With Lea sitting right there too!”

 

“I got the talk from Goofy,” Sora bluntly admitted.  Apparently Goofy was the only one of his companions who was a parent, and had thus taken it upon himself to give Sora a “fatherly talk” about the facts of life.  It had been…something else.  Sora and Kairi stared at each other for a moment before bursting into a fit of giggles.  At least they could bond over the embarrassing memories.

 

“Get up here!” she playfully ordered, patting the bed beside her as the giggle fit subsided.  “And you’re still too dressed!”

 

In a flash Sora rid himself of his remaining clothing—leaving him bare besides the chain with the crown charm that circled his neck— and plopped himself down beside her, eagerly letting her pull him into a kiss that was somehow equal parts smiley and searingly passionate.  After a moment she pulled away to look her fill of him, relishing in finally getting to see him naked in turn.  He blushed under her scrutiny (Did she mind his lack of chest hair?  Or the nest of brown curls between his legs?), shy despite the reassurance of her very approving, hungry gaze as she moved to straddle his hips.

 

“Is this alright?” she asked, just a hint of nervousness breaking through her confident demeanor as she balanced over him.

 

“More than alright!” was his automatic response that he felt he might have answered almost too quickly.  It was better she be on top, he figured, so she could control things to her comfort.  Plus, it wasn’t like he knew quite what to do yet.  He took himself in hand to align his cock at her entrance, trying to handle his racing emotions and heartbeat alike as he felt her warm, wet heat tease at his tip.  Holy shit, this was really happening

 

She gently lowered her hips, easing onto him, head thrown back as a pleasured sigh fell from her lips.  She was so aroused, so ready, there was no discomfort at all, just the incredible feeling of his length inside her, stretching her walls just right.  His hands moved to rest on her hips as she took him to the hilt, pausing to let them both adjust to the new sensations.  Kairi’s heart raced as the realization flooded over her, that this was finally real and happening, that they were finally so intimately joined after so long apart.  Her hand rested over his chest, and she could feel the racing of his heart as they looked into each others’ eyes.  Hopefully, this memory truly could last a lifetime.

 

On pure heated instinct, she started gently rocking her hips, seeking more sensation to fulfill the overwhelming need that burned through her.  Just the slightest motion, the feel of him stretching her, as she found an angle that let her rub her clit against him as she moved, felt incredible.  It was so cheesy to think that they were made for each other, but in that moment it really felt that way.  He gasped at the feeling, hips bucking up automatically to seek more stimulation, fingertips digging into her hips.  It was awkward at first, the two of them trying to find a rhythm that worked, but neither of them could find it in themselves to be embarrassed as they eventually figured things out.  She guided his hand to her clit to rub her while she shifted against him, and oh it felt so good…

 

Until, somewhat unused to being in this position, her leg started to cramp a bit, throwing off her rhythm again.  She huffed a laugh, half out of sheer frustration and half to diffuse the awkwardness, even though she knew she needn’t worry with him.  Instead, Sora looked at her with concern, and she quickly assured him she was alright, just, of course, not used to this.

 

“Do you want to try being on top?” she asked, a thrill rushing through her as she saw a spark in his eyes at her suggestion.

 

“Yes!” he answered, possibly, once again, a bit too quickly.  But, she was just as eager to let him try.  Damn, she hated that they only had this one guaranteed night.  She wanted to try everything that they could do together, to make up for all that lost time, to prepare for the risk of the battle they’d be running into tomorrow.  It wasn’t fair, truly, that they might only get this one paltry night in order to learn each other like this, that they didn’t have the time.  The worries started to spin through Kairi’s mind, as the distractions and fears of the world beyond started to bleed in past the lovers’ bliss.

 

It was easy to dismiss the worries again, though, as they swapped their positions, giggling at the awkward tangle of limbs as they moved, exchanging shy smiles and a quick kiss as he found his place between her legs again, watching her expression dissolve into bliss when he pushed back inside.  They stayed like that for a moment again, as physically close as two lovers could be, just holding each other and exchanging soft, heated kisses.  She started rocking her hips, instinctively seeking more stimulation, which he was eager to provide.  The rhythm was still, admittedly, a bit awkward.  Why wouldn’t it be?  They were both new to this, and new to each other’s bodies, and neither had expected a so-called “perfect” first time.  But it was oh so thrilling still, in its own way.  She tried to memorize everything about the moment: the feel of his skin against hers, the way their breath mingled between kisses, the lust and love mixed in his eyes, the way the light glinted off his crown necklace as it swayed in the space between them with each thrust…

 

Indeed, Sora was doing the same, trying to commit all of this to memory—her soft moans and gasps, the taste of her kisses, the bounce of her breasts...  But for the both of them, the pure distracting lust took over, raw sensation overriding everything as they finally found a rhythm.  Emotion and inexperience combined to quickly rush them towards the edge.

 

“Kairi, I…” he tried to warn her, brain almost too frazzled to remember how to speak…

 

“It’s okay!  It’s okay!” she gasped out, desperate to get her message across when she, too, was already close to her peak again.  “You already took care of me!”  Then, as he increased his pace to chase his ever-closer finish, the passion overtaking her as well, “Come for me, just come for me…” spilled unbidden from her lips, like a prayer.  On pure instinct, her legs wrapped around his hips, a physical expression of her sheer need.

 

Hearing her half-command, half-beg for him finally pushed him over.  Sora held her close, his face buried in the side of hers as he trembled with the intensity of it.  He wanted to call her name, but he was far too beyond words, with only heated moans escaping his lips instead.  The sound of him coming, plus the feeling of his cock twitching as he came fully-sheathed within her, pushed Kairi to her second peak as well—less intense than the first, but she was grateful that it left her with the lucidity to intentionally gasp his name in his ear.  She felt the pleasant shiver run down his spine at the sound and the intensity of feeling her clench on his sensitive, just-spent length.

 

They stayed like that for a moment, holding each other close, basking in the bright afterglow.  The feel of each other’s chest rising and falling with each panting breath as they tried to recover, the warm sweat on one another’s skin, the press of his weight atop her… even the awkward bits took on a soft, almost magical feeling.

 

“Um, Sora, I should probably get up to pee,” she shattered the peaceful moment, shoving gently at his shoulder, unfortunately remembering all too vividly the way Yen Sid had stressed the importance of avoiding UTIs after sex.

 

“Yeah, I was just about to say… anyways, we’ll cuddle after,” he agreed, rolling off of her, getting flashbacks to his own talk with Goofy and reasonably jealous that at least Yen Sid was at least human.

 

It was an awkward run over to the bathroom, hand between her legs to contain any mess.

 

“Um, sorry…about that…” Sora awkwardly called in her direction, scratching the back of his neck in his usual nervous way.  “It, um, happened too fast for me to really think...”

 

“What?  Oh, no, it’s fine!  I expected it, and, well, that’s why I had the spell handy,” she called back.  A moment later she reappeared in the room, warm washcloth in hand to give to him.  “And, um, well,” she continued as he took it to clean himself up, “I kind of wanted to feel that.”

 

Sora was grateful he hadn’t been drinking anything at the moment, as he would’ve awkwardly sputtered at that.  His combination of surprise and lust must have been evident.

 

“I mean,” she continued quickly, noticing his reaction, “We knew this was possibly the only time we might have together, and I wanted to…to be that close.”

 

He didn’t have any response other than an awkward “oh,” but didn’t stop to let himself over-think it as Kairi slid back into bed next to him.  They wasted no time settling into each others’ arms, relishing in the quiet stillness of getting to hold each other.  She settled her head against his chest, listening to his heartbeat and the quiet rise and fall of his breath as he settled into sleep.  She felt the tiredness start to overtake her too, and for a moment the fear of what was on the horizon shot through her mind—Xehanort, the battle, the fate of the worlds…

 

She forced herself to stay in the moment one last time.  No, whatever lay beyond this night—well, perhaps early morning, by now—was a little later on.  No, she wouldn’t let the future scare her.  She and Sora had shared that paopu together, declared their love for each other.  Their fates were intertwined.  The worlds were prepared for the oncoming conflict; even she’d been trained to fight.  It would be fine.  Nothing was like before.

Notes:

In case it wasn’t clear, in addition to being a reference to the sharing of the paopu fruit and all its romantic implications, the title is also a reference to the fact that, when I started reading KH fics years and years ago, sexy fanfics were rated by “citrus”, with lime being T to light M and lemon being hard M to E rated fics. Given that this is also my love letter to my first real fandom, I HAD to include references to the classic Citrus Scale writers used back then.