Actions

Work Header

common interests

Work Text:


 

Keith wakes up to the smell of bacon and coffee.

It’s a Saturday morning – the one day they both have to rest, when Ryan doesn’t have football training and Keith doesn’t have to go in early for RA duties. Ryan likes spoiling Keith on Saturdays, cooking breakfast or spending most of the morning in bed with Keith wrapped around him. Today, there’s bacon.

Keith grins, stretching luxuriously out on their cheap Ikea sheets. The tiny apartment is quickly filled with the scent of cooking breakfast; it even reaches into the bathroom as Keith goes to pee and clean up. He shuffles out into the open space that functions as living room, kitchen, and dining area, following the smell of food.

Ryan is at the stove, dressed in just sweatpants and, hilariously, the yellow daisy-printed apron that Nadia had gotten them as a ‘moving-in present’ last year. He’s frowning slightly as he cooks; Keith had joked once that his boyfriend applies the same intensity to everything he does, whether it’s studying or football or cooking.

(Still, it’s part of why he loves the man.)

“Finally up?” Ryan quips, glancing over his shoulder with a tiny smile. His arm flexes as he jerks the pan a little, shifting the bacon around. Keith stares for a moment before padding over.

“Mmm.” Keith comes up behind Ryan, wrapping his arms around his boyfriend’s taut waist and burying his face in a strong shoulder. Ryan smells like their lemon body wash, clean and fresh, while Keith is still in his rumpled sleep-shirt (Ryan’s shirt, an old jersey, still big on Keith even if it’s two years old) with terrible bedhead. Keith presses a kiss to freckled skin. “That smells nice.”

“Thought I’d give us both a cheat day,” Ryan says with a laugh. He reaches down, covers Keith’s hand with his own where it’s splayed over his abdomen. A moment later, he lifts their joined hands to kiss Keith’s palm. “I also have a gift for you.”

“Do you now?” Keith has to stand on tiptoes to hook his chin over Ryan’s shoulder. He flashes his boyfriend a sly look, but Ryan has an impressive poker face when he means it. The other man simply shuts off the burner, transferring the bacon onto a waiting plate. Keith lets him go with mock reluctance, already moving to lay out the dishes near where a stack of fluffy pancakes waits on their tiny dining table.

Breakfast is already routine between them, preferences long memorized from many mornings spent together. Keith brings over the thermos while Ryan gets the coffee and their mugs – a matching set, a gift from Shiro, with an Ouroboros on Keith’s and a Flamel’s Cross on Ryan’s. Keith brings out the orange juice – Ryan’s biggest indulgence – while his boyfriend hunts down their tiny bottle of maple syrup and takes off the apron. They get settled on the mismatched stools, ankles knocking under the table. Ryan pours the coffee, Keith divvies up the pancakes, and they start to eat.

“Why the gift?” Keith asks, when half the food is gone. Ryan looks up from where he’s been reading on his phone. There’s a playful slant to his expression.

“Can’t I just want to give you something?” he counters, and Keith rolls his eyes.

“It isn’t anything weird, is it…?” he asks, searching Ryan’s face warily. While his boyfriend is often more sensible in his expressions of affection, Keith also knows Ryan has an adventurous side that he keeps hidden underneath well-fitted button-downs and a boyish grin. Not that Keith’s ever minded, no; he rather likes bringing that mischief out of Ryan. But sometimes, fair warning is nice.

Ryan’s expression now is downright inscrutable – part amusement, part something else that sends sparks over Keith’s skin. He reaches out slowly and Keith finds he’s holding his breath. But all Ryan does is swipe a bit of maple syrup and grease from the corner of Keith’s mouth. He pulls back his hand with a small smirk, and goes back to eating like he hasn’t just made Keith go hot all over. But when he meets Keith’s eyes over the rim of his coffee mug—

Keith’s next breath comes shaky, with a shiver up his spine. His lips part unconsciously, though he covers it up with another mouthful of food. Keith waits until Ryan glances at him again, then flicks his tongue over his bottom lip, swiping at a stray drop of syrup.

“Can’t wait,” he says, with a small grin – and it morphs into a laugh as Ryan pushes up and across the table to kiss it off his mouth.

One kiss turns into two, then three, then soon Ryan’s hauling Keith out of his seat and backing him against the counter, mouth hot on Keith’s. He slides wide palms up Keith’s thighs, reaching under the shirt to draw lazy circles on the other man’s back. Keith kisses back heatedly, running his hands up and down Ryan’s well-built chest, his arms, his shoulders. They kiss until Ryan ducks his head to play-bite at Keith’s neck, then bury his face in soft, dark hair.

“We still have breakfast,” Keith gasps, even as he grinds his hips forward teasingly, and Ryan actually growls. The sound of it makes Keith’s blood run hot.

“Fuck breakfast,” his boyfriend says, dragging him away from the kitchen, and Keith’s I’d rather you fuck me is lost in another kiss.

 

The surprise is… a white box.

Keith hadn’t even noticed it, half-asleep as he’d been when he’d left their bedroom. It sits nestled in the blankets, innocuous and unassuming. Of course, Keith’s having a bit of a hard time paying attention to the box at the moment, what with the way Ryan is currently pressed up against him as he kneels up on the bed, a long warm line down his back, mouthing kisses over his shoulders.

“Go on,” Ryan says, and the bastard has the audacity to sound smug and amused even as he runs his hand agonizingly slow and light over Keith’s clothed cock. “Open it.”

Keith suppresses a moan, but there’s no hiding the shudder brought by Ryan’s touch. “I’m trying,” he retorts, bending over to retrieve the box. His boyfriend immediately takes advantage, dragging his mouth down Keith’s spine, slotting against Keith so his cock is pressed to Keith’s ass. It’s distracting as all hell; Keith’s fingers fumble with the box, but it lands with a suspiciously soft thump rather than a thud or a rattle.

“You can do better than that, babe,” Ryan murmurs against his shoulder, and Keith doesn’t have to see it to know his boyfriend is smirking. He makes a small, impatient noise, although any frustration evaporates once he gets the cover off the box and sees what’s inside.

“Do you like it?” Ryan asks, pressing a soft kiss to Keith’s neck as Keith sets the cover aside.

It’s – gorgeous. Ryan has always had impeccable taste, but this is particularly stunning. The wine-red lingerie set sits amid soft tissue, a stark, gorgeous contrast. Keith immediately knows the reason for the color, knows Ryan loves the way red looks on him. He surprises himself with how eager he is to try it on.

(And he remembers the last time he’d gotten a gift like this, the black lace boy shorts and lace-topped stockings. Ryan photographing Keith as he lay sprawled out on their bed while his boyfriend thrust his cock against Keith’s lace-covered groin. The way the pretty black lace had gotten stained white, before Ryan had pulled it off with his teeth. Training the camera on where his cock was thrusting in and out of Keith’s ass, then at the arch of his back, over to where Keith had his head turned, looking over his shoulder right at the camera.

He’d looked like the best sort of mess in those photos. He knows Ryan wants more.)

Keith reaches down to take the lingerie out, but Ryan surprises him by taking his hands and pulling them back. He half-turns, confused, but Ryan just catches his mouth in a kiss.

“Not yet,” his boyfriend murmurs when they pull away. Ryan tugs him around, over to the other side of their bed, mouth on his the whole while. Strong hands slip back under Keith’s shirt, skating over taut skin. Ryan backs them up until his knees hit the edge of the bed, then he hauls Keith down to the sheets. Keith goes easily, falling on top of the other man, laughing. Ryan rolls them over, kissing over Keith’s chest and shoulders until Keith’s laughter turns into hitched breaths, until he’s arching up into Ryan’s touch.

“I’m going to ruin you,” Ryan murmurs, hot against Keith’s neck, and Keith shudders in response.

It’s the last thing either of them says for a while. Ryan turns them over again, sitting up against the pillows and pulling Keith into his lap. They kiss and they kiss, all wandering hands and restless bodies. Keith rocks against Ryan slowly, carelessly, grinding their still-clothed erections together. Ryan gets his hands to Keith’s ass, between his legs, down his thighs, until Keith’s breathing open-mouthed and shaky against him, achingly hard in his boyshorts.

“Gorgeous,” Ryan says. Keith makes a noise of frustration and desire and crashes their mouths back together. He fumbles to tug his underwear off, although it’s difficult when he doesn’t want to stop kissing Ryan and Ryan won’t let him go. He manages to wiggle it off while the other man searches for the lube and condoms. They leave the camera off this time around. Then Ryan’s back on him, toppling him to the mattress, hiking one long leg around his hip.

In this, too, they have long learned each other’s wants. Ryan knows well how to work Keith’s body, all the little things that make him shudder, make him whine, make him gasp. He idles a slicked-up finger around Keith’s rim, adding a little more pressure every time, as he kisses his way up Keith’s inner thigh, all the way up to his cock.

A while later and Ryan has Keith writhing underneath him. He can’t smirk with Keith’s cock in his mouth, but his expression is still smug as he works another finger into Keith while he sucks. Keith’s knuckles are white as he grips the sheets overhead. When Ryan hollows his cheeks and crooks his fingers, Keith’s back arches off the bed with a bitten-off shout.

“Please,” he gasps, trying desperately to rock his hips down. Ryan’s quick to pull off his cock, then pin him back to the mattress again with his free hand. He slows the movement of his fingers, too. Keith whines. “God, please, sir, fuck me – fuck – let me come, please—”

“Which is it?” Ryan asks, almost lazily. He stills his fingers just inside Keith’s hole, pushing up so he can kneel between Keith’s legs. There’s a smirk tucked in the corner of his mouth. “Do you want me to fuck you, or do you want to come?”

This, this is the side of Ryan that he hides from most people, the side only Keith sees. It makes another shiver run down Keith’s spine – the quiet command in Ryan’s voice, the way he so easily gets Keith all worked up. Keith whines again and tries to tip his hips up, but again Ryan pushes him back down. He curls his fingers just slightly, to remind Keith that he’s expecting an answer.

Fuck,” Keith pants. “Anything – fuck, Ryan, anything, just – please, sir—”

“I like you begging,” Ryan says, a little carelessly. He slides his fingers back in and finishes stretching Keith open, mindful not to tip him over the edge just yet.

When Ryan finally sinks into him, Keith lets out a soft, ragged cry. Ryan shushes him with a quick press of lips, then litters open-mouthed kisses over Keith’s shoulders and neck as he pushes in, slowly, letting Keith feel every inch. When he’s finally flush to Keith’s skin, Keith is shaking, breath hitched, half-overwhelmed. Ryan just kisses him again, smoothing his palms over Keith’s skin until the other man nods.

Both of them like it rough, hot and heavy, but this morning Ryan eases him into it. He fucks into Keith slowly, a deliberate drag of his cock in and out. They’re both still half-dressed; Ryan’s sweatpants have simply been shoved down to free his cock, while Keith’s sleep-shirt is pushed up to bare his chest. Keith lets his hands wander – over the broad planes of Ryan’s chest, his strong back, the flex of his arms. He reaches down and tugs at his own cock, gasping into the press of Ryan’s mouth as they move.

They come within moments of each other; Keith first, with Ryan’s hand covering his own as they jerk him off in tandem, then Ryan following with a groan muffled in Keith’s shoulder. For a while they lie together, catching their breaths. Ryan eases Keith over so they’re tucked up against each other, Keith’s head on his bicep, Ryan’s hand tracing a back-and-forth line over Keith’s ribs.

“Why not yet?” Keith asks after a few moments. He tips his head back to look his boyfriend in the eye. Ryan’s smile turns playful, and he gives Keith a quick, close-mouthed kiss.

“Because,” he says, running his fingers lightly over Keith’s torso. Keith closes his eyes, shivering a little, still sensitive. Ryan huffs a small laugh and stills his hands. “I want you to surprise me.”

Keith’s eyes open again. “Surprise you?”

“Mm.” Ryan kisses him again, a little deeper this time. He pulls back just enough to murmur the next words over Keith’s lips. “You can do that for me, can’t you, baby boy?”

Keith looks at his boyfriend for a moment, then the corners of his mouth tug up. If Ryan wants a surprise, well.

“I think I can manage that.”

 



Ryan knows he’d posed something of a challenge to Keith, but he hadn’t expected Keith to take to it so well.

There is no mention of his latest gift for days; weeks, even. Keith had whisked it away, out of sight, and never brought it up again. But it’s part of the excitement, really – wondering if Keith’s wearing it; wondering when he’ll come home and find Keith in their bed, decked out in red, poured out on the sheets like a fine wine for Ryan to take in.

So he waits. They fuck often over that time: in bed, on their small couch, on the kitchen counter. Once, Keith catches him in the locker rooms after training and blows him in one of the shower stalls. Ryan gets back at him for that by waking Keith up with another blowjob, sucking him through one orgasm before fingering him through the next. Keith calls him a menace; Ryan just laughs.

“Look who’s talking,” he says, and Keith kisses the smug grin off his face.

In all this time, the new lingerie set doesn’t make an appearance. So Ryan waits, and figures Keith will simply spring it on him the next time – in bed, maybe, or wearing it around the apartment when Ryan comes home.

He learns soon enough – he’s underestimated Keith.

It’s late on a Thursday afternoon, and the library is mostly quiet. Ryan’s learned by now when the space is less crowded; this time, he’s managed to get one of the quiet study rooms all to himself. The door is shut, and he’s taking advantage of the glaringly obvious security flaw – aka the lack of security cameras or other monitoring devices, something the school hasn’t yet gotten around to remedying – by sneaking in some snacks along with his notes.

Not exactly the epitome of a bad boy, but he’s pretty pleased with himself all the same.

He messages Keith about joining him, in case his boyfriend doesn’t have RA duties this afternoon; it’d be nice to have the company and have someone to play footsie with under the table.

> Got study room 9 all to myself. Join me?

It takes a few minutes, then his phone buzzes with a reply.

> good luck reviewing

It’s followed by two kiss emojis. Ryan huffs a small laugh, and decides he might surprise Keith with hot chocolate and maybe a pastry from the on-campus coffee shop when he gets back to their shared apartment.

Then the door opens softly, and someone slips inside. Ryan sighs, already kissing his privacy goodbye. He pushes his chair back, reaches out to start rearranging his stuff to accommodate another person at the table, and looks up to see who’s come in.

Keith smirks at him as he leans back and closes the door behind him.

“What—” is all that Ryan gets out, because he quickly forgets to breathe. His eyes drag up Keith’s long legs in their knee-high boots and the stay-up stockings, to the extremely short denim shorts, to the oversized button-down that Ryan knows is his. It’s knotted at the hip and partially unbuttoned, leaving the collar gaping open, and Ryan can see the hickey he’d left on Keith last night, still pink on his skin.

In answer, Keith reaches behind himself and locks the door.

“Thought I’d keep you company,” he says casually, sauntering over. Ryan can’t seem to tear his eyes away from where the lace tops of the stockings dig into plush thighs.

“I thought—” he starts, and then his voice cracks. He clears his throat, then tries again. “You didn’t say you were coming.”

Keith shrugs, careless. A corner of his mouth quirks up. “I said good luck reviewing,” he points out, and then he’s standing in front of Ryan, expression coy. He drops his bag onto the table. “Not that I wasn’t coming.”

It takes a few moments for Ryan to catch the insinuation, but by that time Keith’s pushed him back into the chair. Then he has a lapful of leggy, catty boy, as Keith straddles his thighs and runs his fingers through Ryan’s hair.

“Besides,” he goes on, rolling his hips just a bit, “you did say to surprise you.”

Oh—

Oh.

Ryan runs his eyes over Keith again, as if he could see the lingerie through the rest of his boyfriend’s clothing. Keith just grins at him, then reaches back for his bag. He fumbles around a little before pressing something into Ryan’s hand.

Ryan’s slow to take his eyes away from the boy in his lap, but eventually he does look down to find a video camera in his palms. His video camera, the one he uses to vlog sometimes. The one he’s fantasized about turning on Keith, when it’s just them in their room, when Keith’s laid out so pretty for him in their bed. But Keith has it here, now, while he’s in Ryan’s lap in the middle of a study room in the university library.

He knows he’d posed a challenge to Keith. And really, he should have expected Keith to push things just a little bit further.

Ryan bites down on a smile, then looks up at where Keith’s smirking at him, expectant. He reaches around the other boy and sets the camera on the table for the meantime, then skims his hands up Keith’s thighs.

“So,” he murmurs, running his thumbs over the soft dent in Keith’s skin from the stockings. “This is my surprise?”

Keith grins. “Do you like it?”

Ryan hums absently, still staring at the pretty contrast of black lace on Keith’s skin. “I do,” he answers. His hand climbs higher, skating over the fabric of the shirt, up to cup the curve of Keith’s neck. Then abruptly, he twists his hand in Keith’s hair and pulls. Keith complies instantly, arching against Ryan, tipping his head back. He lets out a quiet gasp. Ryan feels the shudder go through him. He smirks, satisfied.

“But,” he adds, tugging Keith forward a little more, “you’ve been pretty presumptuous, haven’t you?”

Keith exhales a quiet laugh, bracing himself on Ryan’s chest. “Am I being bad, sir?” he asks, playful and a little breathless, biting on his bottom lip.

Fuck, but this boy is a tease.

“Brat,” Ryan mutters. He uncurls his fingers from Keith’s hair and reaches for the camera, then leans back in his chair. The view’s a little too close for his liking, but there’s an appeal in this, too. He flicks his gaze over the camera at Keith. “Go on, then,” he tells the other boy. “Be good for me.”

Keith takes his cue easily, shifting up on his knees and a little away from Ryan with a wink. His hands move slow, deliberate; first up his thighs, then tugging the shirt loose. He flicks the buttons open one by one; Ryan follows the motions of his fingers, the way the shirt falls open little by little to reveal more skin. He inhales sharply at the first flash of deep red, and Keith doesn’t miss it. The corners of his eyes crinkle in mischief as he undoes the next buttons more teasingly, brushing the shirtfront so it opens more over his chest.

The camera dips a little as Ryan stares, a little awestruck, at the deep red over Keith’s skin. At the wine-colored lace half-corset that sits snug around Keith’s waist, digging in just a little. The singular strap that goes from the middle of his chest to the collar low on his neck. Keith reaches the last button and the shirt drops all the way open, revealing the lace over the expanse of his torso. Ryan lets the camera linger over the details, the way it hugs Keith’s trim body.

“More,” he murmurs, just loud enough for the camera and Keith to hear. The other boy obliges. Keith shrugs the shirt off his shoulders, lets it slide to pool at Ryan’s feet. Then he slips off his boyfriend’s lap. Fingers skim up his thighs again before toying with the button of his shorts. Ryan lowers the camera to focus around Keith’s pelvis, the flare of his hips. Keith undoes the button slowly, then the zip, tooth by tooth. There’s more red under the dark denim; Ryan’s already breathing a little short at the thought of seeing all of it laid out for him.

“Fuck, kitten,” he groans quietly. The other boy smirks.

Then Keith tucks his thumbs under the waistband of his shorts and starts easing them down, down, inch by teasing inch. He’s hard already, cock distending the front of matching wine-colored lace boyshorts. He’s gone without the matching garters, but Ryan can forgive that. He’ll have more opportunities to get Keith in this later.

Then Keith drops the shorts to the floor with his shirt, stepping gracefully out of them. He’s still in his boots and the stay-ups. And Ryan takes a moment to just look – at the deep red lace on Keith’s skin, the way it hugs the planes and curves of his body. At Keith standing there, bold as anything, a tiny smirk on his lips.

“Turn around,” Ryan orders quietly, once he’s found his voice.

As he’s been doing since he’d slid into Ryan’s lap, Keith takes his sweet time moving. Ryan makes a small, choked noise when he sees the back part of the boyshorts – barely any fabric, just a criss-cross of wine-colored ribbon over a pert ass. Perfect for easy access. He pans the camera over Keith’s back, lingering. Keith smirks at him over his shoulder.

“Like the view?” he asks cattily.

Ryan laughs under his breath. “Immensely.”

“Good.” Keith turns back around and, perplexingly, starts shifting the chair Ryan’s in. Ryan lets him, getting up a little to make it easier, turning the camera to the side, only for Keith to take the gadget from his hands and walks off. He pauses a moment, then sets the camera down carefully, precisely, at a spot on the table. When Keith steps away, Ryan realizes the lens is angled perfectly to get them in the frame.

He’s been planning this, he realizes, and the thought just makes his body go hotter. Once Keith’s within reach, he grabs the other boy, hauling Keith into his lap for a bruising kiss. He feels Keith smile into it even as his boyfriend fumbles behind him, reaching back as much as he can without pulling too far away. A few moments later and a small packet gets pressed into Ryan’s palm. When he looks down, he finds a packet of lube in hand.

His eyes flick up to Keith. “Condom?”

To his surprise – and undisguised pleasure – Keith shakes his head. “Not this time. I want to feel you.”

Ryan bites his lip as the thought makes his cock throb. He nods. “Move forward.”

Keith complies, shifting forward in Ryan’s lap so their crotches are pressed together. He doesn’t smirk when Ryan tenses for a brief moment, but Ryan feels the smugness radiating anyway. He gives Keith’s ass a little slap in retaliation, and pinches his mouth around a laugh when he feels and hears Keith’s sharp inhale.

“Good boy,” he says quietly, and then takes the packet in hand. He intends to slick up his fingers, start working Keith open, but the other boy stops him with a hand on his wrist and a provocative look.

“That’s not for me,” Keith tells him.

Ryan stares at him a moment, then—

It turns him on more than he’d thought, hits him with a bolt of arousal that goes right through his cock. The lube packet drops to his lap. Ryan crashes their mouths together, one hand steadying Keith on his back while the other works its way through the straps to Keith’s ass. Sure enough, he can feel where Keith’s already wet and worked open, entrance slick with lube. And just imagining that – had Keith done it alone, in their apartment, in their bed? Ass in the air, fingers stuffed inside himself, working himself open and ready without getting off? Or had he – fuck, had Keith locked himself in, somewhere on campus, straining to keep quiet as he fingered himself before coming to find Ryan, already dressed like this?

Either visual is hot as all hell, and Ryan surges against Keith, licking into his mouth and biting at his lip. They tumble out of the chair; Keith backs himself up against the table while Ryan fumbles with his jeans, neither of them willing to let their mouths part too long. Ryan shoves his jeans down just enough to free his cock, then clumsily tears open the lube. He slicks up his cock, keeping his grip light, wanting this to last as long as they can feasibly get in so public a space. Then he smears the last of the lube on his fingers and breaks away from Keith.

“Turn around,” he orders, a little breathless. “And take the bottoms off.”

Keith kisses Ryan once, tugging his lower lip between his teeth. “Yes, sir,” he answers, low and heated, and Ryan takes a steadying breath.

Even now, Keith keeps things teasing, coy. He eases the underwear off his hips slowly, dragging the red lace down over his thighs; he’s still in his stockings and boots, but Ryan doesn’t want to make him take them off. He rather likes how Keith looks, now, with the red corset on his torso, the sheer black fabric of the stockings, cock hard against his pelvis. He rather wants to fuck Keith just like this.

He doesn’t let Keith keep leading things for long, though. Once the other boy has picked up his underwear, Ryan takes it from him and turns him around, crowding Keith so he’s forced to brace himself against the table. Ryan’s slick fingers find their way to Keith’s ass, while the other drags the lace of the underwear up his abdomen to his chest, making Keith shiver.

“You’ve been so good,” he murmurs. Keith whimpers quietly, just enough for Ryan to catch the sound. And that’s another thing he finds hotter than he’d thought – Keith trying to contain himself, keep his noises in check, still conscious of their highly public setting and how anyone could be outside the door right now, able to hear them. Judging by how Keith seems almost achingly, painfully aroused, he’s enjoying it immensely, as well.

Thinking about how Keith’s set this all up – the video camera, the semi-public setting, the lingerie, even fingering himself open – Ryan presses a kiss to his hair and decides to reward him. His fingers are intent, not teasing, as he works two inside Keith to stretch him open and slick him up a little more. Keith whines again, then bites down on his lip. It gives Ryan an idea.

“Open your mouth,” he tells Keith, who complies easily. Then Ryan slips his discarded panties between his teeth as he kisses Keith’s shoulder. “Quiet now, baby boy.”

Keith makes a muffled noise through the fabric, then again when Ryan gets three fingers in and starts thrusting in and out, scissoring his fingers. He lowers his free hand quickly to the base of Keith’s cock, squeezing enough to stop Keith from tipping over too soon. Soon enough Keith’s trying to rut back against his hand, head bowed, fingers tense on the tabletop. Ryan toys with the idea of getting Keith to come first before he fucks him through a second orgasm, but his own aching cock and the desire to reward Keith win out. He pulls his fingers out – Keith whimpers through his gag – then lines his cock up with Keith’s hole.

The sound Keith makes around the fabric in his mouth is equal parts frustrated and relieved as Ryan sinks in; Ryan himself has to bury a groan in Keith’s shoulder. His hands to go the other boy’s hips, stopping him from trying to take Ryan in deeper, from doing anything except letting Ryan ease into him, inch by inch. Ryan gives Keith a few moments to adjust, breathe through the stretch, kissing over his shoulders while Keith makes small, needy noises through the gag.

Then, when he’s sure Keith can take it, Ryan abruptly wraps an arm around Keith’s chest and tugs. He pulls Keith against him, so the other boy has to grip the table edge, and thrusts.

Keith is hot and tight around him as Ryan fucks into him, slow and deliberate first, until he starts feeling Keith rock his hips back. Then he starts picking up the pace, going a little rougher. Keith lets out a muffled, high-pitched noise and Ryan slows his hips back down, ducking to mouth at Keith’s throat.

“Baby, you need to tone it down,” he murmurs. The other boy whines a little, but nods. Ryan reaches down, runs his hands down Keith’s arms and lifts them to wrap backwards over his neck. Like this, Keith is stretched out for the camera, the long line of his body bared for the lens to capture, torso still wrapped in red lace. Then Ryan resumes fucking into him, bracing his feet so he can snap his hips forward, thrust into Keith.

Even with the warning, though, it doesn’t take long for Keith to start getting noisy again, especially as Ryan changes the angle of his thrusts. He slows down again, dragging a frustrated noise from Keith that he’s quick to bite off.

“If you don’t be quiet,” Ryan says, low, threatening, “I’m going to stop.” Keith shudders against him, arching, clenching around Ryan’s cock. Ryan hisses a breath through his teeth and leans them back forward, forcing Keith to brace himself again on the table while Ryan leans over him, grinding his cock into Keith. “Or do you like it like this? Me fucking you here, where anyone could hear you? There’s a whole room full of people on the other side of that door. Any of them could walk past and hear the noise you’re making, could walk in and see the way you’re taking my cock so well, dressed up so pretty for me.”

Keith shudders again, making a soft and desperate noise around the fabric in his mouth. He tightens up again, rocking his hips back until Ryan grabs him to hold him still. “Come on, baby,” he murmurs, continuing his slow grind. “You’ve been so good for me already. You can keep quiet.”

The other boy writhes in his grip for a moment, then nods again. Ryan kisses his shoulder affectionately. “Good kitten.” But looking at Keith now, bent over the table, and the camera off to the side, Ryan gets an idea.

He shushes Keith as he pulls his cock out, wincing as the cool air hits sensitized skin. The other boy instinctively stays where he is, leaned over the surface, although he turns his head to watch as Ryan picks up the camera. Then he walks back, keeping the lens turned on Keith – over the way he bends over the table; the way he looks, already a mess. He tucks the strap over his knuckles, then keeps the camera in hand as he gets back behind Keith.

Ryan sees the moment Keith gets with the program – his eyes go wide, the flush on his skin deepens. But he obligingly tips his ass back as Ryan takes hold of his cock and slides it back in, camera trained right on where he’s thrusting into Keith.

It’s hot as fuck, watching through the camera screen. The way his cock moves in and out of Keith’s hole, the way the study room lights catch on the lube – it all looks obscene. Ryan keeps going, thrusting harder, knowing Keith likes the way the fabric of Ryan’s jeans rubs against ass. Every so often, Ryan moves the camera over the arch of Keith’s back, the tension in his shoulders, the way he has to keep fighting to hold himself up on the table. The way he looks over his shoulder at Ryan, color high on his cheeks, hair a mess, red lace pinned between his teeth.

God, Keith’s gorgeous.

The other boy tries to keep his volume in check, but Keith’s always had difficulty being truly quiet. Even now Ryan can hear his muffled, broken noises, though he half doesn’t care anymore, especially not when he changes the angle and feels Keith clench around him again. Then Keith reaches down with one hand, stroking desperately over his cock, riding the sensation of Ryan fucking him until—

The shudder that rocks through Keith is visceral and full. Ryan can see as the other boy grits his teeth around the underwear in his mouth to stop from crying out. But he’s too distracted to get the sight on camera as his own climax quickly follows, and with a last few stuttering thrusts, he follows, coming hard and filling Keith up.

There’s a few, hazy moments after that where they try to catch their breaths. Ryan fumbles the camera onto the desk before he drops it, too uncoordinated to turn it off for the moment. He leans one arm on the table and reaches around to take the underwear from Keith’s mouth. Then he runs his free hand up and down Keith’s spine, murmuring quiet nonsense until the other boy’s stopped shaking.

Just when he thinks they’re done, though, Keith comes through with one more surprise. He stops Ryan when he tries to pull out, gasping out “wait.” Ryan stills his hips, perplexed and then curious, as Keith clumsily grabs at his bag and digs around for something inside. To Ryan’s surprise – as if this entire afternoon hasn’t already been a surprise – Keith pulls out one of his toys. A plug, specifically. Then he holds it up over his shoulder, meeting Ryan’s eyes with a significant look.

Dazed as he is, it takes a few seconds to get through to Ryan. But when he looks from the plug to Keith – beautiful, disheveled, absolutely debauched Keith – it clicks, and then he’s scrambling for the camera with one hand while taking the plug in the other. His hand shakes a little as he eases his cock out of Keith, camera trained on the trickle of cum that starts down his thigh. Then carefully, and with some help from Keith, he gets the plug in. He lets the recording linger there for a moment, the plug snug in Keith’s hole, the reddened skin of his ass. Then Keith reaches out to slide his underwear back on, and Ryan films that too before cutting the feed.

They stand there a while longer, breathing slowing down, mouths open in smiles. Ryan knows they’re going to have a job of it cleaning up – he really hopes the cum doesn’t leave stains – and walking out of this room with their dignity. Keith, especially, looks like a right mess. But that can wait a little longer. For now, he stumbles back into his abandoned chair, dragging Keith with him and into his lap.

“Christ,” he says on an exhale, when they’ve settled, and Keith laughs.

“Did you like the surprise?” he asks, and Ryan can practically feel the satisfaction radiating off him. He doesn’t resist, leaning in to kiss that smirk right off Keith’s mouth, until Keith dissolves into another breathtaking laugh. Ryan runs his hands over Keith’s skin and grins.

“God, I love you,” he murmurs, and means it. For this, and for everything else.

Keith’s answer is to kiss him again, slow and sweet, but Ryan recognizes the I love you, too.