Work Text:
Deep bass occupied the party-lit club, several people were squeezed around each other, it was a chaotic scene. The LED lights sliced through the dimness in violent flashes of violet and electric blue, catching on glittered eyelids and sweaty skin.
Keonho stood at the center of it all, he claimed his place near the hallway entrance, shoulder leaning against the wall. From there, he could greet guests flooding in and more importantly to keep an eye on the main doors.
He wore a fitted white tank that hugged his body just right, the thin fabric doing nothing to hide the toned lines of his shoulders and collarbones. Around his neck, a simple goth chain rested against his skin, layered with a silver necklace that drew attention to the elegant slope of his throat.
Low-rise jeans clung to his hips, secured by a Calvin Klein belt that peeked out just enough. The waistband of his boxers showed above it, careless in the most intentional, and sensual way.
Rings decorated his fingers, some were minimal silver bands and some were heavier and flashier, catching light whenever he lifted his hand. When he brushed his hair back, the metal flashed under the strobes.
“Happy birthday, Keonho!” One of the guests greeted Keonho. He gave him a nod and muttered a thank you.
“Hey babe, happy birthday.” Another one entered, it was his senior from one of his classes, she stood on her tip toes and gave him a quick peck on the cheek. “You look crazy good tonight.” Keonho grinned and accepted it, brushing her hair as he mouthed, “thanks for coming.” before guiding her to the cocktail tables.
As time passed, a ton of guests continued to swarm inside, greeting him here and there. He gave them nods, half-smiles, brief hugs. The more people poured in, the tighter his jaw became
It was starting to get exhausting, he lowkey wasn’t built for this— this forced small talks, pretending he remembered names he definitely did not. His social battery drained faster than his phone on one percent. And the only person who could reset it was late.
Keonho glanced at his phone for what had to be the fourteenth time in ten minutes. There weren't any new notifications. Seonghyeon already told him earlier that he might arrive late because of errands at his university club. Keonho shrugged it off and told him to do what he needs to do and not to rush.
Now, he regretted acting cool.
Keonho’s not the biggest people-talker in the world, and he isn’t the nicest person either. Conversing with this many people in one night is like asking the impossible from him. All these guests who are in his party right now were all invited by Martin himself.
He didn’t even recognize most of the faces passing by. They greeted him like they’d known him for years. Apparently, being friends with Martin meant you inherited his entire social network.
Still, he trusted Martin’s taste. If anything, the party wouldn’t be boring because Martin was here.
Okay, he knows that it’s his birthday, but it wasn’t included in his plan to invite their whole university to his party. He booked the club for his actual circle— club members, close friends, and his block mates. Martin was the one who went and invited everyone else, so it’s totally fair that he let himself relax and make his friend reap the consequences of his own actions.
It’s Martin anyways, this is just a piece of cake to him.
He exhaled slowly and rolled his shoulders, the music vibrating through his chest. The hallway lights flickered, his gaze snapped toward the entrance.
It wasn’t him.
He clicked his tongue softly, ruffling his hair in frustration before fixing it again. He hated waiting. He hated wanting someone this obviously. Like, dude. It was his birthday. He shouldn’t be standing near the entrance like he was the bouncer?
Someone brushed against his arm, asking for directions, and then another group tugged him into a quick photo.
Keonho could only stiffly abide by their requests.
By the time he finished attending to his guests, Keonho really could feel exhaustion seeping through his veins, accompanied with a little bit of tipsiness here and there. How did his friends do this? How did Martin laugh endlessly, how did James bounce from group to group, how did Juhoon sit with a crowd he wasn’t familiar with?
Even with the alcohol’s help, Keonho’s still struggling with keeping the energy high. But he knew he had to do it because it is his party after all.
The main entrance opened as another group made their way through. Keonho heaved a sigh and turned around, already expecting to see people he didn’t know.
And his prediction was right, he didn’t know anybody. Good news was that behind them revealed the person he had been waiting for all along.
Seonghyeon’s gaze roamed around, trying to catch a glimpse of Keonho’s eyes. He wore a gray printed tee over long black sleeves underneath, the layered contrast making him look effortlessly put together. Several necklaces against his collarbone, matching silver studs lined his ears. In his hand was a bouquet, roses, tulips, and honeysuckles woven together, soft colors against the harsh club lighting.
Keonho felt his breath hitch. He ran past the guests he was supposed to welcome. Straight to Seonghyeon. The older male caught his movements, his expression widening in happiness. They exchanged embraces in the middle of the entrance, making everybody chuckle and whistle.
Keonho wrapped his arms tightly around Seonghyeon’s waist, pulling him flush against his body like he needed proof that he was actually there. The bouquet crinkled softly between them.
They swayed slightly from the momentum
Keonho pressed their foreheads together, breathing him in— familiar cologne, faint trace of the night air, something uniquely his.
“I really thought you wouldn’t make it.” He complained lightly, lips pushing into a playful pout.
Seonghyeon laughed, the sound low and warm even against the thundering bass. He tapped Keonho’s chest gently. “Me? Not making it to your party?” His brows lifted. “You’re joking.”
Let me ask you a question really quickly; do you still apply public decency when you’re in a club? Well, Keonho doesn’t, that’s why he wasted no time to crash his lips against Seonghyeon, earning cheers from the bystanders. Public decency in a club? Please.
He heard his friends’ voices the loudest, specifically James. But, man that didn’t matter
Seonghyeon chuckled softly against his mouth before kissing him back properly, steadying them both with one hand on Keonho’s shoulder. The other still held the bouquet.
Keonho couldn’t hold back the urge to pull Seonghyeon even closer. He sighed into Seonghyeon’s hot mouth, his hands rubbing the older male’s waist, tension melting out of his shoulders for the first time since the party started. He’s refueling.
He had missed him so damn much.
They pulled apart slowly, neither of them wanted to be the first to let go.
Keonho lingered for a second longer, nose brushing lightly against Seonghyeon’s neck as he inhaled. Memorizing his scent before he peeled himself away.
“You took too long, I swear,” he muttered, though the edge from earlier completely melted
Seonghyeon chuckled, holding the bouquet in between them. “I’m sorry, hm? I’m here now.”
Up close, Keonho noticed the details— roses in deep red, pale tulips tucked carefully at the side, honeysuckles woven delicately through the stems. And hidden between the flowers were chocolate bars, their wrappers peeking out like a secret
Seonghyeon tilted his head slightly. “Happy birthday. And happy Valentine’s, Keonho.”
Keonho accepted the bouquet, fingers careful despite the rings weighing down his hands. His ears turned faintly pink under the club lights, the shifting colors hiding it. He leaned down and took a slow inhale of the flowers.
The smell satisfied him.
Keonho looked up with a sheepish, almost shy smile. “Aren’t you a loverboy?”
“Just this day, kid.” The older male retorts, sticking to Keonho closer.
Keonho immediately clicked his tongue, raising a finger to Seonghyeon’s lips to stop him. “Ah,” he said. “We’re the same age now. You don’t get to call me kid anymore. You had your fill.”
Seonghyeon’s gaze dropped to the finger pressed lightly against his mouth, he wrapped his hand around Keonho’s wrist and lowered it. “Oh?” He murmured. “One birthday and suddenly you think you’re grown?”
“I am grown.”
“Mm.” Seonghyeon stepped closer, “you still pout when you don’t get attention.”
Keonho was about to reply when Martin appeared in front of them, calling out to him.
“Time’s up, lovers,” Martin interrupted, tapping Keonho’s shoulder. He gave Seonghyeon a quick hug, “I’ll borrow your boyfriend for a bit, yeah? I want to introduce him to someone.” He informed as if he was asking Seonghyeon for permission.
Seonghyeon laughed at him, waving him off. “Go. Before he starts sulking.”
Keonho knit his eyebrows together “I don’t sulk.”
“You do,” Martin and Seonghyeon said at the same time.
Martin didn’t waste another second. He grabbed Keonho by the wrist and started dragging him toward the dance floor. Keonho twisted slightly to look back at Seonghyeon, who was already smiling, shaking his head fondly.
“You’ve got the worst timing ever,” Keonho grumbled, crossing his arms even as he allowed himself to be pulled.
“You’ll thank me. Look,” Martin replied, leaning close so he could be heard over the music. He pointed toward the center of the dance floor, where bodies were moving under flashing lights. “That’s the guy I was talking about.”
Keonho squinted. All he saw was silhouettes, sweat, and too many people jumping at once.
“And which guy… is that supposed to be?” He asked flatly. Martin talked nonstop about dancers, event organizers, random geniuses he met at coffee shops. Keonho could barely keep up with half the names.
“The one who sold me a slot, Riki, dude.” Martin said, nudging him. “You said you wanted one.”
“For real?”
“Yeah,” Martin replied.
Keonho hesitated at first. He mentioned it weeks ago, wanting a performance slot at one of the bigger underground showcases. Something beyond university events. Martin said he would see what he could do. He didn’t expect to get the results so quickly.
They squeezed through the bodies until they were close enough to the circle, “That’s him,” Martin said, almost smug.
Keonho tapped the guy lightly on the shoulder. When he turned, Keonho held his gaze. “I heard you’re the one managing the slots.”
The talk ended on a successful note, the guy told him that when the underground opens, he’ll be sold a slot immediately. Once they were done, Keonho bolted out of that floor before his brain could catch up. The bass from the speakers thudded against his ribs, light flashing against the walls in streaks of violet and blue. He wanted to break the news to Seonghyeon as fast as he could.
He looked around to find Seonghyeon, it’s really hard to look for someone in such a big crowd. He caught a glimpse of the gray tee among the ones standing near the bar. Seonghyeon was talking with a guy, someone who’s too handsy for his liking and someone he doesn’t fucking know.
His jaw clenched, his heart beat dropping instantly. He walked towards the bar in sure, straight steps.
“Eom Seonghyeon.” He called out, voice too thin.
He slipped an arm around Seonghyeon’s waist, fingers firm, drawing him back just enough to close the distance between them. He offered the stranger a polite smile that didn’t reach his eyes.
Seonghyeon gasped softly, his ears reddening. “Keonho…!” He said with a shy smile. The one that still did something violent to Keonho’s insides.
He turned back to the guy again, gesturing to Keonho. “Right,” Seonghyeon whispered, flustered. “Luka, this is Keonho. My boyfriend.”
Luka raised his brow in surprise. Keonho gave him a mocking smirk, his eyes squinted, as he reached his hand out. Luka extended his hand with the same hostility, giving Keonho’s hand a firm shake.
Seonghyeon, blissfully unaware, resumed whatever conversation they’d been having. But he didn’t move away from Keonho. If anything, he leaned slightly into him, his hand resting over Keonho’s where it circled his waist.
Keonho watched everything, he noticed everything.
Especially when Luka’s eyes lingered on Seonghyeon’s lips, subtly licking his own
Blood flared up through Keonho’s veins, anger seeping through him. He tried to keep it down because he didn’t want to give Seonghyeon any problems. Clearly though, this guy had malicious intent and Keonho was not having any of it.
He tightened his hold around Seonghyeon, trying to calm himself in the warmth of his lover’s body. Keonho tried very hard to ignore all the ways Luka stared too longingly at Seonghyeon. But apparently, he can’t take the fucking hint. In front of him too, by the way? In front of the fucking boyfriend? The audacity? No decency in the big 2026? This generation is cooked, man.
Keonho tilted his head, smile sharpening by a fraction. “You two seem close,” he said irritatedly.
Luka glanced at him, “We used to be in the same club.”
“Really?” Keonho replied, “couldn’t care less.”
Seonghyeon blinked, finally sensing the shift in the air. He gulped, rubbing the back of his neck, “Keonho…”
The bass thumped as the lights continued to flicker. Around them, people laughed, shouted, and spilled drinks, completely unaware of what was happening at the edge of the bar.
Keonho leaned down slightly, lips brushing near Seonghyeon’s ear— close enough to prove Luka, but not close enough that Seonghyeon could actually feel anything.
“Hyeon… come with me to the car now.” He murmured with a sensual voice. “He’s starting to piss me off.”
Seonghyeon’s fingers tightened against his hand. He glanced quickly at Luka, watching the way his jaw ticked in real time. Amusement filled Seonghyeon, breathing deeply to not look too happy at what’s happening.
He rubbed soothing circles on the back of Keonho’s palm, a subtle attempt to calm the younger down. He talked to Luka briefly, exchanging goodbyes and such.
Once they entered the car, Seonghyeon relaxed in the passenger seat, the feeling of victory enveloping him.
Nobody snitch on him, okay? The guy from earlier? He was just a way for Seonghyeon to snatch Keonho out of the party, and to get him all to himself. A clever guy wouldn't have expected that either.
Keonho bit the insides of his cheeks before opening his mouth to speak, but Seonghyeon beat him to it. “Are you jealous?” he asked, baffling Keonho.
“Well, yes?” Keonho replied, turning to Seonghyeon.
The older male’s lips quirked up, “Keonho, he was just my former club president.”
Keonho clicked his tongue, his lips easing into another pout. “But he was too touchy, Hyeon. I wasn’t having it.”
Seonghyeon nodded in acknowledgement, urging Keonho to continue. Keonho adjusted to place the bouquet at the back seat before he could fully settle into his seat. “He was staring at you too like, what the fuck, Seonghyeon.”
“Was he?” Seonghyeon asked, tilting his head, hiding the way his lips eased into an amused smile.
“He was! I know you’re breathtaking, Hyeon. But I don’t need an audience to admire you. I can do that just fine on my own.” Keonho ranted, hands hovering over the air. “Bro was licking his lips and shit, does he not know you taste of me?”
“Eugh… he was doing that?” Seonghyeon scrunched his nose, feigning disgust.
“Yes! I was visibly so irritated, if we hadn’t run away, I would have probably kicked him out myself.” Keonho leaned back against his seat, brows knitting tight. “I’m still so pissed.”
Seonghyeon bursted out laughing, his eyes tearing up just a bit. “I can’t. Fuck.” He said in between chuckles. “You’re so fucking cute, I’m going to die.”
“I’m serious here?”
The laughter softened but didn’t disappear. Seonghyeon stared at him for a long moment, his eyes crinkled, gaze warm in a way that melted the last bits of Keonho’s irritation.
Keonho’s hands were still suspended awkwardly in the air, frozen mid-rant. Before he could drop them, Seonghyeon stood from his seat.
“Wait–”
Too late.
Seonghyeon climbed over the center console carefully, knees brushing against Keonho’s thighs as he shifted his weight. He settled onto Keonho’s lap, adjusting himself with a soft huff until he was comfortably straddling him.
The proximity stole the air from Keonho’s lungs. Seonghyeon smiled shyly, face turning into a light pink. He tucked a few loose strands of hair behind his ears before looping his arms around Keonho’s neck.
Keonho’s hands instinctively moved to his waist, steadying him.
“You’re jealous over nothing,” Seonghyeon murmured softly. “I left with you, didn’t I?”
Keonho swallowed, the earlier anger had nowhere to land now, dissolving under the weight of Seonghyeon’s gaze. “Hyeon, when someone looks at you like that… I feel it here.” Keonho muttered, pressing a hand lightly against his chest. “It messes with me.”
Seonghyeon’s expression shifted, his amusement fading into something gentler. He leaned in, pressing their foreheads together. “Good,” he whispered.
“Good?”
“I wanted you jealous.” Seonghyeon’s fingers traced lightly along the nape of Keonho’s neck, “It’s your birthday, but it’s also heart’s day. I wanted you for myself.”
Keonho gulped the lump in his throat. “You could’ve just told me.”
“Where’s the fun in that?” Seonghyeon smiled softly, teasing him.
Keonho’s hands tightened around Seonghyeon’s waist, drawing him closer until there was no space left between them. “Don’t do that again, yeah?”
“Make you jealous?”
“Not telling me what you want.”
Seonghyeon’s thumbs brushed gently against Keonho’s collarbone. “I’m sorry.”
Keonho hummed, cradling the back of Seonghyeon’s neck. Keonho pressed his lips against the older male’s, tilting Seonghyeon’s face just enough to deepen the angle. Seonghyeon made a quiet, surprised sound before melting into it, fingers tightening at the collar of Keonho’s shirt. The teasing smirk disappeared completely, replaced by something warm and breathless.
Keonho kissed him like he wanted to engrave something onto Seonghyeon. “Shit– mmh!” Seonghyeon responded, lips moving against his with equal heat. One hand slid into Keonho’s hair, tugging lightly, and that small pull sent a sharp spark straight down Keonho’s spine.
Keonho’s hands slid up Seonghyeon’s back, holding him securely. “Fuck… Hyeon. You— taste so fucking good.” Keonho murmured against his mouth, licking stripes of the saliva dripping down the older male’s lips.
Seonghyeon whimpered, already leaning in again, pressing his tongue against Keonho’s mouth like a pathetic dog.
“Keonho…” He grumbled when Keonho refused to let him in. The younger male had other plans, he snuck his hands under Seonghyeon’s shirt, exploring everything.
Keonho played with the sensitive nubs, rubbing and flicking them. Seonghyeon gasped, his body convulsing.
“Anghh— K–Keonho–!” He moaned against Keonho’s ears, it’s with a jerk of Seonghyeon’s hips that he felt just how hard Keonho really was.
“Fuck…” Keonho whispered, a little breathless. He darted his eyes to their clothed erections.
Seonghyeon licked Keonho’s neck desperately like a man who hasn’t drunk a single drop of water for ages. He scattered tender and heated kisses along it. “W-wanna… Keonho–” He chanted, eyes tearing up a little bit. “Wanna do it with you, Keonho. I want you so bad that it hurts. Fuck– please.”
Keonho panted, his chest heaving up and down. He pressed a firm kiss against Seonghyeon’s lips, God he couldn’t bear it anymore. He needed Seonghyeon mutually. The thirst for him is actually insane.
“Okay, yeah. You gonna ride me?”
“I want to…”
