The loft smelled of rain-soaked coats, candle wax, and the faint musk of three bodies that had spent the weekend learning every curve and secret of each other without ever quite crossing the final threshold. It was Friday evening — the end of a week that had felt both endless and too short. Alex had left work early again, citing a “personal matter,” ignoring the raised eyebrows from Marcus and the lingering stare from Elaine Chen in the hallway. He didn’t care anymore. Not tonight.
Sophia arrived first — black dress clinging to her from the drizzle outside, hair damp and curling at the ends, storm-gray eyes bright with something between hunger and certainty. She kicked off her heels at the door, coat dropping to the floor in a wet heap, and crossed the room to Alex in three strides.
“You’re early,” he said, voice low.
“I couldn’t wait.” She cupped his face with both hands — thumbs brushing his cheekbones — and kissed him deeply, tongue sweeping in like she was claiming territory she already owned. Alex groaned into her mouth, hands sliding to her hips, pulling her flush against him until he felt every soft curve through wet fabric.
Jordan arrived minutes later — hoodie soaked, hair dripping, guitar case protected under his arm. He set it down gently, eyes darkening as he took in the scene: Sophia pressed against Alex, mouths locked, hands roaming.
He crossed the room without a word, pressed himself to Alex’s back, mouth finding the side of his neck. Open-mouthed kisses, teeth grazing lightly, tongue soothing the faint sting. Alex shuddered between them — Sophia in front, Jordan behind — bodies aligning in perfect symmetry.
Sophia broke the kiss first, turned her head, and kissed Jordan over Alex’s shoulder — slow, deliberate, tongue brushing his. Jordan groaned softly, hand sliding around Alex’s waist to rest flat against Sophia’s lower back, pulling her closer until all three were chest-to-chest-to-chest.
They moved to the bedroom in a tangle of limbs and half-shed clothes — Sophia’s dress unzipped and left in a pool on the floor, Jordan’s hoodie and T-shirt discarded, Alex’s sweater lifted over his head while two sets of hands explored his bare chest.
The bed welcomed them — sheets already rumpled from the morning. Sophia pushed Alex down gently — center of the mattress — then straddled his hips again. Lace still on, black and sheer, n*****s visible through the fabric. Jordan knelt beside them, mouth finding Alex’s collarbone, sucking a fresh bruise beside the fading ones.
Sophia rocked against Alex — slow, deliberate circles — lace dragging along his length through thin boxers. He groaned — low, wrecked — hips lifting to meet her. Jordan’s hand joined hers — fingers slipping inside Alex’s waistband, wrapping around him with firm, slow strokes. Sophia’s hand covered Jordan’s — their fingers interlacing around Alex’s length, moving together in perfect rhythm.
Alex gasped — body arching between them. “Please—”
Sophia smiled against his ear — wicked, tender. “We’ve waited long enough. Tonight we don’t stop.”
Jordan kissed Alex’s temple. “Tonight we all yield.”
They shed the last barriers — Sophia’s lace peeled away, Jordan’s sweatpants kicked off, Alex’s boxers tugged down and tossed aside. Skin on skin — hot, electric. Sophia straddled him again — bare now, heat radiating. She sank down slowly — taking him inch by inch — until he was fully inside her. Both groaned — low, simultaneous sounds of relief and need.
Jordan watched — eyes dark, hand stroking himself slowly — then leaned in, kissed Sophia deeply while she rocked against Alex in slow, rolling thrusts. Alex’s hands gripped her hips — guiding her rhythm — while his other hand reached for Jordan, fingers wrapping around him, stroking in time with Sophia’s movements.
Sophia broke the kiss with Jordan, leaned down, and kissed Alex — deep, claiming — while her hips rolled faster. Jordan moved behind her — chest pressed to her back — mouth on her neck, hands cupping her breasts, thumbs circling n*****s. He rocked against her ass — length sliding between her cheeks — adding friction without entering.
The room filled with sounds — wet skin on skin, ragged breaths, soft moans, whispered names.
Sophia’s rhythm quickened — hips snapping down harder, taking Alex deeper. Alex thrust up to meet her — matching her pace — while his hand worked Jordan faster. Jordan groaned against Sophia’s neck — hips rocking forward — hand joining Alex’s on Sophia’s breast, pinching lightly until she gasped.
Pleasure built — sharp, overwhelming. Sophia’s breath hitched — body tensing. “I’m close—”
“Me too,” Alex gasped.
Jordan’s voice was rough. “Together.”
They moved faster — hips snapping, hands stroking, mouths meeting in messy, desperate kisses. Sophia came first — body clenching around Alex, cry muffled against his shoulder. The sensation pushed Alex over — hips jerking up hard as he spilled inside her with a broken groan. Jordan followed seconds later — hand tightening around Alex’s, release spilling over their fingers as he shuddered against Sophia’s back.
They collapsed together — trembling, breathless, slick with sweat and release. Sophia stayed seated on Alex — keeping him inside her — while Jordan curled around them both, arms wrapping tight.
No one spoke for a long moment.
Then Sophia laughed — soft, breathless. “We waited too long for that.”
Jordan kissed her shoulder. “Worth it.”
Alex turned his head — kissed Sophia, then Jordan — slow, grateful.
“I love you both,” he whispered — voice raw, steady.
Sophia smiled against his skin. “We love you too.”
Jordan’s arm tightened. “We do.”
They stayed like that — tangled, warm, spent — until breaths evened out and heartbeats slowed.
Later, they showered together — slow, soapy hands washing away sweat and tension, kisses traded under the spray. Back in bed — fresh sheets — they curled together again, limbs overlapping, no one wanting distance.
Sophia traced lazy circles on Alex’s chest. “Work tomorrow?”
“Yeah. But I’m not hiding anymore. If they ask, I’ll tell them the truth.”
Jordan’s hand found his. “We’ll be here when you get home.”
Sophia kissed his jaw. “Always.”
Alex closed his eyes — body heavy, heart full.
The outside world could whisper.
The outside world could judge.
But inside these walls, three hearts beat as one.
And nothing — no rumor, no review, no echo from the past — could break that.
They drifted to sleep — tangled, safe, loved.
The dawn would bring new battles.
But tonight, they had won the only one that mattered.
The battle to be seen.
To be chosen.
To be whole.
Together.