Actions

Work Header

library — reaper76

Summary:

What would happen if the unbreakable tension between the rebellious straight man and the perfect class president became as thin as paper?

Notes:

this is cliche asf but i don't actually care okay

this is straight inspired by reaper's heartbreaker and soldier's "class president/academy" skins

hope u enjoyyyy

Work Text:

The campus in autumn feels like a well-told lie.

Golden leaves, soft laughter, lukewarm coffee in paper cups, everything designed to make life seem orderly. Predictable. Jack Morrison fits perfectly into that scene, class president, impeccable GPA, shirts pressed as if a wrinkle were a crime; his name circulates among professors like a guaranteed promise of success.

Gabriel Reyes is the complete opposite.

Gabriel doesn’t fit. Gabriel disrupts; leather jacket, a gaze that never asks for permission, a crooked smile that seems to know something others don’t. People follow him out of curiosity or danger. Sometimes both.

And yet, they always end up orbiting each other. As if the campus were too small to contain them without collision.

Everyone thinks they hate each other, and honestly, it’s not hard to believe.

“Are you going to do something useful today or do you just exist to annoy?” Jack throws at him one afternoon, not raising his voice much.

Gabriel smiles, slow, provocative, sliding his sunglasses down the edge of his shirt and letting them rest there casually, revealing his dark brown eyes, undeniably radiant.

“Depends… are you going to keep acting like you’re better than everyone?”

Laughter around them, a few curious murmurs and glances that spark or cross.

It’s a show, like it always is.

But what no one sees is what happens when there’s no audience. Or when they think there almost isn’t.

It starts like always: an excuse, a group assignment, a project, some shared space that neither of them actually likes.

The library.

Mandatory silence, long tables, white light that forgives nothing, focused students, pages turning like a constant whisper.

Jack arrives first, of course, his books neatly arranged, laptop open with the entire research ready, everything in its place.

Gabriel arrives later, unhurried, as if time had to adapt to him.

He sits across from Jack, says nothing at first, wiping the corner of his lips, traces of lip gloss left by one of the girls he’d been taking advantage of.

He just looks at him, and that’s already enough to unsettle.

“You’re late,” Jack murmurs, without looking up, still browsing different sites for a second search to confirm the facts he already had.

“I showed up,” Gabriel replies, resting his elbow on the table, licking his swollen lips. “That’s what matters, right?”

Jack sighs, trying to focus, but it doesn’t work much, because he can feel him. Gabriel’s presence is like heat too close to the skin.

“Are you going to work or did you just come to waste time?”

“Depends,” Gabriel says, leaning slightly forward now, both arms on the table. “Does it bother you?”

Jack looks up.

Mistake.

Because Gabriel is already too close, not exactly physically, but his attention is direct. Intense, intrusive.

The silence of the library isn’t empty.

It’s full of things that can’t be said, and they no longer know how to speak without breaking something.

“You should concentrate,” Jack murmurs.

“I am.”

“On the project.”

Gabriel smiles.

“Sure.”

But he doesn’t look away, and Jack knows it.

He feels it in the way his pulse starts to betray him, something that unsettles him, makes him uncomfortable, he doesn’t really know how to deal with this kind of tension.

There’s a small moment, almost invisible, where everything changes; Jack leans to grab a book. Gabriel does the same.

Their hands collide, it’s nothing. It should be nothing, but neither of them pulls away immediately; Gabriel’s fingers brush Jack’s too slowly to be accidental.

Too deliberate.

Jack swallows.

“Reyes…”

“Shh,” Gabriel whispers, barely audible, with a smile that shouldn’t be there. “We’re in the library.”

The irony hangs between them.

Gabriel doesn’t pull his hand away, he slides it, just a little, like he’s testing the ground, like he’s waiting for Jack to stop him.

But Jack doesn’t, not because he wants to stay there, nerves leave him blank, which he’s grateful isn’t visible on his face, but still, it complicates everything.

Because in Gabriel’s head something starts to crack.

This isn’t me. This doesn’t mean anything.

But Jack is there. So close, so contained, so impossible to ignore.

Gabriel presses his fingers a little more.

“You know what the worst thing about you is?” he whispers.

Jack doesn’t respond immediately.

“What?”

Gabriel tilts his head, leaning close enough that his voice doesn’t travel beyond them.

“That you pretend you have everything under control… but look at you.”

Jack’s eyes harden.

“And you?” he shoots back, just as low. “What exactly are you doing?”

Silence.

Someone walks by, a chair moves, a book falls on another table, the world continues and they’re trapped in something that shouldn’t be happening there.

That makes it worse.

Gabriel leans closer, too much.

“Are you worried someone might see?” he murmurs.

Jack doesn’t pull away, but his jaw tightens.

“You should be the one worried.”

Gabriel lets out a low laugh.

“Why? Would it ruin your image?” Jack’s hand closes around Gabriel’s wrist.

“Wouldn’t want them to think you’re a faggot like me and scare off all your little groupies who only need a snap from you to spread their legs.” The words leave his mouth like poison injected straight into bone, then he releases his wrist to adjust the thick dark-framed glasses resting on his nose. “Be useful for once and replace this book with the next volume, I need it.”

And there it is, that spark, that edge. Gabriel feels it run through him like badly channeled electricity, because that’s what he wants. For Jack to lose control.

To stop being perfect, even if it’s just for him.

Gabriel goes.

Against all odds, he goes.

He stands up without another word, pushes the chair just enough to avoid making noise and disappears between the library aisles with that walk of his that seems careless but never fully is. Jack doesn’t follow him with his eyes, not immediately.

He forces himself not to.

When he’s finally alone, the silence changes shape. It’s no longer dense, no longer vibrating the same way. It’s breathable.

He exhales, long, as if he had been holding his breath the entire time.

He runs a hand through his hair, slightly messing it up, just enough to break his own rigidity. Then he goes back to work: reorganizes notes, adjusts paragraphs, corrects a citation that was already fine but could be better.

The tapping of the laptop is constant, precise, controlled.

Minutes pass like that.

Five.

Eight.

Ten.

Jack looks up for the first time. Nothing. He frowns.

“This idiot…” he mutters to himself, low enough that only he hears it. “Doesn’t even know how to find a book in a library?”

He closes the laptop harder than necessary and stands up. He goes after him.

He finds him exactly where he shouldn’t be.

Language section.

Gabriel is standing in front of a shelf, scanning spines as if all of them were possible, as if alphabetical order or categories were… optional. Jack sighs, long, tired, and approaches from behind, tapping his shoulder.

“Can’t even find a book? Seriously?” his voice is low, sharp. “You should use that head of yours for something other than women and football.”

Gabriel barely turns, just enough to glance at him, but doesn’t respond.

Jack doesn’t wait for one and snatches the book from his hand, checks it for a second.

Wrong. Obviously.

He turns around, ready to leave, but doesn’t get to take the second step.

Gabriel pushes him. Not violent, but firm. Straight to the shoulder.

Jack hits the bookshelf, the impact dull, absorbed by the weight of the volumes behind him. The sound gets trapped between paper and dust.

The aisle is empty. Just them, conveniently.

Jack looks up, surprised, but that lasts half a second before it hardens into something else.

“What the hell—?”

He doesn’t finish.

Because Gabriel is already too close again, but now it’s not like at the table, now there are no excuses, no open laptops, no students around, no silent rules to follow.

Just the narrow space between shelves, the smell of old paper, and that heat that returns, stronger, more direct.

“You talk too much,” Gabriel murmurs, his voice deeper, less playful. “Like you know everything.”

Jack grips the book tighter.

“And you act like nothing matters,” he replies, holding his gaze. “But here you are.”

That lands. It stays.

Gabriel tilts his head, studying him like a problem he doesn’t want to solve but can’t ignore.

“You know what it is, Morrison?” he says, closer now, invading without permission. “You talk to me like I annoy you, but you don’t step away.”

Jack doesn’t move. That’s the damn problem.

“I don’t step away,” he says low, “because I have no reason to.”

One beat. Two.

Gabriel smiles slightly. Not the same smile as before. This one is more dangerous, more honest than the blond would’ve expected, adjusting his glasses again.

“Right.”

And then he does it.

No warning, no countdown. Just a quick, decisive movement.

His hand grabs Jack’s shirt collar, pulling just enough to bring him closer, and he kisses him.

It’s not soft. Not clumsy.

It’s direct, charged, like all that built-up friction finally finds one way out.

Jack freezes for a second, one exact second, then responds, the book falling to the floor with a dull thud.

Jack’s hand finds Gabriel’s jacket, grips it, pulls him closer instead of pushing him away, the kiss shifts, deepens, becomes slower, more aware, more dangerous.

Because now they know what they’re doing. Because now they’re choosing not to stop.

The shelf creaks slightly when Jack leans more into it, when Gabriel closes the distance further, when the air between them disappears.

And still, still there’s something contained, something that doesn’t fully break, when they pull apart, it’s not for lack of desire.

It’s for air. For reality.

For everything waiting outside that aisle. Jack breathes hard, but his gaze stays steady.

“This…” he starts, but doesn’t finish.

Gabriel doesn’t move far. His forehead almost brushes his.

“Yeah,” he answers, as if he understands the unfinished sentence. “This.”

Silence again. But not the same.

Now it’s filled with something they can’t return to what it was.

Gabriel tries to lean back in to meet the boy’s lips again but is stopped by hands pushing against his chest without force, making him growl under his breath.

“Do you like men?” Morrison asks genuinely, though a small laugh slips into his voice.

“Not at all,” Gabriel replies simply, but the blond frowns.

“You’re kissing one, in case you haven’t noticed.”

“And? You make me curious, Jack.”

The way he answered so casually made it seem like even Gabriel himself wasn’t aware of what all this implied, or hadn’t even considered it.

“Look, Gabriel, just because I’m openly gay doesn’t give you the right to turn me into some kind of guinea pig you can experiment with freely.” His voice sounds angry, but that makes the brunet smile. “Besides, like I said, we’re in public, I think your ‘hetero heartbreaker’ image should matter more to you.”

“God, why do you talk so much, are you always this boring?” Reyes’ hands slide over his waist, softly caressing, irritating Jack even more.

“I’m here to finish a science assignment, not to do who-knows-what with a straight man.”

“Boring.” Reyes drags out the last vowel as he brushes his lips against Jack’s, feeling the small sigh he lets out. “Entertain me.”

Once again, without warning, Gabriel captures his lips. Jack doesn’t refuse despite what his words said before, now in this short span of seconds he starts questioning, was it really necessary to always do the right thing? Even for himself, the question becomes blurrier with every movement of the other’s lips against his. How many women had he kissed to be this good? It wasn’t Jack’s first kiss but he could say it was the first that made him melt from simple contact, tasting sweet energy drink mixed with bitter tobacco on his lips, more noticeable when his tongue drags along his lower lip, making him gasp embarrassingly.

“I wonder if you react like this just because I’m a man, or because it’s me,” Gabriel whispers mockingly, giving a small suck to Jack’s lower lip. The blond growls in annoyance.

If Gabriel was trying to irritate him on purpose, he was succeeding perfectly. And if it came naturally, it annoyed him even more.

“Can you imagine someone seeing us, hm?” The brunet squeezes Jack’s waist while pulling him closer in a precise movement, their bodies fully pressed against the bookshelf. “Seeing that the class president is actually a cockslut who lets any man touch him.”

Morrison growls, brow furrowed, but the faint blush covering his cheeks betrays him more than anything, his hands trembling as they slide from the brunet’s shoulders to the back of his neck, pulling him into a hungry kiss that makes both gasp against each other’s mouths, teeth sometimes clashing, saliva mixing, tongues meeting in a dance of raw lust. At that point, Jack isn’t thinking clearly at all, not about kissing someone he should hate, in a public place, with people around, not even a noisy place where sound could hide, but the quietest place on campus, the damn library.

“Jack, I want to fuck your faggot cunt.” Gabriel’s words sound like a confession, but really they’re a warning.

The blond grows nervous again, their heavy breathing mixing due to proximity, his face flushed from the mix of sensations. He says nothing, simply allows the brunet to slide his hands down to his ass, starting to knead without shame, forcing him to bite his lip to suppress a traitorous moan that would humiliate him even more, they’re letting themselves be consumed by the thrill of the situation.

“See? I’m not wrong. You’re a quiet little slut, you think you can hide the whore under your big academic titles.” Gabriel’s voice is low as he spits each word, his hands slipping under fabric, including his boxer, now touching him directly.

Reyes kneads roughly, no gentleness in his touch, nor in his tone, something that strangely, right now, sends pleasurable shocks down Jack’s spine. Soon his jeans tighten more; with what little dignity he has left, he looks Gabriel in the eyes, meeting his hazel irises fully dilated, giving him a chilling crooked smile before diving back into his lips with the same frenzy, or maybe rougher, breathing heavy, tongues unruly, Reyes sucking on his, pulling a small whimper from him, making the brunet pull away licking his lips. Addicted to desire, Gabriel plays with it, manipulates it, almost cruelly.

“Gabe… Gabriel…” he mutters with uneven breathing, fists gripping the man’s jacket, and shamelessly pushes his hips forward, grinding against him, making him moan with his mouth closed to stay quiet.

“Shhh…” the brunet whispers against his lips, bringing one hand to Jack’s mouth, offering three fingers that he doesn’t hesitate to push inside. “You look prettier when you’re quiet, little slut.”

Eyes half-lidded, he tries to maintain eye contact while his tongue moves around the digits, tilting his head to reach the knuckles, making Reyes bite his lip to hold back a vulgar comment; he makes sure to coat his fingers in saliva obscenely, his glasses fogging slightly with each breath.

Gabe pulls his fingers out, a string of saliva connecting them. He slides his hand back under his clothes, using the wet fingers to rub over Jack’s entrance, teasing him. The blond squirms, lip caught between his teeth.

“Are you a virgin?” the brunet asks after pressing against him and feeling how tight he is.

Morrison freezes for a moment, unsure whether to nod or shake his head, the red in his cheeks intensifying.

“N-no… yes... uh.. dildos… I use dildos,” his voice comes out as a trembling whisper that makes the man suppress a laugh.

“So a virgin but just as perverted and needy. What a bitch. You surprise me, Jack.”

With that, Gabriel pushes his index and middle finger in at once, needing some force for the intrusion, entering with urgency, stretching him open, Jack pressing his palm over his own mouth to trap any sound, twisting under the mix of pleasure and pain.

“What would they say if they saw you? The perfect class president is a perverted slut letting any man touch him in public.” Gabriel whispers in his ear, sending shivers straight to his core. “What the hell, depraved enough to enjoy being humiliated.”

The brunet thrusts forward experimentally, feeling Morrison’s hardness against his, the blond starting to grind back with need.

Their hearts stop when they hear footsteps nearby, murmurs and unfamiliar voices, probably just on the other side of the shelf; with adrenaline burning through Gabriel’s veins, he grabs Jack’s hair, tilting his head back to sink into his neck, kissing and sucking, Jack protesting with small pushes, first because people are close and second because he doesn’t want visible marks.

The fingers inside him curl and hit his prostate, striking it repeatedly, forcing Jack to bite down hard under his palm, tasting blood, eyes shining with tears that threaten to fall. Reyes bites the space between his neck and shoulder before pulling the skin slightly and releasing it, admiring the state he’s left him in.

“Damn, you’re hot for a man.” It sounds like an insult but Jack takes it as a compliment. He can’t think straight, like, literally.

Gabriel removes his fingers and easily turns him around against the shelf, pressing his cheek against the cold wood, arching his back perfectly, raising his ass, the brunet grinding against him shamelessly, growling low, his pants and boxers lowered slightly, his member still trapped in fabric; Gabriel leans down, letting a strand of saliva drip onto his entrance, making the blond shiver as he grips the shelf tightly, glasses nearly fully fogged.

The brunet repeats the action after freeing himself, spreading saliva over his erection, pressing his lips together to suppress a moan, taking a moment to listen if anyone is still nearby, the sounds now farther away; he leans over Morrison, chest almost flush against his back, covering his mouth with one hand while guiding himself to his entrance, groaning in his ear as Jack grinds his hips back.

“The way you dress hides what a nice ass you have, Jackie,” Gabriel whispers before biting the top of his ear, making him tremble.

Slowly he pushes inside, Jack feeling like he might collapse as every inch is welcomed, feeling the thickness stretch him open, Gabriel growling in pleasure in his ear; once fully inside, he stays still for a moment, letting Jack adjust so they don’t make too much noise.

“God, it turns me on doing it in public,” Gabriel’s voice is low, his hand still over Jack’s mouth turning his head slightly so he can see his flushed face, glasses askew, eyes bright. “Especially with someone like you.”

With that, Jack has no time to react before Gabriel starts thrusting, not too fast but precise, hitting the right spot immediately, as if he were made for it, his legs trembling as electricity shoots through his spine while Gabe presses his lips tightly, overwhelmed by how good it feels.

“With an ass like this, I really want to turn you into my little toy.”

Gabriel’s rough murmur brushes Jack’s ear as a moan is muffled in his palm, being fucked mercilessly, nothing like using dildos, he can feel every vein, every thrust hitting perfectly, his eyes watering from pleasure; he wants to reach into his pants, to hold himself, to delay his release, to stretch the moment, the fact that Gabriel, the most insufferable guy on campus, supposedly straight, is fucking him this well, in public, is driving him insane, he doesn’t know whether to give in or try to stay sane.

His thoughts are interrupted by Gabriel’s fingers sliding into his mouth again, pushing deep as he moans around them, vibrating them with every sound.

Gabriel finds the perfect angles, his rhythm steady, not frantic, but each thrust powerful enough to leave them both lost in pleasure, the situation, the person, the thrill of breaking rules, it’s too much for either of them to think clearly, just lost in how good it feels to be fucking at the back of a library.

“I wish someone would walk by and see how well you take me, princesa.”

He should be angry at everything Gabriel says, but it only turns him on more, and without holding back, without needing extra stimulation, Jack comes, soaking his pants, feeling himself tighten around Gabriel, making him groan, biting his neck instinctively, Jack clenching his jaw around his fingers, another moan trapped.

“You like it so much you can’t even think anymore, right? I’ll fuck you until you can’t think about anything but my cock in you.”

Gabriel’s hand slides down his waist, grabbing his ass hard, leaving marks. The thrusts make Jack roll his eyes back, head tilting, temples shining with sweat, glasses crooked, Gabriel speeds up slightly, desperate to finish, biting his own lips to stay quiet, until with one final thrust hitting his prostate, Gabriel comes inside him, staying still, head thrown back, overwhelmed by the sensation, holding Jack upright.

After a few breaths, he pulls out, sighing as he fixes his clothes quickly, Jack still dazed, feeling the warmth inside him as it starts to leak down his thighs, stumbling slightly.

“Damn, you’re a mess,” Gabriel comments lightly.

Jack says nothing, still breathing hard, turning his head back, adjusting his slightly fogged glasses.

The blond tries to fix his clothes, noticing everything is stained, damp, sweaty, sighing deeply, removing his blue sweater and tying it around his waist as if it could hide everything, then looks at Gabriel, arms crossed, watching him.

“Do you think anyone heard or saw us?” Jack whispers, looking down, suddenly hit with shame.

“Nah. And if they did, I don’t think they cared much.” He shrugs simply.

“Please don’t tell anyone.”

“Sure, I’ll tell my strictly straight friend group I fucked a guy in a library.” He pauses. “No, better, I’ll tell them I fucked Jack Morrison specifically.”

Jack rolls his eyes at the sarcasm he’s used to, then runs his hands through his hair trying to fix it. How is he supposed to leave the library without anyone noticing he’s flushed, sweaty, clothes damp, after being with Gabriel Reyes?

Problems he didn’t think about when that expert cock was drilling into him.

Silly Jack.