Work Text:
Sunghoon saw that eggplant emoji light up his lockscreen at 2:43 a.m., notification glow flickering in the dark dorm room. He didn’t open it. Just let the screen fade back to black and dropped the phone down again, let it slide off his chest onto the crumpled hoodie bunched beside him. He already knew what the message was about. What all of them were about.
But then another one came. Then another. Then another.
hey
did i do something wrong?
youve been ignoring me since last week baby
☹️
Baby stung more than it should’ve. Sunghoon hissed out a dry laugh and stared at the ceiling. His room was a mess, midterm chaos sprawled across every surface.
But his head was worse. He counted seconds. Sixty. One twenty. Two hundred. Then he picked up his phone and typed:
just busy in uni
Sent. Read. Seen fast. Too fast. Heeseung replied in under ten seconds. As if he was waiting.
should i come over
i can help u out
Sunghoon didn’t dignify it. He rolled his eyes then dropped the phone again. “Help” meant dick. That’s it. Heeseung wasn’t subtle. He never was. That offer came with fingers on inner thighs and a mouth pressed behind his ear whispering just relax, baby while they kissed breathlessly into Sunghoon’s mattress.
Sunghoon had told himself it was done. That night a month ago, when Heeseung kissed him a little too gently afterward. Right before zipping his jeans and leaving without looking back, he’d sworn: no more. He wouldn’t let himself feel anything anymore. He was done being that pathetic half-relationship ghost. Done pretending they could keep doing this and stay okay.
They’d met playing League, of all things. Random queue. Heeseung locked Ahri mid, Sunghoon support. Started with some dumb flirty banter in team chat.
lulu so cute
u in seoul?
u sound pretty on vc
That kind of shit. Then Heeseung mentioned he used to go to Korea University. Turned out, same school. Just graduated. Did music. Had a studio. Had that damn voice, low and lazy like late-night R&B, a drawl that could make minions sound sexy. Invited Sunghoon over to listen to some unreleased tracks.
Sunghoon had nodded along to the synths, the layered vocals, the 808s. Had tried to make normal comments, like “this mix is so clean” or “your verse hits here.” But the way Heeseung kept looking at him, licking his bottom lip between bars, stepping too close during playback… Sunghoon knew where it was going.
Heeseung fucked him that first night. No soft buildup. Pushed Sunghoon down on the studio couch and ate him out while some moody track looped from the monitors, before fucking into him slow but deep, almost too deep, coaxing moans that Sunghoon never even realized were his.
And Sunghoon went back again. God help him. Again and again.
That second time, it was his dorm. Third time, studio again. Then that night in the car, half-naked in the backseat under a Seoul bridge, fogged windows and fingers crammed in too deep to think. Sunghoon started sleeping with his phone beside him, waiting for that ding. That “u up?” That “wya?” Each message felt like a match pressed to his ribs.
But what made it worse, or what made it impossible to walk away was the in-between. The nights they weren’t fucking, when they’d just play League and voice call, talk about dumb shit. Heeseung asked about his courses, sent him memes, teased him about his support ranking, even mailed him iced vanilla latte from the cafe he once mentioned in passing during an exam week with a note: thought you’d need caffeine, nerd.
Sunghoon told himself: it was just friendship. Or something close enough to it that the label didn’t matter. Not real friendship, not the kind where you share secrets and study notes, but the kind that exists between two people who know each other’s bodies better than their birthdays.
Maybe it was a situationship.
No, more like a shituationship. He said he wasn’t looking for anything serious. This is normal. They’re friends or sneaky links or whatever.
But every time Heeseung called him “baby,” every time his name popped up on his screen, Sunghoon’s heart beat stupid fast, like a goddamn idiot.
And now he was cutting him off.
Because that kiss had been the final nail. Heeseung had kissed him soft, not post-orgasm lazy, not high and grinning, but real. Mouth lingering like it meant something. And then he walked away.
Sunghoon didn’t cry. He just lay there staring at the ceiling like a fool, legs still sticky, whole body sore. He couldn’t even move to wipe himself off for a while. Just lay there thinking about how it would feel to ask what are we? and get laughed at.
So he made the decision.
No more games. No more sex. No more League. No more anything. He stopped queueing ranked. Stopped replying fast. Stopped initiating. Told his friends he was swamped in lectures. Let the missed calls stack up.
Until now.
This new string of messages made his chest ache. It was so stupid. So childish. Just “baby” and a dumb sad character. But it made something twist in his stomach, like maybe, maybe Heeseung really did miss him. Maybe-
No.
He was gaslighting himself again. Classic behavior. Playing therapist in his head for someone who never asked for it. Heeseung just wanted someone to fuck. A distraction. A warm body he could use whenever the music didn’t hit right and the weed didn’t help.
But Sunghoon knew himself better. Knew he wasn’t built for that.
He was the type to fall in love from a thumb brushing his cheek. The type who wanted long calls and hand-holding and awkward first dinner dates with shitty pasta and too much laughing. He wanted meaning. Not sweaty bodies and ghosted mornings.
So he picked up his phone, stared at the messages again, and typed:
stop texting me like we’re still a thing
i’m not a fuckdoll you can just call at 2am
He hovered.
Didn’t send.
Deleted.
Instead, he turned off notifications. Threw the phone into his laundry pile and crawled under the covers. He curled onto his side, hugged his own arm to his chest, and closed his eyes hard.
But he didn’t sleep.
Because every time his mind went quiet, he remembered Heeseung’s voice. The way he murmured shh, you feel so good, baby while fucking into him from behind. The scratch of the cross earring against his cheekbone. The way his lips brushed Sunghoon’s temple after, so tender it felt like a dream.
He hated himself.
Because part of him still wanted to reply. Part of him wanted to let Heeseung in again. To pretend it could be different this time. That maybe Heeseung meant something with that kiss. Maybe if he just gave it one more shot, this wouldn’t end with him shattered.
Still, he told himself it’s for the better. That it was peaceful now.
Then Friday night came. His Subway shift dragged like molasses.
Sunghoon leaned on the counter as the slicer jammed again, staring blankly at the tomato bin. His visor was crooked, shirt damp from too many toasted sandwiches, and behind him, Riki and Jungwon lounged near the soda machine, flinging straw wrappers at each other and glancing at the clock.
“C’mon hyung,” Jungwon called, stretching. “You’re free in five. You’re coming, right?”
“No,” Sunghoon said flatly.
Riki pouted immediately. “It was my birthday, like, two weeks ago. I’m officially not a minor. Legally. I wanna drink with you, hyung. Just once.”
“Yeah?” Sunghoon raised an eyebrow, tossing his apron in the bin. “Congrats. But I’m not getting blackout with a pair of zoomers.”
“Pleaseee,” Riki dragged the word out, clinging to his arm. “Come on. You never go anywhere anymore. I miss drunk you.”
Drunk him. Right. The last time drunk him showed up, he ended up bent over Heeseung’s studio desk at three in the morning, half-crying from overstimulation and whispering please don’t stop.
He scrubbed that thought away and sighed. “Fine.”
The walk was too familiar.
Sunghoon didn’t say anything as they headed deeper into the neighborhood near Hongdae, past the main strip and down a slope he wished he could forget. A cold drop of sweat formed behind his neck when they passed a tall white gate. That one. Heeseung’s building. He didn’t even glance.
Riki pointed. “It’s just a bit more. Three blocks.”
Thank fuck.
The house was packed.
Same story, different venue: bass thumping hard enough to shake the walls, the scent of alcohol and smoke, warm bodies moving in rhythm with little space between them. But Sunghoon kept to the wall. Watched Jungwon dap up some guy in a denim jacket.
“That’s Jake,” Jungwon said, grinning back at him. “Friend from KU. He’s hosting.”
Sunghoon blinked. Jake turned to him, tall, sun-kissed, friendly as hell, the exact opposite of Heeseung’s icy mystique. He held out a hand.
“Sunghoon, right? Heard you’re a League nerd. Jungwon talks about you.”
His smile was blinding. Easy. Too easy.
“Guilty,” Sunghoon muttered, shaking it.
Jake didn’t let go too fast. There was a pause, just a beat too long, eyes locking. No tension, just intrigue. A flicker of something genuine. They ended up near the kitchen, talking.
Jake was soft-spoken but confident. Gentle laughs, hand gestures that never invaded space, leaning in when the music got loud. No sleaze nor ulterior glint in his eye. He laughed at Sunghoon’s dry sarcasm and offered him a better drink than the mystery jungle juice on the counter.
Sunghoon started to enjoy it. Genuinely. The kind of ease he hadn’t felt since-
And then he walked in.
Sunghoon caught him out of the corner of his eye: red hair messily pushed under a cap, loose white tee showing collarbones, low-slung jeans, one chain swinging lazily with each step. He strolled in like he owned the place. Because of course he knew Jake and Jake dapped him up and grinned wide.
“Hyung! You made it,” Jake said.
Heeseung’s eyes slid sideways and found Sunghoon immediately.
Sunghoon looked away first.
His throat clenched. The drink in his hand suddenly tasted like nothing. All the noise of the party shrank into a dull hum, a staticky buzz behind his temples. Jake kept talking. About his capstone project, some presentation next week, but Sunghoon heard none of it.
He felt it before he saw it.
The stare.
He glanced once, discreetly over Jake’s shoulder, and there it was: Heeseung leaning on the counter, drink in hand, eyes pinned to him across the room. He didn’t smile. Just watching.
Sunghoon dropped his gaze. Focused on Jake’s mouth. His hands. Anything.
Dear God,
Do you hate me? Do you hate me this much?
Why do you keep putting him in my face?
Jake’s voice had been so warm. Easy to follow. But Sunghoon had long since stopped hearing the words. He nodded at the right times, sipped what was probably just Sprite now, forced a smile that tugged at one corner of his mouth and stayed there.
The whole time, his peripheral vision itched. Heeseung hadn’t moved. Or maybe he had. Sunghoon didn’t dare check.
Then Jake’s phone buzzed. He fished it out of his back pocket, and the screen lit up his cheekbones.
“Oh, shit, sorry. It’s my mom,” Jake said, apologetic as ever. “She never calls this late. I gotta take this, won’t be long.”
Sunghoon smiled, small. “Go on.”
Jake walked off toward the hallway, finger pressed to his ear. And the second he turned away, Sunghoon’s body kicked into motion like something finally snapped. He stood fast, scanning. Not for Jake, he couldn’t stay there now, not after catching that stare. Not when Heeseung was in the same air as him again.
Jungwon. He needed Jungwon. Or Riki. Or anyone. Damn it.
He caught sight of Jungwon by the stairs, half-laughing with some girl. He moved toward him. Fast.
But then, a hand caught his wrist.
Fingers curled gently around the bone, firm enough to stop him but not enough to scare.
Sunghoon’s heart punched the inside of his ribs.
“…Hoon.”
The voice was soft. Still velvet even over the music. Still stupidly familiar.
He turned.
Heeseung looked like the same sin he always was. Cap pushed back, lashes too long for any man to deserve, drink abandoned somewhere because he only needed one thing in his hands now. Sunghoon.
He sighed. Should’ve known.
“Are you avoiding me?” Heeseung asked, head tilted slightly, brows drawn like he didn’t already know the answer. “Are we okay?”
Sunghoon didn’t reply. Just stood there, the dull ache already stirring in his chest. He didn’t want to have this conversation again. Didn’t want to circle this same drain or even hear the fake confusion and the soft apologies. Didn’t want to fall back into those lips that always left him cold after.
But Heeseung stepped closer anyway, like gravity pulled him in.
“Did I do something?”
He always said it like he meant it. Like Sunghoon owed him an answer. Like he was owed closeness.
And those eyes. Those goddamn eyes. Wide and warm and brown like cinnamon, always just glossy enough to look sincere. Doe-eyed bastard.
Heeseung’s hand shifted, sliding from his wrist to his fingers. Then up. Then across the back of his hand, thumb brushing the edge like he was memorizing it.
He leaned in. Pressed a kiss at the corner of Sunghoon’s mouth.
“Whatever it was, I’m sorry,” he whispered. “Hmm?”
Soft.
So soft.
Sunghoon wanted to pull away. His mouth stayed a hard line, but his shoulders betrayed him. They sagged a little. Heeseung’s lips returned, just a little to the right this time. Then again. Each kiss slower, more delicate.
“I miss you,” he murmured between kisses.
Sunghoon clenched his jaw. But his hands didn’t move. His body didn’t run.
Heeseung always knew how to dismantle him. Never harsh. Never pushing. Just… gentle. Just tender enough to make resistance feel cruel.
When Sunghoon turned his head, tried to shift away, Heeseung followed. Not aggressively. Like that space between their mouths was already promised to him. He pulled Sunghoon close again, not by force, but by memory.
His palm found Sunghoon’s waist, warm through the thin fabric. He leaned in, breathed him in like perfume.
Sunghoon hated how his stomach twisted from that. How the back of his neck went hot. How his fucking skin reacted like it missed him. Like Heeseung’s presence alone was something to crave.
“Missed you so fucking much, baby.”
The word again, low against his throat now.
Sunghoon blinked slowly. He couldn’t even speak. His throat had locked up, his head swimming. Whether it was the liquor or just Heeseung’s voice, he couldn’t tell anymore.
Heeseung brushed his bangs back. Eyes scanned his face. And then, another kiss.
Not rough. Never rough. Heeseung remembered what he liked. He remembered to be soft, to coax instead of take. Their lips moved slow, like neither wanted to break the illusion.
And Sunghoon kissed back when he should’ve shoved him away there. Should’ve yelled, gone back to Jake. Jake, who probably finished the call by now. Jake, who smiled at him with no games. Jake, who would never drag him into this kind of mess.
But Sunghoon was already gone.
His hands were on Heeseung’s chest, not pushing. Just resting. He didn’t lean in, but he didn’t pull back either. When Heeseung deepened the kiss, tongue brushing his bottom lip, Sunghoon let him.
Because he craved this.
Because it was Heeseung.
Because somewhere in his fucked up heart, he was still wired to want him.
They pulled away. Heeseung didn’t say anything. Just smiled. That slow, crooked, infuriating smile.
The one that always meant the same thing.
You’re coming home with me tonight.
And Sunghoon?
God, Sunghoon should’ve said no.
Should’ve walked away. Should’ve remembered the cold sheets and the emptiness afterward.
But he’s just a man.
Just a stupid man with a too-soft heart and a mouth that forgets how to say no when it counts. A man who let his chest decide instead of his head. Who let Heeseung lace their fingers together like it was nothing, like it meant nothing, and let himself be led quietly out of Jake’s house like a shadow slipping between doorframes.
Didn’t even check if Jake had come back from his call or glance behind.
Just let Heeseung tug him along that dark, quiet route. Three blocks downhill, two turns left, right back to the same apartment complex with the same goddamn memory on every stair.
Sunghoon’s fingers were trembling when Heeseung unlocked the door.
He didn’t even notice.
Heeseung kicked it shut behind them with his heel, grinning, already backing Sunghoon into the wall with a gentle press of his hips. His hands stayed low, teasing along the curve of Sunghoon’s waist, then pinning there, loose but firm. His mouth caught Sunghoon’s again, easy and warm and no rushing. Just knowing.
Heeseung’s teeth grazed his lower lip, playful. Bit, then soothed with tongue. Sunghoon shivered under the contrast, cursed softly into the kiss. His hands had already risen into Heeseung’s hair without him realizing, fingers curling in soft red strands, tugging just enough to pull a low hum from Heeseung’s throat.
Heeseung’s tongue pushed in deeper and Sunghoon whimpered.
Quiet. Barely audible. But Heeseung heard it. He always heard it. The way Sunghoon’s moans came in little sighs and broken syllables. The way every kiss pulled breath from him instead of noise. He was soft in ways that drove Heeseung mad. It made him want to ruin him even slower.
Heeseung pulled back just enough to whisper, “you’re still so easy for me.”
Sunghoon didn’t answer.
Because he was already being lifted.
He gasped, legs hooking instinctively around Heeseung’s waist as strong arms held him like he weighed nothing. Heeseung kissed down the side of his neck as he carried him through the apartment, head tilted back just enough to make room for tongue against skin. One hand splayed across his ass, the other steady at his spine.
And Sunghoon let him.
Let himself be held like that, breathless and clinging to Heeseung with his face buried in his collar, letting the scent of blunt and fabric softener and him sink in.
The bed caught him gently. Sheets cool against his skin. Heeseung laid him down, pressing a kiss to his cheek, his jaw, the corner of his mouth again. So many soft kisses. As if pretending it was tenderness could make it mean more.
And for a second, a blink, Sunghoon’s chest seized.
This was it.
This was where it always happened. Where he let himself believe. Where the heat drowned the thoughts. Where he forgot all the reasons he said no before.
He could still stop it, push Heeseung away now, ask him: Why do you always come back? Why the fuck do you do this to me if you don’t mean it?
But Heeseung’s hand slipped under his shirt.
Fingertips on bare stomach. Featherlight, drawing up. Sunghoon gasped quietly. Shivered when Heeseung’s thumb brushed his ribs. The shirt peeled off over his head, tossed aside without ceremony, and his body followed it. His mind, too, it seemed.
Because then it was just Heeseung again.
The smell of him, the warmth, the lips against his collarbone, tongue licking up the hollow of his throat. It was all that existed. All that mattered.
Heeseung kissed down to his sternum, murmuring against him, “Mine. All mine.”
Sunghoon’s breath hitched, eyes fluttering shut. His fingers were back in Heeseung’s hair, tugging when the kisses made his spine arch. Every touch made his hips twitch slightly, like his body was reacting faster than his brain could form the protests.
This wasn’t what he wanted.
But nothing else had ever made him feel more alive like this.
Heeseung’s lips moved lower. Down his stomach. A hot breath just above his navel. His thumb brushing just enough to make Sunghoon tremble again.
“No one else sounds like you,” Heeseung whispered, eyes flicking up. “No one else says my name like you do.”
Sunghoon’s throat tightened.
He wanted to scream at him. Beg him to stop saying things that didn’t mean anything. But then Heeseung kissed the line of his hip and all of Sunghoon’s words turned into air and all he could do was hold on.
Fingers tangled in Heeseung’s hair, soft strands curling between knuckles. He didn’t grip hard. Just enough to keep him there. Enough to say please don’t stop without saying a word.
Heeseung’s mouth was warm on his stomach, tongue dragging in a lazy stripe just above the hem of his jeans. Sunghoon’s breath stuttered, barely audible but Heeseung caught it. He always caught it. Paused at the waistband, lips pressing a kiss to the button before he looked up.
And fuck.
Those eyes.
Upturned, wide, asking without words. Not Can I? but Are you mine again tonight?
Sunghoon nodded.
It was shameful how fast. How easily. His throat stayed tight. Couldn’t speak. But he nodded like a fool and let his head fall back, blinking hard at the ceiling, swallowing everything he should’ve said.
Heeseung kissed his navel, tongue swirling slow. Unbuttoned his pants with one hand, tugging them down with the other, dragging the fabric over trembling thighs. He worked them down past his knees and off without a sound, and when he looked back up, his eyes trailed slowly over all of Sunghoon.
And for a second, just one still, awful second, Sunghoon forgot to breathe.
Because Heeseung looked at him like he was beautiful.
Like he wasn’t just another lay. Like this wasn’t the fifth or sixth time they’d done this and left it broken after. Like he was something to see. To take in. Not just fuck and forget.
Heeseung’s shirt came off next. Then the rest. Sunghoon watched from the pillow, chest rising with shallow breaths. His own body looked foreign. Naked again in Heeseung’s bed, legs parted and waiting. His brain was screaming but his body was already gone.
Heeseung hovered again. Leaned down. Kissed his neck, then his jaw, then worked back up to his mouth. He kissed him slower now. With patience. Lips pressing in with rhythm and weight, as if he were relearning how to taste him after too long apart.
Sunghoon whimpered.
A soft, breathy thing. Hardly more than a puff of air between their mouths. But it made Heeseung smile, lips curving even as they kissed.
He trailed down.
Mouth finding Sunghoon’s collarbone, then his chest. He sucked at the space just under his pec, tongue wet and warm, and when his mouth closed around a nipple, Sunghoon arched.
“Ah- fuck…” It came out in a whisper, drawn from somewhere deep and involuntary. His back bowed, ribs tight, throat clenching around the curse.
Heeseung loved that.
He sucked again, slower this time, tongue flicking just right, and when Sunghoon arched again, he slid a hand up the side of his torso to feel the movement. His fingers traced along the outline of his ribs, the little dip between them.
“You’re so fucking pretty,” Heeseung murmured against his skin.
Sunghoon bit his lip.
Didn’t respond. Couldn’t.
Heeseung didn’t expect him to. He just moved to the other side, gave it the same attention and kissed lower. Sunghoon’s legs parted with no resistance. His knees fell open around Heeseung’s shoulders, thighs trembling slightly, already anticipating what came next, but it still took his breath when Heeseung finally leaned in and tasted him.
Because Heeseung rarely went down on anyone.
It wasn’t that he hated it. Just didn’t crave it. Most of the time, it felt like a courtesy. Something to check off, warm them up, get them soft and eager before moving on to what he actually wanted. Half the time, the people he was with didn’t expect it anyway. Quick hookups, rushed and messy, with no real build-up. He’d finger them open, maybe mouth them a little if they begged, but that was it.
He wasn’t the type to drop to his knees and stay there.
Until Sunghoon.
Sunghoon changed everything.
The first time he looked up and saw Sunghoon trembling and staring down at him, he looked so fucking beatiful. And on the first slow, teasing drag of his tongue, Sunghoon jerked.
“Oh my god-” he gasped, hands flying to cover his mouth, eyes squeezed shut.
And that... that exact sound, Heeseung knew. Knew he was going to get addicted.
Because Sunghoon’s reactions were like nothing he’d ever had before. His hips bucked. His thighs trembled. His breath caught in tiny sobs, and every moan was muffled by the back of his hand.
Heeseung held his hips down with both hands, spreading him open, licking deeper, slower, letting the noises spill out of Sunghoon’s mouth in waves.
“Ha…nghh, Hee, too much-”
Heeseung grinned against him. “That good?”
Sunghoon just shook his head like he couldn’t process anything, like his brain was fogged up entirely by pleasure. And Heeseung kept going. His mouth working soft circles, tongue fucking into him gently, until Sunghoon was thrashing under his grip, whispering “Yeah- fuck, yes…”
After that, Heeseung couldn’t stop.
He wanted to taste him. Needed it.
Every time he had Sunghoon in his bed, every time the boy looked at him with those pretty pink cheeks and parted lips, Heeseung found himself kissing lower, dragging his mouth across soft, smooth skin until Sunghoon was gasping his name.
Heeseung became greedy for it. Addicted to the way Sunghoon tasted. The way his thighs closed in around Heeseung’s head, then fluttered open again, like he didn’t know what he wanted more. To be filled or devoured.
Those little broken sounds, the whines, the whispered curses? They were his reward. Every single time.
Heeseung would spend minutes down there, slow and focused, sucking, licking, tonguing him open until Sunghoon was boneless and crying into a pillow. He wanted to make him come like that again and again on his tongue, legs weak and shaking from it.
He used to think eating someone out was a chore.
But Sunghoon? He’s a fucking meal.
Sunghoon tasted good, sounded better, and reacted in ways that made Heeseung feel high. He could feel him squirm. See the tension in his stomach, the flush blooming across his chest, and he didn’t stop. He tongued him again, deeper this time, and groaned into it when Sunghoon’s breath caught sharp in his throat.
He looked up.
And Sunghoon was watching him, eyes wide and glassy, lips parted. His hand still gripped in Heeseung’s hair. He was leaking already, precum beading at the tip, his chest rising in shallow gasps. Their eyes locked. One of those rare, perfect moments where neither blinked.
Heeseung reached over to the nightstand without breaking eye contact. Grabbed the lube.
He eased two fingers in first, just enough to get Sunghoon coated well. Sunghoon bit his lip at the stretch, moaning into his wrist when Heeseung brushed deep inside him just right.
Heeseung was too good. With his mouth. With his hands. With the way his body moved against him like he knew exactly what Sunghoon needed before he even asked. Every motion felt like a fucking performance, designed to ruin him. Gentle when Sunghoon needed, firmer when he whimpered for more. Heeseung knew exactly how to push him right to the edge.
And his cock?
God.
When he was inside him, it was over. Sunghoon lost his mind. Heeseung moved just right, filled him just right, fucked him like he knew how to draw every last gasp and moan out of him with nothing but slow, steady pressure and a few well-timed thrusts that had Sunghoon digging nails into his back and gasping his name over and over.
It made him crazy.
So he let Heeseung take him apart again because no one made him feel like this.
No one took him like this. Mind, body, every trembling inch. No one knew how to stretch the moment just right, how to draw it out until Sunghoon felt like his body wasn’t even his anymore. Just something molded to fit Heeseung’s hands, Heeseung’s cock, Heeseung’s voice whispering filth into his ear.
And here he was, flat on his back, legs parted, body flushed, twitching under every stroke. His head pressed into the pillow, dark hair damp, lips parted and pink from too many kisses. Heeseung moved over him slow, hips rolling with that annoyingly perfect rhythm that always made Sunghoon lose himself. That deep, even pressure, dragging in and out like Heeseung had all the time in the world to ruin him.
Sunghoon wasn’t the loud type.
Never had been.
Heeseung said he liked that. Said it made every sound Sunghoon gave him worth something. That he listened harder. Wanted more and Sunghoon gave it.
Soft whimpers, delicate and broken “ ahh… mmnn… fuck” escaping without permission, breath catching every time Heeseung hit that spot inside him just right. Every curse from his lips came out like a whisper, gasped between choked moans and clutching fingers.
“R-right there… shit, Hee- mhm…”
Heeseung was eating up every sound.
Smiling down at him, sweat clinging to his neck, mouth hovering close but not kissing. “Always sound so sweet, baby,” he murmured.
Sunghoon whimpered again, hands clutching at the sheets, thighs trembling.
Heeseung leaned down, kissed him slow then grinned against his mouth when Sunghoon gasped again.
“Love when you curse like that,” he whispered, rolling his hips deeper. “So quiet… but so fucking dirty.”
Sunghoon couldn’t answer. His mouth opened, breath stuttering as Heeseung slid in to the hilt again, grinding just enough to make his whole body shake.
Heeseung fucked him like he worshipped him. Ate up every noise, every shudder, every gasp.
And Sunghoon let him. Let himself be taken, soft and gasping, every inch a prayer whispered back into Heeseung’s hungry hands.
He shouldn’t want this. He fucking shouldn’t.
He told himself that. Told himself he hated this, hated what it meant, hated how weak it made him feel. He wasn’t the type to let someone do this to him. He wasn’t the guy who folded, who let himself be fucked stupid just because someone whispered a few soft words and kissed his neck like they meant it.
He wasn’t the guy who let someone use him.
Except now he let himself cling to Heeseung like he couldn’t stand to be apart from him. Arms wrapped tight around his shoulders, nails digging faintly into the skin, breath ragged, hips lifting to meet every slow, perfect thrust. He was taking everything. Every inch, every kiss, every word whispered into his neck and loving it.
“Ahhh… f-fuck, Heeseung… s’good,” he mumbled, almost incoherent, voice thin.
Heeseung kissed the corner of his mouth, down his throat, his collarbone. Every patch of skin he could reach, he claimed it. His mouth never stopped moving, sucking soft marks where Sunghoon wouldn’t have to hide them. His hands gripped his waist, pulled him closer, held him steady like Sunghoon was something to keep, not something to leave behind again.
And Sunghoon fucking moved with him.
Rolling his hips up to meet every thrust, greedy for more. His thighs trembled as he rocked back against Heeseung, chasing the rhythm, breath hitching every time their bodies met just right.
Heeseung groaned low, voice cracked. “Just like that, baby… fuck, you feel so good.”
Sunghoon whimpered, eyes rolling back, lips parted in a breathless gasp when he shouldn’t be here in the first place.
He should’ve said no, should’ve pushed him away back at the party, should’ve gone back to Jake and tried to be someone better. Someone smart. Someone who didn’t keep crawling back to the same soft-voiced, red-flag-wrapped disaster.
But he took it. All of it like he was made for it.
Back arched off the sheets, chest rising in quick, shuddery breaths, thighs trembling where Heeseung held them open. His skin was flushed, glowing under the low light of the bedroom, a fine sheen of sweat catching on his collarbones, his hair damp and messy across the pillow. He looked wrecked. He looked perfect.
And he whimpered so fucking pretty.
High, delicate little sounds with every deep roll of Heeseung’s hips, each thrust pushing the air out of him in quiet gasps. His hands clung to Heeseung’s shoulders, fingers digging in like he didn’t want him to stop, like he couldn’t let him stop.
“Fuck… nghh- keep going…”
His voice was shaking, desperate. Barely more than a whisper, but Heeseung heard it clear as day. And lost it.
He grabbed Sunghoon by the waist, held him in place, rocked in deeper, slower, grinding right into the spot that made Sunghoon jolt and cry out again.
“That’s it, baby,” Heeseung breathed against his neck, tongue flicking over his pulse. “Tell me what you need. Say it again.”
Sunghoon whimpered, back arching tighter. His toes curled, his weak hands scrambled for purchase on Heeseung’s back. “Please…”
Heeseung groaned, low and raw, like the sound was being torn out of him.
“You’re driving me fucking insane,” he panted, thrusting deep again, the slap of their bodies meeting muffled by the way Sunghoon clung to him. “Always do.”
Sunghoon’s lips parted in a silent moan, head thrown back as he writhed under him, helpless and desperate, taking it all with that blissed-out, fucked-dumb look in his eyes. He let out another soft cry when Heeseung angled his hips just right, and it broke him. His whole body trembled, voice cracking as he begged again.
Heeseung always knew how to take him apart, so he slowed his thrusts just enough, gripped Sunghoon’s waist tighter, angled his hips perfectly. Hitting that one spot over and over, driving Sunghoon insane. His hand slid between their bodies, fingers wrapping around Sunghoon’s aching cock, stroking in rhythm with his movements.
Sunghoon was already right there, thighs trembling, toes curling, breath coming in shallow gasps, eyes wet and blinking fast.
“H-Hee- fuck- I’m gonna-”
Heeseung cradled Sunghoon’s cheek and turned his face, breathless, eyes locked on him. “Let me see you come for me.”
And that was it.
Sunghoon broke.
His body arched up, a sharp cry tearing from his throat as he came hard between them, hot and messy across his stomach, his thighs twitching while his hands gripped Heeseung’s back like he was drowning. His whole body shook, breath catching in his chest as pleasure rocked through him.
Heeseung kissed him hard, swallowing the rest of his cries, still moving. Slower now, deeper, riding him through it while Sunghoon panted beneath him, soft but very much wrecked.
Then he pulled out, fast and smooth, his cock slick and flushed, twitching in his fist.
And he came everywhere.
Over Sunghoon’s stomach, his chest, across his abs and up near his collarbone. Hot ropes of it spilling out with every shuddering stroke of his hand, his mouth open, groaning through his teeth, eyes glued to the sight of Sunghoon beneath him, breathless, flushed and glowing in the aftermath.
“Shit… look at you,” Heeseung panted, voice ruined, hand still wrapped around the base of his cock as the last of it spilled onto Sunghoon’s skin. “Fucking perfect.”
Sunghoon blinked up at him, dazed, covered in sweat and cum and kisses. His lips parted, chest rising and falling hard, the mess warm on his skin, the room filled with sound of their breathing.
And all he could think was:
He let it happen. Again.
And it still felt so right. Every time.
