Work Text:
“Kai, hurry up, we’re gonna be late!” Sehun whined to his boyfriend through the bathroom door. Kai had been in there for forty-five minutes already, and if they didn’t leave now they were going to miss the costume contest, which was kind of the whole point of Kai coming to visit for the weekend. If they won (which Sehun was sure they would) the prize was two tickets to the monster movie marathon at the new theater in town; perfect for a date the next day before Kai had to catch a five hour bus ride back to his own school the morning after.
“Sehun, I can’t wear this in public,” Kai said a minute later, stress evident in his voice.
“What’s wrong? Does it not fit?” Sehun asked. He was sure he had picked out the right size, he had checked with Kai at least three times.
“No… it fits…”
“Then what’s the problem?”
Sehun heard Kai huff before saying exasperatedly, “Sehun, unlike you, I’m not exactly comfortable walking around in front of a bunch of people practically naked.”
“Kai, you’re gorgeous. And everyone else will think the same thing when they see you. And besides, you’re not nearly as naked as I am,” Sehun said, trying to calm his nerves. Unfortunately his encouragement didn’t seem to do much because seconds later Kai opened the bathroom door to reveal… a long, black cape that entirely covered the rest of his costume. Sehun’s face scrunched up in disapproval at the sight. “Kaaiii,” he pouted, “what’s the point of wearing the costume if no one is going to see it? No one will know who you are!”
“I think they’ll be able to tell just fine who I am by the makeup,” Kai responded. Sehun had asked one of his friends in the art department to help with Kai’s makeup, and he had to admit it was nearly a perfect match to the original. But still.
Kai flicked the bathroom light off on his way through the door and nearly fell on his face as he tripped over the six inch heels he wasn’t used to wearing. Sehun rushed forward to hold him up, catching just a tiny glimpse of sparkly fabric before Kai righted himself and pulled the cape more tightly around him.
“Kai, please let me see the rest?” Sehun begged. He had worked hard putting the outfit together, dammit, and he wanted to see the end result.
“Not right now,” Kai said, determined to stay covered for the duration of the night, Sehun’s precious monster movie marathon be damned. Kai could always just buy him tickets to it if he wanted to go that so bad. He wobbled as he walked to the door of Sehun’s dorm room. “Couldn’t you have at least gotten me shoes that aren’t a threat to my life?”
“Absolutely not. Kai, we’re going for authenticity here. People are going to be wicked impressed when they see you,” Sehun reasoned, following Kai out the door and locking it behind them. He gave his key to Kai to tuck into the pocket inside his cape since his own costume offered him no such option, then put his arm around Kai’s waist as they started down the hall. “Don’t worry, I won’t let you fall though.”
---
The walk to the club the contest was being held at took twice as long as it should have because of Kai’s shoes. By the time they got there it was packed and the announcer was already calling for the last sign-ups for the contest. Sehun ran ahead of Kai to the table near the stage to add their names to the list once he was sure his boyfriend was stable enough to stand on his own for a few minutes.
Kai looked around the club while he waited for Sehun to come back, checking out some of the other costumes people had come up with. Most of them were your typical everything-I’m-wearing-came-in-the-same-plastic-bag Halloween shop costumes, but some looked like a lot of time and effort went into them. There was a fairy with twinkling lights in her skirt, a pretty decent-looking batman, and a zombie that looked like it was straight from a movie set among the best that he could see. Even so, Kai started to feel like maybe Sehun wasn’t too far off in thinking they would have the best costumes of the night. Well, if Kai were to actually show his off, which he still was not planning to do. Sehun really should just settle for second place.
“They said they’re going to call everyone up in ten minutes,” Sehun said when he came back, excitement shining brightly in his eyes. “Are you ready to win this thing?”
“Sehun, don’t get your hopes up too high. I don’t want you to be all pissy if we don’t win. I don’t know if you’ve noticed, but we have some pretty good competition,” Kai said, looking back out over the crowd. Sehun scoffed at him, not bothering to look away.
“Dude, I don’t know if you’ve noticed, but ours are a billion times better than anyone else here,” he said, refusing to accept any other opinion. “And even if ours weren’t perfect, which they are, then we’re at least the best looking people here and we’ll get votes for that.”
“Well aren’t you just Mr. Confident,” Kai teased.
“You have to be confident to go out in nothing but shiny, gold booty shorts.” Sehun smirked, wiggling his butt to draw attention to his costume. Ok, so he wasn’t wrong to be so confident. “Come on, let’s dance for a few minutes,” he said, grabbing Kai’s hand. Kai lurched violently and fell into Sehun’s side.
“Sehun, if I try to dance in these I’ll break my neck,” he said, holding on to Sehun for dear life. “Then you won’t have anyone to enter the contest with, and as good as you look in those shorts, I don’t think it’s quite enough to get you a win. And then you’ll be upset about losing, and you’ll have to come visit me in the hospital-”
“Ok, ok, I get it,” Sehun chuckled, holding Kai tightly to keep him upright. “We’ll just… stand here for ten minutes,” he added, looking around in disappointment. He would much rather actually do something.
“Or we could get closer to the stage so I don’t hold things up when they call us,” Kai suggested. Sehun agreed and took his hand, leading him through the crowd. Kai gripped his cape and made sure it was covering him before he followed.
By the time they got to the stage the MC was calling for all entrants to make their way over. Sehun helped Kai up the steps leading to the stage and they found a place at the end of the line, furthest from where it looked like the contest would be starting. Kai didn’t really want to be under the spotlight any longer than he had to be, but Sehun wanted to “save the best for last”. As everyone not participating clapped and cheered for those who were, the contest got underway.
“Welcome to the fourteenth annual Howl-o-ween Costume Contest!” the MC’s voice boomed over the sound system when the music faded out. More cheers echoed throughout the large room. “This year’s prize is two VIP passes to the Horror Fest tomorrow at the brand new movie theater down the street. These passes get you access to every movie playing all day long, plus twenty dollars for refreshments. Sounds like a pretty good day, right?” he asked the audience, who applauded loudly in agreement. “Alright, who’s ready to get this party started? The rules are simple; I introduce the costume and the audience makes as much noise as they can if they like it. The loudest response equals the best costume. Everyone understand? Ok, let’s do this!
“First up we have Mr. Donald Trump.” The crowd certainly made a lot of noise, but most of it was less than pleasant. “Now, come on, you have to admit this is accurate,” the MC said, pointing at his hair. “And definitely scary. No? Alright. Better luck next year, Mr. Trump.” The guy walked off the stage reluctantly as the next person was introduced.
“Up next we have… Left Shark? Really? Guys, these costumes are supposed to be good, remember?” he said, addressing the people on stage. “Ok, what do you guys think?” he asked, turning to the audience. Left Shark attempted an awkward dance to attract more of a response, but didn’t fare much better than The Donald. “Sorry, Left Shark,” the MC said when the clapping stopped soon after it started. With a sad fin wave, Left Shark slumped down the stairs and vanished into the crowd.
“Hopefully we’ve got something better to work with here,” the MC said, checking his list to see who he needed to introduce next. “And it looks like we might be in luck. Let’s give it up for the fairy princess!” The fairy Kai had seen earlier stepped to the front of the stage and did a little twirl, the lights in her skirt flashing like fireflies. The crowd was much more impressed and cheered appropriately.
Kai was having a decent time checking out all the other costumes as everyone was called up for their turn, pushing to the back of his mind the fact that he would eventually be the one being judged. By far the best so far were the fairy and the Tenth Doctor, who had finally taken over first place after seven others had failed. As the number of people on stage started to dwindle, though, his nerves returned. There were now only three more people left before the MC would call Sehun and him up, and he would be judged by everyone in the room. He grabbed Sehun’s hand through his cape and tried to control his breathing.
“Are you ready?” Sehun whispered excitedly in his ear.
“No,” Kai hissed back as the Hollywood zombie replaced the Doctor as the current champion. Only two more to go.
“Don’t worry, you’ll be fine,” Sehun said, squeezing Kai’s hand in what he hoped was a comforting manner. They were next. Kai braced himself as batman left the stage and the zombie followed the MC to stand next to them.
“And last, but certainly not least, we have Dr. Frank-N-Furter and his creation, Rocky!”
Kai froze. He could see the crowd cheering, but he could hardly hear the people at the edge of the stage. Obviously they weren’t being loud enough because Sehun leaned in close and told him to take the cape off. Kai shook his head and refused to move.
“Come on, Frankie, we’re shivering with anticipation,” he heard the MC say. When he still wouldn’t budge, Sehun got fed up and grabbed the cape at his shoulders. Before Kai could even think to tighten his hold on the material, it was slipping away from him, exposing the shimmery corset, black satin panties, and lace garter belt holding up thigh-high, fishnet stockings underneath. He flailed for a moment before awkwardly trying to cover himself with his hands.
Kai almost didn’t hear Sehun’s “Holy fucking shit,” as the room exploded. He could see several jaws around the room practically unhinged, his boyfriend’s included. Out of the corner of his eye he saw the zombie walking away from them, knowing that he had been beaten.
“I think we have our winner!” the MC announced when he could make himself heard over the applause and wolf whistles. “Congratulations, gentlemen. Enjoy your monster movies.” He held out the movie passes and Sehun blindly reached for them, not once taking his eyes off the boy next to him.
The applause died down and the music came back on, and Kai finally felt less like he was under a microscope. He turned to Sehun, who was still staring at him, and asked, “Can I have my cape back now?” Sehun just barely shook his head. “Please?” Kai huffed, annoyed. He was tired of feeling so exposed.
“Sorry, no can do,” Sehun said, grabbing Kai’s hand with his free one while the other held the cape in front of himself, and pulling his boyfriend toward the stairs.
“Sehun, slow down, I’m gonna fall!” Kai yelped, stumbling as he tried to stay upright. Sehun stopped abruptly and turned around.
“Then take your shoes off, but we need to leave now.” The look in his eyes told Kai this was not the time to protest. He gulped and slowly bent down to unbuckle his shoes and slip them off. He could have sworn he heard Sehun groan when he switched from one side to the other. Kai barely had his foot out of the second shoe when Sehun started tugging on his arm again.
Sehun succeeded in getting them about halfway back to his dorm when Kai made him stop. “Sehun, seriously, slow down, my feet hurt,” he said, leaning on the side of a small shop. “Why are you in such a hurry to leave, anyway? Haven’t you been waiting for this Halloween party thing for, like, ever?” Kai looked up from where he was leaning over to check for any damage on the bottoms of his feet when he didn’t hear a response.
Instead of saying anything, Sehun grabbed Kai’s hand again and dragged him into the small alley around the corner of the building. Kai spluttered half-hearted protests until Sehun pushed his back against the cold brick wall and leaned in to him, pressing their bodies flush together. “Oh,” Kai said, eyes widening when he felt Sehun’s lower body come in contact with his own. Sehun looked Kai in the eye and ground his erection into this hip.
“Good enough answer? Can we go now?” Sehun growled into his ear. Kai nodded, not trusting his voice to work properly at the moment. “Good, let’s go.”
They made it back to Sehun’s dorm in record time after that. Sehun fumbled with the cape, fighting to find the key to his door in the hidden pocket while still using it to cover his arousal.
“Oh my god, there’s only one fucking pocket in this thing, it shouldn’t be this hard to find,” he complained, feeling Kai coming up behind him and resting his hands on his sides. Kai toyed with the waistband of Sehun’s shiny, gold shorts, causing him to almost drop the cape.
“Sehun, hurry up,” Kai breathed into his ear as he dropped his shoes to the side of the door, tired of them getting in the way of touching his boyfriend. He pressed soft kisses to the side of Sehun’s neck as his hands smoothed along the toned torso towards his stomach where Kai could feel the muscles contracting.
“Shit, Kai, wait,” Sehun hissed back at him. When Kai showed no signs of listening to him he gave up trying to keep himself covered and tore through the cape until he found the key, shoving it into the lock and finally getting the door open. They fell through the door, barely clicking the lock back in place before Kai was pushing Sehun up against it. Kai took the cape from Sehun and tossed it across the room. His hands were immediately back on Sehun’s body, rubbing up and down his sides until they came to a stop at his hips, squeezing them tightly and pulling them against his own. Sehun moaned in relief at the contact. The ten minutes it had taken to get them to get to his room from the club had been torture.
Kai leaned even further into Sehun, slowly kissing a wet trail from his collarbone up to his lips and slipping his tongue through them. Sehun groaned, loving the feeling of his once-too-shy-to-initiate-anything-physical boyfriend man-handling him. He had something different in mind this time, however, and after indulging him for a few minutes he flipped them around and pressed Kai into the door, taking control of the kiss easily as Kai hadn’t been expecting the move. Kai made a noise of confusion and broke the kiss to look at Sehun questioningly.
“I want you to ride me,” Sehun offered in explanation.
“Seriously?” Kai asked, eyes widening in shock. It wasn’t every day Sehun wanted to top, and as much as Kai loved filing that role, he got excited when Sehun wanted to switch things up.
“Yes, seriously. I want to watch you bounce on my cock until you can’t even think in complete sentences,” Sehun whispered directly into his ear. Kai shuddered at the feeling of the warm breath ghosting over his skin.
“Fuck, yes, that sounds amazing,” Kai groaned, closing his eyes as the image of what Sehun wanted formed in his mind as Sehun started sucking marks into his neck.
Satisfied with the bright red hickey just below Kai’s jaw where everyone would be able to see it, Sehun started working his way down his chest. When he got to the top of the corset, instead of taking it off, he dropped down to his knees and continued on with the exposed strip of skin between it and the top of the black panties. Kai brushed his hand through Sehun’s bleached hair as he watched him draw patterns on his lower belly with the tip of his tongue.
Sehun ran his hands up the backs of Kai’s legs, caressing his smooth skin through the holes in the fishnet material of his stockings. He slid his fingers under the straps of the garter belt to knead his thighs briefly before massaging one satin-covered cheek in each hand, earning him another moan from the boy above him. He followed the waistband Kai’s panties around to the front and pulled them down just a bit, licking along the newly exposed skin and then letting the elastic band snap back into place, Kai hissing at the slight sting. Sehun traced the outline of Kai’s hard cock through the smooth material with the tips of his fingers, quickly followed by his tongue teasing at the damp spot that was forming.
“Sehun, come on,” Kai whined at the barely-there heat as he tightened his grip on Sehun’s hair and pulled him even closer, trying not to thrust into his face.
Taking pity on him, Sehun pulled the front of his panties down just far enough to let Kai’s erection free. Kai’s breath hitched when Sehun gave him a few lazy strokes before placing a wet kiss to the tip. Sehun licked around the swollen head a few times and slowly sank down as far as he could go, Kai letting out a choked cry as the wet heat surrounded him. Sehun looked up through his messy bangs to see Kai’s flushed face watching his every move as he started to move back and forth. Kai’s eyes slipped closed and his head fell back, thudding dully against the door.
“Oh my god, that feels so good,” Kai moaned, his hands sliding down from Sehun’s hair to his shoulders and gently urging him faster and deeper the longer he sucked. Sehun let Kai guide his pace until he felt the older boy’s thighs start to shake. He gave one last hard suck and pulled back, his boyfriend’s cock popping out of his mouth with a wet slurp, and pulled the panties back up.
“Unh, not fair,” Kai whined breathlessly. “I was so close.”
“Mmm, I know,” Sehun purred as he stood up and pressed a quick kiss to Kai’s lips. Kai wrapped his arms around Sehun’s neck to hold him there longer, licking into his mouth and moaning when he tasted himself. “We can’t have you all tired out before we get to the best part, though. Don’t move,” he said, leaving Kai with another hard kiss.
Kai watched as Sehun walked across the room to his nightstand and opened the drawer. He rummaged around in it for just a few seconds before finding what he was looking for and closing it again. As he made his way back over to the disheveled boy by the door, he popped open the top of the bottle in his hand. Kai licked his lips as he watched Sehun drizzle the clear liquid inside onto his fingers.
Sehun tossed the bottle back to the bed when he stopped in front of Kai again. Impatient, Kai pulled Sehun closer to him and kissed him once more. Sehun squeezed Kai’s side with his dry hand before sliding it down and pulling the panties to the side. Kai whimpered into Sehun’s mouth and spread his legs as a lubed finger started teasing around his entrance.
“Sehun, please, put it in,” he pleaded when Sehun swiped the slick finger over his hole for the fifth time. He pushed his ass back, trying to get it to slip inside.
Deciding that he had teased enough, Sehun obeyed and pressed one finger in all the way in one move. Kai gasped at finally feeling it sliding inside him
“Good?” Sehun asked cockily, watching Kai’s eyes flutter and his mouth hang open as he breathed heavily. He wasted no time starting to thrust the finger in and out of Kai’s tight hole.
“So good, baby,” Kai panted, hips twitching minutely. “Keep going, another.” Sehun once again did as he was told and slid another finger in alongside the first. Kai’s breath hitched at the stretch, but he quickly adjusted and was soon begging for more. He lifted his leg up and locked it around Sehun’s waist as Sehun pumped three fingers easily into him.
“Oh, shit, yes!” Kai yelled when Sehun’s fingers brushed against his prostate. “Fuck, Sehun, want your cock in me, please baby,” he begged, practically riding his boyfriend’s hand.
“But you look so good like this,” Sehun said, watching Kai writhe against him. Kai let out a high pitched whine as he tried to hold back.
“Please, Sehun, please. So close. Don’t wanna come like this, wanna come with your cock in me.”
Sehun immediately pulled his fingers out, Kai’s words sending pleasure coursing through him. “Ok, ok,” he panted, guiding both of them to the bed. He pulled his shorts down, groaning as his own hard length was exposed for the first time that night. Kai made to follow suit and started unbuckling his garter belt, but stopped when Sehun grabbed his hands. “Leave it on,” he said as he sat down in the middle of the bed and pulled Kai with him.
“You really like this, don’t you?” Kai said, noticing how Sehun’s cock twitched as he straddled his lap. Sehun grunted when Kai started grinding his still-clothed member against his own without hesitation.
“You have no idea,” he replied, grabbing Kai’s hips and pulling him down even harder as he thrusted up.
“Hah, fuck, you need to get in me, like, now,” Kai demanded. Agreeing whole-heartedly, Sehun found the bottle of lube amongst the blankets and poured some onto his hand as Kai moved back just far enough for him to coat his cock thoroughly with the slippery gel. Sehun reached back and once again pulled Kai’s panties out of the way, breathing heavier as Kai positioned himself over his aching cock.
When Kai started to sink down onto him, Sehun fell back into the pillows and closed his eyes, willing himself not to come right then and there. “Jesus, you’re so tight,” he panted as Kai slid all the way down, not stopping until his ass hit Sehun’s hips. “Are you alright?” he asked, looking up at Kai’s scrunched face and rubbing his hands soothingly along his fishnet-covered thighs.
“Yeah, I’m good, I’m fine,” Kai panted, staying still just a second longer before grinding his hips in a slow circle. “Fuck, I’m so good,” he moaned, raising himself up and slowly sinking back down. He braced his hands on Sehun’s chest and started moving faster, eyes slipping closed and little puffs of breath leaving his parted lips every time he sat back down.
Sehun’s hands settled on Kai’s waist, rubbing circled over his hip bones. “God I forgot how good you look taking my cock,” he said, watching as he disappeared inside Kai over and over.
“Your cock is so good, baby. Fuck me with it, please,” Kai said, clenching around Sehun in an effort to get him to move. Sehun pulled his knees up and planted his feet on the bed, thrusting up shallowly to meet Kai’s downward motions and causing him to sob in pleasure and nearly fall forward. Kai moved his hands to the bed on either side of Sehun’s head to catch himself before he did, though.
When Kai reached for his throbbing cock, Sehun grabbed his hand and put it back on the bed next to his head and holding it in place.
“Nope, do it just like this,” he said. Kai gasped and whined in frustration.
“I can’t, Sehun, you know I can’t. Please,” he begged, eyes closed tight and mouth open as he panted.
“Yes. You. Can,” Sehun responded, punctuating each word with a harsh snap of his hips. Kai cried out when the last thrust hit his prostate dead on. His arms gave out and he fell onto Sehun’s chest, muffling a loud moan in the side of his neck.
“I know you’re close, baby, you’re getting so much tighter,” Sehun said. He continued to thrust up into the trembling boy on top of him since Kai couldn’t seem to keep moving himself anymore.
“Unh, Sehun, faster. Just a little more… Oh, oh, Sehun, oh god,” Kai panted breathlessly, body convulsing as he came on Sehun’s stomach.
“Kai, Kai, Kai,” Sehun chanted, continuing to piston his hips up as he felt his boyfriend’s entire body tightening around him. The hot splatters across his belly were the last straw, and with one more quick snap of his hips he buried himself as deep as he could get in Kai’s tight heat and let go. Kai whimpered when he felt the hot, wet pulses inside him and clenched even harder around his boyfriend’s cock.
“Fuck, Kai, so good, baby,” Sehun moaned, rolling his hips against Kai’s slowly to keep the pleasant sensations going as long as possible. When they were both finally drained of energy, they laid tangled together as they attempted to catch their breath.
“Shit, why don’t I top more?” wondered aloud a few minutes later when he could breathe normally again.
“Because you’re an absolute cock whore and usually sit on my dick before I have time to blink,” Kai mumbled into his shoulder. Sehun laughed softly.
“Yeah that’s true. But if you dressed like this,” he said, snapping the elastic of Kai’s panties, “more often we could definitely change that.”
“I hate to burst your bubble,” Kai said, sitting up to reveal the white splotches on the black material of his top,” but I don’t think I’ll be able to wear this again.”
“That’s truly unfortunate,” Sehun said, looking wistfully at the costume. He groaned as Kai finally got off of him and started stripping.
Kai grimaced when the wet patches of material peeled away from his skin. Once he was finally free of the soiled garments he headed for the bathroom, in need of a shower. He stopped just outside the door and looked back at Sehun expectantly. “You coming?”
