wow I’m too lazy to even read through this but okay here I’ll fix it tomorrow
No amount of fantasizing could ever come close to the reality of Cas’ mouth.
And Dean would know. He’s spent a lot of time fantasizing.
Warm and soft and slick and wet, Cas’ mouth is pretty much heaven. He was shy at first, tentative little movements of his lips when Dean leaned in, but with a little coaxing, he’s gotten more adventurous, mouth open and tongue teasing into Dean’s mouth as his hands slide shakily up Dean’s sides.
Dean gasps softly between Cas’ parted lips, snakes his own hands around Cas’ waist to feel the soft, warm skin of his lower back, rubbing little circles onto it with his fingertips. Cas whines into his mouth, and Dean’s whole body melts forwards, his legs hooking over Cas’ to drag them close enough together that he can feel the hot line of Cas’ cock pressed to his through their respective uniforms. He hitches himself closer, wraps his legs around Cas, gets enough leverage to rock against him in tiny little thrusts and fuck - fuck it feels so good he’s worried he’s about to make a mess of his little cheerleading shorts.
It’s probably getting late. They should probably be heading home. Dean probably shouldn’t have awkwardly stumbled up behind Cas and mumbled out, “Good game.” And really, he probably shouldn’t have leaned forward and pressed his lips against Cas’, but he just couldn’t help it - Cas looked damn cute when he blushed.
At this point, it doesn’t really matter what they probably should or shouldn’t do, because Dean is definitely too caught up to care. Cas’ hands are holding his hips, and he’s finally got his fingers in that perpetual sex-hair, and if the way Cas is trembling slightly against him is anything to go by, he’s about as close to shooting his load as Dean is.
The hands on his hips tighten as Dean laps playfully at Cas’ bottom lip, and Dean smiles into the kiss, nipping lightly at the swell of the lip, hearing Cas’ breath catch in his chest.
"C’mon, Cas," he mumbles, turning his face to the side to breathe unevenly. He tightens his legs, pulling himself as close to Cas as he possibly can. His face finds its way to Cas’ shoulder, and he pants into the uniform fabric as he ruts frantically against forward, groaning softly when Cas’ lips find his neck.
"I’m - I’m going to - fuck - fuck -” Dean screws his eyes shut, clinging to the strong frame in front of him as his body seizes up, his legs shaking as he feels come coating the inside of his shorts, wet and warm and sticky around his cock.
Cas bites into the skin of his neck, not quite hard enough to break the skin, and Dean lets out a pathetic whimper, his whole body spasming weakly.
Cas is breathing hard and hot against his skin, murmuring mindlessly “God - Dean - can’t believe you just - can’t believe we’re - ah, hell - hnngh -“
And Dean feels the moment when he comes, feels fingers digging into his hips and feels Cas’ breath stutter against his neck and feels the involuntary roll of Cas’ hips underneath him.
Then he feels his face go red as reality hits him like a stray football to the face. (It happened once. He doesn’t like to talk about it.)
"I, um… sorry," he manages, climbing off of Cas’ lap.
Cas looks about as wrecked as Dean feels, and he sucks in a breath because the way Cas’ mouth is red and kiss-swollen…
His cock twitches weakly in his shorts.
"Don’t apologize," Cas says quietly, his lips quirking up.