Before he could spiral any further, Gabe kissed him again, harder this time, like he was determined to shatter every doubt, every whisper of guilt in Sean’s head. Sean’s hands moved of their own accord, sliding up Gabe’s back, pulling him closer. Gabe’s body was firm, solid, a grounding presence that Sean clung to like a lifeline.
The kiss deepened, tongues sliding together in a heated dance, their breaths mingling in the cool night air. Sean groaned, the sound ripped from his chest as Gabe’s hands wandered lower, fingers slipping beneath the hem of Sean’s shirt. The touch was electric, sending jolts of heat straight to his cock. Sean felt his pulse race, every nerve in his body buzzing with an anticipation that bordered on desperation.
Gabe’s lips broke away from Sean’s, trailing down his jaw, to his neck, teeth scraping against skin in a way that had Sean biting back a curse. “Jesus fuck, Gabe,” Sean hissed, his fingers tightening in Gabe’s shirt.
“You good?” Gabe murmured against his throat, lips brushing the words into Sean’s skin.
Sean nodded, unable to form any coherent words. His body was on fire, every inch of him alive with sensation. He was hyper-aware of every touch, every shift of Gabe’s body against his, the way their breaths seemed to sync up, shallow and fast.
They moved together in a clumsy, eager rhythm, all hands and heat. Gabe’s fingers worked at the buttons of Sean’s jeans, and Sean’s mind went blank, overwhelmed by the sensation of it all. It wasn’t just the physical need—the aching throb of his cock pressing against the denim—but the intimacy, the way Gabe looked at him like he wasn’t broken, like he wasn’t some fucked-up mess of a person barely holding himself together.
When Gabe finally freed him from his jeans, the cold night air hit his cock, a sharp contrast to the heat radiating off him. Gabe’s hand wrapped around him, and Sean’s breath hitched, the world narrowing to the point where the only thing that mattered was the feel of Gabe’s hand stroking him with slow, measured strokes.
Sean groaned, his head falling back, eyes slipping shut as his hips bucked instinctively into Gabe’s touch. “Fuck,” he gasped, barely able to form the word.
Gabe chuckled low in his throat, his thumb sliding over the head of Sean’s cock, teasing him with light, almost-too-soft pressure. “You like that?” Gabe asked, his voice rough, ragged with his own arousal.
“Yeah,” Sean panted, his body practically vibrating with need.
Gabe’s hands were everywhere at once, stroking, teasing, driving Sean to the edge of madness. He wanted more. He needed more.
“Gabe,” he managed to rasp out, voice thick with desperation. “I need—fuck, I need you.”
Gabe’s eyes darkened, a low growl rumbling in his throat as he yanked his own jeans off, the two of them a mess of tangledlimbs and discarded clothing under the starlight. There was no need for words after that. Their bodies moved in sync, a frantic, feverish rhythm that was equal parts raw and tender.
When Gabe finally slid into him, Sean’s entire body tensed, a choked gasp escaping his throat. The stretch, the burn, it was all so much, too much, and yet not enough. He needed more. Always more.
“Fuck,” Sean groaned, his fingers digging into Gabe’s back as he rocked his hips up, urging Gabe to move.
Gabe didn’t need any more encouragement. He set a punishing pace, thrusting into Sean with a relentless rhythm that had Sean’s entire body shuddering with every push and pull. Sean could barely think, could barely breathe, every nerve in his body alight with sensation. He felt like he was coming apart at the seams, unraveling in the best possible way.
Every thrust drove him closer to the edge, and when Gabe reached down to stroke him in time with his thrusts, Sean knew he was done for. The orgasm hit him like a fucking freight train, ripping through him with a force that left him gasping, trembling, his body seizing up with the intensity of it.
Gabe wasn’t far behind, his own release hitting him hard enough that he collapsed onto Sean, their breaths coming in ragged, uneven gasps as they lay tangled together in the aftermath.
For a long while, neither of them spoke, the only sounds filling the air were their heavy breathing and the distant chirping of crickets. Sean’s mind was blissfully blank for the first time in what felt like forever. There was no guilt, no shame, just the warmth of Gabe’s body against his and the soft glow of satisfaction settling in his bones.
Eventually, Gabe shifted, propping himself up on one elbow to look down at Sean. “Still think you don’t deserve to be happy?”
Sean snorted, too tired to form a proper response. “You’re such an asshole,” he muttered, though the fondness in his tone was unmistakable.
Gabe grinned, leaning down to press a soft kiss to Sean’s temple. “Yeah, but I’m your asshole.”
Sean couldn’t help but laugh, a low, rumbling sound that felt foreign but welcome all the same.
Chapter 20
Gabe
The shrill ring of his phone jolted Gabe from a deep, dreamless sleep. He groaned, fumbling blindly for the offending device on the unfamiliar nightstand. The blue glow of the screen assaulted his eyes, making him squint as he tried to decipher the time.
4:37 AM.
A text from Lucas flashed across the screen:
Need you back at your place. Now. It's urgent.
Gabe's heart rate spiked, adrenaline chasing away the last vestiges of sleep. What the hell had happened? Was his family okay? Had Riley made another move?