you show up at the villa pool after jaafar’s casual invite, only to find his fiancée was already there.
you showed up at the private villa pool like the invite had been meant for just the two of you. jaafar’s text had been short, almost lazy—come swim, the water’s perfect—and you’d packed the tiny black bikini that sat high on your hips, the one he always stared at too long.
you didn’t know she would be there until you stepped through the glass doors and saw her already stretched out on a lounger in a white one-piece, laughing at something one of the guys said. your stomach dropped hard.
you kept your face smooth, smiled when she waved, but inside everything went quiet and sulky, the kind of quiet that sat heavy in your chest and refused to leave.
jaafar was already in the water, wet hair slicked back, arms braced on the edge while he talked to someone. the second you walked out his eyes found you, dragging slow over every inch the way they always did when no one else was supposed to notice. you didn’t look at him long.
you dropped your towel on an empty chair far from her and sat down, legs stretched out, pretending to scroll your phone while the sun started baking your skin.
carlo came over a minute later with a bottle of sunscreen, the same guy who always offered to drive you home after late nights. “you’re gonna burn,” he said, grinning.
without thinking too hard you tilted your head and held the bottle out. “do my back?”
he didn’t hesitate. you turned, gathered your hair over one shoulder, and felt his hands slide the cool lotion across your shoulders, down the line of your spine, over the thin strings of the bikini. his palms were broad and casual, nothing lingering, but you felt the weight of someone watching the whole time.
you didn’t need to look to know it was jaafar.
when you finally glanced toward the water his eyes were locked on carlo’s hands, jaw tight, the easy smile completely gone.
carlo finished with a light pat on your shoulder. “all good.” you thanked him soft and stretched out again, but the air had already shifted.
a minute later jaafar climbed out of the pool, water running down his chest, and walked straight past everyone toward the outdoor shower like he needed space.
you waited until people started drifting toward the kitchen for drinks before you stood and followed him around the side of the villa, where the shower sat half-hidden by tall plants.
he was rinsing off, back to you, when you stepped into the small space. “you’re staring,” you said, voice low.
he turned slow, water still running over his shoulders. “and you’re letting carlo put his hands all over you like it’s nothing.”
“it is nothing.” you crossed your arms. “he was helping. unlike some people who invite their fiancée and forget to mention it.”
his laugh came out short and sharp. “so that’s what this is. you’re sulking because she’s here.”
“i’m not sulking.” you stepped closer, the spray catching the edge of your hip. “i just didn’t know i was third-wheeling today. thought this was supposed to be casual. like we always are.”
“casual.” he repeated the word like it tasted wrong. “you show up in that bikini knowing exactly what it does, then let some other guy rub lotion into your skin while i’m ten feet away. real casual, princess.”
“don’t call me that right now.” your voice went tighter. “you don’t get to be jealous when you’re the one who brought her. when you’re the one who still goes home to her every night. we’re friends with benefits, jaafar. that’s it. you don’t own me.”
he moved fast. one second he was under the water, the next he had you backed against the cool tile wall, one hand braced beside your head, the other gripping your waist hard enough to leave a print. water poured over both of you, soaking the black fabric until it clung transparent. “say that again,” he said, voice rough and low. “tell me i don’t own this when i’m the only one who gets to ruin you.”
“you don’t.” you pushed at his chest but didn’t put real force behind it. “you have her. i have my own shit. this is just sex when it’s convenient.”
“bullshit.” his thumb dug into the soft skin above your hipbone. “you think i don’t see the way you look at me when she’s not watching? you think i don’t feel how wet you get the second i touch you? you walk around acting like this is nothing and then you let another man put his hands on what’s mine.”
“not yours.” the words came out sharper than you meant. “and if you’re so fucking bothered, maybe stop inviting me places when she’s around. or better—stop texting me at two in the morning when you’re hard and she’s asleep next to you.”
his eyes flashed. for a second it looked like he might actually walk away. instead he shut the water off with a hard twist of the handle and crowded you tighter against the wall, body dripping onto yours. “you want to fight? fine. but you’re not walking out of here until i remind you exactly what this is.”
you opened your mouth to argue again but his hand was already sliding down, yanking the soaked bikini bottoms to the side. the air hit you and then his fingers did—two of them pushing in without warning, thick and rough, curling just enough to make your knees weaken.
a soft, broken moan slipped out of you before you could stop it.
you tried to bite it back, tried to keep your voice steady and tough, but it still came out shaky. he swallowed the sound with his mouth, kissing you dirty and open, tongue sliding against yours like he was trying to shut you up for good. a low, rough groan left him as he felt how wet you already were.
“still nothing?” he muttered against your lips, working his fingers deeper. “still just convenient?”
your hands were already on his swim trunks, shoving them down enough to free him.
he was hard and heavy in your palm, the size of him making your stomach flip the way it always did. you stroked once, twice, feeling how thick he was, how the head was already slick. he groaned low and pulled his fingers free, then lifted you like you weighed nothing, pinning you to the wall with your legs around his waist. another deep groan rumbled from his chest as your body pressed against his.
the head of him nudged against you, thick and blunt, and then he was pushing in—slow at first, stretching you open inch by thick inch until you were full of him, the burn of it making your head tip back against the tile. a longer, shaky moan spilled from your throat as he sank deeper.
you clenched your jaw, trying to sound tougher than you felt, forcing the next sound to come out lower, almost like a growl, but it still cracked at the end. a rough, low groan slipped from jaafar’s throat as he bottomed out, the sound thick and open. he didn’t give you time to adjust.
once he was buried he started moving, deep and hard, the wet slap of skin loud in the small space, water still dripping from both of you. every thrust dragged against something that made your thighs shake around him, and soft, needy moans kept slipping out of you with every push no matter how hard you tried to keep them down.
he answered each one with a low, gravelly moan of his own, the sound vibrating against your neck.
“look at me,” he ordered, voice rough. you did, and the look in his eyes was pure possession, dark and angry and hungry all at once. “you let someone else touch you and then you come to me soaking. you think i don’t know what you need?”
you tried to speak, tried to keep the edge in your voice, but only a broken moan came out when he snapped his hips harder, driving deeper, the thick length of him stretching you until it felt like he was everywhere. “f-fuck… still don’t own me,” you managed, voice strained and breathless, trying so hard to sound defiant even as another moan tore out right after the words.
he laughed low against your neck, the sound mean and knowing, mixed with another deep groan as he thrust harder.
“there it is. still trying to sound tough while you’re moaning for me.” his hand slid up to your throat, not squeezing, just holding, thumb under your jaw so you couldn’t look away. the other hand gripped your ass, spreading you wider for every filthy thrust. a low, continuous moan left him with every deep push. “keep talking. tell me you’re not mine while you sound like that.”
another moan spilled out of you, higher this time, raw and open, and you hated how soft it sounded. you tried again, voice cracking, “i’m not—ah—yours” but the words dissolved into a longer, shakier moan when he thrust especially deep. he answered with a rough, open-mouthed groan right against your ear.
“that doesn’t sound like nothing. sounds like you need me. look how full you are.” another deep groan spilled from him as he drove in hard.
it was messy—water and spit and the wet sound of him fucking into you over and over, the tile cold against your back while his body stayed burning hot. he leaned in and bit the side of your neck, hard enough to mark, then licked over it while he kept moving, deep and relentless.
a low, continuous groan rumbled from his chest with every deep push. “this is what you come for. me. not some guy with sunscreen.”
your fingers dug into his shoulders, nails biting skin. every time he bottomed out the stretch made another moan fall from your lips, soft and desperate, the size of him forcing you open wider, the drag of him pulling almost all the way out before slamming back in.
he kept talking low between his own rough moans—how tight you were, how you clenched like you were trying to keep him inside. the wet sounds and the slap of skin and your continuous, breathless moans filled the small space until it felt thick with it.
he shifted his grip and fucked into you harder, the angle making every thrust hit deeper, the thick length of him dragging against every sensitive place inside you until it started to feel like too much, the pressure building so sharp and constant that your body kept twitching and your moans turned higher, almost frantic.
your head fell forward onto his shoulder and another long, shaky moan spilled out against his skin. “j-jaafar wait—it’s too—ah!” you tried to beg, voice breaking, but he only held you tighter and kept going, loving the way you were falling apart in his arms, the way your tough little front kept cracking with every deep push. a deep, strained groan left him as he felt how tightly you were gripping him.
“already begging?” he murmured, voice rough and pleased, thrusting harder just to pull another broken sound out of you. a low moan slipped from him between the words. “i love watching you try to hold on and then lose it. you’re taking all of me so fucking well.” another rough groan escaped him as he bottomed out again.
you shook your head weakly, another desperate moan ripping out of you as the intensity kept climbing, every thick inch of him stretching and pressing until your thighs trembled harder and you couldn’t stop the soft, pleading sounds.
“please—jaafar—i can’t—it’s too much” the words came out in a breathless rush between moans, half-begging, half-moaning, but he only groaned low and kept moving, deep and relentless, clearly loving every second of watching you come undone. his moans grew rougher, more open, matching the pace of his hips.
he pulled your face back up and kissed you again, messy and open, swallowing every broken sound you made while still murmuring against your mouth, “keep trying to sound mean. makes it better when you break.” another deep groan spilled from him as he drove in hard.
when he came it was with a low, rough groan against your mouth, hips stuttering as he buried himself as deep as he could go and stayed there, pulsing thick and hot inside you.
you moaned softly into the kiss, body still trembling around him, the last of your tough front completely gone.
he didn’t pull out right away. he stayed pressed against you, breathing hard, one hand still on your throat like he wasn’t ready to let go, a final quiet moan still leaving his chest.
water dripped from the showerhead onto the both of you. somewhere beyond the plants people were laughing, music playing, her voice carrying faintly.
jaafar’s forehead rested against yours for a second longer, eyes closed, before he finally eased out of you. the loss of him left you aching and full at the same time, a last quiet moan leaving your lips at the sudden emptiness.
he fixed your bikini bottoms with careful fingers, then his own trunks, and looked at you one more time—still angry, still hungry, still not done.
“next time you let someone else put their hands on you,” he said quietly, “i’m not gonna be this nice about it.”
then he walked back out into the sunlight like nothing had happened, leaving you against the wall with the taste of him still in your mouth, the ache of him still deep between your legs, and the echo of your own moans still hanging in the damp air.