He didn’t kiss him, which was disappointing. What wasn’t disappointing was the way his thigh pushed hard between Gavin’s, the full weight of him pinning him to the door. His stare, intent and incendiary, added even more weight.

“Just deciding what I want,” Zach said absently, reaching up and popping one of the buttons on Gavin’s shirt and then another, spreading it open and then stroking his collarbone once it was exposed.

“Me, I hope.” Gavin’s voice came out strangled, desperate.

Zach just chuckled. Way too composed for Gavin’s liking. “That goes without saying.”

“Good.” Gavin swallowed hard .

He leaned in farther, but still didn’t kiss him.

Gavin knew he was thinking about it from the way his eyes kept flicking to his lips, and Gavin tilted his head up, asking without asking for it.

But instead, Zach went for more buttons, flicking each one open slowly until his shirt was open to the waist. Zach spread it open and then tugged it out from his pants.

Gavin twitched as he continued to undress him with a casual deliberateness that was making his cock leak.

Zach didn’t say it, but his dark eyes, not missing a thing, were easy to read. Gavin was going to get whatever Zach chose to give him, and he was going to like it.

Gavin wanted to tell him that he did , that he would . That he could be patient and good.

But then Zach dropped to his knees. At first Gavin was sure he was taking care of the rest of his pants and then his shoes and socks, and he did , but then he still didn’t move as he just rocked back on his heels and stared at Gavin’s naked body.

It shouldn’t have been a turn-on for Zach to be fully clothed and for him to be the exact opposite. It should have made him feel vulnerable and weird, the awkwardness crawling over his bare skin, but he felt anything but. Gavin felt good. Powerful .

Then Zach leaned in, swaying so close to where Gavin’s cock was hard. “Don’t come,” was all he said.

That was all the warning he got before Zach’s mouth closed over him, hot and wet and perfect.

A groan rippled out of him, but Zach’s firm grip on his thigh reminded him of what he’d demanded. The order that Gavin would do his best to follow .

It wasn’t easy , because Zach was damn good at this, sucking him down like he was born to do it, cheeks hollowing out.

It might’ve been a fraction less amazing if Gavin had been able to tear his eyes away from the vision of Zach doing this, but he couldn’t.

He looked too goddamn good, the visuals multiplying the pleasure cresting inside of him.

Zach’s hand squeezed down tight, fingertips digging into his thigh muscle, and maybe the bite of pain was supposed to be a reminder, but it only cranked Gavin up more.

“Good?” Zach questioned, after he pulled off, tongue flicking out to lick the head of Gavin’s cock.

“Fucking amazing,” Gavin said, trying not to shudder at how easy it was to just let go .

“Wanna come?”

“Yes.” That was a no-brainer.

“Are you gonna?” Zach challenged.

That was even simpler. “No.”

“Good.”

Then after one last leisurely suck, Zach rose and, framing Gavin’s cheeks with his palms, kissed him hard and deep.

They kissed for long enough that Gavin almost forgot he was on a hair trigger, so close to coming he could nearly taste it.

It was effortless to just slide into the give and take of Zach’s mouth against his. When they kissed like this, it felt different, like Zach didn’t mind if Gavin was aggressive too, sliding his tongue against Zach’s.

“God,” Zach groaned out, leaning back a fraction, licking his lips and making Gavin want to chase him. He ground against Gavin’s bare thigh, his black pants slick against his skin, his cock a hard insistent weight. “Want you.”

Gavin kissed him again, but before they could devolve into another makeout against the door, Zach was pulling him away, hand wrapped insistently around Gavin’s wrist.

He tugged them into the bedroom, gently pushing Gavin down onto the bed. “Stay here,” he said and took his sweet time stripping down.

Gavin barely remembered to blink, his arousal spiking again as he watched Zach get naked just as slowly as he’d done to Gavin.

Finally, they were equally naked. Gavin hoped Zach would come back. Kiss him some more. He’d told him not to come, but Gavin needed something, the desire an insistent hum under his skin.

But instead of crawling onto the bed, Zach detoured to the nightstand by the bed, Gavin watching as he pulled out lube and condoms. He swallowed hard.

“I want to ride you, watch as you just take it,” Zach said. The look on his face was full of heat, but also tenderness. “Is that something you want?”

“Yes.” Gavin’s throat felt like a desert it was so dry, but there was no question in his mind. He wanted that.

“You’re still not going to come,” Zach said, “not until I say.”

Gavin nodded.

Nonchalantly, like Gavin’s blood pressure wasn’t spiking at the whole concept, Zach dribbled lube on his fingers and after climbing onto the bed and making a spot for himself between Gavin’s thighs, slipped his fingers behind him .

Gavin swore loudly. “That’s so . . .that’s so . . . God, you’re so . . .”

Zach grinned. “Yeah?”

“You’re killing me here.”

“But you love it,” Zach said smugly, and yeah, Gavin was. There was no denying it.

“Yeah,” Gavin agreed in a rough voice.

“I don’t know if we need the condoms, but it might be easier, this first time,” Zach said, his voice hitching as he continued to do whatever he was to his ass.

Gavin wished he could see, but even more than that, Gavin wished he could be the one doing it, even though he probably wouldn’t be very good at it.

“Okay.” Gavin took a deep breath, then another. Trying to calm down. If he said the things he was thinking out loud, he was going to fucking lose it. But he wasn’t going to stay silent, either. “I want to see. I want to do .”

Zach froze. “Yeah?” And suddenly he didn’t sound quite so calm and collected either.

“Come here,” Gavin said. His voice barely even sounded like his own.

Zach didn’t argue. Just straddled Gavin, and Gavin wasted no time slipping his fingers back to where Zach’s were. Wet and God , moving inside of him.

He was plenty wet, wet enough for Gavin to carefully slide one along Zach’s two.

“Fuck,” Zach cried out. “God, yes, please.”

It wasn’t quite as good as seeing it—they would get to that, Gavin would make sure of it—but this was unbearably hot too.

Feeling the soft heat of Zach, and his own fingers against Gavin’s.

Feeling as he opened up. It was almost more intense because he couldn’t see it.

Could only experience the visceral sensation of it.

“You’re just so incredible like this,” Gavin ground out. His cock twitched against his stomach, maybe as hard as he’d ever been when he was eighteen, and all because Zach—big, brawny Zach, with those wide shoulders and kind eyes—was falling apart in his lap.

“Feels so good,” Zach panted. “But it could feel better. Put the condom on.”

Gavin’s fingers were trembling as he ripped the packet open. It had been forever since he’d worn one but muscle memory was a thing, and he got it on, gasping a little as he touched himself just to roll it down his length.

Zach repositioned himself, stroking Gavin’s cock with his lube-wet fingers, which was a whole other brain-melting exercise in hotness. “Remember,” he said, “don’t come. Not yet.”

Gavin promised himself that he wouldn’t, but then Zach began to drop down, his heat scorching and undeniable as he slowly swallowed Gavin up.

“Oh my God,” Gavin said, his eyes nearly rolling back in his head.

“Yeah, it’s so good.” Zach’s voice was breathy and desperate, and it worked Gavin up even more.

“Can I . . .” Gavin gasped as Zach’s gorgeous ass hit his thighs. “Can I touch you?”

Zach leaned in and caught Gavin’s bottom lip, nibbled there. “You’d better,” he murmured .

As Zach slowly began to move, Gavin wasted no time reaching behind, cupping Zach’s ass in his hands, loving the play and flex of the muscles as he sped up.

Then he reached in, feeling where Gavin was splitting Zach open, and if he’d thought he was enjoying this before, that sent it straight into another stratosphere of holy shit, this is incredible.

“You feel so good,” Zach gasped out. “God, I’m going to come. It’s too good. You’re too—”

“Yes,” Gavin demanded.

Who was in charge right now? He didn’t know, but maybe it didn’t matter. Unable to stay still one second longer, he thrust his hips up, and Zach groaned again.

“Yes, more,” he begged.

They found a rhythm and then Gavin reached out, fingers brushing Zach’s cock as they fucked.

“Shit, shit,” Zach said. “Touch me please. I’m gonna—”

Gavin made what he hoped was an encouraging noise, and then the top of his head nearly exploded right off when Zach tightened around him, shooting between their chests.

Nearly , because he was barely hanging onto his self-control.

Gavin didn’t think he’d ever needed to come so badly in his whole goddamn life.

Zach slumped onto his chest, smearing the mess between them, but Gavin didn’t care. He was stretched thin, vibrating with need.

“Come on, baby,” Zach murmured then, “take what you need. Come for me. ”

It only took two unsteady thrusts of his hips and he was exploding, everything going black and bright brilliant white around the edges.

He felt Zach get up, his cock sliding out of him, and a few moments later, he was back, grinning irrepressibly and wiping them both down with a wet washcloth.

“Good?” Zach asked, even though he had to know he’d just short-circuited Gavin’s whole self. He tossed the cloth into the laundry basket and resettled back on the bed.

Gavin let out an unsteady breath. “Incredible,” he said.

Zach beamed even brighter. “We’re good together,” he said, his voice low, intimate.

It was impossible to disagree with that statement when it was so profoundly accurate.

“You wanna hear you were right again?”

Zach chuckled. “I wouldn’t be against it.”

“You were right,” Gavin said drowsily. “And you were right about us not talking—or even thinking—about hockey, tonight.”

Zach’s arm tightened around him, nudging him even closer. As good as the sex was, this was almost better. “There’s always tomorrow for hockey,” he said.