Actions

Work Header

endless summer afternoon

Summary:

Haknyeon pats Sangyeon on the shoulder. “There might be some hot… twinks out there.” He tries to supply helpfully. Sangyeon smiles back at him. He really appreciates the effort from his very straight, very frat-boy friends to include him.

Sangyeon pats Haknyeon back, readjusting the floppy hat on his head for him. “Yeah, maybe.”

Notes:

(See the end of the work for notes.)

Work Text:

Sangyeon glances out onto the beach. It’s beautiful, shimmering light blue waves under the sun, washing up to the shore. It’s hot out today, but the beach isn’t that crowded, at least not the part that belongs to the resort.

“Come on, Sangyeon!” Eric shouts, slapping Sangyeon on the back as he dashes out into the sand. Sunwoo follows him without a second glance at Sangyeon. Sangyeon rolls his eyes. Those two have been talking about hitting on the “hot girls on the beach” almost nonstop since they started planning the trip.

Haknyeon pats Sangyeon on the shoulder. “There might be some hot… twinks out there.” He tries to supply helpfully. Sangyeon smiles back at him. He really appreciates the effort from his very straight, very frat-boy friends to include him.

Sangyeon pats Haknyeon back, readjusting the floppy hat on his head for him. “Yeah, maybe.”

 

Eric, like the extrovert he is, finds himself invited to a beach volleyball match that he drags Sunwoo to. Sangyeon and Haknyeon can see them from where they’ve piled their beach towels and sun lotion, chatting with the girls they’re playing with. Eric has taken his shirt off and Sangyeon tries not to laugh at the way everyone else, including Sunwoo, is staring.

Haknyeon has sunglasses perched on his nose and he’s reading with a floppy hat on. Sangyeon has to say he was a little surprised to find out he was the only gay one in their friend group. “Not gonna join the volleyball game?” Sangyeon asks, lathering a bit more sunscreen on his arms, rolling up his short sleeves.

Haknyeon snorts without looking up from his book. “You’ve ever seen me play volleyball?” Right. The only sport Haknyeon did was equestrian and Sangyeon wonders how Haknyeon’s still friends with Eric and Sunwoo. Sangyeon’s grateful though because Haknyeon’s dad’s uncle’s friend or someone owns the beach resort and is letting them stay for free.

“Fair.” Sangyeon puts the sunscreen down. “You’re even gonna build a sandcastle or anything?” He asks, half hopeful. He had resigned himself to lounging around with Haknyeon on beach towels when Eric and Sunwoo ran off but now he’s bored.

Haknyeon glances at him over his sunglasses. “You look like you need to run around like a puppy or something.” He turns back to his book. “Don’t worry about me, go build your sandcastle.”

Sangyeon shrugs to himself, standing up on the warm sand on his bare feet. Might as well enjoy the beach.

 

Sangyeon dips his toes in the water, letting the cool wash over him, soothing the soles of his feet that’s been standing on hot sand under the beating sun. He forgets how soothing it is to visit the beach, see the waves disappear into the horizon and the open sky with its puffy clouds. He’s a city boy, always has been, but the beach will always be special.

He walks back over to the shore and plops his butt down. Time to build that sandcastle he’s been talking about. Sangyeon digs up handfuls of sand with his fingers, feeling the wetness in his hands as he pats them into a little mound. He doesn’t have a bucket so he’ll have to work around it.

It reminds him of childhood when he and his sister would beg their mom to go to the beach and end up working on sandcastles for hours, only to kick it all down before they leave and let the water wash it away. It’s cathartic.

Sangyeon’s rounding out the top of his sandcastle when he hears a squeal behind him and a child runs over, stopping right in front of his now somewhat tower-shaped building.

She giggles at Sangyeon and already he’s endeared to her, finding himself smiling back. Then she pokes a hole in his sandcastle before Sangyeon could even speak and it takes all his willpower not to crumble. The structural damage would be hard to repair, considering the way the castle is starting to collapse on itself. Sangyeon tries to console himself; it’s just sand.

“Suyeon! Come back here!” A male voice calls out behind Sangyeon and the child, Suyeon, runs off. Sangyeon turns to see a guy, about his own age, a few feet away from him and Suyeon running back to him.

They walk over and when he gets closer, Sangyeon can see the guy is kinda cute. Suyeon clinging onto his leg is even more so, enough that Sangyeon can’t bring himself to be mad.

“Oh god, did Suyeon do that?” His attention is drawn to the noticeable hole in Sangyeon’s little sandcastle. Sangyeon’s more focused on the stranger, a lightly tanned and lithe figure in short red trunks and a big white shirt. His eyes are wide but gentle and Sangyeon can see why kids would just love him.

“Unfortunately.” Sangyeon squints up at him. “Is she usually this much of a menace?”

“You have no idea.” The stranger laughs and Sangyeon wants to hear it again. Play it on repeat. His eyes are soft from laughter and his dangling hand reaches to pat Suyeon on the head.

“I’m Sangyeon.” Sangyeon manages to say, trying not to let this moment slip from him. Maybe Haknyeon’s right about “hot twinks” on the beach.

“Seungjoon.” He says, beaming. Everything about him is bright and Sangyeon can’t help but keep staring even if he feels like Seungjoon will blind him. “Well, this is Suyeon.” A cute name. She smiles and waves like she’s not a little gremlin who destroyed Sangyeon’s castle. Sangyeon waves back. He can’t stay mad at that face.

“Your little sister? Cousin?” Sangyeon stands, dusting some of the sand off his legs. He measures up just a few centimeters taller than Seungjoon, which is impressive considering he’s kind of short around everyone else.

“Oh, no.” Seungjoon laughs, fixing his fringe. Sangyeon wants to do it for him, brushing over his soft almost-brown locks. “I work at the resort daycare and she’s the only one there today so I took her out for a little walk on the beach.” Seungjoon pets Suyeon’s hair again. She giggles. Unbelievably cute, Sangyeon thinks, but he doesn’t even know which one of them he’s thinking about.

“You have sand on your butt,” Suyeon says loudly, looking right at Sangyeon.

Sangyeon twists around to see that she’s right. “Oh, dear.”

“You should wait for it to dry a little,” Seungjoon adds, stifling a laugh. Sangyeon watches the way his gaze lingers on Sangyeon’s sand dusted swimming trunks. “I have to bring Suyeonie back.” He drops his hand and Suyeon grabs onto it. Seungjoon looks back up at Sangyeon, smiling a little more softly.

“See you around.” Sangyeon returns the smile, raking a hand through his hair. Shit. He’s kind of in love. The fact that Seungjoon’s good with kids already sends Sangyeon’s heart pounding. Seungjoon waves and Suyeon mirrors him as they walk away, leaving two trails of footprints on the beach.

Sangyeon looks back at his sandcastle to see that it’s been washed away already but he finds that he doesn’t mind.

 

A few hours later, Sangyeon finds himself at the resort bar with Haknyeon and Sunwoo. Eric is already “preoccupied” in his shared room with Sunwoo and Sunwoo’s sulking by throwing back shots. Haknyeon’s sipping away at a sweet cocktail, rolling his eyes at whatever Sunwoo’s mumbling about, but Sangyeon knows Haknyeon would offer to share his bed with Sunwoo tonight.

Sangyeon nurses his own beer. They all even bothered to match their outfits for today, various Hawaiian shirts and shorts. Sangyeon put on his favorite blue and white Hawaiian shirt, leaving the top two buttons unbuttoned, and yellow shorts. Haknyeon had nodded his approval when Sangyeon bought it. He trusts Haknyeon more than himself when it comes to fashion.

Someone taps Sangyeon’s shoulder from behind. “Hey.” It’s a familiar voice but not Eric.

Sangyeon turns to see Seungjoon behind him, an oversized black hoodie covering all of Seungjoon’s red shorts. He’s grinning. Sangyeon wants to melt. Seungjoon’s happy to see him.

“Hey yourself.” Sangyeon finishes off his beer. “Just got off work?”

“Yep.” Seungjoon pops the p. He leans on the bar counter, grin melting into a lazy smile. “What do you have planned tonight?” His voice is all casual but Sangyeon’s heart flutters.

“Nothing much.” Sangyeon grins. The plan was to party some more after dinner, but with Eric gone, Sunwoo and Haknyeon were probably more keen on just knocking back drinks at the bar and trying to find the courage to talk to the women there. The bartender walks over to collect Sangyeon’s empty beer glass, pausing to raise an eyebrow at Seungjoon. Seungjoon shoots him a wink and the stone-faced bartender walks away.

Seungjoon turns back to Sangyeon and his smile widens, eyes sparkling with mischief. They’re thinking the same thing without having to say a single word. His hand crawls slowly, playfully, over the countertop and on the back of Sangyeon’s hand. Sangyeon twists his hand and holds Seungjoon’s hand in his.

Seungjoon tugs him up, pulling him away from the bar. Sangyeon complies, almost a little too happily. Haknyeon looks up in alarm when he sees Sangyeon getting up but gives him a thumbs up when he sees Seungjoon attached to him. Then Seungjoon’s leading him out to the outdoors section of the bar and onto the beach.

 

It’s a cliche and Sangyeon knows it, but he can’t help loving the long walk on the beach under the moon. He learns that Seungjoon is actually older than him by just a year and that he’s fresh out of uni, working at the resort for a little extra experience with teaching. “Kids just love me, I guess.” Seungjoon smirks. Me too. Sangyeon wants to add, but he bites it back with a smile.

“What about you?” Seungjoon nudges Sangyeon. “Don’t say you’re in something lame like finance. Or business management.” He stops, Sangyeon stopping next to him. “Oh, you’re not in accounting, are you?” He fakes terror, slapping a hand over his mouth.

Sangyeon chuckles, raising his hands in surrender. “You got me. I’m working on the CPA exams.” Seungjoon rolls his eyes.

“Could’ve guessed it from the way you’re dressed.” He drops to the sand, sitting with his legs crossed. Seungjoon glances up and cocks his head, patting the spot next to him.

“What, you don’t like it?” Sangyeon sits down next to him.

“It’s just…” Seungjoon inhales, trying to gesture something with his hands. “Very rich frat boy.” Sangyeon laughs in response. The shore creeps in, stopping just a few feet away from them before pulling back. It’s quiet, save for the waves rolling against each other and distant chatter from the buildings behind them.

Sangyeon turns to Seungjoon and takes his hand. Seungjoon lets him and Sangyeon feels warmth spreading in his chest, even with the cool evening breeze along the beach. He watches Seungjoon, watches as the wind flutters through his hair. Maybe there’s nothing prettier than Seungjoon here, eyes reflecting moonlight like the waves.

“Seungjoon.” Sangyeon leans in, using his free hand to brush Seungjoon’s fringe from his face. He feels some secret thrill in watching Seungjoon’s eyelids flutter in response after Sangyeon got to do something he’s been wanting to do since he laid eyes on him. Sangyeon tries to think of something to say, but nothing compares to the weight of Seungjoon’s name on his tongue. “You’re really pretty.” It's not a lie.

It’s Seungjoon’s turn to laugh. “Just kiss me, you idiot.”

Sangyeon closes the gap between them, giving Seungjoon a chaste kiss before pulling back. Seungjoon sighs, releasing Sangyeon’s hand to put his hands on Sangyeon’s neck, tugging him back into another kiss. Oh. It’s deeper, wild, and sends Sangyeon’s insides spinning like a whirlpool. Seungjoon pushes into Sangyeon’s mouth and Sangyeon wraps his arms around Seungjoon’s torso to keep him there, in his hold.

He can play along, accept whatever Seungjoon’s willing to give. Sangyeon’s fingers travel lower to the hem of Seungjoon’s hoodie, slipping up under the shirt beneath it to feel Seungjoon’s warm skin under his cold fingertips. Seungjoon whines softly into his mouth and Sangyeon’s taken aback, falling backward onto the sand and taking Seungjoon with him.

They break apart and Seungjoon laughs. Sangyeon can’t speak, as if Seungjoon’s soft noises sent his body into a frozen state. He’s weak, weak for anything Seungjoon does. Seungjoon leans in close, shifting so that he’s straddling Sangyeon. Does he know what he’s doing? It takes everything in Sangyeon to stay perfectly still and not try to wriggle for some friction.

“Sangyeon?”

Sangyeon blinks, regaining his cognitive abilities. “Yeah.”

“You were completely frozen there.” Seungjoon smirks. He definitely knows what he’s doing. “How about I warm you up?” He takes Sangyeon’s hand and before Sangyeon could blink, Seungjoon slides his hand under his hoodie again. He shivers when Sangyeon’s fingers meet skin, chest puffed out. Seungjoon is gorgeous like this, head tilted to the side and trembling.

“Fuck, Seungjoon.” Sangyeon’s fingers brush against Seungjoon’s ribs before dipping back down to the hem of Seungjoon’s hoodie. He pauses, staring at the hem of Seungjoon’s hoodie. “I’m sorry. I can’t—”

“It’s okay if you don’t want to,” Seungjoon says quietly, hands covering Sangyeon’s.

“No, I want to.” Sangyeon laughs. He wouldn’t last long against Seungjoon. Seungjoon squeezes his hands in between his, mirroring his laugh with a smile. “But not here. Our clothes are covered in sand.” And Seungjoon deserves better than a cliche like sex on the beach.

“Oh shit, sorry.”

Seungjoon climbs off of him, helping him up and dusting his clothes off. Maybe his hand lingers a little too long on Sangyeon’s chest, but Sangyeon lets it slide. There’s a moment of silence as Sangyeon holds onto Seungjoon’s hand.

Seungjoon turns to him, midnight eyes bright as the stars. “I have to get home, actually. I’ll see you tomorrow?” He swings their intertwined fingers as they start walking back to the resort like they’ve been doing this for years. It’s starting to get late and now Sangyeon feels a little guilty for keeping Seungjoon here after work.

Sangyeon nods. He presses a kiss into Seungjoon’s cheek before letting go of his hand. Seungjoon takes two steps away before turning back, leaping up to Sangyeon and giving him a sloppy smack on the cheek before running off again. Sangyeon just smiles as his silhouette disappears into the distance, touching his own cheek.

 

Sunwoo crinkles his nose at the spray of sand Sangyeon accidentally lets into the room. “Dude, how did you— Were you like rolling around in the sand?” Sangyeon lifts an eyebrow. The color drains from Sunwoo’s face and he makes a retching noise. Drama queen.

Eric doesn’t even look up from his phone. “Sangyeon-hyung probably got that sloppy toppy right on the beach.” He accompanies his quip with grotesque slurping sounds, which gets him a pillow to the face from Sunwoo. Sangyeon only laughs as Haknyeon slips into the room and starts a fuss about the sand on the floor.

He feels a little bad about not spending enough time with his friends during their vacation but to be fair, Eric and Sunwoo came with the express purpose of getting laid and Haknyeon made it clear he needed his alone time with his book on the beach. Still, Sangyeon resolves to make it up to them and they spend the whole night talking and laughing.

 

It’s Seungjoon’s afternoon off and he’s spending it on the beach with Sangyeon, taking bites out of the sandwich that he packed himself. They’re sitting on the sand again, this time near the rocks marking the end of the resort part of the beach. The sun is beating down on them just as hard as the day before, if not harder.

“Are you friends with the bartender?” Sangyeon lies on the sand perpendicular to Seungjoon, propping himself up next to Seungjoon’s stomach. He remembers that guy, the one with a really good poker face that seemed ready to take Sangyeon on in a fight if he looked at Seungjoon the wrong way.

“Oh, Jaeyoung? Yep.” Seungjoon smiles down at him. “He’s nice. He said there were two milfs chatting up your friends when we left.” Sangyeon’s eyes widen at the mention of his friends.

“Milfs?” Sangyeon cocks his head to the side. He couldn’t say for sure what Sunwoo’s taste in women is like but he speculates that Sunwoo didn’t mind as long as they are into him. But this does explain why Haknyeon wasn’t in their room for most of last night.

“You know. Bored housewives on a weekend getaway with their husbands’ money, looking to snatch a young and pretty guy.” Seungjoon snorts. “They’ve tried it with me a few times.”

“You?” Sangyeon laughs. The idea of older women trying to flirt with an uninterested Seungjoon…

Seungjoon huffs, poking at Sangyeon’s forehead. “Hey, women love me! I just don’t love women.” His hand reaches to card through Sangyeon’s hair and it fills in what Seungjoon doesn’t say.

Sangyeon plays with the hem of Seungjoon’s long white shirt, similar to the one he wore the day before. He’s still wearing his red shorts, so short that they leave the long length of his warm honeyed thighs exposed. Sangyeon had his eyes on Seungjoon’s thighs the second he was walking over to him on the beach yesterday.

Sangyeon scoots lower. “What happened here?” Sangyeon’s finger brushes over a sizable bruise on Seungjoon’s knee. It seems fresh, darkening from red to purple-ish. It stands out, a small patch of blossoming color on his tanned skin.

“I was chasing after the menace herself this morning and knocked my knee right on the door frame.” Seungjoon winces at the memory.

Sangyeon looks over at the bruise again.

“I’ll kiss it better for you.” It’s a transparent excuse to get his lips on Seungjoon again, any part of him. Before Seungjoon can protest, Sangyeon holds up the underside of Seungjoon’s knee and presses his lips to the bruise on the joint. He looks back up at Seungjoon, a successful smile on his face, teetering on the edge of smug. For once, Sangyeon might have the upper hand on Seungjoon.

Seungjoon’s blushing hard, the tips of his ears bright red. His eyes are dazed, but he licks his lips and that mischievous smile finds its way onto Seungjoon’s face again. Sangyeon’s starting to learn that it’s a sign of trouble.

“I think I have a bruise on my inner thigh.” He spreads his legs apart like an invitation, looking down at Sangyeon innocently. Every time Sangyeon thinks he has one up on Seungjoon, Seungjoon flips everything upside down on him. Maybe Seungjoon will be the death of him.

Sangyeon shifts to squeeze in between Seungjoon’s thighs, holding the sides of his knees still. He noses along Seungjoon’s inner thigh, right up to where his little red shorts ride up. The smell of sweat mixed with sunscreen has never been sexier.

“I see it,” Sangyeon lies, leaning in to kiss an exposed sliver of skin just at the hem of his shorts. Seungjoon’s knees shake. Sangyeon inches further up under his shorts to press another kiss, this time sucking at the skin gently. He’s close enough to feel Seungjoon’s hard cock brush against his cheek through the shorts. Sangyeon pulls away, looking back up at Seungjoon between his knees.

“I think your kisses are magic.” Seungjoon breathes, a sheen of sweat on his face that Sangyeon guesses it’s not just from the heat. He’s red all over and Sangyeon wants to cheer and to tell himself he did a good job riling Seungjoon up, but he knows Seungjoon can turn it back on him just as fast. He’ll take his reward in Seungjoon’s lips instead.

Sangyeon lifts himself back up and now he’s the one straddling Seungjoon, bending down to his face. “No underwear?” Seungjoon’s hands are on Sangyeon’s back, sliding down to cup his ass.

“Easy access.” Seungjoon teases back, smirking with satisfaction when Sangyeon flusters in return. His hands slide up under Sangyeon’s thin sleeveless shirt and up his back, pulling him down so Seungjoon can meet his lips.

They’re kissing but there's nothing soft about it, just hot and wet and Seungjoon’s tugging Sangyeon’s shirt over his head now. “What happened to not wanting to do it on the sand?” Seungjoon teases, running his fingers over Sangyeon’s body, his pecs, and abs. Sangyeon watches Seungjoon admire every line on his torso and the equal parts of wonder and hunger make Sangyeon want to kiss Seungjoon again.

Sangyeon pushes Seungjoon’s shoulders back down on the sand, slipping his shirt under Seungjoon’s ass. “Shut up and let me blow you.”

Seungjoon’s eyes widen but return to their half-lidded state just as fast. “How lovely of you to make an offer I can’t refuse.” His lips might be small but they curl up into the biggest smile as Sangyeon makes his way back down to the waistband of his shorts.

Sangyeon hikes Seungjoon’s shirt up, revealing the expanse of his stomach. It’s barely tan and unmarred by any piercings or tattoos. Maybe Seungjoon would look nice with a little tattoo somewhere on his stomach, or his ribs. Hot. He kisses the smooth skin, nosing down to his waistband, tugging his shorts down to let Seungjoon’s dick out.

“Sangyeonie,” Seungjoon breathes, hands reaching down to thread through Sangyeon’s hair. The nickname, in Seungjoon’s voice, affects Sangyeon more than he thought it would. He wraps his lips around Seungjoon’s dick and teases a soft moan from him.

Sangyeon has had experience, but looking at Seungjoon from below makes him feel like this is the first time he’s ever done this. All his past memories fade away and there’s nothing except the present in his mind, Seungjoon whispering yes, there, before biting his lip as Sangyeon swirls his tongue at the top of Seungjoon’s dick.

“Fuck, you’re good at this.” Seungjoon’s voice hitches as Sangyeon wraps his hand around the part of the shaft that’s not in his mouth. Sangyeon’s nose brushes up against Seungjoon’s stomach and Seungjoon’s feet curls into the sand. It’s hot and perfect, Seungjoon’s soft moans and the sun on his back, sweat slicking his skin and Seungjoon’s. “Oh, fuck.” Seungjoon’s hips buck upward frantically when Sangyeon finds a good rhythm and he almost smiles at the way Seungjoon squirms under him. It’s cute.

Sangyeon hums but goes faster until he feels Seungjoon’s fingers tighten in his hair. “I’m close, Sangyeonie,” Seungjoon tugs at his hair and Sangyeon saves the prickle of pleasure he gets from it to explore later. Sangyeon pulls off Seungjoon's dick with a pop and replaces his lips with his hand.

“Come on, babe,” Sangyeon leans in to kiss Seungjoon’s inner thigh again, sucking gently. Seungjoon seems to like it if him moaning like Sangyeon’s killing him is any indication. “Come for me.”

Seungjoon comes with a whine of Sangyeonie, come coating his bare stomach. His eyelids flutter close. “Holy shit.” Sangyeon laughs, taking the paper napkins Seungjoon brought with his lunch to clean them both up as Seungjoon sighs, letting Sangyeon work at it. There’s just something about Seungjoon that made Sangyeon want to pamper him, treat him like royalty. “You sucked the life out of me.” Crass royalty.

“Glad you liked it, babe.” Seungjoon’s eyes open at the word babe. “You like that too, don’t you?” Sangyeon smirks, tossing the crumpled napkins in their trash bag.

Seungjoon covers his face and groans. “Shut up.”

The sound of waves crashing onto the beach and far away birds fills the quiet pauses between them. Sangyeon wouldn’t mind living out here on the beach like this. He looks over to catch Seungjoon staring at him. Instead of getting shy, Seungjoon shoots him a wink and a lazy smile, his cheeks shining and golden from the afterglow and the sun. He’s beautiful like this, full of glowing youth and sweetness.

Sangyeon wishes he could take this moment in time and capture it in perfect technicolor, save it in the back of his mind forever, but he settles for the next best thing. He leans in to kiss him again.

Notes:

yeah its me again. yeah i wrote sangjoon again. yeah its sangyeon giving seungjoon a blowie again.

sigh. how did i get here. i don't even know. one minute im listening to solar power by lorde and next im writing out a (checks word count) 4k sangjoon fic. sorry if this is really all over the place in terms of narrative... im writing to cope with the fact that onf will be off soon.... the other day beautiful beautiful came on shuffle and i got very sad. but hey everyone has to cope somehow and i hope this warm and nice fic will help! idk! good luck out there fuses.

i legit cannot stop writing these cute and sweet sangjoons please send encouragement/complaints to my nsfw 18+ tbz acc or leave them in the comments!