Work Text:
the hour’s late when the gate creaks open. the sound of cicadas singing far off in the near forest, only the security cameras humming somewhere far off. cassidy’s horse clops tiredly across the courtyard, its hooves muffled by dust. the man himself looks like a ghost back from hell—hat tugged low, duster filthy, blood dried in crusted flakes along his gloves. a cigarette dangles forgotten between his teeth. he don’t even bother with the stables; just pats the mare’s neck, mutters a rough “good girl,” and lets her wander.
inside, the house is dead quiet. all the lights dimmed to save power, the halls stretching out long. cass’ boots hit the tile heavy, spurs muted but still there, announcing his return. he tips his head once to the empty kitchen, shoulders rolling like he’s shaking off the last battle clinging to his bones.
when he finally reaches his bedroom, his hand hesitates only a second on the door. then he pushes it open.
hanzo’s there, of course. stretched out on their shared bed, hair loose, robe falling open just enough to tease collarbone and chest. a book rests open across his stomach, but his eyes lift at the sound of the door, softening immediately when he sees his husband.
“cole,” he starts, voice like warm silk, as if to welcome him back, smile warm and—
but cassidy doesn’t let him finish. the sigh damn near cracks him in two, and every brutal mile, every kill, every night of grinding need erupts all at once. the door slams shut behind him, his hat tossed blindly to the side, boots stomping across the floor until he’s towering over hanzo.
“darlin’,” he rasps, voice shredded from smoke and silence, “ain’t got it in me for talkin’.”
before hanzo can so much as set his book aside, cass has him by the hair, dragging him off the bed, down to his knees on the floor. it’s rough, but not cruel. cass fumbles his belt open, shoves his pants down just enough, and his cock springs free, heavy, flushed, throbbing like it might split from sheer neglect.
hanzo’s lips part in surprise, his eyes widen unbeknownst to himself, but cass doesn’t give him space. his thick hand is on hanzo’s jaw, thumb pressing at the hinge, and he mutters low, guttural, “been thinkin’ o’ this mouth every damn night. you best take it all, sugar.”
then he’s pushing in. no slow tease, no easing—just the fat head dragging across hanzo’s tongue before sinking deep. hanzo’s throat tightens, a muffled sound catching as the sheer weight of it forces its way in. cass growls, hips jerking, one hand gripping his husband’s loose hair until it’s tangled around his knuckles.
spit bubbles around the corners of hanzo’s lips already, his robe falling open as he grips cass’ thighs for balance. cass tilts his head back, groaning long and raw, like he’s finally alive again.
“goddamn… just like that… missed this—missed you—”
his thrusts are sharp, unrelenting, weeks of hunger poured into every snap of his hips, his cock bullying hanzo’s throat raw. each gag and choke only drives him wilder, the quiet outside completely forgotten as the room fills with wet, obscene sounds.
cass keeps using him, hips pistoning forward with a desperate rhythm that speaks of weeks starved, every thrust deeper than the last. hanzo claws at his thighs for purchase, eyes fluttering as his throat strains around the girth, wet gurgles spilling past where cass is stuffing him full. tears prick at the corners, streaking down his cheeks, but he doesn’t pull away—if anything, he leans into it, surrendering.
spit dribbles freely down hanzo’s chin, soaking into the robe at his chest, his jaw aching, but cass doesn’t let up. his voice breaks through the obscene sounds, low and feral:
“fuckin’—been dreamin’ ‘bout this, every damn night—ya down there lookin’ ruined for me, nothin’ but my cock in your throat… shit, darlin’, don’t know how I survived without ya.”
hanzo’s vision swims, his chest heaving as he forces himself to breathe through his nose, every exhale hot against cass’ skin. cass’ grip in his hair tightens, tugging his head back just enough to watch his face, to see those pretty lips stretched obscenely wide, drool thick and glossy down his chin.
that sight’s what breaks him. cass’ thrusts turn ragged, stuttering, his jaw tight as he groans loud and guttural, “gonna fill that sweet lil' mouth—take it, han, take me—”
and then—he spills, hot and heavy, almost choking hanzo with it. he holds him there, grinding deep until every drop is either swallowed or smeared down his throat, hanzo gagging around the flood but obedient as ever.
when it’s finally done, cass staggers back a half step, pulling his cock free with a slick, wet pop. hanzo coughs, spit and come dribbling from his lips, his chest heaving as he tips his head against cass’ thigh.
for a moment, all cass can do is stare—at the mess he’s made, at the loyalty shining in his husband’s tear-glossed eyes. then, softer than the storm that tore through him, he sinks down onto the floor too, tugging hanzo gently into his lap.
“darlin’…” he murmurs, thumb swiping clumsy across his chin, brushing away spit. “m’sorry. came in like a damn wild man.”
hanzo shakes his head, voice rough from the abuse but steady. “you are home. that is all that matters.”
cass pulls him close, forehead pressed to his, their breaths mixing. the taste of smoke, sweat, and something sweeter hangs between them. his hands finally soften, tracing down hanzo’s back, grounding himself in the warmth he’s missed.
“missed you somethin’ fierce,” cass whispers, lips brushing his temple, his whole frame slumping into the comfort of home.
hanzo’s arms wind around his shoulders, holding him tight, their room quiet but for their slowed breathing.
