Roommates cross the line
Cole balanced the taped cardboard box against his hip. The hallway smelled like cheap carpet cleaner and old cooking grease. The door to apartment 4B stood wide open. Dane blocked half the frame. He had a smudge of drywall dust on his cheek and dark patches damp through the armpits of his gray work shirt.
“That the last of it?” Dane asked. He didn’t move out of the way. He stood with one heavy work boot planted on the threshold, the other resting flat on the hall runner.
“Just the kitchen junk,” Cole said.
Cole shifted the box. The cardboard corner dug into his ribs. He tried to step past, but Dane leaned forward, letting his chest bump Cole’s shoulder. It wasn’t an accident. Dane had been doing this for a month. Brushing past him in the narrow kitchen. Standing too close when they loaded the truck. Leaving his hand on the tailgate so Cole’s knuckles would scrape his skin when he closed the latch.
Cole ignored it. He always ignored it. He was tired, his lower back ached from lifting the mattress, and he wanted to drive the rental truck to the new place and sleep on the floor.
“Put it in the kitchen,” Dane said, pointing a thumb over his shoulder. Still not moving.
Cole squeezed through the gap. His hip bumped Dane’s thigh. Dane inhaled sharply and shifted his weight, closing the space so Cole had to drag his torso against Dane’s front to get by.
Cole walked into the empty kitchen, dropped the box on the laminate counter, and turned around. He wiped dust off his palms onto his denim thighs. He walked back to the doorway. He stopped with both feet on the carpet, technically outside, while Dane stayed planted on the wood floor inside. Half out, half in. The heavy fire door was propped open behind them with a rusty dumbbell.
Dane scratched his jaw. “You sure you got the whole tool set? You always leave the socket wrench under the sink.”
“Checked twice,” Cole said.
Dane leaned his shoulder against the doorjamb. His eyes dropped to Cole’s waist, tracked up his chest, and stayed on his mouth. The color sat high in his face, his neck flushed under the dust. He stepped closer to the threshold. “Gonna be quiet around here.”
“You’ll get used to it.”
Dane put a hand on the doorjamb, right next to Cole’s head. His arm boxed Cole in. The smell of sawdust and stale coffee hung between them. “I could help you unpack. Sleep on the floor so you don’t gotta do it alone.”
“I can handle it.”
“Yeah, but you don’t have to.” Dane’s knee bumped Cole’s leg. He pressed closer, letting his hips graze Cole’s belt buckle. It was a clumsy, heavy movement. He was breathing through his mouth, chest rising unevenly against Cole’s sternum. “I’m just saying, man. You don’t have to bolt right this second.”
Cole looked at him. He looked at the damp collar of Dane’s shirt, the dirt under his fingernails, the clumsy, transparent way he was crowding the doorframe.
“You think I’m stupid,” Cole said, his voice flat.
Dane blinked. “What?”
“I’ve watched you tripping over your own feet for three weeks. Every time I turned around, you were right there. You left your bedroom door open every night. You kept drinking my beer so I’d have to come ask you for one. You stood so close to me at the sink yesterday I could feel your dick on my thigh.”
Dane flushed deeper. The red spread up his neck, muddy under the drywall dust. He dropped his arm from the doorjamb. “I was just making sure you didn’t steal the good drill, asshole.”
Cole stepped into the frame, grabbed the front of Dane’s shirt, and shoved him back against the edge of the open door.
The wood cracked against the wall. Cole kissed him. He mashed his mouth against Dane’s, teeth knocking hard enough to sting. The joke died right there. Dane made a choked, rough sound in his throat. He stopped talking. The hallway went dead silent, nothing but the heavy, uneven scrape of their boots on the floorboards.
Dane grabbed Cole’s waist, his grip clumsy and bruising, dragging him fully across the threshold. Cole kicked the dumbbell out of the way. The door swung, its hinges groaning, but didn’t shut. Cole didn’t let go of Dane’s shirt. He hauled the fabric up, exposing Dane’s hot, sweaty stomach. He didn’t take the shirt off. He just bunched it up around Dane’s armpits, his rough palms scraping over the coarse hair on Dane’s chest. Dane grunted, fingers fumbling with the metal buttons on Cole’s flannel. He ripped one button entirely off; it pinged against the floor. He yanked the flannel open, the material snagging on Cole’s undershirt.
They stayed half-dressed, clothes twisted and pulling. Cole drove his knee between Dane’s legs. The denim of their jeans ground together. Dane shoved Cole backward until Cole’s spine hit the doorframe. Cole grunted, shrugging his unbuttoned flannel off one arm and shaking it down past his wrist so it hung loose at his back, arms free.
Cole reached down and grabbed the heavy leather of Dane’s belt. He unbuckled it with a sharp metallic clack, tearing the zipper down. He shoved his hand inside Dane’s underwear, gripping him raw and dry. Dane’s knees gave out slightly. He slumped forward, his forehead slamming against Cole’s collarbone.
Cole shoved Dane’s jeans down just past his hips, letting the heavy denim trap Dane’s thighs, refusing to give him the slack to step out of them.
Cole pushed off the doorframe with his shoulder, drove his weight forward, and turned them both. He spun Dane the rest of the way, chest to the doorframe, and worked his own jeans low enough to free his cock. He spat once into his palm, then spat again, and shoved against Dane. The first push stalled. Dane grunted and shifted his stance as far as the bunched denim let him. Cole spat a third time, worked it in with his fingers, and pushed inside in one steady drive. Dane’s forehead knocked the wood. Cole stayed pressed close, one arm hooked around Dane’s waist. His right hand closed around Dane’s cock and started a tight, steady pull. His left hand slid lower, fingers pressing and rubbing behind Dane’s balls in the same rhythm. The bunched denim kept Dane’s stance narrow. Every thrust shoved him forward and Cole had to brace a boot to keep them both upright. The shirt rode higher on Dane’s back with each shift. The skin slicked warm where Cole’s bare arm dragged across it.
“You left the good drill in the truck,” Dane said, voice rough. “Probably rolling around back there.”
Cole kept the strokes even, thumb dragging over the head on every upstroke while the fingers behind kept up the steady pressure. “You drank the last two beers and didn’t replace them.”
Dane pushed back into the thrusts, breathing hard through his nose. Cole’s palm worked faster on the cock while the other hand ground harder. Dane’s shoulders locked. His hands slid on the frame. Cole didn’t change pace. He stacked the pull, the press, the steady drive until Dane’s hips stuttered and his breath caught short.
Dane’s mouth opened on nothing. Cole tore the lower hand off Dane’s balls and clamped it over Dane’s mouth, palm flat, the arm at Dane’s waist taking the slack to hold him up. He kept the other hand moving on Dane’s cock and kept driving. Dane shook hard against the wood, body clamping down in tight pulses, breath trapped and hot under Cole’s fingers. Cole stayed inside through the tremors, hand still working slow until the shaking eased off into small jerks.
Cole pulled out. He wiped his hand on his thigh and tugged Dane’s jeans back up over his hips. Dane stayed against the frame a second longer, then straightened. Cole buttoned what was left of his flannel. Dane turned, already moving toward the stairs. His hand stopped on the doorframe he’d just been braced against, flat against the wood, and held there a second before he let it drop.
“You still want the spare key for the morning drop-off?” Cole asked.
“Yeah,” Dane said. “I’ll grab takeout on the way back.”